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/kitemlistwidget.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/kitemviews/kitemlistwidget.h') diff --git a/src/kitemviews/kitemlistwidget.h b/src/kitemviews/kitemlistwidget.h index 0b82266c4..517f7e049 100644 --- a/src/kitemviews/kitemlistwidget.h +++ b/src/kitemviews/kitemlistwidget.h @@ -53,6 +53,8 @@ class DOLPHIN_EXPORT KItemListWidget : public QGraphicsWidget { Q_OBJECT + Q_PROPERTY(int iconSize READ iconSize WRITE setIconSize) + public: KItemListWidget(KItemListWidgetInformant* informant, QGraphicsItem* parent); ~KItemListWidget() override; @@ -128,6 +130,13 @@ public: void setEditedRole(const QByteArray& role); QByteArray editedRole() const; + /** + * Contains the actual icon size used to draw the icon. + * Also used during icon resizing animation. + */ + void setIconSize(int iconSize); + int iconSize() const; + /** * @return True if \a point is inside KItemListWidget::hoverRect(), * KItemListWidget::textRect(), KItemListWidget::selectionToggleRect() @@ -196,6 +205,7 @@ protected: virtual void alternateBackgroundChanged(bool enabled); virtual void siblingsInformationChanged(const QBitArray& current, const QBitArray& previous); virtual void editedRoleChanged(const QByteArray& current, const QByteArray& previous); + virtual void iconSizeChanged(int current, int previous); void resizeEvent(QGraphicsSceneResizeEvent* event) override; void clearHoverCache(); @@ -263,6 +273,7 @@ private: KItemListSelectionToggle* m_selectionToggle; QByteArray m_editedRole; + int m_iconSize; }; inline const KItemListWidgetInformant* KItemListWidget::informant() const -- cgit v1.3.1