]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kfileitemmodelrolesupdater.cpp
kfileitemmodel: sortRoleCompare: allow to sort by access time.
[dolphin.git] / src / kitemviews / kfileitemmodelrolesupdater.cpp
index 49657a9b1d73abdb369a994f7f2f54a227eb87a6..d9594de4178f8a19ff268b0fb9d41a5435d7ce10 100644 (file)
@@ -28,6 +28,7 @@
 #endif
 
 #include <QApplication>
+#include <QFileInfo>
 #include <QIcon>
 #include <QPainter>
 #include <QPluginLoader>
@@ -1026,7 +1027,7 @@ void KFileItemModelRolesUpdater::startPreviewJob()
 
     KIO::PreviewJob* job = new KIO::PreviewJob(itemSubSet, cacheSize, &m_enabledPlugins);
 
-    job->setIgnoreMaximumSize(itemSubSet.first().isLocalFile() && m_localFileSizePreviewLimit <= 0);
+    job->setIgnoreMaximumSize(itemSubSet.first().isLocalFile() && !itemSubSet.first().isSlow() && m_localFileSizePreviewLimit <= 0);
     if (job->uiDelegate()) {
         KJobWidgets::setWindow(job, qApp->activeWindow());
     }
@@ -1135,7 +1136,7 @@ void KFileItemModelRolesUpdater::loadNextHoverSequencePreview()
     KIO::PreviewJob* job = new KIO::PreviewJob({m_hoverSequenceItem}, cacheSize, &m_enabledPlugins);
 
     job->setSequenceIndex(loadSeqIdx);
-    job->setIgnoreMaximumSize(m_hoverSequenceItem.isLocalFile() && m_localFileSizePreviewLimit <= 0);
+    job->setIgnoreMaximumSize(m_hoverSequenceItem.isLocalFile() && !m_hoverSequenceItem.isSlow() && m_localFileSizePreviewLimit <= 0);
     if (job->uiDelegate()) {
         KJobWidgets::setWindow(job, qApp->activeWindow());
     }
@@ -1337,6 +1338,10 @@ QHash<QByteArray, QVariant> KFileItemModelRolesUpdater::rolesData(const KFileIte
         }
     }
 
+    if (m_roles.contains("extension")) {
+        data.insert("extension", QFileInfo(item.name()).suffix());
+    }
+
     if (m_roles.contains("type")) {
         data.insert("type", item.mimeComment());
     }