diff options
author | Thomas Zander <thomas.zander@trolltech.com> | 2009-10-21 11:58:24 (GMT) |
---|---|---|
committer | Thomas Zander <thomas.zander@trolltech.com> | 2009-10-26 11:21:57 (GMT) |
commit | 25bc5c29db866d5abc3f9fbae7b5211e2e6b1f25 (patch) | |
tree | a7aec5c7fdbbf63df3b01bc357a5e66d52c741be /src/gui/kernel/qgesturemanager.cpp | |
parent | 92d8b0e1d6ecce8214b24a08b8a199af4321bd88 (diff) | |
download | Qt-25bc5c29db866d5abc3f9fbae7b5211e2e6b1f25.zip Qt-25bc5c29db866d5abc3f9fbae7b5211e2e6b1f25.tar.gz Qt-25bc5c29db866d5abc3f9fbae7b5211e2e6b1f25.tar.bz2 |
Add QWidget::ungrabGesture
Reviewed-by: Denis Dzyubenko
Diffstat (limited to 'src/gui/kernel/qgesturemanager.cpp')
-rw-r--r-- | src/gui/kernel/qgesturemanager.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/gui/kernel/qgesturemanager.cpp b/src/gui/kernel/qgesturemanager.cpp index dc76c3f..df88f9e 100644 --- a/src/gui/kernel/qgesturemanager.cpp +++ b/src/gui/kernel/qgesturemanager.cpp @@ -129,6 +129,21 @@ void QGestureManager::unregisterGestureRecognizer(Qt::GestureType type) } } +void QGestureManager::cleanupCachedGestures(QObject *target, Qt::GestureType type) +{ + QMap<ObjectGesture, QGesture *>::Iterator iter = objectGestures.begin(); + while (iter != objectGestures.end()) { + ObjectGesture objectGesture = iter.key(); + if (objectGesture.gesture == type && target == objectGesture.object.data()) { + delete iter.value(); + iter = objectGestures.erase(iter); + } else { + ++iter; + } + } +} + +// get or create a QGesture object that will represent the state for a given object, used by the recognizer QGesture *QGestureManager::getState(QObject *object, Qt::GestureType type) { // if the widget is being deleted we should be carefull and not to @@ -332,6 +347,7 @@ void QGestureManager::cleanupGesturesForRemovedRecognizer(QGesture *gesture) } } +// return true if accepted (consumed) bool QGestureManager::filterEvent(QWidget *receiver, QEvent *event) { QSet<Qt::GestureType> types; |