diff options
| author | Eugene Popov <[email protected]> | 2022-02-13 12:16:34 +0000 |
|---|---|---|
| committer | Felix Ernst <[email protected]> | 2022-02-13 12:16:34 +0000 |
| commit | a05343530d0f43434715888902067512309098ce (patch) | |
| tree | 18876595d04599620acc96684f314a21119b6ed0 /src/kitemviews/kitemlistwidget.h | |
| parent | e9bd295b3cce63048b141d1fdba844091419a973 (diff) | |
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
Diffstat (limited to 'src/kitemviews/kitemlistwidget.h')
| -rw-r--r-- | src/kitemviews/kitemlistwidget.h | 11 |
1 files changed, 11 insertions, 0 deletions
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; @@ -129,6 +131,13 @@ public: 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() * or KItemListWidget::expansionToggleRect(). @@ -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 |
