diff --git a/nymea-app/resources.qrc b/nymea-app/resources.qrc index 7db7c353..4a4d41d0 100644 --- a/nymea-app/resources.qrc +++ b/nymea-app/resources.qrc @@ -78,6 +78,11 @@ ui/devicepages/LightDevicePage.qml ui/devicepages/FingerprintReaderDevicePage.qml ui/devicelistpages/GenericDeviceListPage.qml + ui/devicelistpages/ClosablesDeviceListPage.qml + ui/devicelistpages/GarageDeviceListPage.qml + ui/devicelistpages/AwningDeviceListPage.qml + ui/devicelistpages/ShutterDeviceListPage.qml + ui/devicelistpages/BlindDeviceListPage.qml ui/devicelistpages/LightsDeviceListPage.qml ui/devicelistpages/SensorsDeviceListPage.qml ui/devicelistpages/WeatherDeviceListPage.qml @@ -138,6 +143,5 @@ ui/system/MqttPolicyPage.qml ui/devicepages/DeviceLogPage.qml ui/components/Led.qml - ui/devicelistpages/ClosablesDeviceListPage.qml diff --git a/nymea-app/ui/Nymea.qml b/nymea-app/ui/Nymea.qml index 939f8344..a3db35f3 100644 --- a/nymea-app/ui/Nymea.qml +++ b/nymea-app/ui/Nymea.qml @@ -175,6 +175,7 @@ ApplicationWindow { return Qt.resolvedUrl("images/DeviceIconBlind.svg") case "garagegate": return Qt.resolvedUrl("images/shutter/shutter-100.svg") + case "awning": case "extendedawning": return Qt.resolvedUrl("images/awning/awning-100.svg") case "battery": diff --git a/nymea-app/ui/devicelistpages/AwningDeviceListPage.qml b/nymea-app/ui/devicelistpages/AwningDeviceListPage.qml new file mode 100644 index 00000000..f50d3a03 --- /dev/null +++ b/nymea-app/ui/devicelistpages/AwningDeviceListPage.qml @@ -0,0 +1,7 @@ +import QtQuick 2.9 + +ClosablesDeviceListPage { + title: qsTr("Awnings") + iconBasename: "../images/awning/awning" + invertControls: true +} diff --git a/nymea-app/ui/devicelistpages/BlindDeviceListPage.qml b/nymea-app/ui/devicelistpages/BlindDeviceListPage.qml new file mode 100644 index 00000000..d00487ea --- /dev/null +++ b/nymea-app/ui/devicelistpages/BlindDeviceListPage.qml @@ -0,0 +1,6 @@ +import QtQuick 2.9 + +ClosablesDeviceListPage { + title: qsTr("Blinds") + iconBasename: "../images/shutter/shutter" +} diff --git a/nymea-app/ui/devicelistpages/ClosablesDeviceListPage.qml b/nymea-app/ui/devicelistpages/ClosablesDeviceListPage.qml index 2eb852d5..12cb9291 100644 --- a/nymea-app/ui/devicelistpages/ClosablesDeviceListPage.qml +++ b/nymea-app/ui/devicelistpages/ClosablesDeviceListPage.qml @@ -9,6 +9,10 @@ import "../components" DeviceListPageBase { id: root + property string iconBasename + + property bool invertControls: false + header: GuhHeader { id: header onBackPressed: pageStack.pop() @@ -82,8 +86,8 @@ DeviceListPageBase { ? app.accentColor : keyColor name: itemDelegate.percentageStateType - ? "../images/shutter/shutter-" + app.pad(Math.round(itemDelegate.percentageState.value / 10) * 10, 3) + ".svg" - : "../images/shutter/shutter-050.svg" + ? root.iconBasename + "-" + app.pad(Math.round(itemDelegate.percentageState.value / 10) * 10, 3) + ".svg" + : root.iconBasename + "-050.svg" } } @@ -101,6 +105,7 @@ DeviceListPageBase { id: shutterControls height: parent.height device: itemDelegate.device + invert: root.invertControls } } } diff --git a/nymea-app/ui/devicelistpages/GarageDeviceListPage.qml b/nymea-app/ui/devicelistpages/GarageDeviceListPage.qml new file mode 100644 index 00000000..efc3eefd --- /dev/null +++ b/nymea-app/ui/devicelistpages/GarageDeviceListPage.qml @@ -0,0 +1,6 @@ +import QtQuick 2.9 + +ClosablesDeviceListPage { + title: qsTr("Garage gates") + iconBasename: "../images/shutter/shutter" +} diff --git a/nymea-app/ui/devicelistpages/ShutterDeviceListPage.qml b/nymea-app/ui/devicelistpages/ShutterDeviceListPage.qml new file mode 100644 index 00000000..b82517bd --- /dev/null +++ b/nymea-app/ui/devicelistpages/ShutterDeviceListPage.qml @@ -0,0 +1,6 @@ +import QtQuick 2.9 + +ClosablesDeviceListPage { + title: qsTr("Shutters") + iconBasename: "../images/shutter/shutter" +} diff --git a/nymea-app/ui/mainviews/DevicesPageDelegate.qml b/nymea-app/ui/mainviews/DevicesPageDelegate.qml index 4c080f07..a5f94f49 100644 --- a/nymea-app/ui/mainviews/DevicesPageDelegate.qml +++ b/nymea-app/ui/mainviews/DevicesPageDelegate.qml @@ -28,14 +28,20 @@ MainPageTile { case "smartmeter": page ="SmartMeterDeviceListPage.qml"; break; - case "awning": - case "blind": - case "shutter": case "garagegate": + page = "GarageDeviceListPage.qml"; + break; + case "awning": case "extendedAwning": + page = "AwningDeviceListPage.qml"; + break; + case "blind": case "extendedBlind": + page = "ShutterDeviceListPage.qml"; + break; + case "shutter": case "extendedShutter": - page = "ClosablesDeviceListPage.qml"; + page = "ShutterDeviceListPage.qml"; break; default: page = "GenericDeviceListPage.qml"