┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/kitemlistwidget.h
diff options
context:
space:
mode:
authorEugene Popov <[email protected]>2022-02-13 12:16:34 +0000
committerFelix Ernst <[email protected]>2022-02-13 12:16:34 +0000
commita05343530d0f43434715888902067512309098ce (patch)
tree18876595d04599620acc96684f314a21119b6ed0 /src/kitemviews/kitemlistwidget.h
parente9bd295b3cce63048b141d1fdba844091419a973 (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.h11
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