aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmltest/quicktestevent.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-07-03 08:41:03 +0200
committerLiang Qi <liang.qi@qt.io>2017-11-03 13:30:56 +0000
commit047bdf90db4d00d0462b9faf2044070be4a0e682 (patch)
tree159aaf286c3e94d2a32e8ab2bca55b391c565bc1 /src/qmltest/quicktestevent.cpp
parent0821180dc833376a738742e33f728983b9ca6f84 (diff)
testlib: add key sequence function
[ChangeLog][QtQuick][QtTest] Added keySequence() function in TestCase. Task-number: QTBUG-53381 Change-Id: Iea25410d40fc0745e16a10c1af35ec81c4c83668 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/qmltest/quicktestevent.cpp')
-rw-r--r--src/qmltest/quicktestevent.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/qmltest/quicktestevent.cpp b/src/qmltest/quicktestevent.cpp
index 663d3c64e1..bf255e9cda 100644
--- a/src/qmltest/quicktestevent.cpp
+++ b/src/qmltest/quicktestevent.cpp
@@ -121,6 +121,23 @@ bool QuickTestEvent::keyClickChar(const QString &character, int modifiers, int d
return true;
}
+// valueToKeySequence() is copied from qquickshortcut.cpp
+static QKeySequence valueToKeySequence(const QVariant &value)
+{
+ if (value.type() == QVariant::Int)
+ return QKeySequence(static_cast<QKeySequence::StandardKey>(value.toInt()));
+ return QKeySequence::fromString(value.toString());
+}
+
+bool QuickTestEvent::keySequence(const QVariant &keySequence)
+{
+ QWindow *window = activeWindow();
+ if (!window)
+ return false;
+ QTest::keySequence(window, valueToKeySequence(keySequence));
+ return true;
+}
+
namespace QtQuickTest
{
enum MouseAction { MousePress, MouseRelease, MouseClick, MouseDoubleClick, MouseMove, MouseDoubleClickSequence };