Index: sources/gui/qml/main.qml =================================================================== diff -u -re58be51c4aa52938af250db3ee579e98de08542c -r45ce6e781782be5de1480a1e7acecd1d272bcc84 --- sources/gui/qml/main.qml (.../main.qml) (revision e58be51c4aa52938af250db3ee579e98de08542c) +++ sources/gui/qml/main.qml (.../main.qml) (revision 45ce6e781782be5de1480a1e7acecd1d272bcc84) @@ -18,8 +18,8 @@ // Project // C++ imports -import Gui.View 0.1; -import Gui.Actions 0.1; +import Gui.View 0.1 +import Gui.Actions 0.1 // TODO : When Testing data on Setting screen is removed // This needs to be moved into the TreatmentFlows.qml @@ -141,48 +141,59 @@ } } + // Alarms + function alarmMinimize() { + _alarm_dialog .visible = false + _alarm_bar .visible = true + } + function alarmMaximize() { + _alarm_dialog .visible = true + _alarm_bar .visible = false + } + function alarmHide() { + _alarm_dialog .visible = false + _alarm_bar .visible = false + } + NotificationBar { id: _alarm_bar + backgroundColor : _alarm_dialog.backgroundColor + textColor : _alarm_dialog.textColor + anchors.bottom : _mainMenu.top + text : vAlarmStatus.text; + isSilenced : vAlarmStatus.alarm_Flag_alarmsSilenced + timeout : vAlarmStatus.alarm_MuteTimeout - anchors.bottom: _mainMenu.top - level : vAlarmStatus.alarm_Priority - text : vAlarmStatus.text; - isSilenced: vAlarmStatus.alarm_Flag_alarmsSilenced; + onMaximizeClicked: { + alarmMaximize() + } - onClickedNotificationBar: { - updateAlarm(); - vAlarmStatus.onSetMinimize(false); - _alarm_bar.visible = false; - _alarm_dialog.visible = true; + onClicked: { + alarmMaximize() } } - function updateAlarm() { - _alarm_dialog.titleText = "Alarm"; - _alarm_dialog.description = vAlarmStatus.text; - _alarm_dialog.alarmID = vAlarmStatus.alarm_AlarmID; - [_alarm_dialog.backgroundColor, _alarm_dialog.textColor] = getRootTextFromAlarmLevel(vAlarmStatus.alarm_Priority); - [_alarm_dialog.titleBarBackground, _alarm_dialog.titleBarForeground] = getAlarmTopBarColors(vAlarmStatus.alarm_Priority); - _alarm_bar.backgroundColor = _alarm_dialog.titleBarBackground; - - _alarm_dialog.isSilenced = vAlarmStatus.alarm_Flag_alarmsSilenced; - _alarm_bar.toggleSilence(vAlarmStatus.alarm_Flag_alarmsSilenced, vAlarmStatus.alarm_MuteTimeout); - _alarm_dialog.silenceBtn.visible = !vAlarmStatus.alarm_Flag_alarmsSilenced; - } - NotificationDialog { id: _alarm_dialog - alarmID: -1 + // this will change later to the actual message text + // and the instruction would be in the dialog content + titleText : "Alarm" + description : vAlarmStatus.text + alarmID : vAlarmStatus.alarm_AlarmID + isSilenced : vAlarmStatus.alarm_Flag_alarmsSilenced + timeout : vAlarmStatus.alarm_MuteTimeout + okVisible : vAlarmStatus.alarm_Flag_UserMustAck + resumeVisible : ! vAlarmStatus.alarm_Flag_noResume + rinsebackVisible: ! vAlarmStatus.alarm_Flag_noRinseback + endVisible : ! vAlarmStatus.alarm_Flag_noEndTreatment - onClickedOkay: { - _alarm_dialog.visible = false; - _alarm_bar.visible = true; - vAlarmStatus.onRequestOkay(alarmID) + onMinimizeClicked : { + alarmMinimize() + // when used minimizes the alarm it can stay minimized until otherwize is set + // by the next alarm status received. + // see also the "Connections { target: vAlarmStatus" implementation + vAlarmStatus.alarm_KeepMinimized = true } - - onClickedSilence: { - _alarm_dialog.visible = false; - _alarm_bar.visible = true; - vAlarmStatus.onRequestSilence(); - } + onOkClicked : vAlarmStatus.onRequestOkay(alarmID) + onMuteClicked : vAlarmStatus.onRequestSilence() } // 9 - Others @@ -219,52 +230,6 @@ visible: true // ! _GuiView.sdIsReady || _GuiView.sdIsReadOnly } - function getRootTextFromAlarmLevel(level) { - let root_color = ""; - let text_color = ""; - switch (level) { - case GuiActions.ALARM_PRIORITY_HIGH: - root_color = Colors.textNotificationHighBg; - text_color = Colors.textNotificationHighFg; - break; - case GuiActions.ALARM_PRIORITY_MEDIUM: - root_color = Colors.textNotificationMedBg; - text_color = Colors.textNotificationMedFg; - break; - case GuiActions.ALARM_PRIORITY_LOW: - root_color = Colors.textNotificationLowBg; - text_color = Colors.textNotificationLowFg; - break; - default : // GuiActions.ALARM_PRIORITY_NONE - root_color = Colors.textNotificationNoneBg; - text_color = Colors.textNotificationNoneFg; - } - 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]; - } - Connections { target: vPowerOff onPoweroffTriggered: { switch (vpoweroff) { @@ -287,21 +252,36 @@ } Connections { target: vAlarmStatus - onRaiseAlarm: { - updateAlarm(); + onAlarm_Flag_noResumeChanged : vAlarmStatus.alarm_KeepMinimized = false + onAlarm_Flag_noRinsebackChanged : vAlarmStatus.alarm_KeepMinimized = false + onAlarm_Flag_noEndTreatmentChanged : vAlarmStatus.alarm_KeepMinimized = false + onAlarm_Flag_UserMustAckChanged : vAlarmStatus.alarm_KeepMinimized = false + onAlarm_AlarmIDChanged : vAlarmStatus.alarm_KeepMinimized = false + onAlarm_Flag_alarmsSilencedChanged : vAlarmStatus.alarm_KeepMinimized = vAlarmStatus.alarm_Flag_alarmsSilenced + onAlarm_PriorityChanged: { + [ + _alarm_dialog.titleBarBackground, + _alarm_dialog.titleBarForeground, + _alarm_dialog.backgroundColor , + _alarm_dialog.textColor , + ] = Colors.alarmPriorityColors(vAlarmStatus.alarm_Priority) + } - if (vAlarmStatus.minimizeAlarm) { - _alarm_dialog.visible = false; - _alarm_bar.visible = true; - } else { - _alarm_dialog.visible = true; - _alarm_bar.visible = false; + onRaiseAlarm: { + if (vAlarmStatus.alarm_Flag_alarmsSilenced) { + // this is the response to the silence request + // so the dialog should be closed when the request accepted + // if not then if can stay minimized nothing happens + // if can't stay minimized then it has to be shown + alarmMinimize() } + else { + if (! vAlarmStatus.alarm_KeepMinimized) { + alarmMaximize() + } + } } - onNoAlarm: { - _alarm_bar.visible = false; - _alarm_dialog.visible = false; - } + onNoAlarm: alarmHide() } }