diff options
author | Matthew Cattell <matthew.cattell@nokia.com> | 2011-09-08 15:37:59 +0200 |
---|---|---|
committer | Samuel Rødal <samuel.rodal@nokia.com> | 2011-09-08 15:47:38 +0200 |
commit | 1762bf3394219db3a7a9cc99306f4111e6cb8492 (patch) | |
tree | cac436788393f818d39ce1488dab3626fb2b1686 /src | |
parent | 78bb937e154f90afc24d4266705d9331a181fdee (diff) |
fixed mouseMove
Change-Id: I95dd22ed3216f5ad169393f535e27b1b397c8433
Reviewed-on: http://codereview.qt-project.org/4462
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/testlib/qtestmouse.h | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/testlib/qtestmouse.h b/src/testlib/qtestmouse.h index f6b2dd2bbf..16bc0baf4f 100644 --- a/src/testlib/qtestmouse.h +++ b/src/testlib/qtestmouse.h @@ -125,12 +125,15 @@ namespace QTest } } + static void mouseEvent(MouseAction action, QWindow *window, Qt::MouseButton button, Qt::KeyboardModifiers stateKey, QPoint pos, int delay=-1) { QTEST_ASSERT(window); extern int Q_TESTLIB_EXPORT defaultMouseDelay(); + static Qt::MouseButton lastButton = Qt::NoButton; + if (delay == -1 || delay < defaultMouseDelay()) delay = defaultMouseDelay(); if (delay > 0) @@ -153,22 +156,25 @@ namespace QTest switch (action) { case MousePress: - QWindowSystemInterface::handleMouseEvent(window,pos,window->mapToGlobal(pos),Qt::LeftButton); + QWindowSystemInterface::handleMouseEvent(window,pos,window->mapToGlobal(pos),button); + lastButton = button; break; case MouseRelease: QWindowSystemInterface::handleMouseEvent(window,pos,window->mapToGlobal(pos),Qt::NoButton); + lastButton = Qt::NoButton; break; case MouseDClick: - QWindowSystemInterface::handleMouseEvent(window,pos,window->mapToGlobal(pos),Qt::LeftButton); + QWindowSystemInterface::handleMouseEvent(window,pos,window->mapToGlobal(pos),button); qWait(10); QWindowSystemInterface::handleMouseEvent(window,pos,window->mapToGlobal(pos),Qt::NoButton); qWait(20); - QWindowSystemInterface::handleMouseEvent(window,pos,window->mapToGlobal(pos),Qt::LeftButton); + QWindowSystemInterface::handleMouseEvent(window,pos,window->mapToGlobal(pos),button); qWait(10); QWindowSystemInterface::handleMouseEvent(window,pos,window->mapToGlobal(pos),Qt::NoButton); break; case MouseMove: - QCursor::setPos(window->mapToGlobal(pos)); + QWindowSystemInterface::handleMouseEvent(window,pos,window->mapToGlobal(pos),lastButton); + //QCursor::setPos(window->mapToGlobal(pos)); #ifdef QT_MAC_USE_COCOA QTest::qWait(20); #else @@ -208,7 +214,7 @@ namespace QTest inline void mouseDClick(QWindow *window, Qt::MouseButton button, Qt::KeyboardModifiers stateKey = 0, QPoint pos = QPoint(), int delay=-1) { mouseEvent(MouseDClick, window, button, stateKey, pos, delay); } - inline void mouseMove(QWindow *window, QPoint pos = QPoint(), int delay=-1) + inline void mouseMove(QWindow *window, QPoint pos = QPoint(), int delay= -1) { mouseEvent(MouseMove, window, Qt::NoButton, 0, pos, delay); } } |