Index: sources/gui/qml/pages/MainStack.qml =================================================================== diff -u -r54c4136d95375116e6daf23b7d4179159cf13d0c -rfec49d1a8016d25cedff4cf2fefb4c4cd1c7c259 --- sources/gui/qml/pages/MainStack.qml (.../MainStack.qml) (revision 54c4136d95375116e6daf23b7d4179159cf13d0c) +++ sources/gui/qml/pages/MainStack.qml (.../MainStack.qml) (revision fec49d1a8016d25cedff4cf2fefb4c4cd1c7c259) @@ -36,16 +36,10 @@ StackItem { id : _root // DEBUG: this property can mostly be used for debugging to get pass the initial screen - property var initialItem: _postModeScreen // _mainHome + property var initialItem: _postModeScreen stackView.initialItem : _root.initialItem - function doSettingsDisinfect() { - _mainMenu.currentIndex = 0 - page( _disinfectStack ) - _disinfectStack.doSettingsDisinfect() - } - // Standby / Disinfection DisinfectStack { id: _disinfectStack } // Pre Treatment @@ -116,22 +110,45 @@ MainHome { id: _mainHome onStartTreatment : { page( _treatmentStack )} - onCreateTreatment : { vPreTreatmentAdjustmentInitTreatment.doInitiate() } + onCreateTreatment : { vPreTreatmentAdjustmentInitTreatment.doInitiate() + if ( vSettings.noCANBus ) + vHDOperationMode.validateParametersChanged(true) + } onVisibleChanged: { if (visible) { _mainMenu.hidden = false // initially our landing screen is _initialModeScreen which should not have the Main menu. } + else { + _mainHome.reasonText = "" + } } } + Connections { target: vSettings + onNoCANBusChanged: { + //// DEBUG: + // console.debug("vSettings.noCANBus" , vSettings .noCANBus , + // "vHDOperationMode.init" , vHDOperationMode .init , + // "vHDOperationMode.fault" , vHDOperationMode .fault , + // "vHDOperationMode.opMode" , vHDOperationMode .opMode ) + if ( vSettings.noCANBus ) { + page( _mainHome , + vHDOperationMode.fault || // in fault mode + vHDOperationMode.init || // in initial post mode + vHDOperationMode.opMode === 0 // has not even been initialized , which most probably is the case. + ) + } + } + } + Connections { target: vHDOperationMode onIsTreatmentChanged : { if( visTreatment ) _mainMenu.isTreatment() } onIsManagerChanged : { if( visManager ) _mainMenu.isManager () } onIsSettingsChanged : { if( visSettings ) _mainMenu.isSettings () } - onFaultChanged : { page( _faultModeScreen , vfault )} + onFaultChanged : { page( _faultModeScreen , vfault && ! vSettings.noCANBus )} onServiceChanged : { page( _serviceModeScreen , vservice )} - onInitChanged : { page( _postModeScreen , vinit ) + onInitChanged : { page( _postModeScreen , vinit && ! vSettings.noCANBus ) if ( vinit ) vHDPOSTData.reset() // better to reset on vinit = true because the rest makes the screen animation to run } @@ -148,20 +165,6 @@ 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 @@ -187,9 +190,7 @@ 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 } } }