diff options
Diffstat (limited to 'src/kitemviews')
| -rw-r--r-- | src/kitemviews/kfileitemmodelrolesupdater.cpp | 7 | ||||
| -rw-r--r-- | src/kitemviews/kstandarditemlistwidget.cpp | 23 |
2 files changed, 6 insertions, 24 deletions
diff --git a/src/kitemviews/kfileitemmodelrolesupdater.cpp b/src/kitemviews/kfileitemmodelrolesupdater.cpp index 0ff431ac9..ac14ed795 100644 --- a/src/kitemviews/kfileitemmodelrolesupdater.cpp +++ b/src/kitemviews/kfileitemmodelrolesupdater.cpp @@ -16,6 +16,7 @@ #include <KIO/ListJob> #include <KIO/PreviewJob> #include <KIconLoader> +#include <KIconUtils> #include <KJobWidgets> #include <KOverlayIconPlugin> #include <KPluginMetaData> @@ -557,15 +558,13 @@ void KFileItemModelRolesUpdater::slotGotPreview(const KFileItem &item, const QPi const QStringList overlays = data["iconOverlays"].toStringList(); // Strangely KFileItem::overlays() returns empty string-values, so // we need to check first whether an overlay must be drawn at all. - // It is more efficient to do it here, as KIconLoader::drawOverlays() - // assumes that an overlay will be drawn and has some additional - // setup time. if (!scaledPixmap.isNull()) { for (const QString &overlay : overlays) { if (!overlay.isEmpty()) { // There is at least one overlay, draw all overlays above m_pixmap // and cancel the check - KIconLoader::global()->drawOverlays(overlays, scaledPixmap, KIconLoader::Desktop); + const QSize size = scaledPixmap.size(); + scaledPixmap = KIconUtils::addOverlays(scaledPixmap, overlays).pixmap(size); break; } } diff --git a/src/kitemviews/kstandarditemlistwidget.cpp b/src/kitemviews/kstandarditemlistwidget.cpp index e3e925c03..c8a6955b9 100644 --- a/src/kitemviews/kstandarditemlistwidget.cpp +++ b/src/kitemviews/kstandarditemlistwidget.cpp @@ -15,6 +15,7 @@ #include <KIconEffect> #include <KIconLoader> +#include <KIconUtils> #include <KRatingPainter> #include <KStringHandler> @@ -1647,30 +1648,12 @@ QPixmap KStandardItemListWidget::pixmapForIcon(const QString &name, const QStrin // Strangely KFileItem::overlays() returns empty string-values, so // we need to check first whether an overlay must be drawn at all. - // It is more efficient to do it here, as KIconLoader::drawOverlays() - // assumes that an overlay will be drawn and has some additional - // setup time. for (const QString &overlay : overlays) { if (!overlay.isEmpty()) { - int state = KIconLoader::DefaultState; - - switch (mode) { - case QIcon::Normal: - break; - case QIcon::Active: - state = KIconLoader::ActiveState; - break; - case QIcon::Disabled: - state = KIconLoader::DisabledState; - break; - case QIcon::Selected: - state = KIconLoader::SelectedState; - break; - } - // There is at least one overlay, draw all overlays above m_pixmap // and cancel the check - KIconLoader::global()->drawOverlays(overlays, pixmap, KIconLoader::Desktop, state); + const QSize size = pixmap.size(); + pixmap = KIconUtils::addOverlays(pixmap, overlays).pixmap(size, mode); break; } } |
