Replace usage of QCursor, and update hoverVisible test.
authorMichael Brasser <michael.brasser@nokia.com>
Wed, 28 Mar 2012 06:46:31 +0000 (16:46 +1000)
committerQt by Nokia <qt-info@nokia.com>
Wed, 28 Mar 2012 12:08:27 +0000 (14:08 +0200)
QCursor::pos() doesn't work well with mouse events generated by the test
framework.

Change-Id: I62ee2228c194f21cf17f6271c662056a90c5ef2d
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
src/quick/items/qquickcanvas.cpp
src/quick/items/qquickitem.cpp
tests/auto/quick/qquickmousearea/tst_qquickmousearea.cpp

index c9d7813..5a57a90 100644 (file)
@@ -55,7 +55,6 @@
 
 #include <private/qguiapplication_p.h>
 #include <QtGui/QInputMethod>
-#include <QtGui/QCursor>
 
 #include <private/qabstractanimation_p.h>
 
@@ -952,7 +951,7 @@ bool QQuickCanvasPrivate::clearHover()
     if (hoverItems.isEmpty())
         return false;
 
-    QPointF pos = QCursor::pos(); // ### refactor: q->mapFromGlobal(QCursor::pos());
+    QPointF pos = QGuiApplicationPrivate::lastCursorPosition;; // ### refactor: q->mapFromGlobal(QCursor::pos());
 
     bool accepted = false;
     foreach (QQuickItem* item, hoverItems)
index 9eae661..6eddd0d 100644 (file)
@@ -52,8 +52,8 @@
 #include <QtQml/qqmlcomponent.h>
 #include <QtQml/qqmlinfo.h>
 #include <QtGui/qpen.h>
-#include <QtGui/qcursor.h>
 #include <QtGui/qguiapplication.h>
+#include <QtGui/private/qguiapplication_p.h>
 #include <QtGui/qinputmethod.h>
 #include <QtCore/qdebug.h>
 #include <QtCore/qcoreevent.h>
@@ -4843,7 +4843,7 @@ bool QQuickItem::isUnderMouse() const
     if (!d->canvas)
         return false;
 
-    QPoint cursorPos = QCursor::pos();
+    QPointF cursorPos = QGuiApplicationPrivate::lastCursorPosition;
     if (QRectF(0, 0, width(), height()).contains(mapFromScene(cursorPos))) // ### refactor: d->canvas->mapFromGlobal(cursorPos))))
         return true;
     return false;
index a4b04bb..f072b00 100644 (file)
@@ -796,13 +796,11 @@ void tst_QQuickMouseArea::hoverVisible()
 
     mouseTracker->setVisible(true);
 
-    QTest::mouseMove(canvas,QPoint(10,31));
-
     QCOMPARE(mouseTracker->hovered(), true);
     QCOMPARE(enteredSpy.count(), 1);
 
     QEXPECT_FAIL("", "QTBUG-24282", Continue);
-    QCOMPARE(QPointF(mouseTracker->mouseX(), mouseTracker->mouseY()), QPointF(10,32));
+    QCOMPARE(QPointF(mouseTracker->mouseX(), mouseTracker->mouseY()), QPointF(11,33));
 
     delete canvas;
 }