diff options
| author | Pan Zhang <[email protected]> | 2025-12-08 17:28:40 +0800 |
|---|---|---|
| committer | Pan Zhang <[email protected]> | 2025-12-08 17:28:40 +0800 |
| commit | 43afb7f57136593db69c0d724ca198642d0191a6 (patch) | |
| tree | aa6858b8bb9c56ed68b40e365a8d6b7e9cd0f8d6 /src | |
| parent | 5dd0272f79739077b4e4e61ad95c163f862f532c (diff) | |
kfileitemmodel: Fix folder/file icon rating display
Fix the issue where enabling icon rating always showed five white stars. Retrieve the correct rating from KFileMetaData::UserMetaData for local files and insert it into the item data. This ensures both files and folders display the updated rating correctly.
BUG: 512940
Diffstat (limited to 'src')
| -rw-r--r-- | src/kitemviews/kfileitemmodel.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/kitemviews/kfileitemmodel.cpp b/src/kitemviews/kfileitemmodel.cpp index 9bba37e78..eb1d4e72a 100644 --- a/src/kitemviews/kfileitemmodel.cpp +++ b/src/kitemviews/kfileitemmodel.cpp @@ -15,6 +15,7 @@ #include "views/draganddrophelper.h" #include <KDirLister> +#include <KFileMetaData/UserMetaData> #include <KIO/Job> #include <KIO/ListJob> #include <KLocalizedString> @@ -2007,6 +2008,14 @@ QHash<QByteArray, QVariant> KFileItemModel::retrieveData(const KFileItem &item, data.insert(sharedValue("type"), folderMimeType); } + if (m_requestRole[RatingRole] && item.isLocalFile()) { + KFileMetaData::UserMetaData md(item.localPath()); + const int rating = md.rating(); + if (rating > 0) { + data.insert(sharedValue("rating"), rating); + } + } + return data; } |
