diff options
| author | Peter Penz <[email protected]> | 2011-09-21 23:40:51 +0200 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2011-09-21 23:42:28 +0200 |
| commit | bc96a102340252363158ded39a3cb0adaee59824 (patch) | |
| tree | 8031d4a05ae811f5d01a5e971533fcfc15ad8029 /src/kitemviews/kitemlistheader_p.h | |
| parent | 51cd727066efaf548a68585ec0bb66fa1a766c4d (diff) | |
Improve drawing of list-header
Diffstat (limited to 'src/kitemviews/kitemlistheader_p.h')
| -rw-r--r-- | src/kitemviews/kitemlistheader_p.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/kitemviews/kitemlistheader_p.h b/src/kitemviews/kitemlistheader_p.h index e75bd7b14..7219722a7 100644 --- a/src/kitemviews/kitemlistheader_p.h +++ b/src/kitemviews/kitemlistheader_p.h @@ -49,14 +49,34 @@ public: virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = 0); +protected: + virtual void mousePressEvent(QGraphicsSceneMouseEvent* event); + virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent* event); + virtual void mouseMoveEvent(QGraphicsSceneMouseEvent* event); + virtual void hoverEnterEvent(QGraphicsSceneHoverEvent* event); + virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent* event); + virtual void hoverMoveEvent(QGraphicsSceneHoverEvent* event); + private slots: void slotSortRoleChanged(const QByteArray& current, const QByteArray& previous); void slotSortOrderChanged(Qt::SortOrder current, Qt::SortOrder previous); private: + void paintRole(QPainter* painter, const QByteArray& role, const QRectF& rect, int orderIndex); + + void updatePressedRoleIndex(const QPointF& pos); + void updateHoveredRoleIndex(const QPointF& pos); + int roleIndexAt(const QPointF& pos) const; + bool isAboveRoleGrip(const QPointF& pos, int roleIndex) const; + +private: KItemModelBase* m_model; QList<QByteArray> m_visibleRoles; QHash<QByteArray, qreal> m_visibleRolesWidths; + + int m_hoveredRoleIndex; + int m_pressedRoleIndex; + bool m_resizePressedRole; }; #endif |
