Skip to content

Commit

Permalink
Update pages to use interactive property
Browse files Browse the repository at this point in the history
Fixes #1818
  • Loading branch information
MikeTrahearn-Qinetic committed Feb 7, 2025
1 parent a107226 commit 7625e94
Show file tree
Hide file tree
Showing 36 changed files with 93 additions and 114 deletions.
6 changes: 3 additions & 3 deletions pages/battery/BatteryListPage.qml
Original file line number Diff line number Diff line change
Expand Up @@ -118,13 +118,13 @@ Page {
Layout.rightMargin: Theme.geometry_listItem_content_horizontalMargin
source: "qrc:/images/icon_arrow_32.svg"
rotation: 180
color: mouseArea.containsPress ? Theme.color_listItem_down_forwardIcon : Theme.color_listItem_forwardIcon
opacity: mouseArea.enabled ? 1 : 0
color: pressArea.containsPress ? Theme.color_listItem_down_forwardIcon : Theme.color_listItem_forwardIcon
opacity: pressArea.enabled ? 1 : 0
}
}

ListPressArea {
id: mouseArea
id: pressArea

radius: parent.radius
anchors.fill: parent
Expand Down
2 changes: 1 addition & 1 deletion pages/controlcards/ESSCard.qml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ ControlCard {
//% "Minimum SOC"
text: qsTrId("ess_card_minimum_soc")
flat: true
button.text: Units.getCombinedDisplayText(VenusOS.Units_Percentage, Global.ess.minimumStateOfCharge)
secondaryText: Units.getCombinedDisplayText(VenusOS.Units_Percentage, Global.ess.minimumStateOfCharge)
onClicked: Global.dialogLayer.open(minSocDialogComponent)

Component {
Expand Down
19 changes: 7 additions & 12 deletions pages/controlcards/EVCSCard.qml
Original file line number Diff line number Diff line change
Expand Up @@ -40,22 +40,17 @@ ControlCard {
right: parent.right
}

ListItem {
id: modeListItem

ListButton {
id: modeListButton
text: CommonWords.mode
secondaryText: Global.evChargers.chargerModeToText(modeItem.value)
flat: true
enabled: root.userHasWriteAccess && modeItem.isValid

content.children: ListItemButton {
width: Math.min(implicitWidth, Theme.geometry_veBusDeviceCard_modeButton_maximumWidth)
text: Global.evChargers.chargerModeToText(modeItem.value)
onClicked: Global.dialogLayer.open(modeDialogComponent, { mode: modeItem.value })
}
interactive: modeItem.isValid
onClicked: Global.dialogLayer.open(modeDialogComponent, { mode: modeItem.value })
}

FlatListItemSeparator {
visible: modeListItem.visible
visible: modeListButton.visible
}

ListSpinBox {
Expand All @@ -69,7 +64,7 @@ ControlCard {
stepSize: 1
dataItem.uid: root.evCharger.serviceUid + "/SetCurrent"
preferredVisible: dataItem.isValid
enabled: modeItem.value === VenusOS.Evcs_Mode_Manual
interactive: dataItem.isValid && modeItem.value === VenusOS.Evcs_Mode_Manual
}

FlatListItemSeparator {
Expand Down
21 changes: 9 additions & 12 deletions pages/controlcards/InverterChargerCard.qml
Original file line number Diff line number Diff line change
Expand Up @@ -94,20 +94,17 @@ ControlCard {

FlatListItemSeparator {}

ListItem {
ListButton {
id: essStateButton
text: CommonWords.ess
flat: true
preferredVisible: essModeItem.isValid
content.children: [
ListItemButton {
font.pixelSize: Theme.font_size_body1
text: Global.ess.essStateToButtonText(essModeItem.value)
enabled: userHasWriteAccess
onClicked: {
Global.dialogLayer.open(essModeDialogComponent, { essMode: essModeItem.value })
}
}
]
secondaryText: Global.ess.essStateToButtonText(essModeItem.value)
// change the font size for the child button
button.font.pixelSize: Theme.font_size_body1
onClicked: {
Global.dialogLayer.open(essModeDialogComponent, { essMode: essModeItem.value })
}
}

ListButton {
Expand All @@ -117,7 +114,7 @@ ControlCard {
preferredVisible: essMinSocItem.isValid && [
VenusOS.Ess_State_OptimizedWithBatteryLife,
VenusOS.Ess_State_OptimizedWithoutBatteryLife].includes(essModeItem.value)
button.text: Units.getCombinedDisplayText(VenusOS.Units_Percentage, essMinSocItem.value)
secondaryText: Units.getCombinedDisplayText(VenusOS.Units_Percentage, essMinSocItem.value)
onClicked: Global.dialogLayer.open(essMinSocDialogComponent)
}
}
Expand Down
2 changes: 1 addition & 1 deletion pages/evcs/EvChargerPage.qml
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ Page {
to: root.evCharger.maxCurrent
dataItem.uid: root.evCharger.serviceUid + "/SetCurrent"
preferredVisible: dataItem.isValid
enabled: chargeMode.dataItem.value === VenusOS.Evcs_Mode_Manual
interactive: dataItem.isValid && chargeMode.dataItem.value === VenusOS.Evcs_Mode_Manual
}

ListSwitch {
Expand Down
6 changes: 3 additions & 3 deletions pages/settings/PageGeneratorRuntimeService.qml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ Page {
text: qsTrId("page_settings_run_time_and_service_generator_total_run_time")
secondaryText: Math.round(accumulatedTotalItem.value / 60 / 60) - Math.round(dataItem.value / 60 / 60) + "h"
dataItem.uid: settingsBindPrefix + "/AccumulatedTotalOffset"
enabled: userHasWriteAccess && state.value === 0
interactive: dataItem.isValid && state.value === 0
preferredVisible: dataItem.isValid && gensetBindPrefix === ""
maximumLength: 6
saveInput: function() {
Expand Down Expand Up @@ -88,7 +88,7 @@ Page {
ListButton {
//% "Reset daily run time counters"
text: qsTrId("page_settings_run_time_and_service_reset_daily_run_time_counters")
button.text: CommonWords.press_to_reset
secondaryText: CommonWords.press_to_reset
onClicked: {
if (state.value === 0) {
var now = new Date()
Expand Down Expand Up @@ -176,7 +176,7 @@ Page {
ListButton {
//% "Reset service timer"
text: qsTrId("page_settings_run_time_and_service_reset_service_timer")
button.text: CommonWords.press_to_reset
secondaryText: CommonWords.press_to_reset
preferredVisible: serviceReset.isValid
onClicked: {
serviceReset.setValue(1)
Expand Down
2 changes: 1 addition & 1 deletion pages/settings/PageGeneratorTestRun.qml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Page {
text: qsTrId("run_interval")
dataItem.uid: bindPrefix + "/TestRun/Interval"
//% "%1 day(s)"
button.text: qsTrId("page_generator_test_run_days").arg(value)
secondaryText: qsTrId("page_generator_test_run_days").arg(value)
stepSize: 1
from: 1
to: 30
Expand Down
2 changes: 1 addition & 1 deletion pages/settings/PageSettingsAccessAndSecurity.qml
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ Page {
//% "Logout"
text: qsTrId("settings_logout")
//% "Log out now"
button.text: qsTrId("settings_logout_now")
secondaryText: qsTrId("settings_logout_now")

// Cannot log out from GX devices, VRM or Unsecured profile with no password
preferredVisible: Qt.platform.os === "wasm" && !BackendConnection.vrm
Expand Down
6 changes: 3 additions & 3 deletions pages/settings/PageSettingsBatteries.qml
Original file line number Diff line number Diff line change
Expand Up @@ -161,13 +161,13 @@ Page {
Layout.rightMargin: Theme.geometry_listItem_content_horizontalMargin
source: "qrc:/images/icon_arrow_32.svg"
rotation: 180
color: mouseArea.containsPress ? Theme.color_listItem_down_forwardIcon : Theme.color_listItem_forwardIcon
opacity: mouseArea.enabled ? 1 : 0
color: pressArea.containsPress ? Theme.color_listItem_down_forwardIcon : Theme.color_listItem_forwardIcon
opacity: pressArea.enabled ? 1 : 0
}
}

ListPressArea {
id: mouseArea
id: pressArea

radius: parent.radius
anchors.fill: parent
Expand Down
2 changes: 1 addition & 1 deletion pages/settings/PageSettingsCGwacs.qml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Page {
//% "Phase type"
text: qsTrId("settings_cgwacs_phase_type")
dataItem.uid: root.devicePath + "/IsMultiphase"
enabled: userHasWriteAccess && multiPhaseSupport.value !== undefined
interactive: dataItem.isValid && multiPhaseSupport.value !== undefined
optionModel: [
//% "Single phase"
{ display: qsTrId("settings_single_phase"), value: 0},
Expand Down
2 changes: 1 addition & 1 deletion pages/settings/PageSettingsCanbus.qml
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ Page {
//% "Check Unique id numbers"
text: qsTrId("settings_canbus_unique_id_choose")
preferredVisible: root._isVecan || root._isRvc
button.text: timer.running
secondaryText: timer.running
? Utils.secondsToString(timer.remainingTime)
//% "Press to check"
: qsTrId("settings_canbus_unique_id_press_to_check")
Expand Down
2 changes: 1 addition & 1 deletion pages/settings/PageSettingsDvcc.qml
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ Page {
text: qsTrId("settings_dvcc_scs_status")
dataItem.uid: Global.system.serviceUid + "/Control/BatteryCurrentSense"
preferredVisible: commonSettings.dvccActive && sharedCurrentSense.checked
enabled: false
interactive: false

optionModel: [
{ display: CommonWords.disabled, value: 0 },
Expand Down
8 changes: 4 additions & 4 deletions pages/settings/PageSettingsEthernet.qml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ Page {
}
return -1
}
enabled: userHasReadAccess
interactive: userHasReadAccess

onOptionClicked: function(index) {
networkServices.setServiceProperty("Method", optionModel[index].value)
Expand All @@ -83,23 +83,23 @@ Page {
ListIpAddressField {
//% "Netmask"
text: qsTrId("settings_tcpip_netmask")
enabled: method.userHasWriteAccess && networkServices.manual
interactive: method.userHasWriteAccess && networkServices.manual
textField.text: networkServices.netmask
saveInput: function() { networkServices.setServiceProperty("Netmask", textField.text) }
}

ListIpAddressField {
//% "Gateway"
text: qsTrId("settings_tcpip_gateway")
enabled: method.userHasWriteAccess && networkServices.manual
interactive: method.userHasWriteAccess && networkServices.manual
textField.text: networkServices.gateway
saveInput: function() { networkServices.setServiceProperty("Gateway", textField.text) }
}

ListIpAddressField {
//% "DNS server"
text: qsTrId("settings_tcpip_dns_server")
enabled: method.userHasWriteAccess && networkServices.manual
interactive: method.userHasWriteAccess && networkServices.manual
textField.text: networkServices.nameserver
saveInput: function() { networkServices.setServiceProperty("Nameserver", textField.text) }
}
Expand Down
6 changes: 3 additions & 3 deletions pages/settings/PageSettingsFirmwareOffline.qml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Page {

//% "Firmware found"
text: qsTrId("settings_firmware_found")
button.text: {
secondaryText: {
if (Global.firmwareUpdate.state === FirmwareUpdater.DownloadingAndInstalling) {
//: %1 = firmware version
//% "Installing %1"
Expand All @@ -37,7 +37,7 @@ Page {
}
}

enabled: !Global.firmwareUpdate.busy
interactive: !Global.firmwareUpdate.busy
writeAccessLevel: VenusOS.User_AccessType_User
preferredVisible: !!Global.firmwareUpdate.offlineAvailableVersion && !Global.firmwareUpdate.checkingForUpdate
onClicked: {
Expand All @@ -54,7 +54,7 @@ Page {
}

ListMountStateButton {
button.enabled: mounted && Global.firmwareUpdate.state !== FirmwareUpdater.DownloadingAndInstalling
interactive: mounted && Global.firmwareUpdate.state !== FirmwareUpdater.DownloadingAndInstalling
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions pages/settings/PageSettingsFirmwareOnline.qml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ Page {

//% "Update available"
text: qsTrId("settings_firmware_update_available")
button.text: {
secondaryText: {
if (Global.firmwareUpdate.state === FirmwareUpdater.DownloadingAndInstalling) {
if (progress.value) {
//: Firmware update progress. %1 = firmware version, %2 = current update progress
Expand All @@ -94,7 +94,7 @@ Page {
}
}

enabled: !Global.firmwareUpdate.busy
interactive: !Global.firmwareUpdate.busy
writeAccessLevel: VenusOS.User_AccessType_User
preferredVisible: !!Global.firmwareUpdate.onlineAvailableVersion && !Global.firmwareUpdate.checkingForUpdate
onClicked: {
Expand Down
2 changes: 1 addition & 1 deletion pages/settings/PageSettingsGeneral.qml
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ Page {
ListButton {
text: CommonWords.reboot
//% "Reboot now"
button.text: qsTrId("settings_reboot_now")
secondaryText: qsTrId("settings_reboot_now")
writeAccessLevel: VenusOS.User_AccessType_User
onClicked: Global.dialogLayer.open(confirmRebootDialogComponent)

Expand Down
2 changes: 1 addition & 1 deletion pages/settings/PageSettingsGenerator.qml
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ Page {
//% "Detect generator at AC input"
text: qsTrId("page_settings_generator_detect_generator_at_ac_input")
dataItem.uid: settingsBindPrefix + "/Alarms/NoGeneratorAtAcIn"
enabled: dataItem.isValid && (generatorIsSet || checked)
interactive: dataItem.isValid && (generatorIsSet || checked)
onClicked: {
if (!checked) {
if (!generatorIsSet) {
Expand Down
4 changes: 2 additions & 2 deletions pages/settings/PageSettingsHub4.qml
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ Page {

//% "Minimum SOC (unless grid fails)"
text: qsTrId("settings_ess_min_soc")
button.text: Global.ess.minimumStateOfCharge + "%"
secondaryText: Global.ess.minimumStateOfCharge + "%"
preferredVisible: essMode.value !== VenusOS.Ess_Hub4ModeState_Disabled
&& batteryLifeState.dataItem.value !== VenusOS.Ess_BatteryLifeState_KeepCharged
onClicked: Global.dialogLayer.open(minSocDialogComponent)
Expand Down Expand Up @@ -141,7 +141,7 @@ Page {
dataItem.uid: Global.systemSettings.serviceUid + "/Settings/CGwacs/BatteryLife/State"
preferredVisible: essMode.value !== VenusOS.Ess_Hub4ModeState_Disabled
&& Global.ess.isBatteryLifeActive(batteryLifeState.dataItem.value)
enabled: false
interactive: false
optionModel: [
// Values below taken from MaintenanceState enum in dbus-cgwacs
{ display: root._selfConsumptionText, value: 2 },
Expand Down
8 changes: 3 additions & 5 deletions pages/settings/PageSettingsHub4Peakshaving.qml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ Page {
ListRadioButtonGroup {
//% "Peak shaving"
text: qsTrId("settings_ess_peak_shaving")
enabled: !(stateItem.value === VenusOS.Ess_BatteryLifeState_KeepCharged && withoutGridMeterItem.value === 1)
interactive: !(stateItem.value === VenusOS.Ess_BatteryLifeState_KeepCharged && withoutGridMeterItem.value === 1)
optionModel: [
{
//% "Above minimum SOC only"
Expand Down Expand Up @@ -86,7 +86,7 @@ Page {
text: qsTrId("settings_ess_limit_system_ac_import_current")
checkable: true
checked: systemAcInputLimit.value >= 0
enabled: userHasWriteAccess && withoutGridMeterItem.value === 0 && overruledShoreLimit.seen
interactive: withoutGridMeterItem.value === 0 && overruledShoreLimit.seen
onCheckedChanged: {
if (checked && systemAcInputLimit.value < 0) {
systemAcInputLimit.setValue(40)
Expand All @@ -110,7 +110,6 @@ Page {
ListSpinBox {
//% "Maximum system import current (per phase)"
text: qsTrId("settings_ess_max_system_import_current")
enabled: userHasWriteAccess
preferredVisible: maxSystemAcInputCurrentSwitch.enabled && maxSystemAcInputCurrentSwitch.checked
dataItem.uid: systemAcInputLimit.uid
suffix: Units.defaultUnitString(VenusOS.Units_Amp)
Expand All @@ -127,7 +126,7 @@ Page {
text: qsTrId("settings_ess_limit_system_ac_export_current")
checkable: true
checked: systemAcExportLimit.value >= 0
enabled: userHasWriteAccess && withoutGridMeterItem.value === 0
interactive: withoutGridMeterItem.value === 0
onCheckedChanged: {
if (checked && systemAcExportLimit.value < 0) {
systemAcExportLimit.setValue(40)
Expand All @@ -151,7 +150,6 @@ Page {
ListSpinBox {
//% "Maximum system export current (per phase)"
text: qsTrId("settings_ess_max_system_export_current")
enabled: userHasWriteAccess
preferredVisible: maxSystemAcExportCurrentSwitch.enabled && maxSystemAcExportCurrentSwitch.checked
dataItem.uid: systemAcExportLimit.uid
suffix: Units.defaultUnitString(VenusOS.Units_Amp)
Expand Down
4 changes: 2 additions & 2 deletions pages/settings/PageSettingsLogger.qml
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@ Page {
{ display: qsTrId("settings_vrm_external_storage"), value: 2 },
]
dataItem.uid: root.loggerServiceUid + "/Buffer/Location"
enabled: dataItem.value !== undefined
interactive: dataItem.value !== undefined
}

ListRadioButtonGroup {
Expand All @@ -306,7 +306,7 @@ Page {
//% "SD card / USB stick not writable"
{ display: qsTrId("settings_vrm_storage_not_writable_error"), value: 5 },
]
enabled: false
interactive: false
dataItem.uid: root.loggerServiceUid + "/Buffer/ErrorState"
preferredVisible: !!dataItem.value
}
Expand Down
2 changes: 1 addition & 1 deletion pages/settings/PageSettingsRootfsSelect.qml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ Page {
//: %1 = backup version, %2 = backup version build number
//% "Firmware %1 (%2)"
text: qsTrId("settings_firmware_backup_version").arg(backupVersionItem.value).arg(backupBuildItem.value)
button.text: root._autoUpdateDisabled
secondaryText: root._autoUpdateDisabled
//% "Press to boot"
? qsTrId("settings_firmware_press_to_boot")
: CommonWords.disabled
Expand Down
Loading

0 comments on commit 7625e94

Please sign in to comment.