1
0
mirror of https://invent.kde.org/system/dolphin synced 2024-07-02 16:31:23 +00:00

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.
This commit is contained in:
Felix Ernst 2024-02-19 12:32:32 +01:00 committed by Felix Ernst
parent 94828aa307
commit 84447aab47
2 changed files with 10 additions and 2 deletions

View File

@ -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>();
}

View File

@ -245,6 +245,9 @@ private:
*/
static qreal columnPadding(const KItemListStyleOption &option);
/** @returns whether the usual icon should be shown or not. */
bool isIconControlledByActivateSoonAnimation() const;
protected:
QHash<QByteArray, TextInfo *> m_textInfo; // PlacesItemListWidget needs to access this