From 79d1bae80321e67f0930499a2e42a2f1982599b5 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Mon, 13 Dec 2021 17:50:31 +0100 Subject: [PATCH] Allow configuring the shown settings entries by branding --- nymea-app/ui/Configuration.qml | 6 ++++++ nymea-app/ui/ConfigurationBase.qml | 8 ++++++++ nymea-app/ui/SettingsPage.qml | 14 ++++++++++---- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/nymea-app/ui/Configuration.qml b/nymea-app/ui/Configuration.qml index 40b1e777..83109bad 100644 --- a/nymea-app/ui/Configuration.qml +++ b/nymea-app/ui/Configuration.qml @@ -10,4 +10,10 @@ ConfigurationBase { showCommunityLinks: true + networkSettingsEnabled: true + apiSettingsEnabled: true + mqttSettingsEnabled: true + webServerSettingsEnabled: true + zigbeeSettingsEnabled: true + modbusSettingsEnabled: true } diff --git a/nymea-app/ui/ConfigurationBase.qml b/nymea-app/ui/ConfigurationBase.qml index c8821ea5..ad0f7eb7 100644 --- a/nymea-app/ui/ConfigurationBase.qml +++ b/nymea-app/ui/ConfigurationBase.qml @@ -8,4 +8,12 @@ Item { property string connectionWizard: "" property bool showCommunityLinks: false + + // Enable/disable entries in the system settings + property bool networkSettingsEnabled: false + property bool apiSettingsEnabled: false + property bool mqttSettingsEnabled: false + property bool webServerSettingsEnabled: false + property bool zigbeeSettingsEnabled: false + property bool modbusSettingsEnabled: false } diff --git a/nymea-app/ui/SettingsPage.qml b/nymea-app/ui/SettingsPage.qml index d03cd7b1..130feeca 100644 --- a/nymea-app/ui/SettingsPage.qml +++ b/nymea-app/ui/SettingsPage.qml @@ -92,6 +92,8 @@ Page { Layout.fillWidth: true Material.elevation: layout.isGrid ? 1 : 0 + visible: Configuration.networkSettingsEnabled + padding: 0 NymeaSwipeDelegate { width: parent.width @@ -124,6 +126,8 @@ Page { Layout.fillWidth: true Material.elevation: layout.isGrid ? 1 : 0 + visible: Configuration.apiSettingsEnabled + padding: 0 NymeaSwipeDelegate { width: parent.width @@ -139,7 +143,7 @@ Page { Pane { Layout.fillWidth: true Material.elevation: layout.isGrid ? 1 : 0 - visible: engine.jsonRpcClient.ensureServerVersion("1.11") + visible: engine.jsonRpcClient.ensureServerVersion("1.11") && Configuration.mqttSettingsEnabled padding: 0 NymeaSwipeDelegate { @@ -157,6 +161,8 @@ Page { Layout.fillWidth: true Material.elevation: layout.isGrid ? 1 : 0 + visible: Configuration.webServerSettingsEnabled + padding: 0 NymeaSwipeDelegate { width: parent.width @@ -167,13 +173,13 @@ Page { wrapTexts: false onClicked: pageStack.push(Qt.resolvedUrl("system/WebServerSettingsPage.qml")) } - } Pane { Layout.fillWidth: true Material.elevation: layout.isGrid ? 1 : 0 - visible: engine.jsonRpcClient.ensureServerVersion("5.3") + visible: engine.jsonRpcClient.ensureServerVersion("5.3") && Configuration.zigbeeSettingsEnabled + padding: 0 NymeaSwipeDelegate { @@ -190,7 +196,7 @@ Page { Pane { Layout.fillWidth: true Material.elevation: layout.isGrid ? 1 : 0 - visible: engine.jsonRpcClient.ensureServerVersion("5.6") + visible: engine.jsonRpcClient.ensureServerVersion("5.6") && Configuration.modbusSettingsEnabled padding: 0 NymeaSwipeDelegate {