Index: sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml =================================================================== diff -u -r07121b02499a4c929c5b5e8bd804a67539574c1b -rc70815ad2b3beadf61832f2e4d12eb90d476e020 --- sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml (.../PreTreatmentStack.qml) (revision 07121b02499a4c929c5b5e8bd804a67539574c1b) +++ sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml (.../PreTreatmentStack.qml) (revision c70815ad2b3beadf61832f2e4d12eb90d476e020) @@ -62,6 +62,11 @@ stackView.onCurrentItemChanged: if ( stackView.currentItem != _pretreatmentInstallation ) { _headerBar.activeStack = stackView } + function setPage(vPage, vCondition) { + _root.stackStepIndex = _root.stepKeys.indexOf(vPage.stepIndex) + page( vPage , vCondition) + } + // dynamically rebuild map 🗺️ when entering pretreatment. // { step key (enum) : step name (string) } -- decided to use 2 parallel list for better indexing function rebuildMap() { @@ -100,22 +105,22 @@ function confirmClicked() { switch ( stepKeys[_root.stackStepIndex] ) { case PreTreatmentStack.Step.Concentrates: - page ( _pretreatmentInstallation ) + setPage ( _pretreatmentInstallation ) break case PreTreatmentStack.Step.Installation: if ( vSettings.advancedMode ) { vPreTreatmentAdjustmentDisposablesConfirm.doConfirm() } else { _pretreatmentInstallation.continueClicked() } break case PreTreatmentStack.Step.SelfTests: - page ( _pretreatmentPrime ) + setPage ( _pretreatmentPrime ) break case PreTreatmentStack.Step.Prime: if ( _pretreatmentPrime.timeCircleProgressValue === 0 ) { vPreTreatmentAdjustmentDisposablesPrime.doPrime(); } - page ( _pretreatmentCreate ) + setPage ( _pretreatmentCreate ) break case PreTreatmentStack.Step.CreateRx: _pretreatmentCreate.confirmButtonClicked() - if ( vTreatmentCreate.parametersValidated ) { page ( _pretreatmentConnect ) } + if ( vTreatmentCreate.parametersValidated ) { setPage ( _pretreatmentConnect ) } break case PreTreatmentStack.Step.Connect: vPreTreatmentAdjustmentStartTreatment.doStart() @@ -222,46 +227,25 @@ } // Pages - PreTreatmentBase { id: _pretreatmentConcentrates - instructionBased : true - onVisibleChanged : if (visible) { _root.stackStepIndex = stepKeys.indexOf(PreTreatmentStack.Step.Concentrates); updateModel() } - } + PreTreatmentBase { id: _pretreatmentConcentrates; stepIndex: PreTreatmentStack.Step.Concentrates; instructionBased: true } + PreTreatmentInstallStack { id: _pretreatmentInstallation; stepIndex: PreTreatmentStack.Step.Installation } + PreTreatmentSelfTests { id: _pretreatmentSelfTests; stepIndex: PreTreatmentStack.Step.SelfTests } + PreTreatmentPrime { id: _pretreatmentPrime; stepIndex: PreTreatmentStack.Step.Prime } + PreTreatmentCreate { id: _pretreatmentCreate; stepIndex: PreTreatmentStack.Step.CreateRx } + PreTreatmentBase { id: _pretreatmentConnect; stepIndex: PreTreatmentStack.Step.Connect; instructionBased: true } - PreTreatmentInstallStack { id: _pretreatmentInstallation - onVisibleChanged : if (visible) { _root.stackStepIndex = stepKeys.indexOf(PreTreatmentStack.Step.Installation); initStack() } - } - - PreTreatmentSelfTests{ id: _pretreatmentSelfTests - onVisibleChanged : if (visible) { _root.stackStepIndex = stepKeys.indexOf(PreTreatmentStack.Step.SelfTests); } - } - - PreTreatmentPrime { id: _pretreatmentPrime - onVisibleChanged : if (visible) { _root.stackStepIndex = stepKeys.indexOf(PreTreatmentStack.Step.Prime); } - } - - PreTreatmentCreate { id: _pretreatmentCreate - onVisibleChanged : if (visible) { _root.stackStepIndex = stepKeys.indexOf(PreTreatmentStack.Step.CreateRx) } - showCreateRxHeaderButton: false - } - - PreTreatmentBase { id: _pretreatmentConnect - instructionBased : true - onVisibleChanged : if (visible) { _root.stackStepIndex = stepKeys.indexOf(PreTreatmentStack.Step.Connect); updateModel() } - showCreateRxHeaderButton: false - } - // Slots Connections { target: vTDOpMode - function onPreTreatmentChanged( vValue ) { if ( ! vTreatmentCreate.txCode ) { vTreatmentCreate.generateTxCode() } - if ( vSettings.advancedMode ) { page ( _pretreatmentInstallation , vValue )} - else { page ( _pretreatmentConcentrates , vValue )} + function onPreTreatmentChanged( vValue ) { if ( ! vTreatmentCreate.txCode ) { vTreatmentCreate.generateTxCode() } + if ( vSettings.advancedMode ) { setPage ( _pretreatmentInstallation , vValue )} + else { setPage ( _pretreatmentConcentrates , vValue )} } } // Installation Connections { target: _pretreatmentInstallation - function onGoToNextStep () { page ( _pretreatmentSelfTests )} - function onGoToPreviousStep () { page ( _pretreatmentConcentrates )} + function onGoToNextStep () { setPage ( _pretreatmentSelfTests )} + function onGoToPreviousStep () { setPage ( _pretreatmentConcentrates )} } // priming @@ -278,7 +262,7 @@ // creat rx Connections{ target: vTreatmentCreate function onDidValidationPass ( ) { - if ( _pretreatmentCreate.visible) { page ( _pretreatmentConnect ) } + if ( _pretreatmentCreate.visible) { setPage ( _pretreatmentConnect ) } } }