diff options
author | Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> | 2016-08-02 13:11:00 +0200 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@qt.io> | 2016-08-02 14:16:47 +0000 |
commit | af4150ce50ab3aa7b9f34a4ac7fc6dde317f66b0 (patch) | |
tree | 53e22f7bb79c895d2ba4fda2fe7521569c51f418 /src/quick/items/qquickmultipointtoucharea.cpp | |
parent | 80c7ce5e0c990fb67f90563fb81b16e33699a522 (diff) |
Reduce duplicated code in MultiPointTouchArea
Change-Id: I807a8bab270813ea62bd5028eae45910aeb65bbb
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'src/quick/items/qquickmultipointtoucharea.cpp')
-rw-r--r-- | src/quick/items/qquickmultipointtoucharea.cpp | 31 |
1 files changed, 9 insertions, 22 deletions
diff --git a/src/quick/items/qquickmultipointtoucharea.cpp b/src/quick/items/qquickmultipointtoucharea.cpp index ac5598767a..89bff6e057 100644 --- a/src/quick/items/qquickmultipointtoucharea.cpp +++ b/src/quick/items/qquickmultipointtoucharea.cpp @@ -448,20 +448,12 @@ void QQuickMultiPointTouchArea::touchEvent(QTouchEvent *event) } } updateTouchData(event); - if (event->type() == QEvent::TouchEnd) { - //TODO: move to window - _stealMouse = false; - setKeepMouseGrab(false); - setKeepTouchGrab(false); - ungrabTouchPoints(); - } + if (event->type() == QEvent::TouchEnd) + ungrab(); break; } case QEvent::TouchCancel: - _stealMouse = false; - setKeepMouseGrab(false); - setKeepTouchGrab(false); - ungrabTouchPoints(); + ungrab(); break; default: QQuickItem::touchEvent(event); @@ -784,13 +776,12 @@ void QQuickMultiPointTouchArea::mouseReleaseEvent(QMouseEvent *event) void QQuickMultiPointTouchArea::ungrab() { + _stealMouse = false; + setKeepMouseGrab(false); + setKeepTouchGrab(false); + ungrabTouchPoints(); + if (_touchPoints.count()) { - QQuickWindow *c = window(); - if (c && c->mouseGrabberItem() == this) { - _stealMouse = false; - setKeepMouseGrab(false); - } - setKeepTouchGrab(false); foreach (QObject *obj, _touchPoints) static_cast<QQuickTouchPoint*>(obj)->setPressed(false); emit canceled(_touchPoints.values()); @@ -881,11 +872,7 @@ bool QQuickMultiPointTouchArea::childMouseEventFilter(QQuickItem *i, QEvent *eve if (!shouldFilter(event)) return false; updateTouchData(event); - //TODO: verify this behavior - _stealMouse = false; - setKeepMouseGrab(false); - setKeepTouchGrab(false); - ungrabTouchPoints(); + ungrab(); } break; default: |