summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qgesturemanager.cpp
diff options
context:
space:
mode:
authorThomas Zander <thomas.zander@trolltech.com>2009-10-21 11:58:24 (GMT)
committerThomas Zander <thomas.zander@trolltech.com>2009-10-26 11:21:57 (GMT)
commit25bc5c29db866d5abc3f9fbae7b5211e2e6b1f25 (patch)
treea7aec5c7fdbbf63df3b01bc357a5e66d52c741be /src/gui/kernel/qgesturemanager.cpp
parent92d8b0e1d6ecce8214b24a08b8a199af4321bd88 (diff)
downloadQt-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.cpp16
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;