diff options
| author | Méven Car <[email protected]> | 2025-01-06 18:23:12 +0100 |
|---|---|---|
| committer | Méven Car <[email protected]> | 2025-01-09 10:44:39 +0100 |
| commit | 863c1be871d7dbd16800cf7400284783d52352d5 (patch) | |
| tree | 1d3a7e3b80a3a8f6e7e6fd8aef47ac0d3d233718 /src | |
| parent | be64c7630fae5d8f609fb97cc139218c7da066d8 (diff) | |
information panel: scale according dpr
Also use dpr for icons.
Amends cebcf8db
BUG: 497576
Diffstat (limited to 'src')
| -rw-r--r-- | src/kitemviews/kfileitemmodelrolesupdater.cpp | 4 | ||||
| -rw-r--r-- | src/kitemviews/kstandarditemlistwidget.cpp | 2 | ||||
| -rw-r--r-- | src/panels/information/informationpanelcontent.cpp | 12 |
3 files changed, 10 insertions, 8 deletions
diff --git a/src/kitemviews/kfileitemmodelrolesupdater.cpp b/src/kitemviews/kfileitemmodelrolesupdater.cpp index 8811401b0..f5fae6f34 100644 --- a/src/kitemviews/kfileitemmodelrolesupdater.cpp +++ b/src/kitemviews/kfileitemmodelrolesupdater.cpp @@ -563,8 +563,8 @@ void KFileItemModelRolesUpdater::slotGotPreview(const KFileItem &item, const QPi if (!overlay.isEmpty()) { // There is at least one overlay, draw all overlays above m_pixmap // and cancel the check - const QSize size = scaledPixmap.size(); - scaledPixmap = KIconUtils::addOverlays(scaledPixmap, overlays).pixmap(size); + const QSize logicalSize = scaledPixmap.size() / scaledPixmap.devicePixelRatioF(); + scaledPixmap = KIconUtils::addOverlays(scaledPixmap, overlays).pixmap(logicalSize, scaledPixmap.devicePixelRatioF()); break; } } diff --git a/src/kitemviews/kstandarditemlistwidget.cpp b/src/kitemviews/kstandarditemlistwidget.cpp index a30a1bcd2..340343158 100644 --- a/src/kitemviews/kstandarditemlistwidget.cpp +++ b/src/kitemviews/kstandarditemlistwidget.cpp @@ -1670,7 +1670,7 @@ QPixmap KStandardItemListWidget::pixmapForIcon(const QString &name, const QStrin // There is at least one overlay, draw all overlays above m_pixmap // and cancel the check const QSize size = pixmap.size(); - pixmap = KIconUtils::addOverlays(pixmap, overlays).pixmap(size, mode); + pixmap = KIconUtils::addOverlays(pixmap, overlays).pixmap(size, dpr, mode); break; } } diff --git a/src/panels/information/informationpanelcontent.cpp b/src/panels/information/informationpanelcontent.cpp index fc2d0f938..428a46a5f 100644 --- a/src/panels/information/informationpanelcontent.cpp +++ b/src/panels/information/informationpanelcontent.cpp @@ -353,7 +353,8 @@ void InformationPanelContent::showIcon(const KFileItem &item) { m_outdatedPreviewTimer->stop(); QIcon icon = QIcon::fromTheme(item.iconName()); - QPixmap pixmap = KIconUtils::addOverlays(icon, item.overlays()).pixmap(m_preview->size()); + QPixmap pixmap = KIconUtils::addOverlays(icon, item.overlays()).pixmap(m_preview->size(), devicePixelRatioF()); + pixmap.setDevicePixelRatio(devicePixelRatioF()); m_preview->setPixmap(pixmap); } @@ -361,8 +362,9 @@ void InformationPanelContent::showPreview(const KFileItem &item, const QPixmap & { m_outdatedPreviewTimer->stop(); - const QSize size = pixmap.size(); - QPixmap p = KIconUtils::addOverlays(pixmap, item.overlays()).pixmap(size); + const QSize logicalSize = pixmap.size() / pixmap.devicePixelRatioF(); + QPixmap p = KIconUtils::addOverlays(pixmap, item.overlays()).pixmap(logicalSize, pixmap.devicePixelRatioF()); + p.setDevicePixelRatio(pixmap.devicePixelRatioF()); if (m_isVideo) { // adds a play arrow overlay @@ -371,8 +373,8 @@ void InformationPanelContent::showPreview(const KFileItem &item, const QPixmap & auto arrowSize = qMax(PLAY_ARROW_SIZE, maxDim / 8); // compute relative pixel positions - const int zeroX = static_cast<int>((p.width() / 2 - arrowSize / 2) / pixmap.devicePixelRatio()); - const int zeroY = static_cast<int>((p.height() / 2 - arrowSize / 2) / pixmap.devicePixelRatio()); + const int zeroX = static_cast<int>((p.width() / 2 - arrowSize / 2) / p.devicePixelRatio()); + const int zeroY = static_cast<int>((p.height() / 2 - arrowSize / 2) / p.devicePixelRatio()); QPolygon arrow; arrow << QPoint(zeroX, zeroY); |
