From 66b466443db933354c5f3e7aeaa30f754860ec21 Mon Sep 17 00:00:00 2001 From: Kai Uwe Broulik Date: Sat, 31 Jan 2026 11:33:47 +0100 Subject: Use currentMimeType for temp file filter All temporary file types are identified by glob (file extension), so we don't need to resolve the final mime type here. The model filter is generic but effectively right now only used for filtering temp files. Should this change in the future, it needs to be revisited. --- src/kitemviews/kfileitemmodel.cpp | 3 ++- src/kitemviews/private/kfileitemmodelfilter.cpp | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/kitemviews/kfileitemmodel.cpp b/src/kitemviews/kfileitemmodel.cpp index 5afcd0fb3..0958e921f 100644 --- a/src/kitemviews/kfileitemmodel.cpp +++ b/src/kitemviews/kfileitemmodel.cpp @@ -1915,7 +1915,8 @@ QHash KFileItemModel::retrieveData(const KFileItem &item, } if (m_requestRole[IsHiddenRole]) { - data.insert(sharedValue("isHidden"), item.isHidden() || item.mimetype() == QStringLiteral("application/x-trash")); + // all "temporary" file types are identified by glob, currentMimeType is therefore enough. + data.insert(sharedValue("isHidden"), item.isHidden() || item.currentMimeType().name() == QStringLiteral("application/x-trash")); } if (m_requestRole[NameRole]) { diff --git a/src/kitemviews/private/kfileitemmodelfilter.cpp b/src/kitemviews/private/kfileitemmodelfilter.cpp index 11debeab7..45c62e7ca 100644 --- a/src/kitemviews/private/kfileitemmodelfilter.cpp +++ b/src/kitemviews/private/kfileitemmodelfilter.cpp @@ -108,7 +108,9 @@ bool KFileItemModelFilter::matchesPattern(const KFileItem &item) const bool KFileItemModelFilter::matchesType(const KFileItem &item) const { bool excluded = std::any_of(m_excludeMimeTypes.constBegin(), m_excludeMimeTypes.constEnd(), [item](const QString &excludeMimetype) { - return item.mimetype() == excludeMimetype; + // Currently only really used for "temporary" files which are all idenfied by glob. + // If you use the filter for anything else, this must be revisited. + return item.currentMimeType().name() == excludeMimetype; }); if (excluded) { return false; -- cgit v1.3