From a1adcf34f8784d05467cf3598064a3e83842fdc0 Mon Sep 17 00:00:00 2001 From: Shawn Rutledge Date: Thu, 26 Apr 2018 15:28:57 +0200 Subject: PointerHandler.grabChanged signal: add stateChange parameter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To make grabChanged signal useful, it's necessary to know whether the Pointer Handler has acquired or lost the grab. This patch fixes that. Task-number: QTBUG-68074 Change-Id: I29398d2bb5b27b8541197f23c3043ee86cad7c76 Reviewed-by: Jan Arve Sæther --- src/quick/handlers/qquickpointerhandler.cpp | 12 +++++++----- src/quick/handlers/qquickpointerhandler_p.h | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/quick/handlers/qquickpointerhandler.cpp b/src/quick/handlers/qquickpointerhandler.cpp index a0325dd0c6..4539aa221c 100644 --- a/src/quick/handlers/qquickpointerhandler.cpp +++ b/src/quick/handlers/qquickpointerhandler.cpp @@ -124,8 +124,7 @@ void QQuickPointerHandler::onGrabChanged(QQuickPointerHandler *grabber, QQuickEv } if (wasCanceled) emit canceled(point); - else - emit grabChanged(point); + emit grabChanged(stateChange, point); } } @@ -456,10 +455,13 @@ void QQuickPointerHandler::handlePointerEventImpl(QQuickPointerEvent *event) */ /*! - \qmlsignal QtQuick::PointerHandler::grabChanged(EventPoint point) + \qmlsignal QtQuick::PointerHandler::grabChanged(GrabState stateChange, EventPoint point) - This signal is emitted when this handler has acquired or relinquished a - passive or exclusive grab of the given \a point. + This signal is emitted when the grab has changed in some way which is + relevant to this handler. + + The \a stateChange (verb) tells what happened. + The \a point (object) is the point that was grabbed or ungrabbed. */ /*! diff --git a/src/quick/handlers/qquickpointerhandler_p.h b/src/quick/handlers/qquickpointerhandler_p.h index 1327e6be4e..c7420bcec2 100644 --- a/src/quick/handlers/qquickpointerhandler_p.h +++ b/src/quick/handlers/qquickpointerhandler_p.h @@ -110,7 +110,7 @@ Q_SIGNALS: void enabledChanged(); void activeChanged(); void targetChanged(); - void grabChanged(QQuickEventPoint *point); + void grabChanged(QQuickEventPoint::GrabState stateChange, QQuickEventPoint *point); void grabPermissionChanged(); void canceled(QQuickEventPoint *point); -- cgit v1.2.3