diff options
author | Michal Guminiak <michal.guminiak@teleca.com> | 2010-10-04 14:05:15 +0200 |
---|---|---|
committer | Michal Guminiak <michal.guminiak@teleca.com> | 2010-10-05 14:13:04 +0200 |
commit | d12161cb13c96107d632d6c1b6ac630c780a78c7 (patch) | |
tree | 22dcfbd78743aeba4cef9fbb2921ce299c7483d8 | |
parent | 97f0de1baae52e7ab2797a951a3d1643c24ad938 (diff) |
Fixes: NB#196090 - MButton - tap&hold is not working as expected
RevBy: Armin, Anna
Details: This patch fixes the issue when scene window is handling Tap&Hold gesture.
The gesture is accepted by scene window and mscene was registering that as a
cause for sending cancel event. This patch disables sending cancel event by mscene.
-rw-r--r-- | src/corelib/widgets/mscenewindow.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/corelib/widgets/mscenewindow.cpp b/src/corelib/widgets/mscenewindow.cpp index 8d059a12..b33aeb87 100644 --- a/src/corelib/widgets/mscenewindow.cpp +++ b/src/corelib/widgets/mscenewindow.cpp @@ -289,7 +289,12 @@ void MSceneWindow::tapAndHoldGestureEvent(QGestureEvent *event, QTapAndHoldGestu { Q_D(MSceneWindow); - if (gesture->state() == Qt::GestureFinished) { + if (gesture->state() == Qt::GestureStarted) { + // We will send cancel event on our own, unregistering this gesture from mscene. + MScene *mScene = qobject_cast<MScene *>(scene()); + if (mScene) + mScene->d_func()->notifyGestureCaughtByPanel(gesture->gestureType()); + } else if (gesture->state() == Qt::GestureFinished) { QGraphicsSceneContextMenuEvent contextEvent(QEvent::GraphicsSceneContextMenu); contextEvent.setPos(gesture->position()); |