diff --git a/src/panels/information/informationpanelcontent.cpp b/src/panels/information/informationpanelcontent.cpp --- a/src/panels/information/informationpanelcontent.cpp +++ b/src/panels/information/informationpanelcontent.cpp @@ -196,9 +196,13 @@ m_outdatedPreviewTimer->start(); } + // PreviewJob does not support devicePixelRatio + // manually compute size according to devicePixelRatioF + auto size = QSize(qRound(m_preview->width() * devicePixelRatioF()), + qRound(m_preview->height() * devicePixelRatioF())); QStringList plugins = KIO::PreviewJob::availablePlugins(); m_previewJob = new KIO::PreviewJob(KFileItemList() << m_item, - QSize(m_preview->width(), m_preview->height()), + size, &plugins); m_previewJob->setScaleType(KIO::PreviewJob::Unscaled); m_previewJob->setIgnoreMaximumSize(m_item.isLocalFile()); @@ -369,6 +373,7 @@ m_outdatedPreviewTimer->stop(); QPixmap p = pixmap; + p.setDevicePixelRatio(devicePixelRatioF()); KIconLoader::global()->drawOverlays(item.overlays(), p, KIconLoader::Desktop); if (m_isVideo) {