diff options
| author | David Edmundson <[email protected]> | 2015-03-25 12:38:55 +0100 |
|---|---|---|
| committer | David Edmundson <[email protected]> | 2015-03-25 18:31:39 +0100 |
| commit | 6a4d4463b8e7ed09b5a93e1199e7630e49e80071 (patch) | |
| tree | 01237f3a1f0fd5de3cc87e01e7a2fdcc7ef43913 /src/kitemviews/kfileitemmodelrolesupdater.cpp | |
| parent | 172d41f9da810fb9def8107091426ce9ab666c40 (diff) | |
Provide scaled pixmaps in the main file model
Diffstat (limited to 'src/kitemviews/kfileitemmodelrolesupdater.cpp')
| -rw-r--r-- | src/kitemviews/kfileitemmodelrolesupdater.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/kitemviews/kfileitemmodelrolesupdater.cpp b/src/kitemviews/kfileitemmodelrolesupdater.cpp index c18d65892..c6ce877e3 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); + KPixmapModifier::applyFrame(scaledPixmap, m_iconSize * qApp->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, Qt::KeepAspectRatio); + frameSize.scale(m_iconSize * qApp->devicePixelRatio(), Qt::KeepAspectRatio); QPixmap largeFrame(frameSize); largeFrame.fill(Qt::transparent); @@ -510,19 +510,20 @@ void KFileItemModelRolesUpdater::slotGotPreview(const KFileItem& item, const QPi KPixmapModifier::applyFrame(largeFrame, frameSize); QPainter painter(&largeFrame); - painter.drawPixmap((largeFrame.width() - scaledPixmap.width()) / 2, - (largeFrame.height() - scaledPixmap.height()) / 2, + painter.drawPixmap((largeFrame.width() - scaledPixmap.width() / scaledPixmap.devicePixelRatio()) / 2, + (largeFrame.height() - scaledPixmap.height() / scaledPixmap.devicePixelRatio()) / 2, scaledPixmap); scaledPixmap = largeFrame; } else { // The image must be shrinked as it is too large to fit into // the available icon size - KPixmapModifier::applyFrame(scaledPixmap, m_iconSize); + KPixmapModifier::applyFrame(scaledPixmap, m_iconSize * qApp->devicePixelRatio()); } } } else { - KPixmapModifier::scale(scaledPixmap, m_iconSize); + KPixmapModifier::scale(scaledPixmap, m_iconSize * qApp->devicePixelRatio()); } + scaledPixmap.setDevicePixelRatio(qApp->devicePixelRatio()); QHash<QByteArray, QVariant> data = rolesData(item); |
