Index: sources/gui/qml/pages/MainStack.qml =================================================================== diff -u -r47c8f13876317ba36500400f894d96c9bce9eb17 -rbd476995001c165188e4c86010bf8b0505d2ca35 --- sources/gui/qml/pages/MainStack.qml (.../MainStack.qml) (revision 47c8f13876317ba36500400f894d96c9bce9eb17) +++ sources/gui/qml/pages/MainStack.qml (.../MainStack.qml) (revision bd476995001c165188e4c86010bf8b0505d2ca35) @@ -1,15 +1,15 @@ /*! * - * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. + * Copyright (c) 2021-2022 Diality Inc. - All Rights Reserved. * \copyright * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * - * \file ManagerStack.qml + * \file MainStack.qml * \author (last) Behrouz NematiPour - * \date (last) 10-Mar-2021 + * \date (last) 28-Jan-2022 * \author (original) Behrouz NematiPour - * \date (original) 21-Oct-2019 + * \date (original) 01-Mar-2021 * */ @@ -36,7 +36,7 @@ StackItem { id : _root // DEBUG: this property can mostly be used for debugging to get pass the initial screen - property var initialItem: _initialModeScreen // _mainHome + property var initialItem: _postModeScreen // _mainHome stackView.initialItem : _root.initialItem @@ -73,22 +73,19 @@ onVisibleChanged: if (visible) _mainMenu.hidden = true } - ScreenItem { id: _initialModeScreen - onVisibleChanged: - if (visible) { - _mainMenu.hidden = true - } + ScreenItem { id: _postModeScreen + onVisibleChanged: if (visible) _mainMenu.hidden = true Image { id: _dialityLogo Behavior on opacity { OpacityAnimator { duration: 1000 } } - opacity : _initialModeScreen.visible ? 1 : 0 + opacity : _postModeScreen.visible ? 1 : 0 anchors.centerIn: parent source : "qrc:/images/iLogoDiality" } ProgressBar { minimum : 0 maximum : vHDPOSTData.itemCount - value : vHDPOSTData.start ? vHDPOSTData.itemIndex + 1 : 0 // the index starts from 0 and 0 which is a valid test index will not show anything. So for progress we start from 1. + value : vHDPOSTData.itemIndex width : _dialityLogo.width + 50 height : 3 minText .visible: false @@ -113,7 +110,7 @@ // So we can show that POST has completed fail : ! vHDPOSTData.doneResult done : vHDPOSTData.done - pause : ! _initialModeScreen.visible + pause : ! _postModeScreen.visible } } @@ -128,9 +125,13 @@ } Connections { target: vHDOperationMode - // onFaultChanged : { page( _faultModeScreen , vfault )} // may needed later. + onIsTreatmentChanged : { if( visTreatment ) _mainMenu.isTreatment() } + onIsManagerChanged : { if( visManager ) _mainMenu.isManager () } + onIsSettingsChanged : { if( visSettings ) _mainMenu.isSettings () } + + onFaultChanged : { page( _faultModeScreen , vfault )} onServiceChanged : { page( _serviceModeScreen , vservice )} - onInitChanged : { page( _root.initialItem , vinit ) + onInitChanged : { page( _postModeScreen , vinit ) if ( vinit ) vHDPOSTData.reset() // better to reset on vinit = true because the rest makes the screen animation to run } @@ -147,6 +148,20 @@ onInvalidModeChanged : { page( null , vinvalidMode )} } + // As long as UI is in In-Tx BP/HR is updated and the dialog will pop up on interval. + Connections { target: vHDOperationMode + onInTreatmentChanged : { + vTreatmentVitals.enableDialog = vinTreatment + if ( vinTreatment ) { + vTreatmentVitals.doTimerStart() + } + else { + vTreatmentVitals.doTimerStop() + vTreatmentVitals.doReset() + } + } + } + // the page function is more flixible regarding our current design // and it's easier(or may not need) to modify later if required. // and is more optimized and will never leave screen empty @@ -165,14 +180,16 @@ // Treatment Stop onTxStopChanged : { page( _treatmentStack , vtxStop )} onTsRecirculateChanged : { page( null , vtsRecirculate )} + onTsRecirculateDialysateChanged : { page( null , vtsRecirculateDialysate )} + onTsRecirculateBloodChanged : { page( null , vtsRecirculateBlood )} onTsRecirculateNoChanged : { page( null , vtsRecirculateNo )} } Connections { target: vPreTreatmentAdjustmentInitTreatment onAdjustmentTriggered: { // this may be handled by alarm and in that case if it is shown, it would be duplicate or simply will be covered by alarm. // if not it is not handled by alarm, removing the comment will make it work properly, since the MainHome modified to support this. - // _mainHome.reasonText = vPreTreatmentAdjustmentInitTreatment.text() + _mainHome.reasonText = vPreTreatmentAdjustmentInitTreatment.adjustment_ReasonText } } }