From a05343530d0f43434715888902067512309098ce Mon Sep 17 00:00:00 2001 From: Eugene Popov Date: Sun, 13 Feb 2022 12:16:34 +0000 Subject: Fix zooming animation Current implementation of the zooming animation is a bit buggy. This MR fixes the following issues: * in the Icon view mode, the icons sometimes "jump" * in the Compact view mode, the labels sometimes are cut off BUG: 449179 --- src/kitemviews/private/kitemlistviewanimation.cpp | 8 ++++++++ src/kitemviews/private/kitemlistviewanimation.h | 6 +++--- 2 files changed, 11 insertions(+), 3 deletions(-) (limited to 'src/kitemviews/private') diff --git a/src/kitemviews/private/kitemlistviewanimation.cpp b/src/kitemviews/private/kitemlistviewanimation.cpp index 9dc5fbada..0c16c8b0a 100644 --- a/src/kitemviews/private/kitemlistviewanimation.cpp +++ b/src/kitemviews/private/kitemlistviewanimation.cpp @@ -146,7 +146,15 @@ void KItemListViewAnimation::start(QGraphicsWidget* widget, AnimationType type, break; } + case IconResizeAnimation: { + propertyAnim = new QPropertyAnimation(widget, QByteArrayLiteral("iconSize")); + propertyAnim->setDuration(animationDuration); + propertyAnim->setEndValue(endValue); + break; + } + default: + Q_UNREACHABLE(); break; } diff --git a/src/kitemviews/private/kitemlistviewanimation.h b/src/kitemviews/private/kitemlistviewanimation.h index 8d11dbf89..5e0ebf982 100644 --- a/src/kitemviews/private/kitemlistviewanimation.h +++ b/src/kitemviews/private/kitemlistviewanimation.h @@ -32,7 +32,9 @@ public: MovingAnimation, CreateAnimation, DeleteAnimation, - ResizeAnimation + ResizeAnimation, + IconResizeAnimation, + AnimationTypeCount }; explicit KItemListViewAnimation(QObject* parent = nullptr); @@ -79,8 +81,6 @@ private Q_SLOTS: void slotFinished(); private: - enum { AnimationTypeCount = 4 }; - Qt::Orientation m_scrollOrientation; qreal m_scrollOffset; QHash m_animation[AnimationTypeCount]; -- cgit v1.3.1