]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kfileitemlistwidget.cpp
Make "open path" and "open path in new tab" scroll to the selected item
[dolphin.git] / src / kitemviews / kfileitemlistwidget.cpp
index b4e0895f2a7fcb0548e8393f63d9dd3832b28fb6..3a7b37895a70879c6f450baf98eed4f1f27695c2 100644 (file)
@@ -45,7 +45,7 @@ bool KFileItemListWidgetInformant::itemIsLink(int index, const KItemListView *vi
     return item.isLink();
 }
 
-QString KFileItemListWidgetInformant::roleText(const QByteArray &role, const QHash<QByteArray, QVariant> &values) const
+QString KFileItemListWidgetInformant::roleText(const QByteArray &role, const QHash<QByteArray, QVariant> &values, ForUsageAs forUsageAs) const
 {
     QString text;
     const QVariant roleValue = values.value(role);
@@ -55,11 +55,13 @@ QString KFileItemListWidgetInformant::roleText(const QByteArray &role, const QHa
     // Implementation note: In case if more roles require a custom handling
     // use a hash + switch for a linear runtime.
 
-    auto formatDate = [formatter, local](const QDateTime &time) {
+    auto formatDate = [formatter, local, forUsageAs](const QDateTime &time) {
         if (ContentDisplaySettings::useShortRelativeDates()) {
-            return formatter.formatRelativeDateTime(time, QLocale::ShortFormat);
+            return formatter.formatRelativeDateTime(time,
+                                                    forUsageAs == KStandardItemListWidgetInformant::ForUsageAs::DisplayedText ? QLocale::ShortFormat
+                                                                                                                              : QLocale::LongFormat);
         } else {
-            return local.toString(time, QLocale::ShortFormat);
+            return local.toString(time, forUsageAs == KStandardItemListWidgetInformant::ForUsageAs::DisplayedText ? QLocale::ShortFormat : QLocale::LongFormat);
         }
     };
 
@@ -114,7 +116,7 @@ QString KFileItemListWidgetInformant::roleText(const QByteArray &role, const QHa
             break;
         }
     } else {
-        text = KStandardItemListWidgetInformant::roleText(role, values);
+        text = KStandardItemListWidgetInformant::roleText(role, values, forUsageAs);
     }
 
     return text;