]> cloud.milkyroute.net Git - dolphin.git/commitdiff
[KFileItemModelRolesUpdater] Avoid duplicate indexes to resolve
authorKai Uwe Broulik <kde@privat.broulik.de>
Tue, 11 Sep 2018 07:55:30 +0000 (09:55 +0200)
committerKai Uwe Broulik <kde@privat.broulik.de>
Tue, 11 Sep 2018 07:55:30 +0000 (09:55 +0200)
This avoids requesting a thumbnail twice for certain files, typically the first or last one in a folder.

Differential Revision: https://phabricator.kde.org/D15404

src/kitemviews/kfileitemmodelrolesupdater.cpp

index f4d69dec2766b83ce8f768bc005815056f88650a..e1db504572fc9953ae13148da0b62c57d4490cb1 100644 (file)
@@ -1165,14 +1165,18 @@ QList<int> KFileItemModelRolesUpdater::indexesToResolve() const
 
     // Add items on the last page.
     const int beginLastPage = qMax(qMin(endExtendedVisibleRange + 1, count - 1), count - m_maximumVisibleItems);
-    for (int i = beginLastPage; i < count; ++i) {
-        result.append(i);
+    if (beginLastPage < count - 1) {
+        for (int i = beginLastPage; i < count; ++i) {
+            result.append(i);
+        }
     }
 
     // Add items on the first page.
     const int endFirstPage = qMin(qMax(beginExtendedVisibleRange - 1, 0), m_maximumVisibleItems);
-    for (int i = 0; i <= endFirstPage; ++i) {
-        result.append(i);
+    if (beginExtendedVisibleRange > 0) {
+        for (int i = 0; i <= endFirstPage; ++i) {
+            result.append(i);
+        }
     }
 
     // Continue adding items until ResolveAllItemsLimit is reached.