summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qwidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/kernel/qwidget.cpp')
-rw-r--r--src/gui/kernel/qwidget.cpp45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp
index 968a423..f6be730 100644
--- a/src/gui/kernel/qwidget.cpp
+++ b/src/gui/kernel/qwidget.cpp
@@ -7532,6 +7532,7 @@ bool QWidget::event(QEvent *event)
#ifndef QT_NO_WHEELEVENT
case QEvent::Wheel:
#endif
+ case QEvent::Gesture:
return false;
default:
break;
@@ -7927,6 +7928,9 @@ bool QWidget::event(QEvent *event)
d->needWindowChange = false;
break;
#endif
+ case QEvent::Gesture:
+ gestureEvent((QGestureEvent*)event);
+ break;
#ifndef QT_NO_PROPERTIES
case QEvent::DynamicPropertyChange: {
const QByteArray &propName = static_cast<QDynamicPropertyChangeEvent *>(event)->propertyName();
@@ -8732,6 +8736,11 @@ bool QWidget::qwsEvent(QWSEvent *)
#endif
+void QWidget::gestureEvent(QGestureEvent *event)
+{
+ event->ignore();
+}
+
/*!
Ensures that the widget has been polished by QStyle (i.e., has a
@@ -11016,6 +11025,42 @@ QWindowSurface *QWidget::windowSurface() const
return bs ? bs->windowSurface : 0;
}
+void QWidget::grabGesture(Qt::GestureType gesture)
+{
+ Q_D(QWidget);
+ if (d->gestures.contains(gesture))
+ return;
+ d->gestures << gesture;
+ ++qApp->d_func()->grabbedGestures[gesture];
+}
+
+void QWidget::grabGestures(const QSet<Qt::GestureType> &gestures)
+{
+ Q_D(QWidget);
+ foreach(const Qt::GestureType &gesture, gestures) {
+ if (!d->gestures.contains(gesture))
+ ++qApp->d_func()->grabbedGestures[gesture];
+ }
+ d->gestures.unite(gestures);
+}
+
+void QWidget::releaseGesture(Qt::GestureType gesture)
+{
+ Q_D(QWidget);
+ QMap<Qt::GestureType, int>::iterator it =
+ qApp->d_func()->grabbedGestures.find(gesture);
+ if (it != qApp->d_func()->grabbedGestures.end() &&
+ d->gestures.contains(gesture))
+ ++it.value();
+ d->gestures.remove(gesture);
+}
+
+QSet<Qt::GestureType> QWidget::gestures()
+{
+ Q_D(const QWidget);
+ return d->gestures;
+}
+
void QWidgetPrivate::getLayoutItemMargins(int *left, int *top, int *right, int *bottom) const
{
if (left)