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