]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kfileitemlistwidget.cpp
Fixed empty files being erroneously grouped together with folders in "By size" grouping
[dolphin.git] / src / kitemviews / kfileitemlistwidget.cpp
index 771403b7018049cfc37bcf6540d98bfeb4600cfc..fcfc9d7b13764ca802497a8465b014d39cbebecb 100644 (file)
@@ -67,7 +67,8 @@ QString KFileItemListWidgetInformant::roleText(const QByteArray &role, const QHa
         if (values.value("isDir").toBool()) {
             if (!roleValue.isNull() && roleValue != -1) {
                 // The item represents a directory.
-                if (ContentDisplaySettings::directorySizeCount() || roleValue == -2 /* size is invalid */) {
+                if (ContentDisplaySettings::directorySizeMode() == ContentDisplaySettings::EnumDirectorySizeMode::ContentCount
+                    || roleValue == -2 /* size is invalid */) {
                     //  Show the number of sub directories instead of the file size of the directory.
                     const int count = values.value("count").toInt();
                     text = i18ncp("@item:intable", "%1 item", "%1 items", count);
@@ -109,7 +110,7 @@ QString KFileItemListWidgetInformant::roleText(const QByteArray &role, const QHa
             text = QString::number(permissions.at(1).toInt(), 8);
             break;
         case ContentDisplaySettings::EnumUsePermissionsFormat::CombinedFormat:
-            text = QString("%1 (%2)").arg(permissions.at(0).toString()).arg(permissions.at(1).toInt(), 0, 8);
+            text = QLatin1String("%1 (%2)").arg(permissions.at(0).toString()).arg(permissions.at(1).toInt(), 0, 8);
             break;
         }
     } else {
@@ -203,6 +204,17 @@ void KFileItemListWidget::hoverSequenceStarted()
     view->setHoverSequenceState(itemUrl, 0);
 }
 
+void KFileItemListWidget::forceUpdate()
+{
+    updateAdditionalInfoTextColor();
+    // icon layout does not include the icons in the item selection rectangle
+    // so its icon does not need updating
+    if (listView()->itemLayout() != KStandardItemListView::ItemLayout::IconsLayout) {
+        invalidateIconCache();
+    }
+    update();
+}
+
 void KFileItemListWidget::hoverSequenceIndexChanged(int sequenceIndex)
 {
     KFileItemListView *view = listView();