From 961e6270e4401a6c7512df3a2e3efd09a25df962 Mon Sep 17 00:00:00 2001 From: Méven Car Date: Tue, 14 Jan 2025 18:52:36 +0100 Subject: Refactor Overlay Handling Now all overlays icons in kitemviews are added in KStandardItemListWidget::updatePixmapCache. data[iconOverlays] now contains icon names. DolphinFileItemListWidget::refreshCache is the sole responsible of setting the overlays either coming from KFileItemModelRolesUpdater or KVersionControlPlugin. This garantees consistency in rendering. BUG: 497372 --- src/kitemviews/kfileitemmodelrolesupdater.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'src/kitemviews/kfileitemmodelrolesupdater.cpp') diff --git a/src/kitemviews/kfileitemmodelrolesupdater.cpp b/src/kitemviews/kfileitemmodelrolesupdater.cpp index 92bf2bf8d..97b51ae84 100644 --- a/src/kitemviews/kfileitemmodelrolesupdater.cpp +++ b/src/kitemviews/kfileitemmodelrolesupdater.cpp @@ -552,7 +552,7 @@ void KFileItemModelRolesUpdater::slotGotPreview(const KFileItem &item, const QPi } QHash data = rolesData(item, index); - data.insert("iconPixmap", transformPreviewPixmap(pixmap, data["iconOverlays"].toStringList())); + data.insert("iconPixmap", transformPreviewPixmap(pixmap)); disconnect(m_model, &KFileItemModel::itemsChanged, this, &KFileItemModelRolesUpdater::slotItemsChanged); m_model->setData(index, data); @@ -630,7 +630,7 @@ void KFileItemModelRolesUpdater::slotHoverSequenceGotPreview(const KFileItem &it if (wap < 0.0f || loadedIndex < static_cast(wap)) { // Add the preview to the model data - const QPixmap scaledPixmap = transformPreviewPixmap(pixmap, data["iconOverlays"].toStringList()); + const QPixmap scaledPixmap = transformPreviewPixmap(pixmap); pixmaps.append(scaledPixmap); data["hoverSequencePixmaps"] = QVariant::fromValue(pixmaps); @@ -1001,7 +1001,7 @@ void KFileItemModelRolesUpdater::startPreviewJob() m_previewJob = job; } -QPixmap KFileItemModelRolesUpdater::transformPreviewPixmap(const QPixmap &pixmap, const QStringList &overlays) +QPixmap KFileItemModelRolesUpdater::transformPreviewPixmap(const QPixmap &pixmap) { QPixmap scaledPixmap = pixmap; @@ -1042,10 +1042,6 @@ QPixmap KFileItemModelRolesUpdater::transformPreviewPixmap(const QPixmap &pixmap scaledPixmap.setDevicePixelRatio(m_devicePixelRatio); } - if (!overlays.isEmpty()) { - scaledPixmap = KIconUtils::addOverlays(scaledPixmap, overlays).pixmap(cacheSize(), m_devicePixelRatio); - } - return scaledPixmap; } -- cgit v1.3