From ecd3675aaa55b8224f1fa81b031471d834a18fad Mon Sep 17 00:00:00 2001 From: Kai Uwe Broulik Date: Mon, 20 Nov 2023 14:16:18 +0100 Subject: views: Use scene devicePixelRatio rather than qApp When possible, use the devicePixelRatio from the scene which on Wayland unlike the QApplication will properly support fractional scaling. A KItemViewsUtils class is introduced that can be reused elsewhere. --- src/views/dolphinfileitemlistwidget.cpp | 6 ++++-- src/views/dolphinfileitemlistwidget.h | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'src/views') diff --git a/src/views/dolphinfileitemlistwidget.cpp b/src/views/dolphinfileitemlistwidget.cpp index 921baf73f..11c88d402 100644 --- a/src/views/dolphinfileitemlistwidget.cpp +++ b/src/views/dolphinfileitemlistwidget.cpp @@ -5,6 +5,7 @@ */ #include "dolphinfileitemlistwidget.h" +#include "../kitemviews/private/kitemviewsutils.h" #include "dolphindebug.h" @@ -77,7 +78,7 @@ void DolphinFileItemListWidget::refreshCache() setTextColor(color); } -QPixmap DolphinFileItemListWidget::overlayForState(KVersionControlPlugin::ItemVersion version, int size) +QPixmap DolphinFileItemListWidget::overlayForState(KVersionControlPlugin::ItemVersion version, int size) const { int overlayHeight = KIconLoader::SizeSmall; if (size >= KIconLoader::SizeEnormous) { @@ -122,7 +123,8 @@ QPixmap DolphinFileItemListWidget::overlayForState(KVersionControlPlugin::ItemVe break; } - return QIcon::fromTheme(iconName).pixmap(QSize(overlayHeight, overlayHeight)); + const qreal dpr = KItemViewsUtils::devicePixelRatio(this); + return QIcon::fromTheme(iconName).pixmap(QSize(overlayHeight, overlayHeight), dpr); } #include "moc_dolphinfileitemlistwidget.cpp" diff --git a/src/views/dolphinfileitemlistwidget.h b/src/views/dolphinfileitemlistwidget.h index ac98666c8..92fc66fcc 100644 --- a/src/views/dolphinfileitemlistwidget.h +++ b/src/views/dolphinfileitemlistwidget.h @@ -29,7 +29,7 @@ protected: void refreshCache() override; private: - static QPixmap overlayForState(KVersionControlPlugin::ItemVersion version, int size); + QPixmap overlayForState(KVersionControlPlugin::ItemVersion version, int size) const; }; #endif -- cgit v1.3