]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kfileitemmodelrolesupdater.cpp
Merge remote-tracking branch 'fork/work/zakharafoniam/useful-groups'
[dolphin.git] / src / kitemviews / kfileitemmodelrolesupdater.cpp
index 497c13b525c6da3708d597057ea792585fdcec37..44165dedcb0ed3a903cd09d688a10acab412b4d5 100644 (file)
@@ -369,9 +369,8 @@ void KFileItemModelRolesUpdater::slotItemsInserted(const KItemRangeList &itemRan
     timer.start();
 
     // Determine the sort role synchronously for as many items as possible.
-    if (m_resolvableRoles.contains(m_model->sortRole())) {
-        QList<QUrl> dirsWithAddedItems;
-
+    if (m_resolvableRoles.contains(m_model->sortRole()) || m_resolvableRoles.contains(m_model->groupRole())) {
+       QList<QUrl> dirsWithAddedItems;
         int insertedCount = 0;
         for (const KItemRange &range : itemRanges) {
             const int lastIndex = insertedCount + range.index + range.count - 1;
@@ -1218,13 +1217,13 @@ void KFileItemModelRolesUpdater::applySortRole(int index)
     QHash<QByteArray, QVariant> data;
     const KFileItem item = m_model->fileItem(index);
 
-    if (m_model->sortRole() == "type") {
+    if (m_model->sortRole() == "type" || m_model->groupRole() == "type") {
         if (!item.isMimeTypeKnown()) {
             item.determineMimeType();
         }
 
         data.insert("type", item.mimeComment());
-    } else if (m_model->sortRole() == "size" && item.isLocalFile() && item.isDir()) {
+    } else if ((m_model->sortRole() == "size" || m_model->groupRole() == "size") && item.isLocalFile() && item.isDir()) {
         startDirectorySizeCounting(item, index);
         return;
     } else {