Index: sources/gui/qml/main.qml =================================================================== diff -u -r96b209c45bca6ad9a3e26a3762c936f28b0cf7b4 -r6d62bbaca6363f7ff83715f78607cb60a4736771 --- sources/gui/qml/main.qml (.../main.qml) (revision 96b209c45bca6ad9a3e26a3762c936f28b0cf7b4) +++ sources/gui/qml/main.qml (.../main.qml) (revision 6d62bbaca6363f7ff83715f78607cb60a4736771) @@ -108,7 +108,25 @@ VTreatmentDialysateFlow { id: vTreatmentDialysateFlow } VTreatmentUltrafiltration { id: vTreatmentUltrafiltration } VTreatmentTime { id: vTreatmentTime } - VAlarmStatus { id: vAlarmStatus } + VAlarmStatus { id: vAlarmStatus + onRaiseAlarm: { + updateAlarm(); + + if (vAlarmStatus.alarm_Priority === GuiActions.ALARM_PRIORITY_HIGH) { + _notification.visible = true; + _alarm.visible = false; + } else { + if (!_notification.visible) { + _alarm.visible = true; + } + } + } + + onHideAlarm: { + _alarm.visible = false; + _notification.visible = false; + } + } VPowerOff { id: vPowerOff onPoweroffTriggered: { switch (vpoweroff) { @@ -175,18 +193,25 @@ id: _TouchArea anchors.fill: parent; onClicked: { - notification.visible = true; - notification.titleText = "Alarm"; - notification.description = vAlarmStatus.text; - [notification.backgroundColor, notification.textColor] = getRootTextFromAlarmLevel(vAlarmStatus.alarm_Priority); + updateAlarm(); + _notification.visible = true; _alarm.visible = false; - notification.dismissBtn.callback = (function() {vAlarmStatus.dismissAlarm();}); - notification.okayBtn.callback = (function() {vAlarmStatus.okayAlarm();}); + } } } - NotificationDialog { id: notification + function updateAlarm() { + _notification.titleText = "Alarm"; + _notification.description = vAlarmStatus.text; + [_notification.backgroundColor, _notification.textColor] = getRootTextFromAlarmLevel(vAlarmStatus.alarm_Priority); + [_notification.titleBarBackground, _notification.titleBarForeground] = getAlarmTopBarColors(vAlarmStatus.alarm_Priority); + _notification.dismissBtn.callback = (function() {_GuiView.doActionTransmit(GuiActions.AlarmSilence, + [GuiActions.Request, 1, 2, 3, 4, 5])}); + + } + + NotificationDialog { id: _notification onClosed: { _alarm.visible = true; } @@ -232,4 +257,29 @@ return [root_color, text_color]; } + + function getAlarmTopBarColors(level) { + let background = ""; + let foreground = ""; + switch (level) { + case GuiActions.ALARM_PRIORITY_HIGH: + background = Colors.alarmTopBarHighBg; + foreground = Colors.alarmTopBarHighFg; + break; + case GuiActions.ALARM_PRIORITY_MEDIUM: + background = Colors.alarmTopBarMedBg; + foreground = Colors.alarmTopBarMedFg; + break; + case GuiActions.ALARM_PRIORITY_LOW: + background = Colors.alarmTopBarLowBg; + foreground = Colors.alarmTopBarLowFg; + break; + default : // GuiActions.ALARM_PRIORITY_NONE + background = Colors.alarmTopBarLowBg; + foreground = Colors.alarmTopBarLowFg; + + } + return [background, foreground]; + + } }