┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/kfileitemmodelrolesupdater.cpp
diff options
context:
space:
mode:
authorMéven Car <[email protected]>2023-05-08 17:46:51 +0200
committerMéven Car <[email protected]>2023-05-08 17:46:51 +0200
commit863ee3a87cee8b1f22a311d6a6a62e56714b5eae (patch)
tree728a2f70486e1835053e5c3431e72c62eb69ff82 /src/kitemviews/kfileitemmodelrolesupdater.cpp
parent69f6b9b78b71f8369dc0ab9b9f9aecfd928d3eb1 (diff)
parent26808a188ccb5e35a05b37709e4fe61263c46032 (diff)
Merge branch 'master' into kf6
Diffstat (limited to 'src/kitemviews/kfileitemmodelrolesupdater.cpp')
-rw-r--r--src/kitemviews/kfileitemmodelrolesupdater.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/kitemviews/kfileitemmodelrolesupdater.cpp b/src/kitemviews/kfileitemmodelrolesupdater.cpp
index 4ff730652..8d5656daf 100644
--- a/src/kitemviews/kfileitemmodelrolesupdater.cpp
+++ b/src/kitemviews/kfileitemmodelrolesupdater.cpp
@@ -1214,8 +1214,9 @@ void KFileItemModelRolesUpdater::applySortRole(int index)
}
data.insert("type", item.mimeComment());
- } else if (m_model->sortRole() == "size" && item.isLocalFile() && !item.isSlow() && item.isDir()) {
+ } else if (m_model->sortRole() == "size" && item.isLocalFile() && item.isDir()) {
startDirectorySizeCounting(item, index);
+ return;
} else {
// Probably the sort role is a baloo role - just determine all roles.
data = rolesData(item, index);
@@ -1277,6 +1278,10 @@ bool KFileItemModelRolesUpdater::applyResolvedRoles(int index, ResolveHint hint)
void KFileItemModelRolesUpdater::startDirectorySizeCounting(const KFileItem &item, int index)
{
+ if (item.isSlow()) {
+ return;
+ }
+
// Tell m_directoryContentsCounter that we want to count the items
// inside the directory. The result will be received in slotDirectoryContentsCountReceived.
if (m_scanDirectories && item.isLocalFile()) {
@@ -1294,7 +1299,7 @@ QHash<QByteArray, QVariant> KFileItemModelRolesUpdater::rolesData(const KFileIte
const bool getSizeRole = m_roles.contains("size");
const bool getIsExpandableRole = m_roles.contains("isExpandable");
- if ((getSizeRole || getIsExpandableRole) && !item.isSlow() && item.isDir()) {
+ if ((getSizeRole || getIsExpandableRole) && item.isDir()) {
startDirectorySizeCounting(item, index);
}