┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/kfileitemmodelrolesupdater.cpp
diff options
context:
space:
mode:
authorDavid Edmundson <[email protected]>2015-03-25 12:38:55 +0100
committerDavid Edmundson <[email protected]>2015-03-25 18:31:39 +0100
commit6a4d4463b8e7ed09b5a93e1199e7630e49e80071 (patch)
tree01237f3a1f0fd5de3cc87e01e7a2fdcc7ef43913 /src/kitemviews/kfileitemmodelrolesupdater.cpp
parent172d41f9da810fb9def8107091426ce9ab666c40 (diff)
Provide scaled pixmaps in the main file model
Diffstat (limited to 'src/kitemviews/kfileitemmodelrolesupdater.cpp')
-rw-r--r--src/kitemviews/kfileitemmodelrolesupdater.cpp13
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);