https://bugs.kde.org/show_bug.cgi?id=462307

--- Comment #15 from Benjamin Buch <benni.b...@gmail.com> ---
The actual bug seems to be in `QItemDelegate::paint`. There a `decorationRect`
is calculated which apparently ignores the `devicePixelRatio` property. The
following workaround draws the icon in the right size and at the right place.
However, they become blurred.

diff --git a/app/Panel/PanelView/listmodel.cpp
b/app/Panel/PanelView/listmodel.cpp
index d6ad6c5f..209fcfb8 100644
--- a/app/Panel/PanelView/listmodel.cpp
+++ b/app/Panel/PanelView/listmodel.cpp
@@ -177,7 +177,18 @@ QVariant ListModel::data(const QModelIndex& index, int
role) const
             if (properties()->displayIcons) {
                 if (_justForSizeHint)
                     return QPixmap(_view->fileIconSize(),
_view->fileIconSize());
-                return _view->getIcon(fileitem);
+                auto pixmap = _view->getIcon(fileitem);
+
+                // BUG 462307 Workaround BEGIN
+                // KrViewItemDelegate::paint does the paint by
QItemDelegate::paint
+                //   which seams to have a bug that ignores the
devicePixelRatio
+                //   in calculating the decorationRect
+                pixmap = pixmap.scaled(pixmap.size() /
pixmap.devicePixelRatio(),
+                    Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
+                pixmap.setDevicePixelRatio(1);
+                // BUG 462307 Workaround END
+
+                return pixmap;
             }
             break;
         }

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to