diff options
| author | Frank Reininghaus <[email protected]> | 2013-08-15 00:15:51 +0200 |
|---|---|---|
| committer | Frank Reininghaus <[email protected]> | 2013-08-15 00:15:51 +0200 |
| commit | 6bfa0ccfc701df5af5f043fce3168b3840858212 (patch) | |
| tree | a978d69d1afbd237cf5a3f8e8e117fbbab71adb2 /src/kitemviews/kfileitemmodelrolesupdater.cpp | |
| parent | 68520f55f0b6b2fc450f646477bf3c535324aa2b (diff) | |
| parent | 7c99a9c2ad4455c65a218c53dfa7f6376f389b66 (diff) | |
Merge remote-tracking branch 'origin/KDE/4.11'
Diffstat (limited to 'src/kitemviews/kfileitemmodelrolesupdater.cpp')
| -rw-r--r-- | src/kitemviews/kfileitemmodelrolesupdater.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/kitemviews/kfileitemmodelrolesupdater.cpp b/src/kitemviews/kfileitemmodelrolesupdater.cpp index 698a6c5f0..e9b69566d 100644 --- a/src/kitemviews/kfileitemmodelrolesupdater.cpp +++ b/src/kitemviews/kfileitemmodelrolesupdater.cpp @@ -570,6 +570,22 @@ void KFileItemModelRolesUpdater::slotGotPreview(const KFileItem& item, const QPi } QHash<QByteArray, QVariant> data = rolesData(item); + + 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. + foreach (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); + break; + } + } + data.insert("iconPixmap", scaledPixmap); disconnect(m_model, SIGNAL(itemsChanged(KItemRangeList,QSet<QByteArray>)), |
