summaryrefslogtreecommitdiffstats
path: root/src/gvcore/filethumbnailview.cpp
diff options
context:
space:
mode:
authorAlexander Golubev <fatzer2@gmail.com>2024-02-20 20:33:48 +0300
committerMichele Calgaro <michele.calgaro@yahoo.it>2024-02-22 18:29:31 +0900
commitdb4080c1832fa8085e5737e6148baee7d8c3c00e (patch)
treeef9b1a76769b5b0686b3bb3e5e17ed980280747e /src/gvcore/filethumbnailview.cpp
parenta5931c83bdad1b1d137cf30f5c9cf59bf3e4c8cd (diff)
downloadgwenview-db4080c1832fa8085e5737e6148baee7d8c3c00e.tar.gz
gwenview-db4080c1832fa8085e5737e6148baee7d8c3c00e.zip
Avoid sorting items and creating thumbnails when loading metadata
Otherwice it has a big performance impact: it causes lots of thumbnail reloads and resorts of FileThumbnailView. Signed-off-by: Alexander Golubev <fatzer2@gmail.com> (cherry picked from commit 53ce37eeca12badf89ebde563a8ec335e0236a02)
Diffstat (limited to 'src/gvcore/filethumbnailview.cpp')
-rw-r--r--src/gvcore/filethumbnailview.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/gvcore/filethumbnailview.cpp b/src/gvcore/filethumbnailview.cpp
index e12f652..16e491d 100644
--- a/src/gvcore/filethumbnailview.cpp
+++ b/src/gvcore/filethumbnailview.cpp
@@ -454,15 +454,19 @@ void FileThumbnailView::insertItem(KFileItem* item) {
}
-void FileThumbnailView::updateView(const KFileItem* fileItem) {
+void FileThumbnailView::updateView(const KFileItem* fileItem, bool metaInfoOnly) {
if (!fileItem) return;
-
FileThumbnailViewItem* iconItem=viewItem(this, fileItem);
if (iconItem) {
- iconItem->setText(fileItem->text());
- updateThumbnail(fileItem);
+ if (metaInfoOnly) {
+ iconItem->updateLines();
+ // Note: resort will be done when metadata is completely loaded
+ } else {
+ iconItem->setText(fileItem->text());
+ updateThumbnail(fileItem);
+ sortView();
+ }
}
- sort();
}
@@ -565,7 +569,7 @@ void FileThumbnailView::setSorting(TQDir::SortSpec spec) {
if (iconItem) setSortingKey(iconItem, item);
}
- TDEIconView::sort(! (spec & TQDir::Reversed) );
+ sortView();
}
//--------------------------------------------------------------------------
@@ -769,6 +773,10 @@ void FileThumbnailView::prefetchDone() {
}
}
+void FileThumbnailView::sortView() {
+ TDEIconView::sort( !(KFileView::sorting() & TQDir::Reversed) );
+}
+
//--------------------------------------------------------------------------
//
// Protected