canvas->requestActivateWindow();
QVERIFY(canvas->rootObject() != 0);
+ // The sequence for a double click is:
+ // press, release, (click), press, double click, release
QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
QGuiApplication::sendEvent(canvas, &pressEvent);
QCOMPARE(canvas->rootObject()->property("released").toInt(), 1);
+ QGuiApplication::sendEvent(canvas, &pressEvent);
pressEvent = QMouseEvent(QEvent::MouseButtonDblClick, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
QGuiApplication::sendEvent(canvas, &pressEvent);
-
QGuiApplication::sendEvent(canvas, &releaseEvent);
QCOMPARE(canvas->rootObject()->property("clicked").toInt(), 1);
QCOMPARE(canvas->rootObject()->property("released").toInt(), 1);
QCOMPARE(canvas->rootObject()->property("clicked").toInt(), 1);
- pressEvent = QMouseEvent(QEvent::MouseButtonDblClick, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
QGuiApplication::sendEvent(canvas, &pressEvent);
-
+ pressEvent = QMouseEvent(QEvent::MouseButtonDblClick, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
QGuiApplication::sendEvent(canvas, &pressEvent);
QGuiApplication::sendEvent(canvas, &releaseEvent);
QSignalSpy enteredSpy(mouseTracker, SIGNAL(entered()));
- QTest::mouseMove(canvas,QPoint(10,32));
+ // Note: We need to use a position that is different from the position in the last event
+ // generated in the previous test case. Otherwise it is not interpreted as a move.
+ QTest::mouseMove(canvas,QPoint(11,33));
QCOMPARE(mouseTracker->hovered(), false);
QCOMPARE(enteredSpy.count(), 0);
mouseTracker->setVisible(true);
+ QTest::mouseMove(canvas,QPoint(10,31));
+
QCOMPARE(mouseTracker->hovered(), true);
QCOMPARE(enteredSpy.count(), 1);