Skip to content

Commit

Permalink
Show Popup for "Detect generator at AC input" setting
Browse files Browse the repository at this point in the history
PageSettingsGenerator should correctly shows the existing toast by
changing the enabled property to content.enabled so that the button
may still be clickable. ListSwitch should be modified to emit its
clicked() signal when the content.enabled is false.

Fixes #1563
  • Loading branch information
MikeTrahearn-Qinetic committed Dec 23, 2024
1 parent 8397825 commit 7b36e4a
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 8 deletions.
6 changes: 5 additions & 1 deletion components/listitems/core/ListSwitch.qml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,11 @@ ListItem {
bottomMargin: root.spacing
}

onClicked: root._setChecked(!switchItem.checked)
onClicked: if(content.enabled) {
root._setChecked(!switchItem.checked)
} else {
root.clicked()
}
}

VeQuickItem {
Expand Down
25 changes: 18 additions & 7 deletions pages/settings/PageSettingsGenerator.qml
Original file line number Diff line number Diff line change
Expand Up @@ -84,21 +84,33 @@ Page {
}

ListSwitch {
id: generatorACInputSwitch

property bool generatorIsSet: acIn1Source.value === 2 || acIn2Source.value === 2
property ToastNotification toast: null
//% "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)
content.enabled: dataItem.isValid && (generatorIsSet || checked)

Connections {
target: generatorACInputSwitch.toast
function onDismissed() {
generatorACInputSwitch.toast = null
}
}

onClicked: {
if (!checked) {
generatorACInputSwitch.toast?.close(true)
if (!generatorIsSet) {
//% "None of the AC inputs is set to generator. Go to the system setup page and set the correct AC input to generator in order to enable this functionality."
Global.showToastNotification(VenusOS.Notification_Info, qsTrId("page_settings_generator_detect_generator_not_set"),
Theme.animation_generator_detectGeneratorNotSet_toastNotification_autoClose_duration)
generatorACInputSwitch.toast = Global.showToastNotification(VenusOS.Notification_Info, qsTrId("page_settings_generator_detect_generator_not_set"),
Theme.animation_generator_detectGeneratorNotSet_toastNotification_autoClose_duration)
} else {
//% "An alarm will be triggered when no power from the generator is detected at the inverter AC input. Make sure that the correct AC input is set to generator on the system setup page."
Global.showToastNotification(VenusOS.Notification_Info, qsTrId("page_settings_generator_detect_generator_set"),
Theme.animation_generator_detectGeneratorSet_toastNotification_autoClose_duration)
generatorACInputSwitch.toast = Global.showToastNotification(VenusOS.Notification_Info, qsTrId("page_settings_generator_detect_generator_set"),
Theme.animation_generator_detectGeneratorSet_toastNotification_autoClose_duration)
}
}
}
Expand All @@ -124,7 +136,7 @@ Page {
if (!checked) {
//% "An alarm will be triggered when autostart function is left disabled for more than 10 minutes"
Global.notificationLayer.showToastNotification(VenusOS.Notification_Info,
qsTrId("page_settings_generator_alarm_info"), 12000)
qsTrId("page_settings_generator_alarm_info"), 12000)
}
}
}
Expand Down Expand Up @@ -155,4 +167,3 @@ Page {
}
}
}

0 comments on commit 7b36e4a

Please sign in to comment.