From 35c0972671c1f90f76d8d86b002b2e1f8bac79dd Mon Sep 17 00:00:00 2001 From: David Edmundson Date: Thu, 26 Mar 2015 16:06:52 +0100 Subject: Make KPixmapModifier::applyFrame handle high DPI images --- src/kitemviews/kfileitemmodelrolesupdater.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'src/kitemviews/kfileitemmodelrolesupdater.cpp') diff --git a/src/kitemviews/kfileitemmodelrolesupdater.cpp b/src/kitemviews/kfileitemmodelrolesupdater.cpp index c6ce877e3..068118983 100644 --- a/src/kitemviews/kfileitemmodelrolesupdater.cpp +++ b/src/kitemviews/kfileitemmodelrolesupdater.cpp @@ -493,7 +493,7 @@ void KFileItemModelRolesUpdater::slotGotPreview(const KFileItem& item, const QPi const QString mimeTypeGroup = mimeType.left(slashIndex); if (mimeTypeGroup == QLatin1String("image")) { if (m_enlargeSmallPreviews) { - KPixmapModifier::applyFrame(scaledPixmap, m_iconSize * qApp->devicePixelRatio()); + KPixmapModifier::applyFrame(scaledPixmap, m_iconSize * scaledPixmap.devicePixelRatio()); } else { // Assure that small previews don't get enlarged. Instead they // should be shown centered within the frame. @@ -502,7 +502,7 @@ void KFileItemModelRolesUpdater::slotGotPreview(const KFileItem& item, const QPi scaledPixmap.height() < contentSize.height(); if (enlargingRequired) { QSize frameSize = scaledPixmap.size(); - frameSize.scale(m_iconSize * qApp->devicePixelRatio(), Qt::KeepAspectRatio); + frameSize.scale(m_iconSize * scaledPixmap.devicePixelRatio(), Qt::KeepAspectRatio); QPixmap largeFrame(frameSize); largeFrame.fill(Qt::transparent); @@ -517,13 +517,12 @@ void KFileItemModelRolesUpdater::slotGotPreview(const KFileItem& item, const QPi } else { // The image must be shrinked as it is too large to fit into // the available icon size - KPixmapModifier::applyFrame(scaledPixmap, m_iconSize * qApp->devicePixelRatio()); + KPixmapModifier::applyFrame(scaledPixmap, m_iconSize * scaledPixmap.devicePixelRatio()); } } } else { - KPixmapModifier::scale(scaledPixmap, m_iconSize * qApp->devicePixelRatio()); + KPixmapModifier::scale(scaledPixmap, m_iconSize * scaledPixmap.devicePixelRatio()); } - scaledPixmap.setDevicePixelRatio(qApp->devicePixelRatio()); QHash data = rolesData(item); -- cgit v1.3.1