Fix ThingDelegate not updating connection status

This commit is contained in:
Michael Zanetti 2019-08-31 02:27:08 +02:00
parent 31b05c81a6
commit 0ff70246d2

View File

@ -7,16 +7,22 @@ import Nymea 1.0
NymeaListItemDelegate {
id: root
width: parent.width
iconName: deviceClass ? app.interfacesToIcon(deviceClass.interfaces) : ""
iconName: device.deviceClass ? app.interfacesToIcon(device.deviceClass.interfaces) : ""
text: device ? device.name : ""
progressive: true
secondaryIconName: batteryCritical ? "../images/battery/battery-010.svg" : ""
tertiaryIconName: disconnected ? "../images/dialog-warning-symbolic.svg" : ""
tertiaryIconColor: "red"
property var device: null
property Device device: null
readonly property var deviceClass: device ? engine.deviceManager.deviceClasses.getDeviceClass(device.deviceClassId) : null
readonly property bool batteryCritical: deviceClass && deviceClass.interfaces.indexOf("battery") >= 0 ? device.stateValue(deviceClass.stateTypes.findByName("batteryCritical").id) === true : false
readonly property bool disconnected: deviceClass && deviceClass.interfaces.indexOf("connectable") >= 0 ? device.stateValue(deviceClass.stateTypes.findByName("connected").id) === false : false
readonly property bool hasBatteryInterface: device && device.deviceClass.interfaces.indexOf("battery") > 0
readonly property StateType batteryCriticalStateType: hasBatteryInterface ? device.deviceClass.stateTypes.findByName("batteryCritical") : null
readonly property State batteryCriticalState: batteryCriticalStateType ? device.states.getState(batteryCriticalStateType.id) : null
readonly property bool batteryCritical: batteryCriticalState && batteryCriticalState.value === true
readonly property bool hasConnectableInterface: device && device.deviceClass.interfaces.indexOf("connectable") > 0
readonly property StateType connectedStateType: hasConnectableInterface ? device.deviceClass.stateTypes.findByName("connected") : null
readonly property State connectedState: connectedStateType ? device.states.getState(connectedStateType.id) : null
readonly property bool disconnected: connectedState && connectedState.value === false ? true : false
}