diff options
Diffstat (limited to 'src/kitemviews/private')
| -rw-r--r-- | src/kitemviews/private/kitemlistheaderwidget.cpp | 8 | ||||
| -rw-r--r-- | src/kitemviews/private/kitemlistheaderwidget.h | 6 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/kitemviews/private/kitemlistheaderwidget.cpp b/src/kitemviews/private/kitemlistheaderwidget.cpp index ac25d189c..d23b7def9 100644 --- a/src/kitemviews/private/kitemlistheaderwidget.cpp +++ b/src/kitemviews/private/kitemlistheaderwidget.cpp @@ -372,6 +372,7 @@ void KItemListHeaderWidget::hoverLeaveEvent(QGraphicsSceneHoverEvent *event) { QGraphicsWidget::hoverLeaveEvent(event); if (m_hoveredRoleIndex != -1) { + Q_EMIT columnUnHovered(m_hoveredRoleIndex); m_hoveredRoleIndex = -1; update(); } @@ -488,8 +489,15 @@ void KItemListHeaderWidget::updatePressedRoleIndex(const QPointF &pos) void KItemListHeaderWidget::updateHoveredRoleIndex(const QPointF &pos) { const int hoverIndex = roleIndexAt(pos); + if (m_hoveredRoleIndex != hoverIndex) { + if (m_hoveredRoleIndex != -1) { + Q_EMIT columnUnHovered(m_hoveredRoleIndex); + } m_hoveredRoleIndex = hoverIndex; + if (m_hoveredRoleIndex != -1) { + Q_EMIT columnHovered(m_hoveredRoleIndex); + } update(); } } diff --git a/src/kitemviews/private/kitemlistheaderwidget.h b/src/kitemviews/private/kitemlistheaderwidget.h index 58c27b43a..05a5924e1 100644 --- a/src/kitemviews/private/kitemlistheaderwidget.h +++ b/src/kitemviews/private/kitemlistheaderwidget.h @@ -93,6 +93,9 @@ Q_SIGNALS: */ void sortRoleChanged(const QByteArray ¤t, const QByteArray &previous); + void columnUnHovered(int roleIndex); + void columnHovered(int roleIndex); + protected: void mousePressEvent(QGraphicsSceneMouseEvent *event) override; void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override; @@ -158,7 +161,8 @@ private: int x; int xDec; int index; - } m_movingRole; + }; + MovingRole m_movingRole; }; #endif |
