┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/kfileitemmodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/kitemviews/kfileitemmodel.cpp')
-rw-r--r--src/kitemviews/kfileitemmodel.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/kitemviews/kfileitemmodel.cpp b/src/kitemviews/kfileitemmodel.cpp
index 08407d1ef..c06202fd8 100644
--- a/src/kitemviews/kfileitemmodel.cpp
+++ b/src/kitemviews/kfileitemmodel.cpp
@@ -19,9 +19,11 @@
#include <QElapsedTimer>
#include <QMimeData>
+#include <QMimeDatabase>
#include <QTimer>
#include <QWidget>
#include <QMutex>
+#include <QIcon>
Q_GLOBAL_STATIC_WITH_ARGS(QMutex, s_collatorMutex, (QMutex::Recursive))
@@ -1657,7 +1659,13 @@ QHash<QByteArray, QVariant> KFileItemModel::retrieveData(const KFileItem& item,
}
if (item.isMimeTypeKnown()) {
- data.insert(sharedValue("iconName"), item.iconName());
+ QString iconName = item.iconName();
+ if (!QIcon::hasThemeIcon(iconName)) {
+ QMimeType mimeType = QMimeDatabase().mimeTypeForName(item.mimetype());
+ iconName = mimeType.genericIconName();
+ }
+
+ data.insert(sharedValue("iconName"), iconName);
if (m_requestRole[TypeRole]) {
data.insert(sharedValue("type"), item.mimeComment());