Index: sources/gui/qml/components/HeaderBar.qml =================================================================== diff -u -r0975a67dd4e4673b9a7b226bfea02cbfa489c418 -r07121b02499a4c929c5b5e8bd804a67539574c1b --- sources/gui/qml/components/HeaderBar.qml (.../HeaderBar.qml) (revision 0975a67dd4e4673b9a7b226bfea02cbfa489c418) +++ sources/gui/qml/components/HeaderBar.qml (.../HeaderBar.qml) (revision 07121b02499a4c929c5b5e8bd804a67539574c1b) @@ -10,9 +10,9 @@ property alias headerMenuIndex : _headerMenu.index property alias userMode : _loggedInUser.text readonly property int currentScreen : _headerMenu.currentScreen - property bool isCreateRx : false // This is to hide in the create rx icon in the screen only property bool isHeparinFeatured : vSettings.heparinSyringePump property bool isHDFFeatured : vTreatmentCreate.treatmentModality === HeaderBar.Mode_HDF + property StackView activeStack : null width : Variables.applicationWidth @@ -118,7 +118,6 @@ text : vDateTime.time font.pixelSize : Fonts.fontHeaderbarTime font.weight : Font.DemiBold - } Text { id: _dateText @@ -193,10 +192,11 @@ iconSize : Variables.headerIconDiameter iconImageSource : "qrc:/images/iPrescription" extraSpace : _headerButtonRow.spacing - visible : ( vTDOpMode.preTreatment || - vTDOpMode.inTreatment || - vTDOpMode.postTreatment ) && ! _root.isCreateRx + visible : _root.activeStack && + _root.activeStack.currentItem && + _root.activeStack.currentItem.showCreateRxHeaderButton ? _root.activeStack.currentItem.showCreateRxHeaderButton : false + onPressed : _headerbarPrescription.open() } Index: sources/gui/qml/components/ScreenItem.qml =================================================================== diff -u -r1286d74bd015276aab604808be2766136091c125 -r07121b02499a4c929c5b5e8bd804a67539574c1b --- sources/gui/qml/components/ScreenItem.qml (.../ScreenItem.qml) (revision 1286d74bd015276aab604808be2766136091c125) +++ sources/gui/qml/components/ScreenItem.qml (.../ScreenItem.qml) (revision 07121b02499a4c929c5b5e8bd804a67539574c1b) @@ -24,8 +24,9 @@ * \brief Parent item for all the Screens */ Item { id: _root - property alias backgroundRect : _backgroundRect - property string headerTitle : "" + property alias backgroundRect : _backgroundRect + property string headerTitle : "" + property bool showCreateRxHeaderButton : false visible: false width : Variables.applicationWidth Index: sources/gui/qml/main.qml =================================================================== diff -u -r5941bc1d07e5d58f9d848afbf1414ef4f78e9185 -r07121b02499a4c929c5b5e8bd804a67539574c1b --- sources/gui/qml/main.qml (.../main.qml) (revision 5941bc1d07e5d58f9d848afbf1414ef4f78e9185) +++ sources/gui/qml/main.qml (.../main.qml) (revision 07121b02499a4c929c5b5e8bd804a67539574c1b) @@ -385,10 +385,6 @@ function onStandbyWaitDisinfectChanged ( vValue ) { _mainMenu.isTreatment() } } - Connections { target: _mainStack - function onIsCreateRx ( vState ) { _headerBar.isCreateRx = vState } - } - // 9 - Others HeaderBar { id: _headerBar anchors.top: parent.top Index: sources/gui/qml/pages/MainStack.qml =================================================================== diff -u -r8cf828e5768d491c3e329c39b108624832054e94 -r07121b02499a4c929c5b5e8bd804a67539574c1b --- sources/gui/qml/pages/MainStack.qml (.../MainStack.qml) (revision 8cf828e5768d491c3e329c39b108624832054e94) +++ sources/gui/qml/pages/MainStack.qml (.../MainStack.qml) (revision 07121b02499a4c929c5b5e8bd804a67539574c1b) @@ -40,16 +40,13 @@ property var currentScreen: stackView.currentItem - signal isCreateRx(bool vState) // pass upstream to HeaderBar - stackView.initialItem : _root.initialItem // Standby / Disinfection DisinfectStack { id: _disinfectStack } // Pre Treatment - PreTreatmentStack { id: _preTreatmentStack - onIsCreateRxChanged : _root.isCreateRx(_preTreatmentStack.isCreateRx) - } + PreTreatmentStack { id: _preTreatmentStack } + // In TreatmentStack TreatmentStack { id: _treatmentStack } Index: sources/gui/qml/pages/TreatmentFlowBase.qml =================================================================== diff -u -rf41a1003ac920b64a11fc34193972bd1240003f3 -r07121b02499a4c929c5b5e8bd804a67539574c1b --- sources/gui/qml/pages/TreatmentFlowBase.qml (.../TreatmentFlowBase.qml) (revision f41a1003ac920b64a11fc34193972bd1240003f3) +++ sources/gui/qml/pages/TreatmentFlowBase.qml (.../TreatmentFlowBase.qml) (revision 07121b02499a4c929c5b5e8bd804a67539574c1b) @@ -57,11 +57,11 @@ property int checkListTimeSeconds : 0 property string completeText : "" - property bool isComplete : false + property int titleTopMargin : 110 + readonly property int sideMargins : Variables.defaultMargin * 2 + Variables.headerButtonsMargin // matching header button margins - property int titleTopMargin: 110 - readonly property int sideMargins : Variables.defaultMargin * 2 + Variables.headerButtonsMargin // matching header button margins + showCreateRxHeaderButton : true signal backClicked() signal confirmClicked() Index: sources/gui/qml/pages/endtreatment/EndTreatmentRecirculateStack.qml =================================================================== diff -u -r0975a67dd4e4673b9a7b226bfea02cbfa489c418 -r07121b02499a4c929c5b5e8bd804a67539574c1b --- sources/gui/qml/pages/endtreatment/EndTreatmentRecirculateStack.qml (.../EndTreatmentRecirculateStack.qml) (revision 0975a67dd4e4673b9a7b226bfea02cbfa489c418) +++ sources/gui/qml/pages/endtreatment/EndTreatmentRecirculateStack.qml (.../EndTreatmentRecirculateStack.qml) (revision 07121b02499a4c929c5b5e8bd804a67539574c1b) @@ -107,12 +107,6 @@ ] } - Connections { target: stackView - function onCurrentItemChanged() { - _headerBar.titleText = stackView.currentItem.headerTitle ?? "" - } - } - Connections { target: vTDTreatmentStates function onRcDisconnectChanged ( vValue ) { page( _recirculateDisconnect , vValue )} // set up function onRcStartedChanged ( vValue ) { page( _recirculateProgress , vValue )} // in progress Index: sources/gui/qml/pages/pretreatment/PreTreatmentBase.qml =================================================================== diff -u -r1286d74bd015276aab604808be2766136091c125 -r07121b02499a4c929c5b5e8bd804a67539574c1b --- sources/gui/qml/pages/pretreatment/PreTreatmentBase.qml (.../PreTreatmentBase.qml) (revision 1286d74bd015276aab604808be2766136091c125) +++ sources/gui/qml/pages/pretreatment/PreTreatmentBase.qml (.../PreTreatmentBase.qml) (revision 07121b02499a4c929c5b5e8bd804a67539574c1b) @@ -26,11 +26,11 @@ * \brief the parent page of the pre-treatment screens */ TreatmentFlowBase { id: _root - objectName: "_PreTreatmentBase" - header.visible : false - headerTitle : qsTr("Setup Treatment") + objectName : "_PreTreatmentBase" + header.visible : false + headerTitle : qsTr("Setup Treatment") - onVisibleChanged: if ( visible ) { _root.updateModel() } + onVisibleChanged : if ( visible ) { _root.updateModel() } // update model for instruction based steps function updateModel () { Index: sources/gui/qml/pages/pretreatment/PreTreatmentInstallStack.qml =================================================================== diff -u -r0975a67dd4e4673b9a7b226bfea02cbfa489c418 -r07121b02499a4c929c5b5e8bd804a67539574c1b --- sources/gui/qml/pages/pretreatment/PreTreatmentInstallStack.qml (.../PreTreatmentInstallStack.qml) (revision 0975a67dd4e4673b9a7b226bfea02cbfa489c418) +++ sources/gui/qml/pages/pretreatment/PreTreatmentInstallStack.qml (.../PreTreatmentInstallStack.qml) (revision 07121b02499a4c929c5b5e8bd804a67539574c1b) @@ -28,8 +28,13 @@ if (visible) { _headerBar.activeStack = stackView } + else { + stackView.initialItem = null + } } + stackView.onCurrentItemChanged: _headerBar.activeStack = stackView + signal goToNextStep() signal goToPreviousStep() Index: sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml =================================================================== diff -u -r0975a67dd4e4673b9a7b226bfea02cbfa489c418 -r07121b02499a4c929c5b5e8bd804a67539574c1b --- sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml (.../PreTreatmentStack.qml) (revision 0975a67dd4e4673b9a7b226bfea02cbfa489c418) +++ sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml (.../PreTreatmentStack.qml) (revision 07121b02499a4c929c5b5e8bd804a67539574c1b) @@ -52,13 +52,16 @@ _headerBar.activeStack = stackView _root.stackStepIndex = 0 _headerBar.userMode = vSettings.advancedMode ? qsTr("[Advanced]") : "" + } else { stackView.initialItem = null _headerBar.userMode = "" } } + stackView.onCurrentItemChanged: if ( stackView.currentItem != _pretreatmentInstallation ) { _headerBar.activeStack = stackView } + // dynamically rebuild map 🗺️ when entering pretreatment. // { step key (enum) : step name (string) } -- decided to use 2 parallel list for better indexing function rebuildMap() { @@ -237,12 +240,14 @@ } PreTreatmentCreate { id: _pretreatmentCreate - onVisibleChanged : if (visible) { _root.stackStepIndex = stepKeys.indexOf(PreTreatmentStack.Step.CreateRx) } + 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() } + instructionBased : true + onVisibleChanged : if (visible) { _root.stackStepIndex = stepKeys.indexOf(PreTreatmentStack.Step.Connect); updateModel() } + showCreateRxHeaderButton: false } // Slots Index: sources/gui/qml/pages/treatment/TreatmentBloodPrime.qml =================================================================== diff -u -r39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26 -r07121b02499a4c929c5b5e8bd804a67539574c1b --- sources/gui/qml/pages/treatment/TreatmentBloodPrime.qml (.../TreatmentBloodPrime.qml) (revision 39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26) +++ sources/gui/qml/pages/treatment/TreatmentBloodPrime.qml (.../TreatmentBloodPrime.qml) (revision 07121b02499a4c929c5b5e8bd804a67539574c1b) @@ -30,6 +30,7 @@ property alias notification : _notification headerTitle : qsTr("Blood Priming") + showCreateRxHeaderButton : true onVisibleChanged: { if (visible) { Index: sources/gui/qml/pages/treatment/TreatmentHDF.qml =================================================================== diff -u -r171387aefe2f3d21245ff32fc9b9656c79bfa406 -r07121b02499a4c929c5b5e8bd804a67539574c1b --- sources/gui/qml/pages/treatment/TreatmentHDF.qml (.../TreatmentHDF.qml) (revision 171387aefe2f3d21245ff32fc9b9656c79bfa406) +++ sources/gui/qml/pages/treatment/TreatmentHDF.qml (.../TreatmentHDF.qml) (revision 07121b02499a4c929c5b5e8bd804a67539574c1b) @@ -27,6 +27,7 @@ ScreenItem { id: _root readonly property int margin : Variables.defaultMargin * 5 readonly property color statusColor : Colors.statusActive + showCreateRxHeaderButton : true signal sectionPressuresClicked() signal treatmentHDFEditClicked() Index: sources/gui/qml/pages/treatment/TreatmentHeparin.qml =================================================================== diff -u -r171387aefe2f3d21245ff32fc9b9656c79bfa406 -r07121b02499a4c929c5b5e8bd804a67539574c1b --- sources/gui/qml/pages/treatment/TreatmentHeparin.qml (.../TreatmentHeparin.qml) (revision 171387aefe2f3d21245ff32fc9b9656c79bfa406) +++ sources/gui/qml/pages/treatment/TreatmentHeparin.qml (.../TreatmentHeparin.qml) (revision 07121b02499a4c929c5b5e8bd804a67539574c1b) @@ -54,6 +54,7 @@ readonly property real cumulative : vTreatmentHeparin.cumulative readonly property real target : vTreatmentHeparin.target readonly property string timeRemaining : vTreatmentHeparin.timeRemaining + showCreateRxHeaderButton : true signal idleTimeout() Index: sources/gui/qml/pages/treatment/TreatmentHome.qml =================================================================== diff -u -r39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26 -r07121b02499a4c929c5b5e8bd804a67539574c1b --- sources/gui/qml/pages/treatment/TreatmentHome.qml (.../TreatmentHome.qml) (revision 39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26) +++ sources/gui/qml/pages/treatment/TreatmentHome.qml (.../TreatmentHome.qml) (revision 07121b02499a4c929c5b5e8bd804a67539574c1b) @@ -31,7 +31,7 @@ ScreenItem { id: _root property int bloodFlow_MeasuredFlow_Precision: 0 property int dialysateInletFlow_MeasuredFlow_Precision: 0 - + showCreateRxHeaderButton: true onVisibleChanged: { if (visible) { _mainMenu.hidden = true Index: sources/gui/qml/pages/treatment/TreatmentTrends.qml =================================================================== diff -u -raacca8cc53f5e4ff5abb6d7df3d5ad48c915645c -r07121b02499a4c929c5b5e8bd804a67539574c1b --- sources/gui/qml/pages/treatment/TreatmentTrends.qml (.../TreatmentTrends.qml) (revision aacca8cc53f5e4ff5abb6d7df3d5ad48c915645c) +++ sources/gui/qml/pages/treatment/TreatmentTrends.qml (.../TreatmentTrends.qml) (revision 07121b02499a4c929c5b5e8bd804a67539574c1b) @@ -29,6 +29,7 @@ ScreenItem { id: _root objectName: "_TreatmentTrends" property alias isParamExpanded: _paramArea.isExpanded + showCreateRxHeaderButton: true onVisibleChanged: { _paramList.positionViewAtBeginning()