From db4080c1832fa8085e5737e6148baee7d8c3c00e Mon Sep 17 00:00:00 2001 From: Alexander Golubev Date: Tue, 20 Feb 2024 20:33:48 +0300 Subject: 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 (cherry picked from commit 53ce37eeca12badf89ebde563a8ec335e0236a02) --- src/gvcore/filethumbnailview.cpp | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'src/gvcore/filethumbnailview.cpp') 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 -- cgit v1.2.3