diff --git a/nymea-app/images.qrc b/nymea-app/images.qrc
index 6db2a609..265e31b1 100644
--- a/nymea-app/images.qrc
+++ b/nymea-app/images.qrc
@@ -61,14 +61,10 @@
ui/images/audio-speakers-muted-symbolic.svg
ui/images/audio-speakers-symbolic.svg
ui/images/back.svg
- ui/images/bluetooth.svg
ui/images/Built_with_Qt_RGB_logo_vertical.svg
ui/images/Built_with_Qt_RGB_logo.svg
ui/images/clock-app-symbolic.svg
ui/images/close.svg
- ui/images/cloud-error.svg
- ui/images/cloud-offline.svg
- ui/images/cloud.svg
ui/images/configure.svg
ui/images/contact-new.svg
ui/images/delete.svg
@@ -101,21 +97,7 @@
ui/images/media-skip-forward.svg
ui/images/media.svg
ui/images/navigation-menu.svg
- ui/images/network-secure.svg
- ui/images/network-vpn.svg
- ui/images/network-wifi.svg
- ui/images/network-wired.svg
ui/images/next.svg
- ui/images/nm-signal-00-secure.svg
- ui/images/nm-signal-00.svg
- ui/images/nm-signal-25-secure.svg
- ui/images/nm-signal-25.svg
- ui/images/nm-signal-50-secure.svg
- ui/images/nm-signal-50.svg
- ui/images/nm-signal-75-secure.svg
- ui/images/nm-signal-75.svg
- ui/images/nm-signal-100-secure.svg
- ui/images/nm-signal-100.svg
ui/images/non-starred.svg
ui/images/notification.svg
ui/images/nymea-box-setup.svg
@@ -171,8 +153,6 @@
ui/images/edit-copy.svg
ui/images/stock_website.svg
ui/images/sdk.svg
- ui/images/network-wifi-offline.svg
- ui/images/network-wired-offline.svg
ui/images/preferences-look-and-feel.svg
ui/images/sensors/closable.svg
ui/images/lock-closed.svg
@@ -235,5 +215,26 @@
ui/images/navigationpad.svg
ui/images/qrcode.svg
ui/images/energy.svg
+ ui/images/connections/cloud.svg
+ ui/images/connections/cloud-error.svg
+ ui/images/connections/cloud-offline.svg
+ ui/images/connections/network-secure.svg
+ ui/images/connections/network-vpn.svg
+ ui/images/connections/network-wifi.svg
+ ui/images/connections/network-wifi-offline.svg
+ ui/images/connections/network-wired.svg
+ ui/images/connections/network-wired-offline.svg
+ ui/images/connections/nm-signal-00.svg
+ ui/images/connections/nm-signal-00-secure.svg
+ ui/images/connections/nm-signal-25.svg
+ ui/images/connections/nm-signal-25-secure.svg
+ ui/images/connections/nm-signal-50.svg
+ ui/images/connections/nm-signal-50-secure.svg
+ ui/images/connections/nm-signal-75.svg
+ ui/images/connections/nm-signal-75-secure.svg
+ ui/images/connections/nm-signal-100.svg
+ ui/images/connections/nm-signal-100-secure.svg
+ ui/images/connections/bluetooth.svg
+ ui/images/connections/network-wired-disabled.svg
diff --git a/nymea-app/resources.qrc b/nymea-app/resources.qrc
index 8ff704a5..8a09163c 100644
--- a/nymea-app/resources.qrc
+++ b/nymea-app/resources.qrc
@@ -222,5 +222,6 @@
ui/components/ConnectionStatusIcon.qml
ui/components/BatteryStatusIcon.qml
ui/components/SetupStatusIcon.qml
+ ui/components/UpdateStatusIcon.qml
diff --git a/nymea-app/ui/MainPage.qml b/nymea-app/ui/MainPage.qml
index f77fba52..3b24e039 100644
--- a/nymea-app/ui/MainPage.qml
+++ b/nymea-app/ui/MainPage.qml
@@ -52,13 +52,13 @@ Page {
case Connection.BearerTypeLan:
case Connection.BearerTypeWan:
if (engine.jsonRpcClient.availableBearerTypes & NymeaConnection.BearerTypeEthernet != NymeaConnection.BearerTypeNone) {
- return "../images/network-wired.svg"
+ return "../images/connections/network-wired.svg"
}
- return "../images/network-wifi.svg";
+ return "../images/connections/network-wifi.svg";
case Connection.BearerTypeBluetooth:
- return "../images/network-wifi.svg";
+ return "../images/connections/network-wifi.svg";
case Connection.BearerTypeCloud:
- return "../images/cloud.svg"
+ return "../images/connections/cloud.svg"
case Connection.BearerTypeLoopback:
return "qrc:/styles/%1/logo.svg".arg(styleController.currentStyle)
}
@@ -579,15 +579,15 @@ Page {
case Connection.BearerTypeLan:
case Connection.BearerTypeWan:
if (engine.jsonRpcClient.availableBearerTypes & NymeaConnection.BearerTypeEthernet != NymeaConnection.BearerTypeNone) {
- return "../images/network-wired.svg"
+ return "../images/connections/network-wired.svg"
}
- return "../images/network-wifi.svg";
+ return "../images/connections/network-wifi.svg";
case Connection.BearerTypeBluetooth:
- return "../images/network-wifi.svg";
+ return "../images/connections/bluetooth.svg";
case Connection.BearerTypeCloud:
- return "../images/cloud.svg"
+ return "../images/connections/cloud.svg"
case Connection.BearerTypeLoopback:
- return "../images/network-wired.svg"
+ return "../images/connections/network-wired.svg"
}
return ""
}
diff --git a/nymea-app/ui/Nymea.qml b/nymea-app/ui/Nymea.qml
index bec42a4b..87f17cb9 100644
--- a/nymea-app/ui/Nymea.qml
+++ b/nymea-app/ui/Nymea.qml
@@ -271,7 +271,7 @@ ApplicationWindow {
case "weather":
return Qt.resolvedUrl("images/weather-app-symbolic.svg")
case "gateway":
- return Qt.resolvedUrl("images/network-wired.svg")
+ return Qt.resolvedUrl("images/connections/network-wired.svg")
case "notifications":
return Qt.resolvedUrl("images/messaging-app-symbolic.svg")
case "inputtrigger":
diff --git a/nymea-app/ui/SettingsPage.qml b/nymea-app/ui/SettingsPage.qml
index efacf5f0..726eb19f 100644
--- a/nymea-app/ui/SettingsPage.qml
+++ b/nymea-app/ui/SettingsPage.qml
@@ -94,7 +94,7 @@ Page {
padding: 0
NymeaListItemDelegate {
width: parent.width
- iconName: "../images/network-wifi.svg"
+ iconName: "../images/connections/network-wifi.svg"
text: qsTr("Networking")
subText: qsTr("Configure the system's network connection")
prominentSubText: false
@@ -111,7 +111,7 @@ Page {
padding: 0
NymeaListItemDelegate {
width: parent.width
- iconName: "../images/cloud.svg"
+ iconName: "../images/connections/cloud.svg"
text: qsTr("Cloud")
subText: qsTr("Connect this %1:core to %1:cloud").arg(app.systemName)
prominentSubText: false
@@ -127,7 +127,7 @@ Page {
padding: 0
NymeaListItemDelegate {
width: parent.width
- iconName: "../images/network-vpn.svg"
+ iconName: "../images/connections/network-vpn.svg"
text: qsTr("API interfaces")
prominentSubText: false
wrapTexts: false
diff --git a/nymea-app/ui/appsettings/AppSettingsPage.qml b/nymea-app/ui/appsettings/AppSettingsPage.qml
index d90a6d0f..9e049395 100644
--- a/nymea-app/ui/appsettings/AppSettingsPage.qml
+++ b/nymea-app/ui/appsettings/AppSettingsPage.qml
@@ -78,7 +78,7 @@ Page {
width: parent.width
text: qsTr("Cloud login")
subText: qsTr("Log into %1:cloud and manage connected %1:core systems").arg(app.systemName)
- iconName: "../images/cloud.svg"
+ iconName: "../images/connections/cloud.svg"
prominentSubText: false
wrapTexts: false
onClicked: pageStack.push(Qt.resolvedUrl("CloudLoginPage.qml"))
diff --git a/nymea-app/ui/appsettings/CloudLoginPage.qml b/nymea-app/ui/appsettings/CloudLoginPage.qml
index a1eabb67..595e72a2 100644
--- a/nymea-app/ui/appsettings/CloudLoginPage.qml
+++ b/nymea-app/ui/appsettings/CloudLoginPage.qml
@@ -120,8 +120,8 @@ SettingsPageBase {
progressive: false
prominentSubText: false
canDelete: true
- iconName: "../images/cloud.svg"
- secondaryIconName: !model.online ? "../images/cloud-error.svg" : ""
+ iconName: "../images/connections/cloud.svg"
+ secondaryIconName: !model.online ? "../images/connections/cloud-error.svg" : ""
onClicked: {
print("clicked, connected:", engine.jsonRpcClient.connected, model.id)
diff --git a/nymea-app/ui/components/ConnectionStatusIcon.qml b/nymea-app/ui/components/ConnectionStatusIcon.qml
index 925f734b..d3556547 100644
--- a/nymea-app/ui/components/ConnectionStatusIcon.qml
+++ b/nymea-app/ui/components/ConnectionStatusIcon.qml
@@ -15,17 +15,17 @@ ColorIcon {
name: {
if (!isWireless) {
- return connectedState && connectedState.value === true ? "../images/network-wired.svg" : "../images/network-wired-offline.svg"
+ return connectedState && connectedState.value === true ? "../images/connections/network-wired.svg" : "../images/connections/network-wired-offline.svg"
}
if (connectedState && connectedState.value === false) {
- return "../images/network-wifi-offline.svg"
+ return "../images/connections/nm-signal-00.svg"
}
- if (signalStrengthState && signalStrengthState.value === -1) {
- return "../images/network-wifi.svg"
+ if (!signalStrengthState) {
+ return "../images/connections/nm-signal-100.svg"
}
- return "../images/nm-signal-" + NymeaUtils.pad(Math.round(signalStrengthState.value * 4 / 100) * 25, 2) + ".svg"
+ return "../images/connections/nm-signal-" + NymeaUtils.pad(Math.round(signalStrengthState.value * 4 / 100) * 25, 2) + ".svg"
}
color: connectedState && connectedState.value === false
diff --git a/nymea-app/ui/components/MainPageTile.qml b/nymea-app/ui/components/MainPageTile.qml
index 17b9ebf7..733d65e4 100644
--- a/nymea-app/ui/components/MainPageTile.qml
+++ b/nymea-app/ui/components/MainPageTile.qml
@@ -151,7 +151,7 @@ Item {
ColorIcon {
height: app.iconSize / 2
width: height
- name: root.isWireless ? "../images/network-wifi-offline.svg" : "../images/network-wired-offline.svg"
+ name: root.isWireless ? "../images/connections/nm-signal-00.svg" : "../images/connections/network-wired-offline.svg"
color: root.disconnected ? "red" : "orange"
visible: root.setupStatus == Thing.ThingSetupStatusComplete && (root.disconnected || (root.isWireless && root.signalStrength < 20))
}
diff --git a/nymea-app/ui/components/SetupStatusIcon.qml b/nymea-app/ui/components/SetupStatusIcon.qml
index 9d780de3..62d800c3 100644
--- a/nymea-app/ui/components/SetupStatusIcon.qml
+++ b/nymea-app/ui/components/SetupStatusIcon.qml
@@ -13,4 +13,11 @@ ColorIcon {
name: setupFailed ? "../images/dialog-warning-symbolic.svg"
: setupInProgress ? "../images/settings.svg" : "../images/tick.svg"
color: setupFailed ? "red" : keyColor
+
+ RotationAnimation on rotation {
+ from: 0; to: 360
+ duration: 2000
+ running: root.setupInProgress
+ loops: Animation.Infinite
+ }
}
diff --git a/nymea-app/ui/components/UpdateStatusIcon.qml b/nymea-app/ui/components/UpdateStatusIcon.qml
new file mode 100644
index 00000000..24d65b89
--- /dev/null
+++ b/nymea-app/ui/components/UpdateStatusIcon.qml
@@ -0,0 +1,21 @@
+import QtQuick 2.9
+import Nymea 1.0
+
+ColorIcon {
+ id: root
+
+ property Thing thing: null
+
+ readonly property State updateStatusState: thing.stateByName("updateStatus")
+ readonly property bool updateAvailable: updateStatusState && updateStatusState.value === "available"
+ readonly property bool updateRunning: updateStatusState && updateStatusState.value === "updating"
+
+ name: "../images/system-update.svg"
+
+ RotationAnimation on rotation {
+ from: 0; to: 360
+ duration: 2000
+ running: root.updateRunning
+ loops: Animation.Infinite
+ }
+}
diff --git a/nymea-app/ui/connection/ConnectPage.qml b/nymea-app/ui/connection/ConnectPage.qml
index 2e8a5ff8..29f8b930 100644
--- a/nymea-app/ui/connection/ConnectPage.qml
+++ b/nymea-app/ui/connection/ConnectPage.qml
@@ -72,8 +72,8 @@ Page {
header: FancyHeader {
title: qsTr("Connect %1").arg(app.systemName)
model: ListModel {
- ListElement { iconSource: "../images/network-vpn.svg"; text: qsTr("Manual connection"); page: "ManualConnectPage.qml" }
- ListElement { iconSource: "../images/bluetooth.svg"; text: qsTr("Wireless setup"); page: "wifisetup/BluetoothDiscoveryPage.qml"; }
+ ListElement { iconSource: "../images/connections/network-vpn.svg"; text: qsTr("Manual connection"); page: "ManualConnectPage.qml" }
+ ListElement { iconSource: "../images/connections/bluetooth.svg"; text: qsTr("Wireless setup"); page: "wifisetup/BluetoothDiscoveryPage.qml"; }
ListElement { iconSource: "../images/private-browsing.svg"; text: qsTr("Demo mode"); page: "" }
ListElement { iconSource: "../images/stock_application.svg"; text: qsTr("App settings"); page: "../appsettings/AppSettingsPage.qml" }
}
@@ -166,13 +166,13 @@ Page {
case Connection.BearerTypeLan:
case Connection.BearerTypeWan:
if (engine.jsonRpcClient.availableBearerTypes & NymeaConnection.BearerTypeEthernet != NymeaConnection.BearerTypeNone) {
- return "../images/network-wired.svg"
+ return "../images/connections/network-wired.svg"
}
- return "../images/network-wifi.svg";
+ return "../images/connections/network-wifi.svg";
case Connection.BearerTypeBluetooth:
- return "../images/bluetooth.svg";
+ return "../images/connections/bluetooth.svg";
case Connection.BearerTypeCloud:
- return "../images/cloud.svg"
+ return "../images/connections/cloud.svg"
case Connection.BearerTypeLoopback:
return "qrc:/styles/%1/logo.svg".arg(styleController.currentStyle)
}
@@ -186,8 +186,8 @@ Page {
progressive: false
property bool isSecure: nymeaHost.connections.get(defaultConnectionIndex).secure
property bool isOnline: nymeaHost.connections.get(defaultConnectionIndex).bearerType !== Connection.BearerTypeWan ? nymeaHost.connections.get(defaultConnectionIndex).online : true
- tertiaryIconName: isSecure ? "../images/network-secure.svg" : ""
- secondaryIconName: !isOnline ? "../images/cloud-error.svg" : ""
+ tertiaryIconName: isSecure ? "../images/connections/network-secure.svg" : ""
+ secondaryIconName: !isOnline ? "../images/connections/cloud-error.svg" : ""
secondaryIconColor: "red"
onClicked: {
@@ -378,21 +378,21 @@ Page {
case Connection.BearerTypeLan:
case Connection.BearerTypeWan:
if (engine.jsonRpcClient.availableBearerTypes & NymeaConnection.BearerTypeEthernet != NymeaConnection.BearerTypeNone) {
- return "../images/network-wired.svg"
+ return "../images/connections/network-wired.svg"
}
- return "../images/network-wifi.svg";
+ return "../images/connections/network-wifi.svg";
case Connection.BearerTypeBluetooth:
- return "../images/bluetooth.svg";
+ return "../images/connections/bluetooth.svg";
case Connection.BearerTypeCloud:
- return "../images/cloud.svg"
+ return "../images/connections/cloud.svg"
case Connection.BearerTypeLoopback:
- return "../images/network-wired.svg"
+ return "../images/connections/network-wired.svg"
}
return ""
}
- tertiaryIconName: model.secure ? "../images/network-secure.svg" : ""
- secondaryIconName: !model.online ? "../images/cloud-error.svg" : ""
+ tertiaryIconName: model.secure ? "../images/connections/network-secure.svg" : ""
+ secondaryIconName: !model.online ? "../images/connections/cloud-error.svg" : ""
secondaryIconColor: "red"
onClicked: {
diff --git a/nymea-app/ui/connection/wifisetup/BluetoothDiscoveryPage.qml b/nymea-app/ui/connection/wifisetup/BluetoothDiscoveryPage.qml
index b5597e52..83f842c2 100644
--- a/nymea-app/ui/connection/wifisetup/BluetoothDiscoveryPage.qml
+++ b/nymea-app/ui/connection/wifisetup/BluetoothDiscoveryPage.qml
@@ -119,7 +119,7 @@ Page {
delegate: NymeaListItemDelegate {
width: parent.width
- iconName: Qt.resolvedUrl("../../images/bluetooth.svg")
+ iconName: Qt.resolvedUrl("../../images/connections/bluetooth.svg")
text: model.name
subText: model.address
diff --git a/nymea-app/ui/connection/wifisetup/ConnectWiFiPage.qml b/nymea-app/ui/connection/wifisetup/ConnectWiFiPage.qml
index 8255df69..1621c1b8 100644
--- a/nymea-app/ui/connection/wifisetup/ConnectWiFiPage.qml
+++ b/nymea-app/ui/connection/wifisetup/ConnectWiFiPage.qml
@@ -83,30 +83,30 @@ Page {
iconName: {
if (model.protected) {
if (model.signalStrength <= 25)
- return Qt.resolvedUrl("../../images/nm-signal-25-secure.svg")
+ return Qt.resolvedUrl("../../images/connections/nm-signal-25-secure.svg")
if (model.signalStrength <= 50)
- return Qt.resolvedUrl("../../images/nm-signal-50-secure.svg")
+ return Qt.resolvedUrl("../../images/connections/nm-signal-50-secure.svg")
if (model.signalStrength <= 75)
- return Qt.resolvedUrl("../../images/nm-signal-75-secure.svg")
+ return Qt.resolvedUrl("../../images/connections/nm-signal-75-secure.svg")
if (model.signalStrength <= 100)
- return Qt.resolvedUrl("../../images/nm-signal-100-secure.svg")
+ return Qt.resolvedUrl("../../images/connections/nm-signal-100-secure.svg")
} else {
if (model.signalStrength <= 25)
- return Qt.resolvedUrl("../../images/nm-signal-25.svg")
+ return Qt.resolvedUrl("../../images/connections/nm-signal-25.svg")
if (model.signalStrength <= 50)
- return Qt.resolvedUrl("../../images/nm-signal-50.svg")
+ return Qt.resolvedUrl("../../images/connections/nm-signal-50.svg")
if (model.signalStrength <= 75)
- return Qt.resolvedUrl("../../images/nm-signal-75.svg")
+ return Qt.resolvedUrl("../../images/connections/nm-signal-75.svg")
if (model.signalStrength <= 100)
- return Qt.resolvedUrl("../../images/nm-signal-100.svg")
+ return Qt.resolvedUrl("../../images/connections/nm-signal-100.svg")
}
}
diff --git a/nymea-app/ui/delegates/ThingDelegate.qml b/nymea-app/ui/delegates/ThingDelegate.qml
index adfa6ae5..e0d7aac3 100644
--- a/nymea-app/ui/delegates/ThingDelegate.qml
+++ b/nymea-app/ui/delegates/ThingDelegate.qml
@@ -40,16 +40,35 @@ NymeaListItemDelegate {
iconName: thing && thing.thingClass ? app.interfacesToIcon(thing.thingClass.interfaces) : ""
text: thing ? thing.name : ""
progressive: true
- secondaryIconName: batteryCritical ? "../images/battery/battery-010.svg" : ""
- tertiaryIconName: thing.setupStatus == Thing.ThingSetupStatusFailed
- ? "../images/dialog-warning-symbolic.svg"
- : thing.setupStatus == Thing.ThingSetupStatusInProgress
- ? "../images/settings.svg"
- : disconnected
- ? isWireless
- ? "../images/network-wifi-offline.svg" : "../images/network-wired-offline.svg"
- : ""
- tertiaryIconColor: thing.setupStatus == Thing.ThingSetupStatusInProgress ? iconKeyColor : "red"
+ secondaryIconName: thing.setupStatus == Thing.ThingSetupStatusComplete && batteryCritical ? "../images/battery/battery-010.svg" : ""
+ tertiaryIconName: {
+ if (thing.setupStatus == Thing.ThingSetupStatusFailed) {
+ return "../images/dialog-warning-symbolic.svg";
+ }
+ if (thing.setupStatus == Thing.ThingSetupStatusInProgress) {
+ return "../images/settings.svg"
+ }
+ if (connectedState && connectedState.value === false) {
+ if (!isWireless) {
+ return "../images/connections/network-wired-offline.svg"
+ }
+ return "../images/connections/nm-signal-00.svg"
+ }
+ return ""
+ }
+
+ tertiaryIconColor: {
+ if (thing.setupStatus == Thing.ThingSetupStatusFailed) {
+ return "red"
+ }
+ if (thing.setupStatus == Thing.ThingSetupStatusInProgress) {
+ return iconKeyColor
+ }
+ if (connectedState && connectedState.value === false) {
+ return "red"
+ }
+ return iconKeyColor
+ }
property Device device: null
property Thing thing: device
@@ -65,6 +84,5 @@ NymeaListItemDelegate {
readonly property bool disconnected: connectedState && connectedState.value === false ? true : false
readonly property bool isWireless: root.thing.thingClass.interfaces.indexOf("wirelessconnectable") >= 0
-
-
+ readonly property State signalStrengthState: root.thing.stateByName("signalStrength")
}
diff --git a/nymea-app/ui/devicepages/DevicePageBase.qml b/nymea-app/ui/devicepages/DevicePageBase.qml
index b4253f75..502cb107 100644
--- a/nymea-app/ui/devicepages/DevicePageBase.qml
+++ b/nymea-app/ui/devicepages/DevicePageBase.qml
@@ -227,7 +227,7 @@ Page {
Rectangle {
id: infoPane
- visible: setupInProgress || setupFailure || batteryState !== null || (connectedState !== null && connectedState.value === false)
+ visible: setupInProgress || setupFailure || batteryState !== null || (connectedState !== null && connectedState.value === false) || isWireless || updateAvailable
height: visible ? contentRow.implicitHeight : 0
anchors { left: parent.left; top: parent.top; right: parent.right }
property bool setupInProgress: root.thing.setupStatus == Thing.ThingSetupStatusInProgress
@@ -235,10 +235,17 @@ Page {
property State batteryState: root.thing.stateByName("batteryLevel")
property State batteryCriticalState: root.thing.stateByName("batteryCritical")
property State connectedState: root.thing.stateByName("connected")
+ property State signalStrengthState: root.thing.stateByName("signalStrength")
+ property State updateStatusState: root.thing.stateByName("updateStatus")
+ property bool updateAvailable: updateStatusState && updateStatusState.value === "available"
+ property bool updateRunning: updateStatusState && updateStatusState.value === "updating"
+ property bool isWireless: root.thingClass.interfaces.indexOf("wirelessconnectable") >= 0
property bool alertState: setupFailure ||
(connectedState !== null && connectedState.value === false) ||
(batteryCriticalState !== null && batteryCriticalState.value === true)
- color: alertState ? "red" : "transparent"
+ property bool highlightState: updateAvailable || updateRunning
+ color: alertState ? "red"
+ : infoPane.highlightState ? app.accentColor : "transparent"
z: 1000
RowLayout {
@@ -256,17 +263,29 @@ Page {
(root.device.setupDisplayMessage.length > 0 ? root.device.setupDisplayMessage : qsTr("Thing setup failed!"))
: (infoPane.connectedState !== null && infoPane.connectedState.value === false) ?
qsTr("Thing is not connected!")
- : qsTr("Thing runs out of battery!")
- visible: infoPane.alertState
+ : infoPane.updateAvailable ?
+ qsTr("Update available!")
+ : infoPane.updateRunning ?
+ qsTr("Updating...")
+ : qsTr("Thing runs out of battery!")
+ visible: infoPane.alertState || infoPane.updateAvailable || infoPane.updateRunning
font.pixelSize: app.smallFont
color: "white"
}
+ UpdateStatusIcon {
+ height: app.iconSize / 2
+ width: height
+ thing: root.thing
+ color: infoPane.alertState || infoPane.highlightState ? "white" : keyColor
+ visible: updateAvailable || updateRunning
+ }
+
BatteryStatusIcon {
height: app.iconSize / 2
width: height * 1.23
thing: root.thing
- color: infoPane.alertState ? "white" : keyColor
+ color: infoPane.alertState || infoPane.highlightState ? "white" : keyColor
visible: thing.setupStatus == Thing.ThingSetupStatusComplete && (hasBatteryLevel || isCritical)
}
@@ -274,7 +293,7 @@ Page {
height: app.iconSize / 2
width: height
thing: root.thing
- color: infoPane.alertState ? "white" : keyColor
+ color: infoPane.alertState || infoPane.highlightState ? "white" : keyColor
visible: thing.setupStatus == Thing.ThingSetupStatusComplete && (hasSignalStrength || !isConnected)
}
@@ -282,7 +301,7 @@ Page {
height: app.iconSize / 2
width: height
thing: root.thing
- color: infoPane.alertState ? "white" : keyColor
+ color: infoPane.alertState || infoPane.highlightState ? "white" : keyColor
visible: setupFailed || setupInProgress
}
}
diff --git a/nymea-app/ui/images/bluetooth.svg b/nymea-app/ui/images/connections/bluetooth.svg
similarity index 100%
rename from nymea-app/ui/images/bluetooth.svg
rename to nymea-app/ui/images/connections/bluetooth.svg
diff --git a/nymea-app/ui/images/cloud-error.svg b/nymea-app/ui/images/connections/cloud-error.svg
similarity index 100%
rename from nymea-app/ui/images/cloud-error.svg
rename to nymea-app/ui/images/connections/cloud-error.svg
diff --git a/nymea-app/ui/images/cloud-offline.svg b/nymea-app/ui/images/connections/cloud-offline.svg
similarity index 100%
rename from nymea-app/ui/images/cloud-offline.svg
rename to nymea-app/ui/images/connections/cloud-offline.svg
diff --git a/nymea-app/ui/images/cloud.svg b/nymea-app/ui/images/connections/cloud.svg
similarity index 100%
rename from nymea-app/ui/images/cloud.svg
rename to nymea-app/ui/images/connections/cloud.svg
diff --git a/nymea-app/ui/images/network-secure.svg b/nymea-app/ui/images/connections/network-secure.svg
similarity index 100%
rename from nymea-app/ui/images/network-secure.svg
rename to nymea-app/ui/images/connections/network-secure.svg
diff --git a/nymea-app/ui/images/network-vpn.svg b/nymea-app/ui/images/connections/network-vpn.svg
similarity index 100%
rename from nymea-app/ui/images/network-vpn.svg
rename to nymea-app/ui/images/connections/network-vpn.svg
diff --git a/nymea-app/ui/images/network-wifi-offline.svg b/nymea-app/ui/images/connections/network-wifi-offline.svg
similarity index 100%
rename from nymea-app/ui/images/network-wifi-offline.svg
rename to nymea-app/ui/images/connections/network-wifi-offline.svg
diff --git a/nymea-app/ui/images/network-wifi.svg b/nymea-app/ui/images/connections/network-wifi.svg
similarity index 100%
rename from nymea-app/ui/images/network-wifi.svg
rename to nymea-app/ui/images/connections/network-wifi.svg
diff --git a/nymea-app/ui/images/network-wired-offline.svg b/nymea-app/ui/images/connections/network-wired-disabled.svg
similarity index 100%
rename from nymea-app/ui/images/network-wired-offline.svg
rename to nymea-app/ui/images/connections/network-wired-disabled.svg
diff --git a/nymea-app/ui/images/connections/network-wired-offline.svg b/nymea-app/ui/images/connections/network-wired-offline.svg
new file mode 100644
index 00000000..ee34f8db
--- /dev/null
+++ b/nymea-app/ui/images/connections/network-wired-offline.svg
@@ -0,0 +1,169 @@
+
+
diff --git a/nymea-app/ui/images/network-wired.svg b/nymea-app/ui/images/connections/network-wired.svg
similarity index 100%
rename from nymea-app/ui/images/network-wired.svg
rename to nymea-app/ui/images/connections/network-wired.svg
diff --git a/nymea-app/ui/images/nm-signal-00-secure.svg b/nymea-app/ui/images/connections/nm-signal-00-secure.svg
similarity index 100%
rename from nymea-app/ui/images/nm-signal-00-secure.svg
rename to nymea-app/ui/images/connections/nm-signal-00-secure.svg
diff --git a/nymea-app/ui/images/nm-signal-00.svg b/nymea-app/ui/images/connections/nm-signal-00.svg
similarity index 100%
rename from nymea-app/ui/images/nm-signal-00.svg
rename to nymea-app/ui/images/connections/nm-signal-00.svg
diff --git a/nymea-app/ui/images/nm-signal-100-secure.svg b/nymea-app/ui/images/connections/nm-signal-100-secure.svg
similarity index 100%
rename from nymea-app/ui/images/nm-signal-100-secure.svg
rename to nymea-app/ui/images/connections/nm-signal-100-secure.svg
diff --git a/nymea-app/ui/images/nm-signal-100.svg b/nymea-app/ui/images/connections/nm-signal-100.svg
similarity index 100%
rename from nymea-app/ui/images/nm-signal-100.svg
rename to nymea-app/ui/images/connections/nm-signal-100.svg
diff --git a/nymea-app/ui/images/nm-signal-25-secure.svg b/nymea-app/ui/images/connections/nm-signal-25-secure.svg
similarity index 100%
rename from nymea-app/ui/images/nm-signal-25-secure.svg
rename to nymea-app/ui/images/connections/nm-signal-25-secure.svg
diff --git a/nymea-app/ui/images/nm-signal-25.svg b/nymea-app/ui/images/connections/nm-signal-25.svg
similarity index 100%
rename from nymea-app/ui/images/nm-signal-25.svg
rename to nymea-app/ui/images/connections/nm-signal-25.svg
diff --git a/nymea-app/ui/images/nm-signal-50-secure.svg b/nymea-app/ui/images/connections/nm-signal-50-secure.svg
similarity index 100%
rename from nymea-app/ui/images/nm-signal-50-secure.svg
rename to nymea-app/ui/images/connections/nm-signal-50-secure.svg
diff --git a/nymea-app/ui/images/nm-signal-50.svg b/nymea-app/ui/images/connections/nm-signal-50.svg
similarity index 100%
rename from nymea-app/ui/images/nm-signal-50.svg
rename to nymea-app/ui/images/connections/nm-signal-50.svg
diff --git a/nymea-app/ui/images/nm-signal-75-secure.svg b/nymea-app/ui/images/connections/nm-signal-75-secure.svg
similarity index 100%
rename from nymea-app/ui/images/nm-signal-75-secure.svg
rename to nymea-app/ui/images/connections/nm-signal-75-secure.svg
diff --git a/nymea-app/ui/images/nm-signal-75.svg b/nymea-app/ui/images/connections/nm-signal-75.svg
similarity index 100%
rename from nymea-app/ui/images/nm-signal-75.svg
rename to nymea-app/ui/images/connections/nm-signal-75.svg
diff --git a/nymea-app/ui/magic/EditRulePage.qml b/nymea-app/ui/magic/EditRulePage.qml
index 6dd2d3c5..c7b1400f 100644
--- a/nymea-app/ui/magic/EditRulePage.qml
+++ b/nymea-app/ui/magic/EditRulePage.qml
@@ -416,7 +416,7 @@ Page {
}
}
Repeater {
- model: ["light-on", "light-off", "alarm-clock", "media-playback-start", "network-secure", "notification", "sensors", "shutter/shutter-050", "attention", "eye"]
+ model: ["light-on", "light-off", "alarm-clock", "media-playback-start", "connections/network-secure", "notification", "sensors", "shutter/shutter-050", "attention", "eye"]
delegate: Item {
Layout.fillWidth: true
Layout.preferredHeight: app.iconSize + app.margins
diff --git a/nymea-app/ui/system/CloudSettingsPage.qml b/nymea-app/ui/system/CloudSettingsPage.qml
index f82b7d97..48225289 100644
--- a/nymea-app/ui/system/CloudSettingsPage.qml
+++ b/nymea-app/ui/system/CloudSettingsPage.qml
@@ -95,10 +95,10 @@ SettingsPageBase {
Layout.preferredHeight: busyIndicator.height
Layout.preferredWidth: height
name: engine.jsonRpcClient.cloudConnectionState === JsonRpcClient.CloudConnectionStateConnected
- ? "../images/cloud.svg"
+ ? "../images/connections/cloud.svg"
: engine.jsonRpcClient.cloudConnectionState === JsonRpcClient.CloudConnectionStateUnconfigured
- ? "../images/cloud-error.svg"
- : "../images/cloud-offline.svg"
+ ? "../images/connections/cloud-error.svg"
+ : "../images/connections/cloud-offline.svg"
}
Label {
diff --git a/nymea-app/ui/system/ConnectionInterfaceDelegate.qml b/nymea-app/ui/system/ConnectionInterfaceDelegate.qml
index c865c8d9..78b0b48d 100644
--- a/nymea-app/ui/system/ConnectionInterfaceDelegate.qml
+++ b/nymea-app/ui/system/ConnectionInterfaceDelegate.qml
@@ -37,10 +37,10 @@ import "../components"
NymeaListItemDelegate {
text: qsTr("Interface: %1").arg(model.address === "0.0.0.0" ? qsTr("Any") : model.address === "127.0.0.1" ? qsTr("localhost") : model.address)
subText: qsTr("Port: %1").arg(model.port)
- iconName: "../images/network-vpn.svg"
+ iconName: "../images/connections/network-vpn.svg"
progressive: false
secondaryIconName: "../images/account.svg"
secondaryIconColor: model.authenticationEnabled ? app.accentColor : secondaryIconKeyColor
- tertiaryIconName: "../images/network-secure.svg"
+ tertiaryIconName: "../images/connections/network-secure.svg"
tertiaryIconColor: model.sslEnabled ? app.accentColor : tertiaryIconKeyColor
}
diff --git a/nymea-app/ui/system/NetworkSettingsPage.qml b/nymea-app/ui/system/NetworkSettingsPage.qml
index 0586b677..42da6468 100644
--- a/nymea-app/ui/system/NetworkSettingsPage.qml
+++ b/nymea-app/ui/system/NetworkSettingsPage.qml
@@ -137,7 +137,7 @@ SettingsPageBase {
ColorIcon {
Layout.preferredHeight: app.iconSize
Layout.preferredWidth: app.iconSize
- name: "../images/network-wired-offline.svg"
+ name: "../images/connections/network-wired-disabled.svg"
}
Label {
Layout.fillWidth: true
@@ -257,7 +257,7 @@ SettingsPageBase {
NymeaListItemDelegate {
Layout.fillWidth: true
- iconName: model.pluggedIn ? "../images/network-wired.svg" : "../images/network-wired-offline.svg"
+ iconName: model.pluggedIn ? "../images/connections/network-wired.svg" : "../images/connections/network-wired-offline.svg"
text: model.interface + " (" + model.macAddress + ")"
visible: networkManager.available && networkManager.networkingEnabled
subText: {
@@ -335,21 +335,21 @@ SettingsPageBase {
case NetworkDevice.NetworkDeviceStateDisconnected:
case NetworkDevice.NetworkDeviceStateDeactivating:
case NetworkDevice.NetworkDeviceStateFailed:
- return "../images/network-wifi-offline.svg"
+ return "../images/connections/network-wifi-offline.svg"
case NetworkDevice.NetworkDeviceStatePrepare:
- return "../images/network-wifi.svg";
+ return "../images/connections/network-wifi.svg";
case NetworkDevice.NetworkDeviceStateConfig:
- return "../images/network-wifi-offline.svg"
+ return "../images/connections/network-wifi-offline.svg"
case NetworkDevice.NetworkDeviceStateNeedAuth:
- return "../images/network-wifi.svg";
+ return "../images/connections/network-wifi.svg";
case NetworkDevice.NetworkDeviceStateIpConfig:
- return "../images/network-wifi-offline.svg"
+ return "../images/connections/network-wifi-offline.svg"
case NetworkDevice.NetworkDeviceStateIpCheck:
- return "../images/network-wifi.svg";
+ return "../images/connections/network-wifi.svg";
case NetworkDevice.NetworkDeviceStateSecondaries:
- return "../images/network-wifi-offline.svg"
+ return "../images/connections/network-wifi-offline.svg"
case NetworkDevice.NetworkDeviceStateActivated:
- return "../images/network-wifi.svg";
+ return "../images/connections/network-wifi.svg";
}
console.warn("Unhandled enum", model.state)
@@ -434,7 +434,7 @@ SettingsPageBase {
subText: "%1 (%2)".arg(model.macAddress).arg(model.frequency < 3 ? "2.4GHz" : "5GHz")
prominentSubText: false
iconName: {
- var ret = "../images/nm-signal-";
+ var ret = "../images/connections/nm-signal-";
if (model.signalStrength > 90) {
ret += "100";
} else if (model.signalStrength > 60) {