aboutsummaryrefslogtreecommitdiffstats
path: root/tests/manual/nativestyle/main.cpp
diff options
context:
space:
mode:
authorRichard Moe Gustavsen <richard.gustavsen@qt.io>2020-08-25 16:56:01 +0200
committerRichard Moe Gustavsen <richard.gustavsen@qt.io>2020-08-26 09:07:54 +0000
commita4ce44f42602171c216cf59c53c5c537e699ee99 (patch)
tree99082d19806313af10d688407cdc12d69e328838 /tests/manual/nativestyle/main.cpp
parent53e4c3443effaaf80416e5f71b6c1597dc84a26e (diff)
Native style: move DesktopGallery to manual tests, and rename to nativestyle
This should not be shipped as an example in it's current state. But the app is needed for now as a manual test while we develop the styles. Change-Id: I719ec629789bc4c8b51d14c97afd7b91b822e89b Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'tests/manual/nativestyle/main.cpp')
-rw-r--r--tests/manual/nativestyle/main.cpp72
1 files changed, 72 insertions, 0 deletions
diff --git a/tests/manual/nativestyle/main.cpp b/tests/manual/nativestyle/main.cpp
new file mode 100644
index 00000000..aee43242
--- /dev/null
+++ b/tests/manual/nativestyle/main.cpp
@@ -0,0 +1,72 @@
+/****************************************************************************
+**
+** Copyright (C) 2020 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the Qt Quick Controls 2 module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL3$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPLv3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or later as published by the Free
+** Software Foundation and appearing in the file LICENSE.GPL included in
+** the packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 2.0 requirements will be
+** met: http://www.gnu.org/licenses/gpl-2.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QGuiApplication>
+#include <QQmlApplicationEngine>
+#include <QtQuickControls2/qquickstyle.h>
+
+int main(int argc, char *argv[])
+{
+ QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
+ QGuiApplication app(argc, argv);
+
+ // Todo: rename the "default" style to e.g "simple"
+ // and use "default" as a phony style name instad
+ // to mean "get me the default style on the current
+ // platform".
+ const QString style = qEnvironmentVariable("DESKTOPGALLERY_STYLE");
+ if (!style.isEmpty())
+ QQuickStyle::setStyle(style);
+ else
+#if defined(Q_OS_MACOS)
+ QQuickStyle::setStyle("macOS");
+#elif defined(Q_OS_WINDOWS)
+ QQuickStyle::setStyle("Windows");
+#else
+ QQuickStyle::setStyle("FusionDesktop");
+#endif
+
+ QQmlApplicationEngine engine;
+ const QUrl url(QStringLiteral("qrc:/main.qml"));
+ QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
+ &app, [url](QObject *obj, const QUrl &objUrl) {
+ if (!obj && url == objUrl)
+ QCoreApplication::exit(-1);
+ }, Qt::QueuedConnection);
+ engine.load(url);
+
+ return app.exec();
+}