mirror of
https://invent.kde.org/system/dolphin
synced 2024-07-04 17:30:55 +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:
parent
94828aa307
commit
84447aab47
|
@ -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>();
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user