diff options
author | Shawn Rutledge <shawn.rutledge@qt.io> | 2017-12-28 10:05:36 +0100 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2018-01-12 14:52:51 +0000 |
commit | fc9b36c23680469bc6ca9f8a220045e67c7fb6c3 (patch) | |
tree | 336f893b2f1a455d466ba4a1096887217d51dd1a | |
parent | 2e8a45d99f94cbd2c805dd3de56d60d9baa9bd4e (diff) |
QQuickPointerHandler: add virtual onTargetChanged()
To be overridden in handlers which need to know when this happens,
to avoid connecting to the targetChanged() signal.
Change-Id: I51432b69d05fd541eb62e0cd01f4019e336816ac
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
-rw-r--r-- | src/quick/handlers/qquickpointerhandler.cpp | 2 | ||||
-rw-r--r-- | src/quick/handlers/qquickpointerhandler_p.h | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/src/quick/handlers/qquickpointerhandler.cpp b/src/quick/handlers/qquickpointerhandler.cpp index 64bf1a8a8b..d6d3a52d95 100644 --- a/src/quick/handlers/qquickpointerhandler.cpp +++ b/src/quick/handlers/qquickpointerhandler.cpp @@ -331,7 +331,9 @@ void QQuickPointerHandler::setTarget(QQuickItem *target) if (m_target == target) return; + QQuickItem *oldTarget = m_target; m_target = target; + onTargetChanged(oldTarget); emit targetChanged(); } diff --git a/src/quick/handlers/qquickpointerhandler_p.h b/src/quick/handlers/qquickpointerhandler_p.h index 9a77dd714a..a601d8a0f6 100644 --- a/src/quick/handlers/qquickpointerhandler_p.h +++ b/src/quick/handlers/qquickpointerhandler_p.h @@ -117,6 +117,7 @@ protected: virtual bool wantsPointerEvent(QQuickPointerEvent *event); virtual void handlePointerEventImpl(QQuickPointerEvent *event); void setActive(bool active); + virtual void onTargetChanged(QQuickItem *oldTarget) { Q_UNUSED(oldTarget); } virtual void onActiveChanged() { } virtual void onGrabChanged(QQuickPointerHandler *grabber, QQuickEventPoint::GrabState stateChange, QQuickEventPoint *point); virtual bool canGrab(QQuickEventPoint *point); |