]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kfileitemmodel.cpp
Some code cleanup as per suggestions
[dolphin.git] / src / kitemviews / kfileitemmodel.cpp
index b77592b0ec9ca839f2b18c10f944f05ddc3b946d..9464c7e09b09bf0fd5fcd38e3f285a6a76d15626 100644 (file)
@@ -975,14 +975,10 @@ void KFileItemModel::onSortRoleChanged(const QByteArray &current, const QByteArr
     }
 }
 
-void KFileItemModel::onSortOrderChanged(Qt::SortOrder current, Qt::SortOrder previous, bool resortItems)
+void KFileItemModel::onSortOrderChanged(Qt::SortOrder current, Qt::SortOrder previous)
 {
     Q_UNUSED(current)
     Q_UNUSED(previous)
-
-    if (resortItems) {
-        resortAllItems();
-    }
 }
 
 void KFileItemModel::onGroupRoleChanged(const QByteArray &current, const QByteArray &previous, bool resortItems)
@@ -1008,14 +1004,10 @@ void KFileItemModel::onGroupRoleChanged(const QByteArray &current, const QByteAr
     }
 }
 
-void KFileItemModel::onGroupOrderChanged(Qt::SortOrder current, Qt::SortOrder previous, bool resortItems)
+void KFileItemModel::onGroupOrderChanged(Qt::SortOrder current, Qt::SortOrder previous)
 {
     Q_UNUSED(current)
     Q_UNUSED(previous)
-
-    if (resortItems) {
-        resortAllItems();
-    }
 }
 
 void KFileItemModel::loadSortingSettings()
@@ -1716,9 +1708,9 @@ QList<KFileItemModel::ItemData *> KFileItemModel::createItemDataList(const QUrl
     return itemDataList;
 }
 
-void KFileItemModel::prepareItemsForSorting(QList<ItemData *> &itemDataList)
+void KFileItemModel::prepareItemsWithRole(QList<ItemData *> &itemDataList, RoleType roleType)
 {
-    switch (m_sortRole) {
+    switch (roleType) {
     case ExtensionRole:
     case PermissionsRole:
     case OwnerRole:
@@ -1755,35 +1747,12 @@ void KFileItemModel::prepareItemsForSorting(QList<ItemData *> &itemDataList)
         // DateRole).
         break;
     }
-    switch (m_groupRole) {
-    case ExtensionRole:
-    case PermissionsRole:
-    case OwnerRole:
-    case GroupRole:
-    case DestinationRole:
-    case PathRole:
-    case DeletionTimeRole:
-        for (ItemData *itemData : std::as_const(itemDataList)) {
-            if (itemData->values.isEmpty()) {
-                itemData->values = retrieveData(itemData->item, itemData->parent);
-            }
-        }
-        break;
-
-    case TypeRole:
-        for (ItemData *itemData : std::as_const(itemDataList)) {
-            if (itemData->values.isEmpty()) {
-                const KFileItem item = itemData->item;
-                if (item.isDir() || item.isMimeTypeKnown()) {
-                    itemData->values = retrieveData(itemData->item, itemData->parent);
-                }
-            }
-        }
-        break;
+}
 
-    default:
-        break;
-    }
+void KFileItemModel::prepareItemsForSorting(QList<ItemData *> &itemDataList)
+{
+    prepareItemsWithRole(itemDataList, m_sortRole);
+    prepareItemsWithRole(itemDataList, m_groupRole);
 }
 
 int KFileItemModel::expandedParentsCount(const ItemData *data)