diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2017-04-26 17:51:08 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2017-04-27 11:58:02 +0000 |
commit | 92cd0879c5e3031bb977e89ba1ef2efe99fd8456 (patch) | |
tree | f61f9916556e51e975266627335750a08d02f568 /src/quicktemplates2/qquickoverlay.cpp | |
parent | 5cdfc0d4dfc4be29c0e8271526058e24e9b6cc27 (diff) |
QQuickOverlay: add return value to handlePress/Move/Release()
Inform the caller whether the event was handled.
Change-Id: I9433164ec810f55e760960dd70e4539c5722e775
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quicktemplates2/qquickoverlay.cpp')
-rw-r--r-- | src/quicktemplates2/qquickoverlay.cpp | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/src/quicktemplates2/qquickoverlay.cpp b/src/quicktemplates2/qquickoverlay.cpp index 10ac3623..a13661e9 100644 --- a/src/quicktemplates2/qquickoverlay.cpp +++ b/src/quicktemplates2/qquickoverlay.cpp @@ -181,7 +181,7 @@ QQuickOverlayPrivate::QQuickOverlayPrivate() { } -void QQuickOverlayPrivate::handlePress(QEvent *event) +bool QQuickOverlayPrivate::handlePress(QEvent *event) { Q_Q(QQuickOverlay); emit q->pressed(); @@ -195,7 +195,7 @@ void QQuickOverlayPrivate::handlePress(QEvent *event) QQuickDrawerPrivate *p = QQuickDrawerPrivate::get(drawer); if (p->startDrag(event)) { setMouseGrabberPopup(drawer); - return; + return true; } } } @@ -207,36 +207,41 @@ void QQuickOverlayPrivate::handlePress(QEvent *event) for (QQuickPopup *popup : popups) { if (popup->overlayEvent(q, event)) { setMouseGrabberPopup(popup); - return; + return true; } } } event->ignore(); + return false; } -void QQuickOverlayPrivate::handleMove(QEvent *event) +bool QQuickOverlayPrivate::handleMove(QEvent *event) { Q_Q(QQuickOverlay); if (mouseGrabberPopup) - mouseGrabberPopup->overlayEvent(q, event); + return mouseGrabberPopup->overlayEvent(q, event); + return false; } -void QQuickOverlayPrivate::handleRelease(QEvent *event) +bool QQuickOverlayPrivate::handleRelease(QEvent *event) { Q_Q(QQuickOverlay); emit q->released(); if (mouseGrabberPopup) { - mouseGrabberPopup->overlayEvent(q, event); - setMouseGrabberPopup(nullptr); + if (mouseGrabberPopup->overlayEvent(q, event)) { + setMouseGrabberPopup(nullptr); + return true; + } } else { const auto popups = stackingOrderPopups(); for (QQuickPopup *popup : popups) { if (popup->overlayEvent(q, event)) - break; + return true; } } + return false; } void QQuickOverlayPrivate::addPopup(QQuickPopup *popup) |