Merge PR #184: Add a kiosk mode command line option
This commit is contained in:
commit
eea7dc3f01
@ -24,6 +24,8 @@
|
|||||||
#include <QQmlApplicationEngine>
|
#include <QQmlApplicationEngine>
|
||||||
#include <QtQuickControls2>
|
#include <QtQuickControls2>
|
||||||
#include <QSysInfo>
|
#include <QSysInfo>
|
||||||
|
#include <QCommandLineParser>
|
||||||
|
#include <QCommandLineOption>
|
||||||
|
|
||||||
#ifdef Q_OS_ANDROID
|
#ifdef Q_OS_ANDROID
|
||||||
#include <QtAndroidExtras/QtAndroid>
|
#include <QtAndroidExtras/QtAndroid>
|
||||||
@ -69,6 +71,12 @@ int main(int argc, char *argv[])
|
|||||||
application.setApplicationName("nymea-app");
|
application.setApplicationName("nymea-app");
|
||||||
application.setOrganizationName("nymea");
|
application.setOrganizationName("nymea");
|
||||||
|
|
||||||
|
QCommandLineParser parser;
|
||||||
|
parser.addHelpOption();
|
||||||
|
QCommandLineOption kioskOption = QCommandLineOption({"k", "kiosk"}, "Start the application in kiosk mode.");
|
||||||
|
parser.addOption(kioskOption);
|
||||||
|
parser.process(application);
|
||||||
|
|
||||||
// Initialize app log controller as early as possible, but after setting app name etc
|
// Initialize app log controller as early as possible, but after setting app name etc
|
||||||
AppLogController::instance();
|
AppLogController::instance();
|
||||||
|
|
||||||
@ -116,6 +124,8 @@ int main(int argc, char *argv[])
|
|||||||
StyleController styleController;
|
StyleController styleController;
|
||||||
engine->rootContext()->setContextProperty("styleController", &styleController);
|
engine->rootContext()->setContextProperty("styleController", &styleController);
|
||||||
|
|
||||||
|
engine->rootContext()->setContextProperty("kioskMode", parser.isSet(kioskOption));
|
||||||
|
|
||||||
engine->rootContext()->setContextProperty("systemProductType", QSysInfo::productType());
|
engine->rootContext()->setContextProperty("systemProductType", QSysInfo::productType());
|
||||||
|
|
||||||
engine->rootContext()->setContextProperty("useVirtualKeyboard", qgetenv("QT_IM_MODULE") == "qtvirtualkeyboard");
|
engine->rootContext()->setContextProperty("useVirtualKeyboard", qgetenv("QT_IM_MODULE") == "qtvirtualkeyboard");
|
||||||
|
|||||||
@ -13,7 +13,7 @@ ApplicationWindow {
|
|||||||
height: 580
|
height: 580
|
||||||
minimumWidth: 360
|
minimumWidth: 360
|
||||||
minimumHeight: 480
|
minimumHeight: 480
|
||||||
visibility: ApplicationWindow.AutomaticVisibility
|
visibility: kioskMode ? ApplicationWindow.FullScreen : settings.viewMode
|
||||||
|
|
||||||
// Those variables must be present in the Style
|
// Those variables must be present in the Style
|
||||||
title: appName
|
title: appName
|
||||||
@ -33,7 +33,7 @@ ApplicationWindow {
|
|||||||
readonly property bool landscape: app.width > app.height
|
readonly property bool landscape: app.width > app.height
|
||||||
|
|
||||||
readonly property var settings: Settings {
|
readonly property var settings: Settings {
|
||||||
property alias viewMode: app.visibility
|
property int viewMode: ApplicationWindow.AutomaticVisibility
|
||||||
property alias windowWidth: app.width
|
property alias windowWidth: app.width
|
||||||
property alias windowHeight: app.height
|
property alias windowHeight: app.height
|
||||||
property bool returnToHome: false
|
property bool returnToHome: false
|
||||||
|
|||||||
@ -19,6 +19,7 @@ Page {
|
|||||||
|
|
||||||
RowLayout {
|
RowLayout {
|
||||||
Layout.fillWidth: true; Layout.leftMargin: app.margins; Layout.rightMargin: app.margins; Layout.topMargin: app.margins
|
Layout.fillWidth: true; Layout.leftMargin: app.margins; Layout.rightMargin: app.margins; Layout.topMargin: app.margins
|
||||||
|
visible: !kioskMode
|
||||||
Label {
|
Label {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("View mode")
|
text: qsTr("View mode")
|
||||||
|
|||||||
Reference in New Issue
Block a user