diff options
| author | Kai Uwe Broulik <[email protected]> | 2021-11-16 20:35:05 +0100 |
|---|---|---|
| committer | Kai Uwe Broulik <[email protected]> | 2021-11-23 16:52:59 +0100 |
| commit | cdb4a7909d256b1565383884f271214d4796cdbb (patch) | |
| tree | f1291c92f173bd748efb8d92e194eb101efab06e /src | |
| parent | caa639fb44a798379d273f26fd13f8de1daf3350 (diff) | |
KFileItemModelRolesUpdater: Generate thumbnails for visible files first
Folder thumbnails are not cached as we cannot know whether something
inside a folder changed. Moreover, they are also a collage of several
files and might even traverse into subdirectories. This takes time.
Diffstat (limited to 'src')
| -rw-r--r-- | src/kitemviews/kfileitemmodelrolesupdater.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/kitemviews/kfileitemmodelrolesupdater.cpp b/src/kitemviews/kfileitemmodelrolesupdater.cpp index 978f5df6e..3804a1907 100644 --- a/src/kitemviews/kfileitemmodelrolesupdater.cpp +++ b/src/kitemviews/kfileitemmodelrolesupdater.cpp @@ -1405,10 +1405,19 @@ QList<int> KFileItemModelRolesUpdater::indexesToResolve() const (2 * m_maximumVisibleItems))); // Add visible items. + // Resolve files first, their previews are quicker. + QList<int> visibleDirs; for (int i = m_firstVisibleIndex; i <= m_lastVisibleIndex; ++i) { - result.append(i); + const KFileItem item = m_model->fileItem(i); + if (item.isDir()) { + visibleDirs.append(i); + } else { + result.append(i); + } } + result.append(visibleDirs); + // We need a reasonable upper limit for number of items to resolve after // and before the visible range. m_maximumVisibleItems can be quite large // when using Compact View. |
