src/declarative/graphicsitems/qdeclarativemousearea_p_p.h
changeset 33 3e2da88830cd
parent 30 5dc02b23752f
--- a/src/declarative/graphicsitems/qdeclarativemousearea_p_p.h	Tue Jul 06 15:10:48 2010 +0300
+++ b/src/declarative/graphicsitems/qdeclarativemousearea_p_p.h	Wed Aug 18 10:37:55 2010 +0300
@@ -68,7 +68,7 @@
 public:
     QDeclarativeMouseAreaPrivate()
       : absorb(true), hovered(false), pressed(false), longPress(false),
-      moved(false), drag(0)
+      moved(false), stealMouse(false), drag(0)
     {
     }
 
@@ -78,6 +78,7 @@
     {
         Q_Q(QDeclarativeMouseArea);
         q->setAcceptedMouseButtons(Qt::LeftButton);
+        q->setFiltersChildEvents(true);
     }
 
     void saveEvent(QGraphicsSceneMouseEvent *event) {
@@ -88,9 +89,9 @@
         lastModifiers = event->modifiers();
     }
 
-    bool isConnected(const char *signal) {
+    bool isPressAndHoldConnected() {
         Q_Q(QDeclarativeMouseArea);
-        int idx = QObjectPrivate::get(q)->signalIndex(signal);
+        static int idx = QObjectPrivate::get(q)->signalIndex("pressAndHold(QDeclarativeMouseEvent*)");
         return QObjectPrivate::get(q)->isSignalConnected(idx);
     }
 
@@ -101,6 +102,7 @@
     bool moved : 1;
     bool dragX : 1;
     bool dragY : 1;
+    bool stealMouse : 1;
     QDeclarativeDrag *drag;
     QPointF startScene;
     qreal startX;