From 832b7c4a1b820043fd0b0191d937050107694ed9 Mon Sep 17 00:00:00 2001 From: Akseli Lahtinen Date: Wed, 14 May 2025 14:31:36 +0300 Subject: [PATCH] Check if the item supports sequencing before looking for sequence pixmaps This patch checks the item first if the plugin it's using for it's previews even supports sequences. If not, we can then safely ignore the hover action for polling more sequences and avoid unnecessary work. The sequencing support is false by default, so we set it true only when we know it's possible. --- src/kitemviews/kfileitemlistwidget.cpp | 2 +- src/kitemviews/kfileitemmodelrolesupdater.cpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/kitemviews/kfileitemlistwidget.cpp b/src/kitemviews/kfileitemlistwidget.cpp index e1da7192a..37b115cc3 100644 --- a/src/kitemviews/kfileitemlistwidget.cpp +++ b/src/kitemviews/kfileitemlistwidget.cpp @@ -219,7 +219,7 @@ void KFileItemListWidget::hoverSequenceIndexChanged(int sequenceIndex) { KFileItemListView *view = listView(); - if (!view) { + if (!view || !data().value("supportsSequencing").toBool()) { return; } diff --git a/src/kitemviews/kfileitemmodelrolesupdater.cpp b/src/kitemviews/kfileitemmodelrolesupdater.cpp index f9a50b9de..497c13b52 100644 --- a/src/kitemviews/kfileitemmodelrolesupdater.cpp +++ b/src/kitemviews/kfileitemmodelrolesupdater.cpp @@ -570,6 +570,7 @@ void KFileItemModelRolesUpdater::slotGotPreview(const KFileItem &item, const QPi QHash data = rolesData(item, index); data.insert("iconPixmap", transformPreviewPixmap(pixmap)); + data.insert("supportsSequencing", m_previewJob->handlesSequences()); disconnect(m_model, &KFileItemModel::itemsChanged, this, &KFileItemModelRolesUpdater::slotItemsChanged); m_model->setData(index, data); -- 2.47.3