diff options
author | Shawn Rutledge <shawn.rutledge@qt.io> | 2017-02-08 15:08:53 +0100 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2017-02-14 07:01:56 +0000 |
commit | 4e7041c65216ada4f5fb604a9df840152ba60317 (patch) | |
tree | 30d117f7df2fbabd48781a6abe06a3503a7c68ab | |
parent | 34d17ce0243ffad278ac7cf57804bf150524940a (diff) |
pointer handlers manual test: can give arg with qml to launch
This makes it easier to repeatedly launch the same test: specify
the qml file on the command line instead of having to click the
list item each time. e.g. ./pointer tapHandler.qml
Change-Id: I30b449b161107b1746418fc45518d202ba7d8381
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
-rw-r--r-- | examples/quick/shared/LauncherList.qml | 4 | ||||
-rw-r--r-- | tests/manual/pointer/main.cpp | 15 | ||||
-rw-r--r-- | tests/manual/pointer/main.qml | 1 |
3 files changed, 20 insertions, 0 deletions
diff --git a/examples/quick/shared/LauncherList.qml b/examples/quick/shared/LauncherList.qml index 6878cf01f2..1c83c99a33 100644 --- a/examples/quick/shared/LauncherList.qml +++ b/examples/quick/shared/LauncherList.qml @@ -52,6 +52,10 @@ Rectangle { { ei.visible = false; } + function showExample(url) + { + ei.exampleUrl = url; + } ListView { clip: true diff --git a/tests/manual/pointer/main.cpp b/tests/manual/pointer/main.cpp index a4e1060cf5..7935b4072c 100644 --- a/tests/manual/pointer/main.cpp +++ b/tests/manual/pointer/main.cpp @@ -39,6 +39,8 @@ ****************************************************************************/ #include <QGuiApplication> #include <QQmlApplicationEngine> +#include <QQuickItem> +#include <QQuickWindow> int main(int argc, char *argv[]) { @@ -46,6 +48,19 @@ int main(int argc, char *argv[]) QQmlApplicationEngine engine; engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); + if (!app.arguments().isEmpty()) { + QQuickWindow * win = static_cast<QQuickWindow *>(engine.rootObjects().first()); + auto lastArg = app.arguments().last(); + if (lastArg.endsWith(QLatin1String(".qml"))) { + auto root = win->findChild<QQuickItem *>("LauncherList"); + int showExampleIdx = -1; + for (int i = root->metaObject()->methodCount(); showExampleIdx < 0 && i >= 0; --i) + if (root->metaObject()->method(i).name() == QByteArray("showExample")) + showExampleIdx = i; + QMetaMethod showExampleFn = root->metaObject()->method(showExampleIdx); + showExampleFn.invoke(root, Q_ARG(QVariant, QVariant(QLatin1String("../../") + lastArg))); + } + } return app.exec(); } diff --git a/tests/manual/pointer/main.qml b/tests/manual/pointer/main.qml index a71490d23b..e60edd06ce 100644 --- a/tests/manual/pointer/main.qml +++ b/tests/manual/pointer/main.qml @@ -48,6 +48,7 @@ Window { visible: true Examples.LauncherList { id: ll + objectName: "LauncherList" anchors.fill: parent Component.onCompleted: { addExample("single point handler", "QQuickPointerSingleHandler: test properties copied from events", Qt.resolvedUrl("singlePointHandlerProperties.qml")) |