diff options
| author | Kai Uwe Broulik <[email protected]> | 2018-09-11 09:55:30 +0200 |
|---|---|---|
| committer | Kai Uwe Broulik <[email protected]> | 2018-09-11 09:55:30 +0200 |
| commit | 033eb6b3a35ca60ce78ce7ccfeeec26d70205aa8 (patch) | |
| tree | aae30a8f6ed8afc5cd2d5025c51558153bacf1af /src | |
| parent | 92a4b5bb625fb10ebc4b15ea6483fb19a73fe60b (diff) | |
[KFileItemModelRolesUpdater] Avoid duplicate indexes to resolve
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
Diffstat (limited to 'src')
| -rw-r--r-- | src/kitemviews/kfileitemmodelrolesupdater.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/kitemviews/kfileitemmodelrolesupdater.cpp b/src/kitemviews/kfileitemmodelrolesupdater.cpp index f4d69dec2..e1db50457 100644 --- a/src/kitemviews/kfileitemmodelrolesupdater.cpp +++ b/src/kitemviews/kfileitemmodelrolesupdater.cpp @@ -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. |
