summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBradley T. Hughes <bradley.hughes@nokia.com>2009-06-05 12:26:22 (GMT)
committerBradley T. Hughes <bradley.hughes@nokia.com>2009-06-05 12:30:02 (GMT)
commit12c315f34ca428c3da38716d2c071a8e94f2acf0 (patch)
tree8daf15e08c88f31d1738ab9ad7e963523b92ab2b /src
parentbb587db95d7c20344c0bf06a1f080c0a2e4a9250 (diff)
downloadQt-12c315f34ca428c3da38716d2c071a8e94f2acf0.zip
Qt-12c315f34ca428c3da38716d2c071a8e94f2acf0.tar.gz
Qt-12c315f34ca428c3da38716d2c071a8e94f2acf0.tar.bz2
Accept TouchBegin events by default if they are enabled
After an API review round, we agreed that it makes sense for the TouchBegin event to default to accepted if the widget has subscribed to receive touch events.
Diffstat (limited to 'src')
-rw-r--r--src/gui/graphicsview/qgraphicsscene.cpp6
-rw-r--r--src/gui/kernel/qapplication.cpp8
2 files changed, 7 insertions, 7 deletions
diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp
index c0b371f..bf8d83d 100644
--- a/src/gui/graphicsview/qgraphicsscene.cpp
+++ b/src/gui/graphicsview/qgraphicsscene.cpp
@@ -5876,9 +5876,9 @@ bool QGraphicsScenePrivate::sendTouchBeginEvent(QGraphicsItem *origin, QGraphics
foreach (QGraphicsItem *item, cachedItemsUnderMouse) {
// first, try to deliver the touch event
updateTouchPointsForItem(item, touchEvent);
- touchEvent->ignore();
- res = item->acceptTouchEvents()
- && sendEvent(item, touchEvent);
+ bool acceptTouchEvents = item->acceptTouchEvents();
+ touchEvent->setAccepted(acceptTouchEvents);
+ res = acceptTouchEvents && sendEvent(item, touchEvent);
eventAccepted = touchEvent->isAccepted();
item->d_ptr->acceptedTouchBeginEvent = (res && eventAccepted);
touchEvent->spont = false;
diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp
index 3c9d2a8..ca0054f 100644
--- a/src/gui/kernel/qapplication.cpp
+++ b/src/gui/kernel/qapplication.cpp
@@ -4037,7 +4037,7 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
break;
#endif
case QEvent::TouchBegin:
- // Note: TouchUpdate and TouchEnd events are sent to d->currentMultitouchWidget and never propagated
+ // Note: TouchUpdate and TouchEnd events are never propagated
{
QWidget *widget = static_cast<QWidget *>(receiver);
QTouchEvent *touchEvent = static_cast<QTouchEvent *>(e);
@@ -4051,9 +4051,9 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
while (widget) {
// first, try to deliver the touch event
- touchEvent->ignore();
- res = widget->testAttribute(Qt::WA_AcceptTouchEvents)
- && d->notify_helper(widget, touchEvent);
+ bool acceptTouchEvents = widget->testAttribute(Qt::WA_AcceptTouchEvents);
+ touchEvent->setAccepted(acceptTouchEvents);
+ res = acceptTouchEvents && d->notify_helper(widget, touchEvent);
eventAccepted = touchEvent->isAccepted();
widget->setAttribute(Qt::WA_AcceptedTouchBeginEvent, res && eventAccepted);
touchEvent->spont = false;