┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPan Zhang <[email protected]>2025-12-08 17:28:40 +0800
committerPan Zhang <[email protected]>2025-12-08 17:28:40 +0800
commit43afb7f57136593db69c0d724ca198642d0191a6 (patch)
treeaa6858b8bb9c56ed68b40e365a8d6b7e9cd0f8d6 /src
parent5dd0272f79739077b4e4e61ad95c163f862f532c (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.cpp9
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;
}