Skip to content

Commit

Permalink
Show tank remaining volume in device list
Browse files Browse the repository at this point in the history
Contributes to issue #1369
  • Loading branch information
chriadam authored and blammit committed Feb 13, 2025
1 parent 21a3b7e commit 782c4c1
Showing 1 changed file with 28 additions and 1 deletion.
29 changes: 28 additions & 1 deletion pages/settings/devicelist/delegates/DeviceListDelegate_tank.qml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,17 @@ import Victron.VenusOS
DeviceListDelegate {
id: root

readonly property var _allModel: [
{ unit: Global.systemSettings.temperatureUnit, value: temperature.value },
{ unit: Global.systemSettings.volumeUnit, value: remaining.value },
{ unit: VenusOS.Units_Percentage, value: level.value }
]

readonly property var _remainingAndLevelModel: [
{ unit: Global.systemSettings.volumeUnit, value: remaining.value },
{ unit: VenusOS.Units_Percentage, value: level.value }
]

readonly property var _temperatureAndLevelModel: [
{ unit: Global.systemSettings.temperatureUnit, value: temperature.value },
{ unit: VenusOS.Units_Percentage, value: level.value },
Expand All @@ -18,8 +29,17 @@ DeviceListDelegate {
{ unit: VenusOS.Units_Percentage, value: level.value },
]

readonly property var _remainingModel: [
{ unit: Global.systemSettings.volumeUnit, value: remaining.value }
]

secondaryText: level.isValid ? "" : (status.isValid ? Global.tanks.statusToText(status.value) : "--")
quantityModel: level.isValid ? (temperature.isValid ? _temperatureAndLevelModel : _levelModel) : null
quantityModel: level.isValid && temperature.isValid && remaining.isValid ? _allModel
: level.isValid && remaining.isValid ? _remainingAndLevelModel
: level.isValid && temperature.isValid ? _temperatureAndLevelModel
: level.isValid ? _levelModel
: remaining.isValid ? _remainingModel
: null

onClicked: {
Global.pageManager.pushPage("/pages/settings/devicelist/tank/PageTankSensor.qml",
Expand All @@ -38,6 +58,13 @@ DeviceListDelegate {
uid: root.device.serviceUid + "/Level"
}

VeQuickItem {
id: remaining
uid: root.device.serviceUid + "/Remaining"
sourceUnit: Units.unitToVeUnit(VenusOS.Units_Volume_CubicMeter)
displayUnit: Units.unitToVeUnit(Global.systemSettings.volumeUnit)
}

VeQuickItem {
id: status
uid: root.device.serviceUid + "/Status"
Expand Down

0 comments on commit 782c4c1

Please sign in to comment.