diff options
| author | Tom Lin <[email protected]> | 2022-01-16 14:01:32 +0000 |
|---|---|---|
| committer | Felix Ernst <[email protected]> | 2022-01-16 14:01:32 +0000 |
| commit | d3839617193e92463806580699caa595c892b8a6 (patch) | |
| tree | 9819ace996bc994dd047206669eaa2869471a79b /src/kitemviews/kitemlistwidget.h | |
| parent | a286506405550fe299e1f4a5fd73543e642655a0 (diff) | |
Full row highlight implementation
This commit implements full-row selection and hover highlights for the
details view mode.
This commit also contains fixes for 444680, 444753, both uncovered
during this change.
BUG: 181438
BUG: 444680
BUG: 444753
FIXED-IN: 22.04
Diffstat (limited to 'src/kitemviews/kitemlistwidget.h')
| -rw-r--r-- | src/kitemviews/kitemlistwidget.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/kitemviews/kitemlistwidget.h b/src/kitemviews/kitemlistwidget.h index c56c41ab3..0b82266c4 100644 --- a/src/kitemviews/kitemlistwidget.h +++ b/src/kitemviews/kitemlistwidget.h @@ -80,6 +80,9 @@ public: void setColumnWidth(const QByteArray& role, qreal width); qreal columnWidth(const QByteArray& role) const; + void setLeadingPadding(qreal width); + qreal leadingPadding() const; + void setStyleOption(const KItemListStyleOption& option); const KItemListStyleOption& styleOption() const; @@ -94,6 +97,9 @@ public: void setHovered(bool hovered); bool isHovered() const; + void setExpansionAreaHovered(bool hover); + bool expansionAreaHovered() const; + void setHoverPosition(const QPointF& pos); void setAlternateBackground(bool enable); @@ -182,6 +188,7 @@ protected: virtual void dataChanged(const QHash<QByteArray, QVariant>& current, const QSet<QByteArray>& roles = QSet<QByteArray>()); virtual void visibleRolesChanged(const QList<QByteArray>& current, const QList<QByteArray>& previous); virtual void columnWidthChanged(const QByteArray& role, qreal current, qreal previous); + virtual void leadingPaddingChanged(qreal width); virtual void styleOptionChanged(const KItemListStyleOption& current, const KItemListStyleOption& previous); virtual void currentChanged(bool current); virtual void selectedChanged(bool selected); @@ -190,6 +197,7 @@ protected: virtual void siblingsInformationChanged(const QBitArray& current, const QBitArray& previous); virtual void editedRoleChanged(const QByteArray& current, const QByteArray& previous); void resizeEvent(QGraphicsSceneResizeEvent* event) override; + void clearHoverCache(); /** * Called when the user starts hovering this item. @@ -225,7 +233,6 @@ private Q_SLOTS: private: void initializeSelectionToggle(); void setHoverOpacity(qreal opacity); - void clearHoverCache(); void drawItemStyleOption(QPainter* painter, QWidget* widget, QStyle::State styleState); private: @@ -236,11 +243,13 @@ private: bool m_selected; bool m_current; bool m_hovered; + bool m_expansionAreaHovered; bool m_alternateBackground; bool m_enabledSelectionToggle; QHash<QByteArray, QVariant> m_data; QList<QByteArray> m_visibleRoles; QHash<QByteArray, qreal> m_columnWidths; + qreal m_leadingPadding; KItemListStyleOption m_styleOption; QBitArray m_siblingsInfo; |
