diff options
author | Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> | 2016-10-29 19:43:49 +0200 |
---|---|---|
committer | Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org> | 2016-11-14 11:59:10 +0000 |
commit | 93b691636dc78bc67805d0ae45b0a3ada79990b3 (patch) | |
tree | 188a6fbbd2a02fcc4ea9f694b79e52baa62c9fa8 /tests | |
parent | 928c10b702b9fa73e3ccd185fa9ef1c4580e7409 (diff) | |
download | qtwayland-93b691636dc78bc67805d0ae45b0a3ada79990b3.tar.gz |
Add a QML client manual test
This little program can be useful to test window states in
clients and compositors.
Change-Id: I8eadc0d83906805a909032fb9341037491f6d379
Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/manual/qmlclient/main.cpp | 51 | ||||
-rw-r--r-- | tests/manual/qmlclient/main.qml | 105 | ||||
-rw-r--r-- | tests/manual/qmlclient/qml.qrc | 5 | ||||
-rw-r--r-- | tests/manual/qmlclient/qmlclient.pro | 12 |
4 files changed, 173 insertions, 0 deletions
diff --git a/tests/manual/qmlclient/main.cpp b/tests/manual/qmlclient/main.cpp new file mode 100644 index 00000000..cb2044c2 --- /dev/null +++ b/tests/manual/qmlclient/main.cpp @@ -0,0 +1,51 @@ +/**************************************************************************** +** +** Copyright (C) 2016 Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> +** Contact: http://www.qt-project.org/legal +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QtGui/QGuiApplication> +#include <QtQml/QQmlApplicationEngine> + +int main(int argc, char* argv[]) +{ + setenv("QT_QPA_PLATFORM", "wayland", 1); + + QGuiApplication app(argc, argv); + QQmlApplicationEngine engine(QUrl("qrc:/main.qml")); + return app.exec(); +} diff --git a/tests/manual/qmlclient/main.qml b/tests/manual/qmlclient/main.qml new file mode 100644 index 00000000..a1fe241c --- /dev/null +++ b/tests/manual/qmlclient/main.qml @@ -0,0 +1,105 @@ +/**************************************************************************** +** +** Copyright (C) 2016 Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> +** Contact: http://www.qt-project.org/legal +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.2 +import QtQuick.Window 2.2 + +Window { + id: window + width: 400 + height: 400 + color: "blue" + visible: true + + Column { + spacing: 8 + + Row { + spacing: 8 + + Repeater { + model: ListModel { + ListElement { label: "Windowed"; value: Window.Windowed } + ListElement { label: "Maximized"; value: Window.Maximized } + ListElement { label: "FullScreen"; value: Window.FullScreen } + } + + Rectangle { + width: 96 + height: 40 + color: "gainsboro" + + MouseArea { + anchors.fill: parent + onClicked: window.visibility = model.value + + Text { + anchors.centerIn: parent + text: model.label + } + } + } + } + } + + Text { + color: "white" + text: { + switch (window.visibility) { + case Window.Windowed: + return "windowed"; + case Window.Maximized: + return "maximized"; + case Window.FullScreen: + return "fullscreen"; + case Window.Minimized: + return "minimized"; + case Window.AutomaticVisibility: + return "automatic"; + case Window.Hidden: + return "hidden"; + default: + break; + } + return "unknown"; + } + } + } +} diff --git a/tests/manual/qmlclient/qml.qrc b/tests/manual/qmlclient/qml.qrc new file mode 100644 index 00000000..6b2d0a78 --- /dev/null +++ b/tests/manual/qmlclient/qml.qrc @@ -0,0 +1,5 @@ +<!DOCTYPE RCC><RCC version="1.0"> +<qresource> + <file>main.qml</file> +</qresource> +</RCC> diff --git a/tests/manual/qmlclient/qmlclient.pro b/tests/manual/qmlclient/qmlclient.pro new file mode 100644 index 00000000..dcf66db5 --- /dev/null +++ b/tests/manual/qmlclient/qmlclient.pro @@ -0,0 +1,12 @@ +TEMPLATE = app + +QT += \ + gui gui-private core-private \ + quick \ + waylandclient \ + +SOURCES += \ + main.cpp + +RESOURCES += \ + qml.qrc |