diff options
| author | Alexander Golubev <fatzer2@gmail.com> | 2024-02-20 20:33:48 +0300 |
|---|---|---|
| committer | Alexander Golubev <fatzer2@gmail.com> | 2024-02-20 20:33:48 +0300 |
| commit | 53ce37eeca12badf89ebde563a8ec335e0236a02 (patch) | |
| tree | 1e28df1ba0a3d9cdaef27d9796f4391856a281b6 /src/gvcore/filethumbnailview.cpp | |
| parent | 79826b760ff5c65840794d3d2dc4c4a60916996c (diff) | |
| download | gwenview-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.cpp | 20 |
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 |
