summaryrefslogtreecommitdiffstats
path: root/src/gvcore/filethumbnailview.cpp
diff options
context:
space:
mode:
authorAlexander Golubev <fatzer2@gmail.com>2024-02-20 20:33:48 +0300
committerAlexander Golubev <fatzer2@gmail.com>2024-02-20 20:33:48 +0300
commit53ce37eeca12badf89ebde563a8ec335e0236a02 (patch)
tree1e28df1ba0a3d9cdaef27d9796f4391856a281b6 /src/gvcore/filethumbnailview.cpp
parent79826b760ff5c65840794d3d2dc4c4a60916996c (diff)
downloadgwenview-53ce37eeca12badf89ebde563a8ec335e0236a02.tar.gz
gwenview-53ce37eeca12badf89ebde563a8ec335e0236a02.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>
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