Index: denali.pro.user =================================================================== diff -u -rcb7d9e125fe619ab0713f9146e9774940e26a096 -r153bcdb67dca6c40022318b80d5c7079d48bb37f --- denali.pro.user (.../denali.pro.user) (revision cb7d9e125fe619ab0713f9146e9774940e26a096) +++ denali.pro.user (.../denali.pro.user) (revision 153bcdb67dca6c40022318b80d5c7079d48bb37f) @@ -1,6 +1,6 @@ - + EnvironmentId @@ -1230,7 +1230,7 @@ denali Qt4ProjectManager.Qt4RunConfiguration:/home/denali/Projects/application/denali.pro - --disable-timeout --disable-alarm-no-minimize --disable-unhandled-report --disable-check-in-log --disable-acknow-log + --disable-timeout --disable-unhandled-report --disable-sd-card-fail-log-stop 3768 false true Index: sources/gui/GuiController.cpp =================================================================== diff -u -r465a935949a85d3d1bebd11979737ff38ef96122 -r153bcdb67dca6c40022318b80d5c7079d48bb37f --- sources/gui/GuiController.cpp (.../GuiController.cpp) (revision 465a935949a85d3d1bebd11979737ff38ef96122) +++ sources/gui/GuiController.cpp (.../GuiController.cpp) (revision 153bcdb67dca6c40022318b80d5c7079d48bb37f) @@ -287,7 +287,7 @@ { //DEBUG:0: qDebug() << " ***** GuiController " << Storage::SDCard_Base_Path_Name << vIsReady << vIsReadOnly << gDisableSDCFailLogStop; - static bool hasAlarm = false; // to make it clear the alarm only once. + static bool hasAlarm = false; // to clear the alarm, only once. if ( ( ! vIsReady || vIsReadOnly ) && ! gDisableSDCFailLogStop ) { hasAlarm = true; AlarmStatusData data = AlarmGenerator::ALARM_ID_UI_POST_FAILURE_SDCARD(); Index: sources/gui/qml/main.qml =================================================================== diff -u -r8f336b528afb37743d4ae3404c810e6a9e4422c4 -r153bcdb67dca6c40022318b80d5c7079d48bb37f --- sources/gui/qml/main.qml (.../main.qml) (revision 8f336b528afb37743d4ae3404c810e6a9e4422c4) +++ sources/gui/qml/main.qml (.../main.qml) (revision 153bcdb67dca6c40022318b80d5c7079d48bb37f) @@ -253,6 +253,9 @@ } } + Connections { target: vHDOperationMode + onStandbyWaitDisinfectChanged : { _mainMenu.isTreatment() } + } // 9 - Others Text { // TEST : Application version should be moved into the information screen later. Index: sources/gui/qml/pages/MainStack.qml =================================================================== diff -u -r465a935949a85d3d1bebd11979737ff38ef96122 -r153bcdb67dca6c40022318b80d5c7079d48bb37f --- sources/gui/qml/pages/MainStack.qml (.../MainStack.qml) (revision 465a935949a85d3d1bebd11979737ff38ef96122) +++ sources/gui/qml/pages/MainStack.qml (.../MainStack.qml) (revision 153bcdb67dca6c40022318b80d5c7079d48bb37f) @@ -40,12 +40,6 @@ stackView.initialItem : _root.initialItem - function doSettingsDisinfect() { - _mainMenu.currentIndex = 0 - page( _disinfectStack ) - _disinfectStack.doSettingsDisinfect() - } - // Standby / Disinfection DisinfectStack { id: _disinfectStack } // Pre Treatment Index: sources/gui/qml/pages/disinfect/DisinfectStack.qml =================================================================== diff -u -r27cc308ff5113a9386899d3c8f8b29962a8498e1 -r153bcdb67dca6c40022318b80d5c7079d48bb37f --- sources/gui/qml/pages/disinfect/DisinfectStack.qml (.../DisinfectStack.qml) (revision 27cc308ff5113a9386899d3c8f8b29962a8498e1) +++ sources/gui/qml/pages/disinfect/DisinfectStack.qml (.../DisinfectStack.qml) (revision 153bcdb67dca6c40022318b80d5c7079d48bb37f) @@ -31,189 +31,74 @@ property int stackStepIndex : 1 - signal disinfectSkip () - signal disinfectHeatClicked () - signal disinfectChemicalClicked () - signal disinfectChemicalConfirm () - readonly property string disinfectTitle : qsTr("Disinfection") - readonly property string flushTitle : qsTr("Flush") + readonly property string flushTitle : qsTr("Water Flush") readonly property string heatTitle : qsTr("Heat Disinfect") readonly property string chemicalTitle : qsTr("Chemical Disinfect") - function doSettingsDisinfect() { - // since we do't know the order or timing of the FW message - // prefered to set the screens by UI. - // If HDOpMode says/has the same state nothing changes, but at least UI is not showing empty screen. - _mainMenu.hidden = true - stackView.clear() - if ( vDisinfectAdjustDisinfect.flush ) { page( _disinfectFlush ); return } - if ( vDisinfectAdjustDisinfect.heat ) { page( _disinfectHeat ); return } - if ( vDisinfectAdjustDisinfect.chemical ) { page( _disinfectChemicalInstruction ); return } - } - - DisinfectBase { id : _disinfect // TODO - MatchSDD - 44 - DisinfectionInstruction - objectName : "_disinfect" + DisinfectBase { id : _disinfectHome + objectName : "_disinfectHome" property int stackStepIndex : 0 header.stepNames : [ _root.disinfectTitle ] - header.confirmVisible : true - header.confirmText.text : qsTr("SKIP") - title.text : _root.disinfectTitle + title.text : _root.disinfectTitle footer.childrenWidth : 350 footer.children: [ - TouchRect { - text.text: _root.heatTitle - onClicked: _root.disinfectHeatClicked() - }, - TouchRect { - text.text: _root.chemicalTitle - onClicked: _root.disinfectChemicalClicked() - } + TouchRect { text.text: _root.flushTitle ; onClicked: page( _disinfectFlush )}, + TouchRect { text.text: _root.heatTitle ; onClicked: page( _disinfectHeat )}, + TouchRect { text.text: _root.chemicalTitle ; onClicked: page( _disinfectChemical )} ] - onConfirmClicked : _root.disinfectSkip() instructionBased : true + header.confirmVisible : vDisinfectAdjustDisinfect .canCancel // if initiated by User from setting can be canceled. + header.confirmText : qsTr("Cancel") + onConfirmClicked : { vDisinfectAdjustDisinfect .doCancel () } } - DisinfectBase { id : _disinfectFlush // TODO - MatchSDD - 45 - DisinfectionFlash - + DisinfectBase { id : _disinfectFlush objectName : "_disinfectFlush" header.stepNames : [ _root.disinfectTitle , _root.flushTitle ] title.text : _root.flushTitle - - hasCheckList : true - isComplete : vDisinfectStates.flushComplete - completeText : qsTr("Water Flush Complete!") - checkListTimeVisible : vDisinfectDGData.flushTimeTotal - checkListTimeSeconds : vDisinfectDGData.flushTimeRemaining - checkListStepNames : [ - qsTr("Drain Device" ), - qsTr("Flush Reservoirs" ), - qsTr("Drain Reservoirs" ), - qsTr("Flush Recirculation" ), - ] + instructionBased : true + header.backVisible : true + onBackClicked : { page ( _disinfectHome ) } + header.confirmVisible : true + onConfirmClicked : { vDisinfectAdjustDisinfect .doFlush () } } DisinfectBase { id : _disinfectHeat objectName : "_disinfectHeat" header.stepNames : [ _root.disinfectTitle , _root.heatTitle ] title.text : _root.heatTitle - - hasCheckList : true - isComplete : vDisinfectStates.heatComplete - completeText : qsTr("Heat Disinfection Complete!") - checkListTimeVisible : vDisinfectDGData.heatTimeTotal - checkListTimeSeconds : vDisinfectDGData.heatTimeRemaining - checkListStepNames : [ - qsTr("Flush Before Disinfect" ), - qsTr("Heat Up Water" ), - qsTr("Disinfect Reservoir 1" ), - qsTr("Transition Hot Water" ), - qsTr("Disinfect Reservoir 2" ), - qsTr("Cool Down Device" ), - qsTr("Flush After Disinfect" ), - ] + instructionBased : true + header.backVisible : true + onBackClicked : { page ( _disinfectHome ) } + header.confirmVisible : true + onConfirmClicked : { vDisinfectAdjustDisinfect .doDisinfectHeat () } } - DisinfectBase { id : _disinfectChemicalInstruction - objectName : "_disinfectChemicalInstruction" + DisinfectBase { id : _disinfectChemical + objectName : "_disinfectChemical" header.stepNames : [ _root.disinfectTitle , _root.chemicalTitle ] title.text : _root.chemicalTitle - header.confirmVisible : true instructionBased : true - onConfirmClicked : _root.disinfectChemicalConfirm() + header.backVisible : true + onBackClicked : { page ( _disinfectHome ) } + header.confirmVisible : true + onConfirmClicked : { vDisinfectAdjustDisinfect .doDisinfectChemical () } } - DisinfectBase { id : _disinfectChemicalProgress - objectName : "_disinfectChemicalProgress" - header.stepNames : [ _root.disinfectTitle , _root.chemicalTitle ] - title.text : _root.chemicalTitle - - hasCheckList : true - isComplete : vDisinfectStates.chemicalComplete - completeText : qsTr("Chemical Disinfection Complete!") - checkListTimeVisible : vDisinfectDGData.chemicalTimeTotal - checkListTimeSeconds : vDisinfectDGData.chemicalTimeRemaining - checkListStepNames : [ - qsTr("Flush Before Disinfect" ), - qsTr("Mix water And Acid" ), - qsTr("Remove Acid" ), - qsTr("Disinfect Device" ), - qsTr("Flush After Disinfect" ), - ] - } - - // ----- Checkmarks - Connections { target: vDisinfectStates - onFlushNotRunningEntered : { } - onFlushDrainBeforeFlushEntered : { _disinfectFlush .checkList.setItem(0, vflushDrainBeforeFlush )} - onFlushFlushReservoirsEntered : { _disinfectFlush .checkList.setItem(1, vflushFlushReservoirs )} - onFlushDrainReservoirsEntered : { _disinfectFlush .checkList.setItem(2, vflushDrainReservoirs )} - onFlushRecirculatePathEntered : { _disinfectFlush .checkList.setItem(3, vflushRecirculatePath )} - onFlushCancelEntered : { } - onFlushCompleteEntered : { } - - onHeatNotRunningEntered : { } - onHeatFlushBeforeDisinfectEntered : { _disinfectHeat .checkList.setItem(0, vheatFlushBeforeDisinfect )} - onHeatWaterHeatUpEntered : { _disinfectHeat .checkList.setItem(1, vheatWaterHeatUp )} - onHeatDisinfectR1Entered : { _disinfectHeat .checkList.setItem(2, vheatDisinfectR1 )} - onHeatTransitionHotWaterEntered : { _disinfectHeat .checkList.setItem(3, vheatTransitionHotWater )} - onHeatDisinfectR2Entered : { _disinfectHeat .checkList.setItem(4, vheatDisinfectR2 )} - onHeatDeviceCoolDownEntered : { _disinfectHeat .checkList.setItem(5, vheatDeviceCoolDown )} - onHeatFlushAfterDisinfectEntered : { _disinfectHeat .checkList.setItem(6, vheatFlushAfterDisinfect )} - onHeatCancelEntered : { } - onHeatCompleteEntered : { } - - onChemicalNotRunningEntered : { } - onChemicalFlushBeforeDisinfectEntered : { _disinfectChemicalProgress .checkList.setItem(0, vchemicalFlushBeforeDisinfect )} - onChemicalMixWaterAndAcidEntered : { _disinfectChemicalProgress .checkList.setItem(1, vchemicalMixWaterAndAcid )} - onChemicalRemoveAcidEntered : { _disinfectChemicalProgress .checkList.setItem(2, vchemicalRemoveAcid )} - onChemicalDisinfectEntered : { _disinfectChemicalProgress .checkList.setItem(3, vchemicalDisinfect )} - onChemicalFlushAfterDisinfectEntered : { _disinfectChemicalProgress .checkList.setItem(4, vchemicalFlushAfterDisinfect )} - onChemicalCancelEntered : { } - onChemicalCompleteEntered : { } - } - // ----- Commands - onDisinfectSkip : { vDisinfectAdjustDisinfect .doFlush ( )} - onDisinfectHeatClicked : { vDisinfectAdjustDisinfect .doDisinfectHeat ( )} - onDisinfectChemicalClicked : { vDisinfectAdjustDisinfect .doDisinfectChemical( )} - onDisinfectChemicalConfirm : { vDisinfectAdjustChemicalConfirm.doConfirm ( )} - - // ------ Navigations - Connections { target: vPostTreatmentStates - onPatientDisconnectionChanged : { console.debug("patientDisconnection", vpatientDisconnection )} - onDrainReservoirsChanged : { console.debug("drainReservoirs ", vdrainReservoirs )} - onVerifyChanged : { console.debug("verify ", vverify )} - } - + // ----- Navigation Connections { target: vHDOperationMode - onStandbyWaitDisinfectChanged : { page( _disinfect , vstandbyWaitDisinfect )} // initialItem - onStandbyDGFlushChanged : { page( _disinfectFlush , vstandbyDGFlush )} - onStandbyDGDisinfectHeatChanged : { page( _disinfectHeat , vstandbyDGDisinfectHeat )} - onStandbyDGDisinfectChemicalChanged : { page( _disinfectChemicalProgress , vstandbyDGDisinfectChemical )} + onStandbyWaitDisinfectChanged : { page( _disinfectHome , vstandbyWaitDisinfect )} // initialItem } // ----- Responses Connections { target: vDisinfectAdjustDisinfect onAdjustmentTriggered : { - if ( vDisinfectAdjustDisinfect.adjustment_Accepted ) { - _disinfect.reasonText = "" - if ( vDisinfectAdjustDisinfect.chemical ) - page( _disinfectChemicalInstruction ) - } else { - _disinfect.reasonText = vDisinfectAdjustDisinfect.text() - } + if ( vDisinfectAdjustDisinfect.adjustment_Accepted ){ _disinfectHome.reasonText = "" } + else { _disinfectHome.reasonText = vDisinfectAdjustDisinfect.text() } } } - Connections { target: vDisinfectAdjustChemicalConfirm - onAdjustmentTriggered : { - if ( vDisinfectAdjustChemicalConfirm.adjustment_Accepted ) { - _disinfectChemicalInstruction.reasonText = "" - } else { - _disinfectChemicalInstruction.reasonText = vDisinfectAdjustChemicalConfirm.text() - } - } - } onVisibleChanged: { if (visible) { Index: sources/gui/qml/pages/settings/SettingsDG.qml =================================================================== diff -u -r6f2622be80fcaee8d71baf78404627381157970c -r153bcdb67dca6c40022318b80d5c7079d48bb37f --- sources/gui/qml/pages/settings/SettingsDG.qml (.../SettingsDG.qml) (revision 6f2622be80fcaee8d71baf78404627381157970c) +++ sources/gui/qml/pages/settings/SettingsDG.qml (.../SettingsDG.qml) (revision 153bcdb67dca6c40022318b80d5c7079d48bb37f) @@ -34,6 +34,8 @@ * on daily cycle at certain time of the day */ SettingsBase { id: _root + readonly property bool enableScheduling: false // TODO : phase 1 doesn't have this feature (disinfection schedule) + QtObject { id: _settingsDG property string status: "" function doConfirm(vWaterFlushScheduleTimeHour , @@ -62,8 +64,8 @@ _heatDisinfectionScheduleTime .isValid && _heatDisinfectionScheduleCycle .isValid - confirmVisible : false // TODO : phase 1 doesn't have this feature (disinfection schedule) - confirmEnabled : _root.isValid + confirmVisible : true + confirmEnabled : _root.enableScheduling firstFocusInput : _waterFlushScheduleTime notificationText: _settingsDG.status onConfirmClicked: { @@ -77,7 +79,7 @@ } Row { id: _container - visible: false // TODO : phase 1 doesn't have this feature (disinfection schedule) + visible: true spacing: 25 y : Qt.inputMethod.visible && _keyboard.visible ? topMarginContent : ( (_root.height - _container.height) / 2 ) Behavior on y { NumberAnimation { duration: Variables.keybardAnimationDuration } } @@ -131,25 +133,19 @@ Footer { anchors.bottomMargin: Variables.mainMenuHeight + Variables.notificationHeight + Variables.minVGap - childrenWidth: 300 + childrenWidth: parent.width / 3 children: [ - TouchRect { text.text: qsTr("Water Flush") - onClicked: vDisinfectAdjustDisinfect .doFlush ()}, - TouchRect { text.text: qsTr("Heat Disinfection") - onClicked: vDisinfectAdjustDisinfect .doDisinfectHeat ()}, - TouchRect { text.text: qsTr("Chemical Disinfection") - onClicked: vDisinfectAdjustDisinfect .doDisinfectChemical()} + TouchRect { text.text: qsTr("DG Cleaning") + onClicked: { vDisinfectAdjustDisinfect .doInitiate () } + } ] } // ----- Responses Connections { target: vDisinfectAdjustDisinfect onAdjustmentTriggered : { - if ( ! visible ) return if ( vDisinfectAdjustDisinfect.adjustment_Accepted ) { _root.notificationText = "" - _mainStack.doSettingsDisinfect() // go to disinfect stack - pop() // back to settings stack main menu } else { _root.notificationText = vDisinfectAdjustDisinfect.text() } Index: sources/gui/qml/pages/settings/SettingsStack.qml =================================================================== diff -u -r8f336b528afb37743d4ae3404c810e6a9e4422c4 -r153bcdb67dca6c40022318b80d5c7079d48bb37f --- sources/gui/qml/pages/settings/SettingsStack.qml (.../SettingsStack.qml) (revision 8f336b528afb37743d4ae3404c810e6a9e4422c4) +++ sources/gui/qml/pages/settings/SettingsStack.qml (.../SettingsStack.qml) (revision 153bcdb67dca6c40022318b80d5c7079d48bb37f) @@ -289,6 +289,7 @@ Connections { target: vHDOperationMode onServiceChanged : gotoServiceMode(vservice) + onStandbyWaitDisinfectChanged : { page( _settingsHome , vstandbyWaitDisinfect )} } onVisibleChanged: { Index: sources/model/hd/alarm/MAlarmMapping.cpp =================================================================== diff -u -rcb7d9e125fe619ab0713f9146e9774940e26a096 -r153bcdb67dca6c40022318b80d5c7079d48bb37f --- sources/model/hd/alarm/MAlarmMapping.cpp (.../MAlarmMapping.cpp) (revision cb7d9e125fe619ab0713f9146e9774940e26a096) +++ sources/model/hd/alarm/MAlarmMapping.cpp (.../MAlarmMapping.cpp) (revision 153bcdb67dca6c40022318b80d5c7079d48bb37f) @@ -7,7 +7,7 @@ * * \file MAlarmMapping.cpp * \author (last) Behrouz NematiPour - * \date (last) 12-Aug-2022 + * \date (last) 14-Aug-2022 * \author (original) Behrouz NematiPour * \date (original) 03-May-2021 *