Index: sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml =================================================================== diff -u -rfb3c31821213807fb8d0e40f4840181f370c23e4 -r810c7a5420afe2e11b25d1c85543358d038cbd2d --- sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml (.../PreTreatmentStack.qml) (revision fb3c31821213807fb8d0e40f4840181f370c23e4) +++ sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml (.../PreTreatmentStack.qml) (revision 810c7a5420afe2e11b25d1c85543358d038cbd2d) @@ -49,15 +49,21 @@ if (visible) { rebuildMap() _mainMenu.hidden = true - _headerBar.titleText = qsTr("Setup Treatment") + _headerBar.activeStack = stackView _root.stackStepIndex = 0 + _headerBar.userMode = vSettings.advancedMode ? qsTr("[Advanced]") : "" } else { stackView.initialItem = null - _headerBar.titleText = "" + _headerBar.userMode = "" } } + 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() { @@ -96,22 +102,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() @@ -146,7 +152,7 @@ return _pretreatmentInstallation.confirmButtonText() case PreTreatmentStack.Step.CreateRx: return _pretreatmentCreate.isFirstTab ? qsTr("Next") : - qsTr("Validate") + qsTr("Confirm") case PreTreatmentStack.Step.Connect: return qsTr("Start") default: @@ -157,9 +163,8 @@ function backEnabled() { switch ( stepKeys[_root.stackStepIndex] ) { case PreTreatmentStack.Step.Concentrates: - return true case PreTreatmentStack.Step.Installation: - return _pretreatmentInstallation.backEnabled() + return true case PreTreatmentStack.Step.CreateRx: return ! _pretreatmentCreate.isFirstTab default: @@ -219,44 +224,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) } - } - - PreTreatmentBase { id: _pretreatmentConnect - instructionBased : true - onVisibleChanged : if (visible) { _root.stackStepIndex = stepKeys.indexOf(PreTreatmentStack.Step.Connect); updateModel() } - } - // 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 @@ -273,7 +259,7 @@ // creat rx Connections{ target: vTreatmentCreate function onDidValidationPass ( ) { - if ( _pretreatmentCreate.visible) { page ( _pretreatmentConnect ) } + if ( _pretreatmentCreate.visible) { setPage ( _pretreatmentConnect ) } } }