diff options
| author | Felix Ernst <[email protected]> | 2024-02-19 12:32:32 +0100 |
|---|---|---|
| committer | Felix Ernst <[email protected]> | 2024-02-23 10:19:39 +0000 |
| commit | 84447aab47781e381f49c8a81d9d5195fa0b4da6 (patch) | |
| tree | d9226e81dc8f7fbf8fb185908f9d147f5c1d28c6 /src/kitemviews/kstandarditemlistwidget.cpp | |
| parent | 94828aa307af32191124d4fb8c0033a365dc3568 (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.cpp | 9 |
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>(); } |
