Index: leahi.qrc =================================================================== diff -u -rdfb5f7070961fd2a34c2cb8d897ecc43c4f46598 -r1286d74bd015276aab604808be2766136091c125 --- leahi.qrc (.../leahi.qrc) (revision dfb5f7070961fd2a34c2cb8d897ecc43c4f46598) +++ leahi.qrc (.../leahi.qrc) (revision 1286d74bd015276aab604808be2766136091c125) @@ -190,6 +190,7 @@ sources/gui/qml/components/SubStepIndicator.qml sources/gui/qml/components/SDCInfo.qml sources/gui/qml/components/BaseChart.qml + sources/gui/qml/components/HelpNotification.qml sources/gui/qml/compounds/PressureRangeSlider.qml @@ -313,7 +314,6 @@ sources/gui/qml/pages/endtreatment/EndTreatmentRinsebackStack.qml sources/gui/qml/pages/endtreatment/EndTreatmentRecirculateStack.qml - sources/gui/qml/pages/endtreatment/EndTreatmentEndStack.qml sources/gui/qml/pages/endtreatment/EndTreatmentBase.qml Index: sources/gui/qml/components/HeaderBar.qml =================================================================== diff -u -rb0370d82c7653eca5347374aa3f6b02a188c8fe7 -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/components/HeaderBar.qml (.../HeaderBar.qml) (revision b0370d82c7653eca5347374aa3f6b02a188c8fe7) +++ sources/gui/qml/components/HeaderBar.qml (.../HeaderBar.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -1,4 +1,5 @@ import QtQuick 2.12 +import QtQuick.Controls 2.12 // StackView import "qrc:/components" import "qrc:/globals" @@ -7,11 +8,12 @@ property alias menuHidden : _headerMenu.hidden property alias headerMenuIndex : _headerMenu.index - property alias titleText : _title.text property alias loggedUser : _loggedInUser.text readonly property int currentScreen : _headerMenu.currentScreen - property bool isCreateRx : false // set in slot in parent + 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 height : Variables.headerHeight @@ -82,6 +84,9 @@ verticalAlignment : Text.AlignVCenter font.pixelSize : Fonts.fontHeaderbarTitle font.weight : Font.DemiBold + text : _root.activeStack && + _root.activeStack.currentItem && + _root.activeStack.currentItem.headerTitle ? _root.activeStack.currentItem.headerTitle : "" } Item { id: _dateTimeItem @@ -179,18 +184,18 @@ iconSize : Variables.headerIconDiameter iconImageSource : "qrc:/images/iPrescription" extraSpace : _headerButtonRow.spacing - visible : vTDOpMode.preTreatment || - vTDOpMode.inTreatment || - vTDOpMode.postTreatment + visible : ( vTDOpMode.preTreatment || + vTDOpMode.inTreatment || + vTDOpMode.postTreatment ) && ! _root.isCreateRx onPressed : _headerbarPrescription.open() } VitalsButton { id : _vitalsButton extraSpace : _headerButtonRow.spacing - visible :( vTDOpMode.preTreatment || + visible : vTDOpMode.preTreatment || vTDOpMode.inTreatment || - vTDOpMode.postTreatment ) && ! _root.isCreateRx + vTDOpMode.postTreatment onPressed : _treatmentAdjustmentVitals.open() } Index: sources/gui/qml/components/HelpNotification.qml =================================================================== diff -u --- sources/gui/qml/components/HelpNotification.qml (revision 0) +++ sources/gui/qml/components/HelpNotification.qml (revision 1286d74bd015276aab604808be2766136091c125) @@ -0,0 +1,24 @@ +import QtQuick 2.0 + + +Item { id: _root + + height : 35 + width : _infoNotificationBar.implicitWidth + + NotificationBarSmall { id: _infoNotificationBar + color : "transparent" + imageSource : "qrc:/images/iHelp" + imageVisible : true + text : qsTr("TAP THE STEP NUMBER TO VIEW IMAGE") + textColor : "#3682ED" + imageDiameter : 25 + imageTopMargin : 3 + textfontWeight : Font.DemiBold + height : parent.height + rowAnchors { + centerIn: undefined + left : parent.left + } + } +} Index: sources/gui/qml/components/ScreenItem.qml =================================================================== diff -u -r3ef1a4ff361ba1774ad1a6f6170dbb174cadbdd5 -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/components/ScreenItem.qml (.../ScreenItem.qml) (revision 3ef1a4ff361ba1774ad1a6f6170dbb174cadbdd5) +++ sources/gui/qml/components/ScreenItem.qml (.../ScreenItem.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -24,7 +24,8 @@ * \brief Parent item for all the Screens */ Item { id: _root - property alias backgroundRect: _backgroundRect + property alias backgroundRect : _backgroundRect + property string headerTitle : "" visible: false width : Variables.applicationWidth Index: sources/gui/qml/compounds/InstructionView.qml =================================================================== diff -u -r0f13b03278a566e8352bc26d3f181396a2490b20 -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/compounds/InstructionView.qml (.../InstructionView.qml) (revision 0f13b03278a566e8352bc26d3f181396a2490b20) +++ sources/gui/qml/compounds/InstructionView.qml (.../InstructionView.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -52,9 +52,42 @@ bottom : _root.bottom } + HelpNotification { id: _infoItem + anchors { + left : parent.left + top : parent.top + topMargin : Variables.defaultMargin + } + } + +// Item { id: _infoItem +// anchors { +// left : parent.left +// top : parent.top +// topMargin : Variables.defaultMargin +// } +// height : 35 +// width : parent.width / 2 + +// NotificationBarSmall { id: _infoNotificationBar +// color : "transparent" +// imageSource : "qrc:/images/iHelp" +// imageVisible : true +// text : qsTr("TAP THE STEP NUMBER TO VIEW IMAGE") +// textColor : "#3682ED" +// imageDiameter : 25 +// imageTopMargin : 3 +// textfontWeight : Font.DemiBold +// height : _infoItem.height +// rowAnchors { +// centerIn: undefined +// left : parent.left +// } +// } +// } + Column { id: _contentColumn - anchors.top : parent.top - anchors.topMargin : Variables.defaultMargin * 2 + anchors.top : _infoItem.bottom spacing : 5 width : parent.width / 2 @@ -72,12 +105,16 @@ height : 50 width : height radius : height - color : Colors.backgroundMainMenu + color : index === _root.currentIndex ? Colors.backgroundMainMenu : Colors.offWhite + border { + color: Colors.backgroundMainMenu + width: 2 + } Text { id: _stepNumberRect anchors.centerIn: parent text : index + 1 - color : Colors.white + color : index === _root.currentIndex ? Colors.offWhite : Colors.backgroundMainMenu font.pixelSize : 28 font.weight : Font.Medium } Index: sources/gui/qml/dialogs/ConfirmDialog.qml =================================================================== diff -u -r4da79084388ac25822ab24fb52ec1ca4083b50cc -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/dialogs/ConfirmDialog.qml (.../ConfirmDialog.qml) (revision 4da79084388ac25822ab24fb52ec1ca4083b50cc) +++ sources/gui/qml/dialogs/ConfirmDialog.qml (.../ConfirmDialog.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -99,6 +99,7 @@ anchors.margins : 0 anchors.top : undefined anchors.right : undefined + text.font.weight: Font.Medium textString : _root.extraText visible : _root.extraVisible onClicked: { Index: sources/gui/qml/dialogs/LockDialog.qml =================================================================== diff -u -rbea36be2766046e63c4e82539a630b5cee7ce1c6 -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/dialogs/LockDialog.qml (.../LockDialog.qml) (revision bea36be2766046e63c4e82539a630b5cee7ce1c6) +++ sources/gui/qml/dialogs/LockDialog.qml (.../LockDialog.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -10,8 +10,8 @@ AutoHideInfo { id: _root property bool isLocked: false - width : 600 - height : 400 + width : Variables.completeDialogWidth + height : Variables.completeDialogHeight backgroundColor : Colors.darkDialogColor fontSize : 35 verticalOffset : Variables.defaultMargin * 5 @@ -20,7 +20,7 @@ objectName: "mainCircle" anchors { top: parent.top - topMargin: Variables.defaultMargin * 2 + topMargin: Variables.defaultMargin * 4 horizontalCenter: parent.horizontalCenter } height : 200 Index: sources/gui/qml/dialogs/NotificationDialog.qml =================================================================== diff -u -rbea36be2766046e63c4e82539a630b5cee7ce1c6 -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/dialogs/NotificationDialog.qml (.../NotificationDialog.qml) (revision bea36be2766046e63c4e82539a630b5cee7ce1c6) +++ sources/gui/qml/dialogs/NotificationDialog.qml (.../NotificationDialog.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -43,6 +43,7 @@ property bool resumeVisible : false property bool rinsebackVisible : false + property bool temporaryBreakVisible: alarmID === 3 // TODO -- ONLY FOR DEMO - nned to update fw message and add property bool endVisible : false property bool okVisible : false property bool minVisible : true @@ -60,6 +61,7 @@ signal listClicked() signal resumeClicked() + signal temporaryBreakClicked() signal rinsebackClicked() signal endClicked() signal okClicked() @@ -121,30 +123,47 @@ bottom : _timerRect.top } - Item { id: _infoItem + HelpNotification { id: _infoItem anchors { left : parent.left - leftMargin : Variables.defaultMargin * 2 + leftMargin : Variables.defaultMargin * 4 top : parent.top topMargin : Variables.defaultMargin * 3 } - height : 35 - width : parent.width / 2 - NotificationBarSmall { id: _infoNotificationBar - color : "transparent" - imageSource : "qrc:/images/iHelp" - imageVisible : true - text : qsTr("TAP THE STEP NUMBER TO VIEW THE CORRESPONDING IMAGES") - textColor : "#595959" - imageDiameter : 25 - imageTopMargin : 3 - } } - Row { id: _alarmContentRow +// Item { id: _infoItem +// anchors { +// left : parent.left +// leftMargin : Variables.defaultMargin * 4 +// top : parent.top +// topMargin : Variables.defaultMargin * 3 +// } +// height : 35 +// width : parent.width / 2 + +// NotificationBarSmall { id: _infoNotificationBar +// color : "transparent" +// imageSource : "qrc:/images/iHelp" +// imageVisible : true +// text : qsTr("TAP THE STEP NUMBER TO VIEW IMAGE") +// textColor : "#3682ED" +// imageDiameter : 25 +// imageTopMargin : 3 +// textfontWeight : Font.DemiBold +// height : parent.height +// rowAnchors { +// centerIn: undefined +// left : parent.left +// } +// } +// } + + ListView {id: _listView anchors { top : _infoItem.bottom + topMargin : Variables.defaultMargin bottom : parent.bottom left : parent.left leftMargin : Variables.defaultMargin * 4 @@ -156,31 +175,34 @@ spacing : Variables.defaultMargin * 3 width : _descriptionRect.width - ListView {id: _listView - height : _alarmContentRow.height - width : parent.width * 0.65 - currentIndex: 0 - interactive : false - clip : true + height : _descriptionRect.height + width : _descriptionRect.width / 2 + currentIndex: 0 + interactive : false + clip : true delegate: Item { id: _delegateControl width : _listView.width height : Variables.instructionHeight clip : true - Rectangle { id: _stepRect - height : 40 - width : height - radius : height - color : Colors.backgroundMainMenu + Rectangle { id: _stepRect + height : 40 + width : height + radius : height + color : _delegateControl.ListView.isCurrentItem ? Colors.backgroundMainMenu : Colors.offWhite + border { + color: Colors.backgroundMainMenu + width: 2 + } - Text { id: _stepNumberRect - anchors.centerIn: parent - text : index + 1 - color : Colors.white - font.pixelSize : 20 - font.weight : Font.Medium - } + Text { id: _stepNumberRect + anchors.centerIn: parent + text : index + 1 + color : _delegateControl.ListView.isCurrentItem ? Colors.offWhite : Colors.backgroundMainMenu + font.pixelSize : 20 + font.weight : Font.Medium + } layer.enabled : true layer.effect : DropShadow { id: _dropShadow @@ -208,6 +230,14 @@ text : model.instruction wrapMode : Text.WordWrap } + height : parent.height + width : parent.width + font.pixelSize : Fonts.fontPixelInstructionStep + font.weight : _delegateControl.ListView.isCurrentItem ? Font.DemiBold : Font.Normal + color : _delegateControl.ListView.isCurrentItem ? "#18559E" : Colors.alarmDialogText + text : model.instruction + wrapMode : Text.WordWrap + } MouseArea { anchors.fill: parent @@ -221,17 +251,9 @@ } } - Item { id: _imageContainer - width: parent.width * 0.30 - height: _alarmContentRow.height - Variables.defaultMargin - anchors.verticalCenter: parent.verticalCenter - - Image { id: _figureImage - width: parent.width - height: parent.height - fillMode: Image.PreserveAspectFit - } - } + Image { id: _figureImage + anchors.right : parent.right + anchors.verticalCenter: parent.verticalCenter } } @@ -294,15 +316,15 @@ } Row { id: _buttonGroup - property int buttonsWidth : 250 + property int buttonsWidth : 350 spacing: 50 anchors { bottom : parent.bottom horizontalCenter: parent.horizontalCenter rightMargin : spacing leftMargin : spacing - bottomMargin : Variables.defaultMargin * 2 + bottomMargin : Variables.defaultMargin * 4 } // IMPORTANT NOTE : Alarm Dialog buttons @@ -315,32 +337,47 @@ TouchRect { id : _resumeTouchRect visible : resumeVisible onPressed : resumeClicked() - text.text : qsTr("RESUME") + text.text : qsTr("Resume") width : _buttonGroup.buttonsWidth isDefault : true backgroundColor: Colors.white fgColor : isPressed ? Colors.white : borderColor selectColor : Qt.darker(borderColor, 1.15) + pixelSize : Fonts.fontPixelNotification } + TouchRect { id : _temporaryBreak + visible : temporaryBreakVisible + onPressed : temporaryBreakClicked() + text.text : qsTr("Temporary Break") + width : _buttonGroup.buttonsWidth + backgroundColor: Colors.white + fgColor : isPressed ? Colors.white : borderColor + selectColor : Qt.darker(borderColor, 1.15) + pixelSize : Fonts.fontPixelNotification + } + + TouchRect { id : _rinsebackTouchRect visible : rinsebackVisible onPressed : rinsebackClicked() - text.text : qsTr("RINSEBACK") + text.text : qsTr("Return Blood & End Treatment") width : _buttonGroup.buttonsWidth backgroundColor: Colors.white fgColor : isPressed ? Colors.white : borderColor selectColor : Qt.darker(borderColor, 1.15) + pixelSize : Fonts.fontPixelNotification } TouchRect { id : _endTouchRect visible : endVisible onPressed : endClicked() - text.text : qsTr("END TREATMENT") + text.text : qsTr("End Treatment Only") width : _buttonGroup.buttonsWidth backgroundColor: Colors.white fgColor : isPressed ? Colors.white : borderColor selectColor : Qt.darker(borderColor, 1.15) + pixelSize : Fonts.fontPixelNotification } TouchRect { id : _okTouchRect @@ -351,6 +388,7 @@ backgroundColor: Colors.white fgColor : isPressed ? Colors.white : borderColor selectColor : Qt.darker(borderColor, 1.15) + pixelSize : Fonts.fontPixelNotification } } @@ -361,7 +399,7 @@ left : parent.left bottom : parent.bottom leftMargin : Variables.defaultMargin * 3 - bottomMargin: Variables.defaultMargin * 4 + bottomMargin: Variables.defaultMargin } color : Colors.alarmDialogGreyText font.pixelSize : Fonts.fontPixelAlarmID Index: sources/gui/qml/dialogs/RinsebackCompleteDialog.qml =================================================================== diff -u -r4da79084388ac25822ab24fb52ec1ca4083b50cc -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/dialogs/RinsebackCompleteDialog.qml (.../RinsebackCompleteDialog.qml) (revision 4da79084388ac25822ab24fb52ec1ca4083b50cc) +++ sources/gui/qml/dialogs/RinsebackCompleteDialog.qml (.../RinsebackCompleteDialog.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -3,12 +3,14 @@ import "qrc:/components" ConfirmDialog { id: _root + property bool isTxCompleted: false + messageText : qsTr("Blood Return Complete!") confirmText : qsTr("Fluid Bolus") cancelText : qsTr("End Treatment") extraText : qsTr("Recirculate") - extraVisible : true - isConfirmDefault : false + extraVisible : ! _root.isTxCompleted + isConfirmDefault: false width : Variables.completeDialogWidth height : Variables.completeDialogHeight Index: sources/gui/qml/dialogs/diagnostics/DiagnosticsSwipe.qml =================================================================== diff -u -r69c86c57349b7d4a6ba47a801ba27b1c470fade5 -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/dialogs/diagnostics/DiagnosticsSwipe.qml (.../DiagnosticsSwipe.qml) (revision 69c86c57349b7d4a6ba47a801ba27b1c470fade5) +++ sources/gui/qml/dialogs/diagnostics/DiagnosticsSwipe.qml (.../DiagnosticsSwipe.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -24,7 +24,7 @@ * \brief the pre treatment prime stack screen */ Item { id: _root - SwipeView { id: view + SwipeView { id: _view currentIndex: 0 anchors.fill: parent @@ -45,7 +45,7 @@ } width : _root.width - index : view.currentIndex + index : _view.currentIndex color : Colors.transparent titlePixelSize : 30 model : _model Index: sources/gui/qml/dialogs/watersample/WaterSampleDialysatePage.qml =================================================================== diff -u -ref8be521484c69132550e0d183fcaf964951d6dc -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/dialogs/watersample/WaterSampleDialysatePage.qml (.../WaterSampleDialysatePage.qml) (revision ef8be521484c69132550e0d183fcaf964951d6dc) +++ sources/gui/qml/dialogs/watersample/WaterSampleDialysatePage.qml (.../WaterSampleDialysatePage.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -10,13 +10,11 @@ anchors.fill: parent contentItem : Item { id: _content - readonly property int cellWidth : width / 2 - ( _row.spacing / 2 ) // 2 items for the row and subtract spacing for widths Text { id: _description anchors.top : parent.top text : qsTr("Test dialysate sample per your clinic's instructions.\n\nBased on facility policies, pH, conductivity, and temperature may be tested at this time") color : Colors.offWhite font.pixelSize : Fonts.fontPixelNotification - font.weight : Font.Light width : _content.width height : implicitHeight horizontalAlignment : Text.AlignHCenter @@ -26,15 +24,13 @@ Row { id: _row anchors.top : _description.bottom anchors.topMargin : Variables.defaultMargin * 4 - spacing : Variables.defaultMargin * 2 + spacing : Variables.defaultMargin * 3 Column { id: _leftColumn - spacing : Variables.defaultMargin + spacing : 15 LabelUnitContainer { id: _acidConcentrateContainer objectName : "_acidConcentrateContainer" - width : _content.cellWidth - height : Variables.adjustmentLabelUnitContainerHeight text : qsTr("Acid Concentrate") contentItem : Text { id: _acidConcentrateText anchors.centerIn: parent @@ -47,8 +43,6 @@ LabelUnitContainer { id: _bicarbonateCartrideSizeContainer objectName : "_bicarbonateCartrideSizeContainer" - width : _content.cellWidth - height : Variables.adjustmentLabelUnitContainerHeight text : qsTr("Bicarbonate Cartridge Size") contentItem : Text { id: _bicarbonateCartrideSizeText anchors.centerIn: parent @@ -58,11 +52,8 @@ } } - LabelUnitContainer { id: _sodiumContainer objectName : "_sodiumContainer" - width : _content.cellWidth - height : Variables.adjustmentLabelUnitContainerHeight text : qsTr("Sodium") unitText : Variables.unitTextConcentration contentItem : Text { id: _sodiumText @@ -75,8 +66,6 @@ LabelUnitContainer { id: _bicarbonateContainer objectName : "_bicarbonateContainer" - width : _content.cellWidth - height : Variables.adjustmentLabelUnitContainerHeight text : qsTr("Bicarbonate") unitText : Variables.unitTextConcentration contentItem : Text { id: _bicarbonateText @@ -93,8 +82,6 @@ LabelUnitContainer { id: _theoriticalCondictivityContainer objectName : "_theoriticalCondictivityContainer" - width : _content.cellWidth - height : Variables.adjustmentLabelUnitContainerHeight text : qsTr("Theoretical Conductivity") unitText : Variables.unitTextDialCond contentItem : Text { id: _theoriticalCondictivityText @@ -107,36 +94,30 @@ LabelUnitContainer { id: _independentConductivityReadingContainer1 objectName : "_independentConductivityReadingContainer1" - width : _content.cellWidth - height : Variables.adjustmentLabelUnitContainerHeight text : qsTr("Independent Conductivity Reading 1") unitText : Variables.unitTextDialCond contentItem : Text { id: _independentConductivityReading1Text anchors.centerIn: parent - text : "13.7" // TODO add actual value + text : vDDConductivity.acidBicarbCondutivity1.toFixed(Variables.dialysateCondPrecision) color : Colors.offWhite font.pixelSize : Fonts.fontPixelValueControl } } LabelUnitContainer { id: _independentConductivityReadingContainer2 objectName : "_independentConductivityReadingContainer2" - width : _content.cellWidth - height : Variables.adjustmentLabelUnitContainerHeight - text : qsTr("Independent Conductivity Reading 2") + text : qsTr("Dialysate Conductivity") unitText : Variables.unitTextDialCond contentItem : Text { id: _independentConductivityReading2Text anchors.centerIn: parent - text : "13.7" // TODO add actual value + text : vDDConductivity.acidBicarbCondutivity2.toFixed(Variables.dialysateCondPrecision) color : Colors.offWhite font.pixelSize : Fonts.fontPixelValueControl } } LabelUnitContainer { id: _dialsateTemperatureContainer objectName : "_dialsateTemperatureContainer" - width : _content.cellWidth - height : Variables.adjustmentLabelUnitContainerHeight text : qsTr("Dialysate Temperature") unitText : Variables.unitTextTemperature contentItem : Text { id: _dialsateTemperatureText @@ -149,8 +130,6 @@ LabelUnitContainer { id: _actualRORejectionPercentageContainer objectName : "_actualRORejectionPercentageContainer" - width : _content.cellWidth - height : Variables.adjustmentLabelUnitContainerHeight text : qsTr("Actual RO Rejection Percentage") unitText : "%" contentItem : Text { id: _actualRORejectionPercentageText Index: sources/gui/qml/globals/Fonts.qml =================================================================== diff -u -r1164ea502e3fabdb55aa41923e0e566505f197ef -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/globals/Fonts.qml (.../Fonts.qml) (revision 1164ea502e3fabdb55aa41923e0e566505f197ef) +++ sources/gui/qml/globals/Fonts.qml (.../Fonts.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -50,7 +50,7 @@ readonly property int fontPixelPresseuresText : 22 readonly property int fontPixelPresseuresLabel : 28 - readonly property int fontPixelValueControl : 35 + readonly property int fontPixelValueControl : 32 readonly property int fontPixelFluidText : 22 readonly property int fontPixelFluidValue : 32 Index: sources/gui/qml/pages/MainHome.qml =================================================================== diff -u -r45ce5cd058a8d0239d486e0ab4b057731f7dba76 -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/pages/MainHome.qml (.../MainHome.qml) (revision 45ce5cd058a8d0239d486e0ab4b057731f7dba76) +++ sources/gui/qml/pages/MainHome.qml (.../MainHome.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -49,15 +49,36 @@ text : vDateTime.greeting font.pixelSize: 40 //// ----- @LEAHIZED: Move to Variables.qml + TouchRect { id : _createHDTreatment + anchors { + horizontalCenter : parent.horizontalCenter + verticalCenter : parent.verticalCenter + verticalCenterOffset: Variables.defaultMargin * -3 + } + text.text : qsTr("Hemodialysis") + onClicked : createTreatment(HeaderBar.Mode_HD) + width : 435 //// ----- @LEAHIZED: Move to Variables.qml + height : 92 //// ----- @LEAHIZED: Move to Variables.qml + pixelSize : 30 //// ----- @LEAHIZED: Move to Variables.qml + backgroundColor : Colors.panelBackgroundColor + borderColor : Colors.panelBorderColor + selectColor : Colors.backgroundButtonSelectDark } - TouchRect { id : _createTreatmentRect - anchors.centerIn: parent - text.text : qsTr("Create Treatment") - onClicked : createTreatment() - isDefault : true - width : 435 //// ----- @LEAHIZED: Move to Variables.qml - height : 92 //// ----- @LEAHIZED: Move to Variables.qml - pixelSize : 30 //// ----- @LEAHIZED: Move to Variables.qml + + TouchRect { id : _createHDFTreatment + anchors { + top : _createHDTreatment.bottom + topMargin : Variables.defaultMargin * 2 + horizontalCenter: _createHDTreatment.horizontalCenter + } + text.text : qsTr("Hemodiafiltration") + onClicked : createTreatment(HeaderBar.Mode_HDF) + width : 435 //// ----- @LEAHIZED: Move to Variables.qml + height : 92 //// ----- @LEAHIZED: Move to Variables.qml + pixelSize : 30 //// ----- @LEAHIZED: Move to Variables.qml + backgroundColor : Colors.panelBackgroundColor + borderColor : Colors.panelBorderColor + selectColor : Colors.backgroundButtonSelectDark } NotificationBarSmall { id: _notification Index: sources/gui/qml/pages/MainStack.qml =================================================================== diff -u -r45ce5cd058a8d0239d486e0ab4b057731f7dba76 -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/pages/MainStack.qml (.../MainStack.qml) (revision 45ce5cd058a8d0239d486e0ab4b057731f7dba76) +++ sources/gui/qml/pages/MainStack.qml (.../MainStack.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -24,7 +24,6 @@ import "qrc:/pages/pretreatment" import "qrc:/pages/pretreatment/create" import "qrc:/pages/treatment" -import "qrc:/pages/endtreatment" import "qrc:/pages/posttreatment" /*! @@ -54,12 +53,6 @@ // In TreatmentStack TreatmentStack { id: _treatmentStack } - // End Treatment - EndTreatmentRinsebackStack { id: _endTreatmentRinsebackStack } - EndTreatmentRecirculateStack { id: _endTreatmentRecirculateStack } - EndTreatmentEndStack { id: _endTreatmentEndStack } - - // Post Treatment PostTreatmentStack { id: _postTreatmentStack } @@ -69,7 +62,10 @@ } ScreenItem { id: _postModeScreen - onVisibleChanged: if (visible) _mainMenu.hidden = true + onVisibleChanged: if (visible) { + _headerBar.activeStack = null + _mainMenu.hidden = true + } Image { id: _dialityLogo Behavior on opacity { OpacityAnimator { duration: 1000 } } opacity : _postModeScreen.visible ? 1 : 0 @@ -117,6 +113,7 @@ onCreateTreatment : { vPreTreatmentAdjustmentInitTreatment.doInitiate( )} onVisibleChanged: { if (visible) { + _headerBar.activeStack = null _mainMenu.hidden = false // initially our landing screen is _initialModeScreen which should not have the Main menu. } else { @@ -133,7 +130,7 @@ function onFaultChanged ( vValue ) { page( _startupScreen , vValue )} function onServiceChanged ( vValue ) { page( _startupScreen , vValue )} function onInitChanged ( vValue ) { page( _postModeScreen , vValue ) - if( vValue ) vHDPOSTData.reset() // better to reset on vinit = true because the rest makes the screen animation to run + if( vValue ) { vHDPOSTData.reset() } // better to reset on vinit = true because the rest makes the screen animation to run } function onHomeChanged ( vValue ) { page( _startupScreen , vValue )} @@ -159,9 +156,6 @@ // in-Treatmet function onTxDialysisChanged ( vValue ) { page( _treatmentStack , vValue )} - function onTxRinsebackChanged ( vValue ) { page( _endTreatmentRinsebackStack , vValue )} - function onTxRecirculateChanged ( vValue ) { page( _endTreatmentRecirculateStack , vValue )} - // Treatment Stop function onTxStopChanged ( vValue ) { page( _treatmentStack , vValue )} function onTsRecirculateChanged ( vValue ) { page( null , vValue )} Index: sources/gui/qml/pages/endtreatment/EndTreatmentBase.qml =================================================================== diff -u -r4da79084388ac25822ab24fb52ec1ca4083b50cc -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/pages/endtreatment/EndTreatmentBase.qml (.../EndTreatmentBase.qml) (revision 4da79084388ac25822ab24fb52ec1ca4083b50cc) +++ sources/gui/qml/pages/endtreatment/EndTreatmentBase.qml (.../EndTreatmentBase.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -31,7 +31,6 @@ property bool hasTimeout : false property alias timeout : _timeoutLoader.item property int timeoutValue : 0 - property string headerTitle : "" property string descriptionText : "" onVisibleChanged: if ( visible ) { _root.updateModel() } Fisheye: Tag 1286d74bd015276aab604808be2766136091c125 refers to a dead (removed) revision in file `sources/gui/qml/pages/endtreatment/EndTreatmentEndStack.qml'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/gui/qml/pages/endtreatment/EndTreatmentRecirculateStack.qml =================================================================== diff -u -r43ae56f762e6f3e1416d39e3d16f9103fc597e41 -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/pages/endtreatment/EndTreatmentRecirculateStack.qml (.../EndTreatmentRecirculateStack.qml) (revision 43ae56f762e6f3e1416d39e3d16f9103fc597e41) +++ sources/gui/qml/pages/endtreatment/EndTreatmentRecirculateStack.qml (.../EndTreatmentRecirculateStack.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -42,16 +42,25 @@ onRecirculateBackClicked : vTreatmentAdjustmentRecirculate.doResume () //84.2 onTreatmentEndClicked : vTreatmentAdjustmentRecirculate.doTreatmentEnd () //84.3 onConfirmDisconnectClicked : vTreatmentAdjustmentRecirculate.doConfirmDisconnect () //84.4 - + readonly property bool timeoutTotal : vTreatmentRecirculate .timeoutTotal readonly property int timeoutCountdown : vTreatmentRecirculate .timeoutCountDown * 60 readonly property bool treatmentTimeLeft : true // vTreatmentTime .time_IsLeft // regarding the conversation with Sean (04/23/2023). + onVisibleChanged: { + if (visible) { + _headerBar.activeStack = stackView + } + else { + stackView.initialItem = null + } + } + component ButtonBackToRecirculate : TouchRect { text.text : qsTr("BACK TO RECIRCULATE") onClicked : recirculateBackClicked() } - + component ButtonEndTreatment : TouchRect { visible : treatmentTimeLeft text.text : qsTr("END TREATMENT") Index: sources/gui/qml/pages/endtreatment/EndTreatmentRinsebackStack.qml =================================================================== diff -u -r4da79084388ac25822ab24fb52ec1ca4083b50cc -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/pages/endtreatment/EndTreatmentRinsebackStack.qml (.../EndTreatmentRinsebackStack.qml) (revision 4da79084388ac25822ab24fb52ec1ca4083b50cc) +++ sources/gui/qml/pages/endtreatment/EndTreatmentRinsebackStack.qml (.../EndTreatmentRinsebackStack.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -35,23 +35,16 @@ onVisibleChanged: { if (visible) { - _headerBar.titleText = stackView.currentItem.headerTitle ?? "" + _headerBar.activeStack = stackView } else { - _headerBar.titleText = "" + stackView.initialItem = null } } - // Rinseback - EndTreatmentRinsebackInit { id: _endTreatmentRinsebackInit } - EndTreatmentRinseback { id: _endTreatmentRinseback } + EndTreatmentRinsebackInit { id: _endTreatmentRinsebackInit } + EndTreatmentRinseback { id: _endTreatmentRinseback } - Connections { target: stackView - function onCurrentItemChanged() { - _headerBar.titleText = stackView.currentItem.headerTitle ?? "" - } - } - Connections { target: _endTreatmentRinsebackInit function onRinsebackClicked ( vValue ) { vTreatmentAdjustmentRinseback.doStart ()} //82.0 } Index: sources/gui/qml/pages/posttreatment/PostTreatmentBase.qml =================================================================== diff -u -reb3bbd3e203463dc3634ecb009b8a1390bb87012 -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/pages/posttreatment/PostTreatmentBase.qml (.../PostTreatmentBase.qml) (revision eb3bbd3e203463dc3634ecb009b8a1390bb87012) +++ sources/gui/qml/pages/posttreatment/PostTreatmentBase.qml (.../PostTreatmentBase.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -27,7 +27,8 @@ */ TreatmentFlowBase { id: _root objectName: "_PostTreatmentBase" - header.visible : false + header.visible : false + headerTitle : qsTr("End Treatment") onVisibleChanged: if (visible) { _root.updateModel() } Index: sources/gui/qml/pages/posttreatment/PostTreatmentStack.qml =================================================================== diff -u -r4a2b83dcb56555861d2c741a8e8894e5b07e24bf -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/pages/posttreatment/PostTreatmentStack.qml (.../PostTreatmentStack.qml) (revision 4a2b83dcb56555861d2c741a8e8894e5b07e24bf) +++ sources/gui/qml/pages/posttreatment/PostTreatmentStack.qml (.../PostTreatmentStack.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -59,11 +59,10 @@ onVisibleChanged: { if (visible) { _mainMenu.hidden = true - _headerBar.titleText = qsTr("End Treatment") + _headerBar.activeStack = stackView } else { stackView.initialItem = null - _headerBar.titleText = "" } } Index: sources/gui/qml/pages/pretreatment/PreTreatmentBase.qml =================================================================== diff -u -ra55e0de27d8c427dd4d441f47bb22ca2fe0ca462 -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/pages/pretreatment/PreTreatmentBase.qml (.../PreTreatmentBase.qml) (revision a55e0de27d8c427dd4d441f47bb22ca2fe0ca462) +++ sources/gui/qml/pages/pretreatment/PreTreatmentBase.qml (.../PreTreatmentBase.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -27,7 +27,8 @@ */ TreatmentFlowBase { id: _root objectName: "_PreTreatmentBase" - header.visible : false + header.visible : false + headerTitle : qsTr("Setup Treatment") onVisibleChanged: if ( visible ) { _root.updateModel() } Index: sources/gui/qml/pages/pretreatment/PreTreatmentInstallStack.qml =================================================================== diff -u -r8a9a7d5cb3e54aa73e499ddec62653893e7d5ca7 -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/pages/pretreatment/PreTreatmentInstallStack.qml (.../PreTreatmentInstallStack.qml) (revision 8a9a7d5cb3e54aa73e499ddec62653893e7d5ca7) +++ sources/gui/qml/pages/pretreatment/PreTreatmentInstallStack.qml (.../PreTreatmentInstallStack.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -23,6 +23,12 @@ property int subStepIndex: PreTreatmentInstallStack.Step.BloodSetTubing + onVisibleChanged: { + if (visible) { + _headerBar.activeStack = stackView + } + } + signal goToNextStep() signal goToPreviousStep() @@ -31,14 +37,17 @@ function continueClicked() { switch ( _root.subStepIndex ) { case PreTreatmentInstallStack.Step.BloodSetTubing: - vPreTreatmentAdjustmentDisposablesConfirm.doConfirm() + page ( _preTreatmentBloodLines ) break case PreTreatmentInstallStack.Step.BloodLines: page ( _preTreatmentPressureLinesAndDialyzer ) break case PreTreatmentInstallStack.Step.PressureLinesAndDialyzer: - goToNextStep () + page ( _pretreatmentSalineSubstitution ) break + case PreTreatmentInstallStack.Step.SalineSubStitution: + vPreTreatmentAdjustmentDisposablesConfirm.doConfirm() + break default: break } @@ -50,7 +59,7 @@ goToPreviousStep () break case PreTreatmentInstallStack.Step.BloodLines: - // cannot go back from here + page ( _preTreatmentBloodSetTubing ) break case PreTreatmentInstallStack.Step.PressureLinesAndDialyzer: page ( _preTreatmentBloodLines ) @@ -61,20 +70,19 @@ } function confirmButtonText() { + if ( vSettings.advancedMode ) { return qsTr("Auto Load") } + switch ( _root.subStepIndex ) { - case PreTreatmentInstallStack.Step.BloodSetTubing: + case PreTreatmentInstallStack.Step.SalineSubStitution: return qsTr("Auto Load") + case PreTreatmentInstallStack.Step.BloodSetTubing: case PreTreatmentInstallStack.Step.BloodLines: - case PreTreatmentInstallStack.Step.PressureLinesAndDialyzer: // fall through + case PreTreatmentInstallStack.Step.PressureLinesAndDialyzer: // fall through default: return qsTr("Next") } } - function backEnabled() { - return subStepIndex !== PreTreatmentInstallStack.Step.BloodLines - } - // ----- Screens definitions PreTreatmentBase { id: _preTreatmentBloodSetTubing instructionBased : true @@ -99,8 +107,7 @@ function onAdjustmentTriggered ( vValue ) { if ( vPreTreatmentAdjustmentDisposablesConfirm.adjustment_Accepted ) { _preTreatmentBloodSetTubing.reasonText = "" - if ( vSettings.advancedMode ) { goToNextStep () } - else { page ( _preTreatmentBloodLines ) } + goToNextStep () } else { _preTreatmentBloodSetTubing.reasonText = vPreTreatmentAdjustmentDisposablesConfirm.text() } Index: sources/gui/qml/pages/pretreatment/PreTreatmentSelfTests.qml =================================================================== diff -u -r4a2b83dcb56555861d2c741a8e8894e5b07e24bf -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/pages/pretreatment/PreTreatmentSelfTests.qml (.../PreTreatmentSelfTests.qml) (revision 4a2b83dcb56555861d2c741a8e8894e5b07e24bf) +++ sources/gui/qml/pages/pretreatment/PreTreatmentSelfTests.qml (.../PreTreatmentSelfTests.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -39,8 +39,8 @@ // check List hasCheckList : true checkListStepNames : [ - qsTr("Auto-Load Blood Tubing" ), - qsTr("Cartridge Install Checks" ), + qsTr("Auto-Load Blood Tube Set" ), + qsTr("Blood Tube Set Verification" ), qsTr("Pressure Leak Check" ), ] Index: sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml =================================================================== diff -u -ref583f0056a0fb8c66a64e132be159719b2bc2f6 -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml (.../PreTreatmentStack.qml) (revision ef583f0056a0fb8c66a64e132be159719b2bc2f6) +++ sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml (.../PreTreatmentStack.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -50,12 +50,13 @@ if (visible) { rebuildMap() _mainMenu.hidden = true - _headerBar.titleText = qsTr("Setup Treatment") + _headerBar.activeStack = stackView _root.stackStepIndex = 0 + _headerBar.loggedUser = vSettings.advancedMode ? qsTr("[Advanced]") : "" } else { stackView.initialItem = null - _headerBar.titleText = "" + _headerBar.loggedUser = "" } } @@ -149,9 +150,8 @@ case PreTreatmentStack.Step.Installation: return _pretreatmentInstallation.confirmButtonText() case PreTreatmentStack.Step.CreateRx: - return vTreatmentCreate.parametersValidated - ? qsTr("Confirm") - : qsTr("Validate") + return _pretreatmentCreate.isFirstTab ? qsTr("Next") : + qsTr("Confirm") case PreTreatmentStack.Step.Connect: return qsTr("Start") default: @@ -162,9 +162,10 @@ 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: return false // majority of pages back is disabled } Index: sources/gui/qml/pages/settings/SettingsBase.qml =================================================================== diff -u -rf433eeefae34530e7cc3dc4e5576e43729b236f2 -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/pages/settings/SettingsBase.qml (.../SettingsBase.qml) (revision f433eeefae34530e7cc3dc4e5576e43729b236f2) +++ sources/gui/qml/pages/settings/SettingsBase.qml (.../SettingsBase.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -47,6 +47,8 @@ property alias confirmEnabled : _confirmButton.enabled property alias confirmText : _confirmButton.text + headerTitle : itemsText[itemIndex] + signal backClicked() signal confirmClicked() @@ -67,7 +69,6 @@ } onClicked: { _root.backClicked() - _headerBar.titleText = settingsTitle pop() } } Index: sources/gui/qml/pages/settings/SettingsDGCleaning.qml =================================================================== diff -u -r934354462a353ff5e7fc2ddfe6f3a8f0121a8f3f -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/pages/settings/SettingsDGCleaning.qml (.../SettingsDGCleaning.qml) (revision 934354462a353ff5e7fc2ddfe6f3a8f0121a8f3f) +++ sources/gui/qml/pages/settings/SettingsDGCleaning.qml (.../SettingsDGCleaning.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -30,8 +30,9 @@ */ SettingsBase { id: _root - confirmVisible : false - contentArea.anchors.topMargin: Variables.defaultMargin * 5 * -1 + confirmVisible : false + contentArea.anchors.topMargin : Variables.defaultMargin * 5 * -1 + itemIndex : SettingsStack.DGCleaning contentItem: TouchGrid { colCount : 1 Index: sources/gui/qml/pages/settings/SettingsDecommission.qml =================================================================== diff -u -r86df7ff03ea32f9cd8a18bbbc7b2e01de64c783f -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/pages/settings/SettingsDecommission.qml (.../SettingsDecommission.qml) (revision 86df7ff03ea32f9cd8a18bbbc7b2e01de64c783f) +++ sources/gui/qml/pages/settings/SettingsDecommission.qml (.../SettingsDecommission.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -38,7 +38,7 @@ backEnabled : vDevice.decommissionEnabled onConfirmClicked : { - _confirmDialog.titleText = _headerBar.titleText + _confirmDialog.titleText = _root.headerTitle _confirmDialog.open() } Connections { target: _confirmDialog Index: sources/gui/qml/pages/settings/SettingsFactoryReset.qml =================================================================== diff -u -r86df7ff03ea32f9cd8a18bbbc7b2e01de64c783f -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/pages/settings/SettingsFactoryReset.qml (.../SettingsFactoryReset.qml) (revision 86df7ff03ea32f9cd8a18bbbc7b2e01de64c783f) +++ sources/gui/qml/pages/settings/SettingsFactoryReset.qml (.../SettingsFactoryReset.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -38,7 +38,7 @@ backEnabled : vDevice.factoryResetEnabled onConfirmClicked : { - _confirmDialog.titleText = _headerBar.titleText + _confirmDialog.titleText = _root.headerTitle _confirmDialog.open() } Connections { target: _confirmDialog Index: sources/gui/qml/pages/settings/SettingsLocalization.qml =================================================================== diff -u -r1f9e84f74ead9e10577c8caa204c6eb911e12ab8 -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/pages/settings/SettingsLocalization.qml (.../SettingsLocalization.qml) (revision 1f9e84f74ead9e10577c8caa204c6eb911e12ab8) +++ sources/gui/qml/pages/settings/SettingsLocalization.qml (.../SettingsLocalization.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -51,13 +51,13 @@ } onConfirmClicked : { - _confirmDialog.titleText = _headerBar.titleText + _confirmDialog.titleText = _root.headerTitle _confirmDialog.open() } Connections { target: _confirmDialog function onAccepted() { - if ( _confirmDialog.titleText === _headerBar.titleText ) { // use the title as the indication of what has been confirmed and if that is related to this function. + if ( _confirmDialog.titleText === _root.headerTitle ) { // use the title as the indication of what has been confirmed and if that is related to this function. vLocalization.doAdjustment(_settingsLanguageCombo.currentIndex) } } Index: sources/gui/qml/pages/settings/SettingsServicePassword.qml =================================================================== diff -u -r6dc7e02773a4823c69b685d8466ea7d58dd320d1 -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/pages/settings/SettingsServicePassword.qml (.../SettingsServicePassword.qml) (revision 6dc7e02773a4823c69b685d8466ea7d58dd320d1) +++ sources/gui/qml/pages/settings/SettingsServicePassword.qml (.../SettingsServicePassword.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -52,7 +52,6 @@ clearPasswords() // go back to the settings home/menu screen - _headerBar.titleText = settingsTitle page(_settingsHome) // in case of debugging that the HD is in service mode already check and call the gotoServiceMode Index: sources/gui/qml/pages/settings/SettingsStack.qml =================================================================== diff -u -r6c65a4129d2459bf2910b76b20263a6a00bdf8fb -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/pages/settings/SettingsStack.qml (.../SettingsStack.qml) (revision 6c65a4129d2459bf2910b76b20263a6a00bdf8fb) +++ sources/gui/qml/pages/settings/SettingsStack.qml (.../SettingsStack.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -99,7 +99,8 @@ InstitutionalRecord , AdvancedInstitutional , FeatureConfigurations , - AdvancedMode + AdvancedMode , + Home } property var itemsText : [ qsTr("Device Information" ), // Device Information @@ -123,6 +124,7 @@ qsTr("Advanced Institutional Settings" ), // AdvancedInstitutional qsTr("Feature Configurations" ), // FeatureConfigurations qsTr("Advanced Mode" ), // Advanced Modes + settingsTitle , // settings home ] property var itemsVisible : [ @@ -147,12 +149,14 @@ visibleAdvancedInstitutional , // AdvancedInstitutional visibleFeatureConfigurations , // FeatureConfigurations visibleAdvancedModes , // Advanced Modes + false , // leave last and false align with settings home ] // TODO: SRS 405/406 Test Mode instead add Q_PROPERTY to monitor state??? onServiceModeChanged: _headerBar.loggedUser = serviceMode ? "[Service]" : "" SettingsHome { id : _settingsHome + itemIndex : SettingsStack.Home backVisible : false //TODO on graceful shutdown, the applicaiton quit shall be used for any applicaiton termination // and needs to be distinguished between the QUIT or SHUTDOWN touch, @@ -172,7 +176,6 @@ onItemClicked : { _root.currentItem = vIndex vDevice.status = "" - _headerBar.titleText = itemsText[vIndex] switch (vIndex) { case SettingsStack.Information: vAdjustmentVersions .doAdjustment() @@ -286,7 +289,7 @@ SettingsAdvancedInstitutional { id: _settingsAdvancedInstitutional} SettingsLocalization { id: _settingLocalization } SettingsFeatureConfigurations { id: _settingsFeatureConfigurations} - SettingsAdvancedMode { id: _settingAdvancedMode } + SettingsAdvancedMode { id: _settingAdvancedMode } function gotoServiceMode( vservice ) { //DEBUG console.log (" 0 ---------- ", _GuiView.manufactMode, _GuiView.manufactSetup, vservice, stackView.initialItem, stackView.currentItem, stackView.depth) @@ -339,11 +342,10 @@ onVisibleChanged: { if (visible) { _mainMenu.hidden = _GuiView.manufactSetup - _headerBar.titleText = _root.settingsTitle + _headerBar.activeStack = stackView } else { stackView.initialItem = null - _headerBar.titleText = "" } } } Index: sources/gui/qml/pages/treatment/TreatmentBloodPrime.qml =================================================================== diff -u -r832723626f603fdd27f38a3103a6507a116c9660 -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/pages/treatment/TreatmentBloodPrime.qml (.../TreatmentBloodPrime.qml) (revision 832723626f603fdd27f38a3103a6507a116c9660) +++ sources/gui/qml/pages/treatment/TreatmentBloodPrime.qml (.../TreatmentBloodPrime.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -149,7 +149,12 @@ Text { id: _flowRateValue objectName : "_flowRateValue" - anchors.centerIn : parent + anchors { + horizontalCenter: parent.horizontalCenter + verticalCenter: parent.verticalCenter + verticalCenterOffset: Variables.defaultMargin * -1 + } + width : 200 height : Variables.defaultButtonHeight font { @@ -218,7 +223,7 @@ width : Variables.defaultButtonWidth height : Variables.defaultButtonHeight text { - text : vTDTreatmentStates.bpPaused ? qsTr("Resume Blood Prime") : qsTr("Pause Blood Prime") + text : vTDTreatmentStates.bpPaused ? qsTr("Resume") : qsTr("Pause") font.weight : Font.Medium } isDefault : true Index: sources/gui/qml/pages/treatment/TreatmentHome.qml =================================================================== diff -u -rf46bc6ffce5eb0ac3e1bbd5a9b8ee9202209c881 -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/pages/treatment/TreatmentHome.qml (.../TreatmentHome.qml) (revision f46bc6ffce5eb0ac3e1bbd5a9b8ee9202209c881) +++ sources/gui/qml/pages/treatment/TreatmentHome.qml (.../TreatmentHome.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -197,11 +197,4 @@ } } } - - onVisibleChanged: { - if (visible) { - _mainMenu.hidden = true - _headerBar.menuHidden = false - } - } } Index: sources/gui/qml/pages/treatment/TreatmentSectionHeader.qml =================================================================== diff -u -rf46bc6ffce5eb0ac3e1bbd5a9b8ee9202209c881 -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/pages/treatment/TreatmentSectionHeader.qml (.../TreatmentSectionHeader.qml) (revision f46bc6ffce5eb0ac3e1bbd5a9b8ee9202209c881) +++ sources/gui/qml/pages/treatment/TreatmentSectionHeader.qml (.../TreatmentSectionHeader.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -66,7 +66,7 @@ anchors { verticalCenter : _title.verticalCenter right : parent.right - rightMargin : Variables.defaultMargin * 2 + rightMargin : Variables.defaultMargin } ArrowButton {id : _expandingArrows Index: sources/gui/qml/pages/treatment/TreatmentStack.qml =================================================================== diff -u -r600b6707b102919d981f3b1d18611834e23eae60 -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision 600b6707b102919d981f3b1d18611834e23eae60) +++ sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -22,6 +22,7 @@ import "qrc:/compounds" import "qrc:/dialogs" import "qrc:/globals" +import "qrc:/pages/endtreatment" import "qrc:/pages/treatment/adjustments" /*! @@ -41,7 +42,10 @@ _treatmentAdjustmentDuration .close() _treatmentAdjustmentUltrafiltration .close() - if (! visible) { + if (visible) { + _headerBar.activeStack = stackView + } + else { _headerBar.menuHidden = true stackView.initialItem = null } @@ -76,13 +80,14 @@ // Components TreatmentBloodPrime { id: _treatmentBloodPrime - StackView.onActivating : { _headerBar.titleText = qsTr("Blood Priming") } - StackView.onDeactivated : { _headerBar.titleText = "" } + readonly property string headerTitle: qsTr("Blood Priming") + onIncrementRate : function(newValue) { vTreatmentAdjustmentBloodFlowRate.doAdjustment(newValue) } onDecrementRate : function(newValue) { vTreatmentAdjustmentBloodFlowRate.doAdjustment(newValue) } onPause : { vTreatmentAdjustmentBloodPrime.doPause() } onResume : { vTreatmentAdjustmentBloodPrime.doResume() } } + Connections { target: vTreatmentAdjustmentBloodPrime function onAdjustmentTriggered ( vValue ) { if (vTreatmentAdjustmentBloodPrime.adjustment_Accepted) { @@ -146,21 +151,31 @@ } } + // End Treatment + EndTreatmentRinsebackStack { id: _endTreatmentRinsebackStack } + EndTreatmentRecirculateStack { id: _endTreatmentRecirculateStack } + //// Treatment Adjustment Dialogs TreatmentAdjustmentSetPoints { id: _treatmentAdjustmentSetPoints } TreatmentAdjustmentPressuresLimits { id: _treatmentAdjustmentPressuresLimits } TreatmentAdjustmentBolusVolume { id: _treatmentAdjustmentBolusVolume } TreatmentAdjustmentUltrafiltrationStack { id: _treatmentAdjustmentUltrafiltration } TreatmentAdjustmentHDF { id: _treatmentAdjustmentHDF } + TreatmentAdjustmentDurationStack { id: _treatmentAdjustmentDuration } + TreatmentAdjustmentVitalsInterval { id: _treatmentAdjustmentVitalsInterval } Connections { target: _treatmentAdjustmentSetPoints function onConfirmClicked ( vValue ) { vTreatmentAdjustmentSetPoints.doAdjustment( +// _treatmentAdjustmentSetPoints.treatmentModality , // TODO _treatmentAdjustmentSetPoints.bloodFlowRate , _treatmentAdjustmentSetPoints.dialysateFlowRate , _treatmentAdjustmentSetPoints.dialysateTemperature , +// _treatmentAdjustmentSetPoints.hepatitus // TODO _treatmentAdjustmentSetPoints.acidConcentrate , _treatmentAdjustmentSetPoints.bicarbConcentrate +// _treatmentAdjustmentSetPoints.sodium // TODO +// _treatmentAdjustmentSetPoints.bicarboante // TODO ) } } @@ -180,10 +195,6 @@ } } - TreatmentAdjustmentDurationStack { id: _treatmentAdjustmentDuration } - - TreatmentAdjustmentVitalsInterval { id: _treatmentAdjustmentVitalsInterval } - // ---------- Manages Responses ---------- Connections { target: vTreatmentAdjustmentBolusVolume function onAdjustmentTriggered ( vValue ) { @@ -224,6 +235,15 @@ function onInTreatmentChanged ( vValue ) { page( _treatmentBloodPrime , vValue )} } + Connections { target: _treatmentHome + function onVisibleChanged ( vValue ) { + if (_treatmentHome.visible) { + _mainMenu.hidden = true + _headerBar.menuHidden = false + } + } + } + Connections { target: _treatmentBloodPrime function onVisibleChanged ( vValue ) { if (_treatmentBloodPrime.visible) { @@ -232,10 +252,28 @@ } } + Connections { target: _endTreatmentRinsebackStack + function onVisibleChanged ( vValue ) { + if (_endTreatmentRinsebackStack.visible) { + _headerBar.menuHidden = true + } + } + } + + Connections { target: _endTreatmentRecirculateStack + function onVisibleChanged ( vValue ) { + if (_endTreatmentRecirculateStack.visible) { + _headerBar.menuHidden = true + } + } + } + Connections { target: vTDTreatmentStates // in-Treatmet - function onTxBloodPrimeChanged ( vValue ) { page( _treatmentBloodPrime , vValue )} - function onTxDialysisChanged ( vValue ) { page( _treatmentHome , vValue )} - function onTxEndChanged ( vValue ) { if ( vValue ) { _endTreatmentDialog.open() }} + function onTxBloodPrimeChanged ( vValue ) { page( _treatmentBloodPrime , vValue )} + function onTxDialysisChanged ( vValue ) { page( _treatmentHome , vValue )} + function onTxEndChanged ( vValue ) { if ( vValue ) { _endTreatmentDialog.open() }} + function onTxRinsebackChanged ( vValue ) { page( _endTreatmentRinsebackStack , vValue )} + function onTxRecirculateChanged ( vValue ) { page( _endTreatmentRecirculateStack , vValue )} } } Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationEdit.qml =================================================================== diff -u -rad57884fca3e8a0916b6d6bf51a69264b9b5263f -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationEdit.qml (.../TreatmentAdjustmentUltrafiltrationEdit.qml) (revision ad57884fca3e8a0916b6d6bf51a69264b9b5263f) +++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationEdit.qml (.../TreatmentAdjustmentUltrafiltrationEdit.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -99,7 +99,6 @@ unitText : Variables.unitVolume contentItem : ValueAdjuster { id: _volumeGoalAdjuster objectName : "_volumeGoalAdjuster" - textColor : Colors.ufVolumeGoalText isActive : true decimal : Variables.ultrafiltrationPrecision minimum : Math.ceil(_private.volumeRemoved / step) * step Index: sources/gui/qml/pages/treatment/sections/TreatmentFlows.qml =================================================================== diff -u -rc9764bd0ad823c5c1725d7c7f556290c2c459d4d -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/pages/treatment/sections/TreatmentFlows.qml (.../TreatmentFlows.qml) (revision c9764bd0ad823c5c1725d7c7f556290c2c459d4d) +++ sources/gui/qml/pages/treatment/sections/TreatmentFlows.qml (.../TreatmentFlows.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -70,9 +70,9 @@ step : vTreatmentRanges.dialysateFlowRateRes unitText : Variables.unitTextFlowRate buttonsEnabled : isTreatmentEnd ? false : editEnabled // LEAHI-PRS-376 - extraText : vTreatmentParametersSetPoint.dialysateFlow === 0 ? qsTr("OFF") : - ! vDDGenDialysate.isDialGood ? qsTr("Bypass") : + extraText : ! vDDGenDialysate.isDialGood ? qsTr("Bypass") : "" + canOff : true onIncrement : function(newValue) { vTreatmentAdjustmentDialysateFlowRate.doAdjustment(newValue) } onDecrement : function(newValue) { vTreatmentAdjustmentDialysateFlowRate.doAdjustment(newValue) } @@ -100,7 +100,8 @@ title : qsTr("Dialysate Cond.") height : _row.cellHeight width : _row.cellWidth - value : Variables.notSetVariable(vDDConductivity.acidBicarbCondutivity2.toFixed(Variables.dialysateCondPrecision)) // D29 + precision : Variables.dialysateCondPrecision + value : vDDConductivity.acidBicarbCondutivity2 // D29 unitText : Variables.unitTextDialCond showButtons : false dropShadowEnabled : false Index: sources/gui/qml/pages/treatment/sections/TreatmentFlowsComponent.qml =================================================================== diff -u -rc749ecd5dc413ce091250af652ccba4d96f7a582 -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/pages/treatment/sections/TreatmentFlowsComponent.qml (.../TreatmentFlowsComponent.qml) (revision c749ecd5dc413ce091250af652ccba4d96f7a582) +++ sources/gui/qml/pages/treatment/sections/TreatmentFlowsComponent.qml (.../TreatmentFlowsComponent.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -24,6 +24,7 @@ property bool showButtons : true property bool buttonsEnabled : true property bool dropShadowEnabled : true + property bool canOff : false color : Colors.mainTreatmentLighterBlue radius : 5 @@ -32,7 +33,7 @@ signal decrement(real newValue) RangedValue { id: _rangedValue - objectName: "_rangedValue" + objectName : "_rangedValue" } Text { id: _title @@ -73,7 +74,9 @@ } height : Variables.contentHeight width : Variables.treatmentFlowsComponentWidth - topText : value !== undefined ? _root.value.toFixed(_root.precision) : Variables.emptyEntry + topText : value !== undefined ? _root.canOff && value < minimum ? qsTr("OFF") : + _root.value.toFixed(_root.precision) : + Variables.emptyEntry topTextFont.pixelSize : 60 topTextFont.weight : Font.Light bottomText : _root.unitText @@ -119,7 +122,7 @@ ArrowButton {id : _downArrowIcon objectName : "downArrowIcon" downArrow : true - enabled : buttonsEnabled && _rangedValue.canDecrement + enabled : buttonsEnabled && ( _root.canOff ? value >= minimum : _rangedValue.canDecrement ) onClicked : { _root.decrement(_rangedValue.decrementedValue()) } } Index: sources/gui/qml/pages/treatment/sections/TreatmentTime.qml =================================================================== diff -u -r7b71ec23c53c04a24e3db8ace0ca4825ec57d721 -r1286d74bd015276aab604808be2766136091c125 --- sources/gui/qml/pages/treatment/sections/TreatmentTime.qml (.../TreatmentTime.qml) (revision 7b71ec23c53c04a24e3db8ace0ca4825ec57d721) +++ sources/gui/qml/pages/treatment/sections/TreatmentTime.qml (.../TreatmentTime.qml) (revision 1286d74bd015276aab604808be2766136091c125) @@ -35,24 +35,27 @@ property bool isRunning : vTDTreatmentStates.txDialysis && !( vTDTreatmentStates.sbWaitPump || vTDTreatmentStates.sbRunning ) + property bool isPaused : vTDTreatmentStates.txStop || ! _root.isRunning + + property bool isComplete : ( vTreatmentTime.time_Remaining <= 0 && vTreatmentTime.time_Elapsed > 0 ) || vTDTreatmentStates.txEnd property bool isHDTreatment : vTreatmentCreate.treatmentModality === 0 property bool isHDFTreatment: vTreatmentCreate.treatmentModality === 1 property bool isIsoTreatment: vTreatmentCreate.treatmentModality === 2 - property string notificationText: isComplete ? qsTr("Treatment Complete") : - ! isRunning ? qsTr("Treatment Paused") : - isHDTreatment ? qsTr("HD Time") : - isHDFTreatment ? qsTr("HDF Time") : - isIsoTreatment ? qsTr("Isolated UF Time") : - "" + property string notificationText: isComplete ? qsTr("Treatment Complete") : + isPaused ? qsTr("Treatment Paused") : + isHDTreatment ? qsTr("HD Time") : + isHDFTreatment ? qsTr("HDF Time") : + isIsoTreatment ? qsTr("Isolated UF Time") : + "" - property color notificationColor: isComplete ? Colors.statusComplete : - ! isRunning ? Colors.statusTextPaused : + property color notificationColor: isComplete ? Colors.statusComplete : + isPaused ? Colors.statusTextPaused : isHDTreatment || isHDFTreatment || - isIsoTreatment ? Colors.statusTextActive : + isIsoTreatment ? Colors.statusTextActive : "" property bool editEnabled : ! isTreatmentEnd // LEAHI-PRS-376 @@ -61,6 +64,8 @@ width : _circle.width height : _circle.height + onIsCompleteChanged: _rinsebackCompleteDialog.isTxCompleted = _root.isComplete + signal clicked() ProgressCircle { id: _circle @@ -73,7 +78,7 @@ thickness : 35 circleShadowColor : Colors.mainTreatmentLighterBlue circleFillColor : Colors.transparent - runAnimation : ! _root.isRunning + runAnimation : _root.isPaused && ! _root.isComplete MouseArea { id: _mouseArea anchors.fill : parent @@ -92,7 +97,7 @@ textWeight : Font.Normal secsPixelSize : 35 secondsLeftMargin : 10 - textColor : _root.isRunning || _root.isComplete ? Colors.offWhite : Colors.mainTreatmentOrange + textColor : _root.isPaused && ! _root.isComplete ? Colors.mainTreatmentOrange : Colors.offWhite } Item { id: _timeTitleRect @@ -148,7 +153,7 @@ imageDiameter : 25 imageTopMargin : 4 imageSource : "qrc:/images/iPauseOrange" - imageVisible : ! _root.isRunning && ! _root.isComplete + imageVisible : _root.isPaused && ! _root.isComplete text : _root.notificationText textColor : _root.notificationColor textfontSize : 26 Index: sources/model/hd/alarm/MAlarmMapping.cpp =================================================================== diff -u -r701916b565680f1d5a6e85f25a72d4cc17dbc402 -r1286d74bd015276aab604808be2766136091c125 --- sources/model/hd/alarm/MAlarmMapping.cpp (.../MAlarmMapping.cpp) (revision 701916b565680f1d5a6e85f25a72d4cc17dbc402) +++ sources/model/hd/alarm/MAlarmMapping.cpp (.../MAlarmMapping.cpp) (revision 1286d74bd015276aab604808be2766136091c125) @@ -199,7 +199,8 @@ /*0163*/case GuiAlarmID::ALARM_ID_FP_PERMEATE_FLOW_OUT_LOW_RANGE : { result = QObject::tr("FP permeate flow low fault." ); break; } /* 163*/ /*0164*/case GuiAlarmID::ALARM_ID_FP_INLET_PRESSURE_LOW_RANGE : { result = QObject::tr("FP inlet pressure low fault." ); break; } /* 164*/ /*0165*/case GuiAlarmID::ALARM_ID_TD_AIR_TRAP_LOWER_TIMEOUT : { result = QObject::tr("TD air trap lower timeout." ); break; } /* 165*/ -/*0166*/case GuiAlarmID::NUM_OF_ALARM_IDS : { result = QObject::tr("Number of alarms." ); break; } /* 166*/ +/*0166*/case GuiAlarmID::ALARM_ID_TD_AIR_PUMP_STALL : { result = QObject::tr("TD air pump stall detected." ); break; } /* 166*/ +/*0167*/case GuiAlarmID::NUM_OF_ALARM_IDS : { result = QObject::tr("Number of alarms." ); break; } /* 167*/ default: result = QObject::tr("ALARM_ID_UNDEFINED [%1]").arg(int(vAlarmID));