X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/f510339f033658eae27f8400bf042b78b36f82f2..cebcf8db:/src/panels/information/informationpanelcontent.cpp diff --git a/src/panels/information/informationpanelcontent.cpp b/src/panels/information/informationpanelcontent.cpp index 62f25b24b..fc2d0f938 100644 --- a/src/panels/information/informationpanelcontent.cpp +++ b/src/panels/information/informationpanelcontent.cpp @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -178,6 +179,7 @@ void InformationPanelContent::refreshPixmapView() m_previewJob = new KIO::PreviewJob(KFileItemList() << m_item, QSize(m_preview->width(), m_preview->height()), &plugins); m_previewJob->setScaleType(KIO::PreviewJob::Unscaled); m_previewJob->setIgnoreMaximumSize(m_item.isLocalFile() && !m_item.isSlow()); + m_previewJob->setDevicePixelRatio(devicePixelRatioF()); if (m_previewJob->uiDelegate()) { KJobWidgets::setWindow(m_previewJob, this); } @@ -350,8 +352,8 @@ bool InformationPanelContent::gestureEvent(QGestureEvent *event) void InformationPanelContent::showIcon(const KFileItem &item) { m_outdatedPreviewTimer->stop(); - QPixmap pixmap = QIcon::fromTheme(item.iconName()).pixmap(m_preview->height(), m_preview->width()); - KIconLoader::global()->drawOverlays(item.overlays(), pixmap, KIconLoader::Desktop); + QIcon icon = QIcon::fromTheme(item.iconName()); + QPixmap pixmap = KIconUtils::addOverlays(icon, item.overlays()).pixmap(m_preview->size()); m_preview->setPixmap(pixmap); } @@ -359,8 +361,8 @@ void InformationPanelContent::showPreview(const KFileItem &item, const QPixmap & { m_outdatedPreviewTimer->stop(); - QPixmap p = pixmap; - KIconLoader::global()->drawOverlays(item.overlays(), p, KIconLoader::Desktop); + const QSize size = pixmap.size(); + QPixmap p = KIconUtils::addOverlays(pixmap, item.overlays()).pixmap(size); if (m_isVideo) { // adds a play arrow overlay @@ -410,8 +412,15 @@ void InformationPanelContent::markOutdatedPreview() // use it until the preview is done showIcon(m_item); } else { - KIconEffect *iconEffect = KIconLoader::global()->iconEffect(); - QPixmap disabledPixmap = iconEffect->apply(m_preview->pixmap(), KIconLoader::Desktop, KIconLoader::DisabledState); +#if KICONTHEMES_VERSION >= QT_VERSION_CHECK(6, 5, 0) + QPixmap disabledPixmap = m_preview->pixmap(); + KIconEffect::toDisabled(disabledPixmap); +#else + QImage img = m_preview->pixmap().toImage(); + KIconEffect::toGray(img, 1); + KIconEffect::semiTransparent(img); + QPixmap disabledPixmap = QPixmap::fromImage(img); +#endif m_preview->setPixmap(disabledPixmap); } }