]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Reverted an incorrect change
authorZakhar Afonin <zakharafoniam@gmail.com>
Sat, 22 Jun 2024 10:13:03 +0000 (13:13 +0300)
committerZakhar Afonin <zakharafoniam@gmail.com>
Sat, 22 Jun 2024 10:13:03 +0000 (13:13 +0300)
src/kitemviews/kfileitemmodel.cpp
src/kitemviews/kfileitemmodel.h

index 9464c7e09b09bf0fd5fcd38e3f285a6a76d15626..960847ea7f8aaca66beebd36912c53e75559c4ce 100644 (file)
@@ -979,6 +979,7 @@ void KFileItemModel::onSortOrderChanged(Qt::SortOrder current, Qt::SortOrder pre
 {
     Q_UNUSED(current)
     Q_UNUSED(previous)
+    resortAllItems();
 }
 
 void KFileItemModel::onGroupRoleChanged(const QByteArray &current, const QByteArray &previous, bool resortItems)
@@ -1008,6 +1009,7 @@ void KFileItemModel::onGroupOrderChanged(Qt::SortOrder current, Qt::SortOrder pr
 {
     Q_UNUSED(current)
     Q_UNUSED(previous)
+    resortAllItems();
 }
 
 void KFileItemModel::loadSortingSettings()
@@ -1032,7 +1034,7 @@ void KFileItemModel::loadSortingSettings()
     // Workaround for bug https://bugreports.qt.io/browse/QTBUG-69361
     // Force the clean state of QCollator in single thread to avoid thread safety problems in sort
     m_collator.compare(QString(), QString());
-    m_dirSizeMode = ContentDisplaySettings::directorySizeMode();
+    ContentDisplaySettings::self();
 }
 
 void KFileItemModel::resortAllItems()
@@ -2100,7 +2102,7 @@ bool KFileItemModel::lessThan(const ItemData *a, const ItemData *b, const QColla
                 return true;
             }
         }
-        if (m_sortDirsFirst || (m_dirSizeMode == ContentDisplaySettings::EnumDirectorySizeMode::ContentCount && m_sortRole == SizeRole)) {
+        if (m_sortDirsFirst || (ContentDisplaySettings::directorySizeMode() == ContentDisplaySettings::EnumDirectorySizeMode::ContentCount && m_sortRole == SizeRole)) {
             const bool isDirA = a->item.isDir();
             const bool isDirB = b->item.isDir();
             if (isDirA && !isDirB) {
@@ -2154,7 +2156,7 @@ int KFileItemModel::sortRoleCompare(const ItemData *a, const ItemData *b, const
         break;
 
     case SizeRole: {
-        if (m_dirSizeMode == ContentDisplaySettings::EnumDirectorySizeMode::ContentCount && itemA.isDir()) {
+        if (ContentDisplaySettings::directorySizeMode() == ContentDisplaySettings::EnumDirectorySizeMode::ContentCount && itemA.isDir()) {
             // folders first then
             // items A and B are folders thanks to lessThan checks
             auto valueA = a->values.value("count");
@@ -2512,7 +2514,7 @@ KFileItemModel::ItemGroupInfo KFileItemModel::sizeRoleGroup(const ItemData *item
 
     groupInfo.comparable = -1; // None
     if (!item.isNull() && item.isDir()) {
-        if (m_dirSizeMode != ContentDisplaySettings::EnumDirectorySizeMode::ContentSize) {
+        if (ContentDisplaySettings::directorySizeMode() != ContentDisplaySettings::EnumDirectorySizeMode::ContentSize) {
             groupInfo.comparable = 0; // Folders
         } else {
             fileSize = itemData->values.value("size").toULongLong();
index edc77457babc9dddefcfb33731fb6523322b4f35..feb90d4a8909e4036408b80eff35aa1514c1c1de 100644 (file)
@@ -580,7 +580,6 @@ private:
     bool m_naturalSorting;
     bool m_sortDirsFirst;
     bool m_sortHiddenLast;
-    int m_dirSizeMode;
 
     RoleType m_sortRole;
     RoleType m_groupRole;