diff --git a/nymea-app/main.cpp b/nymea-app/main.cpp index 8c33bf1f..6c356838 100644 --- a/nymea-app/main.cpp +++ b/nymea-app/main.cpp @@ -75,6 +75,8 @@ int main(int argc, char *argv[]) parser.addHelpOption(); QCommandLineOption kioskOption = QCommandLineOption({"k", "kiosk"}, "Start the application in kiosk mode."); parser.addOption(kioskOption); + QCommandLineOption connectOption = QCommandLineOption({"c", "connect"}, "Connect to nymea:core without discovery.", "host"); + parser.addOption(connectOption); parser.process(application); // Initialize app log controller as early as possible, but after setting app name etc @@ -124,6 +126,7 @@ int main(int argc, char *argv[]) engine->rootContext()->setContextProperty("styleController", &styleController); engine->rootContext()->setContextProperty("kioskMode", parser.isSet(kioskOption)); + engine->rootContext()->setContextProperty("autoConnectHost", parser.value(connectOption)); engine->rootContext()->setContextProperty("systemProductType", QSysInfo::productType()); diff --git a/nymea-app/ui/RootItem.qml b/nymea-app/ui/RootItem.qml index 403b97fb..a927d7bb 100644 --- a/nymea-app/ui/RootItem.qml +++ b/nymea-app/ui/RootItem.qml @@ -105,8 +105,10 @@ Item { Component.onCompleted: { setupPushNotifications(); - - if (tabSettings.lastConnectedHost.length > 0) { + if (autoConnectHost.length > 0) { + var host = discovery.nymeaHosts.createLanHost("Manual connection", autoConnectHost); + engine.connection.connect(host) + } else if (tabSettings.lastConnectedHost.length > 0) { print("Last connected host was", tabSettings.lastConnectedHost) var cachedHost = discovery.nymeaHosts.find(tabSettings.lastConnectedHost); if (cachedHost) { diff --git a/nymea-app/ui/connection/ConnectPage.qml b/nymea-app/ui/connection/ConnectPage.qml index ee5fdb01..eb025bc3 100644 --- a/nymea-app/ui/connection/ConnectPage.qml +++ b/nymea-app/ui/connection/ConnectPage.qml @@ -12,7 +12,6 @@ Page { Component.onCompleted: { print("Ready to connect") - pageStack.push(discoveryPage, StackView.Immediate) }