┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/kstandarditemlistwidget.cpp
diff options
context:
space:
mode:
authorFelix Ernst <[email protected]>2024-02-19 12:32:32 +0100
committerFelix Ernst <[email protected]>2024-02-23 10:19:39 +0000
commit84447aab47781e381f49c8a81d9d5195fa0b4da6 (patch)
treed9226e81dc8f7fbf8fb185908f9d147f5c1d28c6 /src/kitemviews/kstandarditemlistwidget.cpp
parent94828aa307af32191124d4fb8c0033a365dc3568 (diff)
Resolve conflict between activateSoonAnimation and hoverSequenceAnimation
Prior to this commit, the activateSoonAnimation would not play for folders using previews. That was because the hoverSequences of folder previews would always take priority over the activateSoonAnimation. This commit prioritises the activateSoonAnimation for the quick moments in which it is active.
Diffstat (limited to 'src/kitemviews/kstandarditemlistwidget.cpp')
-rw-r--r--src/kitemviews/kstandarditemlistwidget.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/kitemviews/kstandarditemlistwidget.cpp b/src/kitemviews/kstandarditemlistwidget.cpp
index b534338ce..2ac8f4f69 100644
--- a/src/kitemviews/kstandarditemlistwidget.cpp
+++ b/src/kitemviews/kstandarditemlistwidget.cpp
@@ -634,6 +634,11 @@ void KStandardItemListWidget::startActivateSoonAnimation(int timeUntilActivation
m_activateSoonAnimation->start(QAbstractAnimation::DeleteWhenStopped);
}
+bool KStandardItemListWidget::isIconControlledByActivateSoonAnimation() const
+{
+ return m_activateSoonAnimation && data()["iconName"] == "folder-open";
+}
+
KItemListWidgetInformant *KStandardItemListWidget::createInformant()
{
return new KStandardItemListWidgetInformant();
@@ -1027,7 +1032,7 @@ void KStandardItemListWidget::updatePixmapCache()
int sequenceIndex = hoverSequenceIndex();
- if (values.contains("hoverSequencePixmaps")) {
+ if (values.contains("hoverSequencePixmaps") && !isIconControlledByActivateSoonAnimation()) {
// Use one of the hover sequence pixmaps instead of the default
// icon pixmap.
@@ -1047,7 +1052,7 @@ void KStandardItemListWidget::updatePixmapCache()
}
}
- if (m_pixmap.isNull()) {
+ if (m_pixmap.isNull() && !isIconControlledByActivateSoonAnimation()) {
m_pixmap = values["iconPixmap"].value<QPixmap>();
}