diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2010-06-08 16:09:48 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2010-06-08 16:09:48 (GMT) |
commit | baf60d049cc11a54f156b69960706d7304fc4640 (patch) | |
tree | 617f63b98d841fea6126c30a026fcfb3d8ee4b02 /src/gui/kernel | |
parent | 2ae808a23ce05bf9768ad9df107c16bb0c555ee7 (diff) | |
parent | dcb9b85376718d768f538e19ae231f5e061b7b31 (diff) | |
download | Qt-baf60d049cc11a54f156b69960706d7304fc4640.zip Qt-baf60d049cc11a54f156b69960706d7304fc4640.tar.gz Qt-baf60d049cc11a54f156b69960706d7304fc4640.tar.bz2 |
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (29 commits)
I10n: Update German translations for 4.7.0
Fix a freetype link failure.
Fix configure test for DirectFB
Split Symbian bearer plugin into three platform specfic plugins
Doc: Fixed whitespace in the other configuration file for zh_CN.
Doc: Fixed whitespace in the Simplified Chinese doc configuration.
Unbreak Linux build when qendian.h is included before qglobal.h
Revert accidental commit of irrelevant stuff. Silly mondays..
Unbreak Linux build when qendian.h is included before qglobal.h
Fix QApplication/QWidget to really take ownership of input contexts
Added setting a hotspot on standard gestures
Fixed GestureOverride event delivery in GraphicsView.
add check-ts target to auto-asses translation completeness
qt_ja_JP.ts => qt_ja.ts
Fix incorrect \since tag
XQuery test suite (and others): remove p4 dependency
add docu about pixmaps being invalidated on qapp destruction
remove somewhat misleading warning about x11 pixmap leak
Disabled item view items use incorrect background color
Update the mkspec for linux-icc: don't use jump tables in shlibs
...
Diffstat (limited to 'src/gui/kernel')
-rw-r--r-- | src/gui/kernel/qapplication.cpp | 1 | ||||
-rw-r--r-- | src/gui/kernel/qgesturemanager.cpp | 8 | ||||
-rw-r--r-- | src/gui/kernel/qstandardgestures.cpp | 3 | ||||
-rw-r--r-- | src/gui/kernel/qwidget.cpp | 2 |
4 files changed, 12 insertions, 2 deletions
diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp index c9a3e8b..438a17e 100644 --- a/src/gui/kernel/qapplication.cpp +++ b/src/gui/kernel/qapplication.cpp @@ -5313,6 +5313,7 @@ void QApplication::setInputContext(QInputContext *inputContext) } delete QApplicationPrivate::inputContext; QApplicationPrivate::inputContext = inputContext; + QApplicationPrivate::inputContext->setParent(this); } /*! diff --git a/src/gui/kernel/qgesturemanager.cpp b/src/gui/kernel/qgesturemanager.cpp index 2af031b..e43a560 100644 --- a/src/gui/kernel/qgesturemanager.cpp +++ b/src/gui/kernel/qgesturemanager.cpp @@ -286,6 +286,9 @@ bool QGestureManager::filterEventThroughContexts(const QMultiMap<QObject *, // check if a running gesture switched back to maybe state QSet<QGesture *> activeToMaybeGestures = m_activeGestures & newMaybeGestures; + // check if a maybe gesture switched to canceled - reset it but don't send an event + QSet<QGesture *> maybeToCanceledGestures = m_maybeGestures & notGestures; + // check if a running gesture switched back to not gesture state, // i.e. were canceled QSet<QGesture *> canceledGestures = m_activeGestures & notGestures; @@ -345,7 +348,8 @@ bool QGestureManager::filterEventThroughContexts(const QMultiMap<QObject *, << "\n\tstarted:" << startedGestures << "\n\ttriggered:" << triggeredGestures << "\n\tfinished:" << finishedGestures - << "\n\tcanceled:" << canceledGestures; + << "\n\tcanceled:" << canceledGestures + << "\n\tmaybe-canceled:" << maybeToCanceledGestures; } QSet<QGesture *> undeliveredGestures; @@ -366,7 +370,7 @@ bool QGestureManager::filterEventThroughContexts(const QMultiMap<QObject *, // reset gestures that ended QSet<QGesture *> endedGestures = - finishedGestures + canceledGestures + undeliveredGestures; + finishedGestures + canceledGestures + undeliveredGestures + maybeToCanceledGestures; foreach (QGesture *gesture, endedGestures) { recycle(gesture); m_gestureTargets.remove(gesture); diff --git a/src/gui/kernel/qstandardgestures.cpp b/src/gui/kernel/qstandardgestures.cpp index 6960838..8a3e89e 100644 --- a/src/gui/kernel/qstandardgestures.cpp +++ b/src/gui/kernel/qstandardgestures.cpp @@ -112,6 +112,7 @@ QGestureRecognizer::Result QPanGestureRecognizer::recognize(QGesture *state, p1.pos().y() - p1.startPos().y() + p2.pos().y() - p2.startPos().y()) / 2; if (d->offset.x() > 10 || d->offset.y() > 10 || d->offset.x() < -10 || d->offset.y() < -10) { + q->setHotSpot(p1.startScreenPos()); result = QGestureRecognizer::TriggerGesture; } else { result = QGestureRecognizer::MayBeGesture; @@ -441,6 +442,7 @@ QGestureRecognizer::Result QTapGestureRecognizer::recognize(QGesture *state, switch (event->type()) { case QEvent::TouchBegin: { d->position = ev->touchPoints().at(0).pos(); + q->setHotSpot(ev->touchPoints().at(0).screenPos()); result = QGestureRecognizer::TriggerGesture; break; } @@ -523,6 +525,7 @@ QTapAndHoldGestureRecognizer::recognize(QGesture *state, QObject *object, if (d->timerId) q->killTimer(d->timerId); d->timerId = q->startTimer(TimerInterval); + q->setHotSpot(ev->touchPoints().at(0).startScreenPos()); result = QGestureRecognizer::TriggerGesture; break; case QEvent::TouchEnd: diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp index 895c85d..cd623db 100644 --- a/src/gui/kernel/qwidget.cpp +++ b/src/gui/kernel/qwidget.cpp @@ -379,6 +379,8 @@ void QWidget::setInputContext(QInputContext *context) if (d->ic) delete d->ic; d->ic = context; + if (d->ic) + d->ic->setParent(this); #endif } |