]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/panels/information/informationpanelcontent.cpp
Port away from deprecated KIconEffect API
[dolphin.git] / src / panels / information / informationpanelcontent.cpp
index d93457b2701f216ce884ed91e1d11e83af110e03..70d85a40211f2f3c928c07b391f76a517035fafa 100644 (file)
@@ -23,8 +23,8 @@
 
 #include <Baloo/FileMetaDataWidget>
 
-#include <Phonon/BackendCapabilities>
-#include <Phonon/MediaObject>
+#include <phonon/BackendCapabilities>
+#include <phonon/MediaObject>
 
 #include <QDialogButtonBox>
 #include <QGesture>
@@ -178,6 +178,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,7 +351,7 @@ 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());
+    QPixmap pixmap = QIcon::fromTheme(item.iconName()).pixmap(m_preview->size(), devicePixelRatioF());
     KIconLoader::global()->drawOverlays(item.overlays(), pixmap, KIconLoader::Desktop);
     m_preview->setPixmap(pixmap);
 }
@@ -410,8 +411,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);
     }
 }