diff options
| author | Martin T. H. Sandsmark <[email protected]> | 2020-09-25 18:40:20 +0200 |
|---|---|---|
| committer | Elvis Angelaccio <[email protected]> | 2020-11-01 22:17:17 +0000 |
| commit | 15baa93640bbb49162f26d439e006729ee9c3441 (patch) | |
| tree | f8d5e64bd9afd12ffa794f49a8187bd51027154d /src/kitemviews/kfileitemmodel.cpp | |
| parent | 891ebf5758cd3569974c87f3c25f0546fe2613be (diff) | |
make sure we use valid icons
Diffstat (limited to 'src/kitemviews/kfileitemmodel.cpp')
| -rw-r--r-- | src/kitemviews/kfileitemmodel.cpp | 10 |
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()); |
