Index: leahi.qrc =================================================================== diff -u -rcb9c48c7c307690dcafcfd16ef412fe660291692 -r975e1964b60365b24c74be139c6b84369a7248ce --- leahi.qrc (.../leahi.qrc) (revision cb9c48c7c307690dcafcfd16ef412fe660291692) +++ leahi.qrc (.../leahi.qrc) (revision 975e1964b60365b24c74be139c6b84369a7248ce) @@ -251,7 +251,6 @@ sources/gui/qml/pages/treatment/TreatmentStack.qml sources/gui/qml/pages/treatment/TreatmentHome.qml sources/gui/qml/pages/treatment/TreatmentBloodPrime.qml - sources/gui/qml/pages/treatment/TreatmentUltrafiltrationItem.qml sources/gui/qml/pages/treatment/TreatmentSection.qml sources/gui/qml/pages/treatment/TreatmentSectionHeader.qml @@ -271,6 +270,7 @@ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentFlow.qml sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentBase.qml sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentDuration.qml + sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltration.qml sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationStart.qml sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationEdit.qml sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationConfirm.qml Index: sources/gui/qml/compounds/TreatmentAdjustmentUltrafiltrationMetrics.qml =================================================================== diff -u -rf8c80661c806c50047e81d581df0dd6e05f1c8ef -r975e1964b60365b24c74be139c6b84369a7248ce --- sources/gui/qml/compounds/TreatmentAdjustmentUltrafiltrationMetrics.qml (.../TreatmentAdjustmentUltrafiltrationMetrics.qml) (revision f8c80661c806c50047e81d581df0dd6e05f1c8ef) +++ sources/gui/qml/compounds/TreatmentAdjustmentUltrafiltrationMetrics.qml (.../TreatmentAdjustmentUltrafiltrationMetrics.qml) (revision 975e1964b60365b24c74be139c6b84369a7248ce) @@ -29,6 +29,9 @@ property real setVolume : 0 property real volumeRemoved : 0 + implicitWidth : (_ufVolumeRemovedItem.width * 2) + Variables.columnSpacing + implicitHeight : _ufVolumeRemovedItem.height + component ValueItem: Rectangle { id: _valueItem property alias label : _label.text property alias value : _value.text @@ -77,15 +80,23 @@ } ValueItem { id: _ufVolumeRemovedItem - anchors.horizontalCenterOffset : -(width/2 + 30) - label : qsTr("UF Volume Removed: ") - value : _root.volumeRemoved.toFixed(Variables.ultrafiltrationPrecision) + anchors { + horizontalCenter : parent.horizontalCenter + horizontalCenterOffset : -(width + Variables.columnSpacing)/2 + verticalCenter : parent.verticalCenter + } + label : qsTr("UF Volume Removed: ") + value : _root.volumeRemoved.toFixed(Variables.ultrafiltrationPrecision) } ValueItem { id: _ufVolumeGoalItem - anchors.horizontalCenterOffset : -(_ufVolumeRemovedItem.anchors.horizontalCenterOffset) + anchors { + horizontalCenter : parent.horizontalCenter + horizontalCenterOffset : -(_ufVolumeRemovedItem.anchors.horizontalCenterOffset) + verticalCenter : parent.verticalCenter + } textColor : Colors.ufVolumeGoalText - label : qsTr("UF Volume Goal: ") - value : _root.setVolume.toFixed(Variables.ultrafiltrationPrecision) + label : qsTr("UF Volume Goal: ") + value : _root.setVolume.toFixed(Variables.ultrafiltrationPrecision) } } Index: sources/gui/qml/pages/treatment/TreatmentStack.qml =================================================================== diff -u -rcb9c48c7c307690dcafcfd16ef412fe660291692 -r975e1964b60365b24c74be139c6b84369a7248ce --- sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision cb9c48c7c307690dcafcfd16ef412fe660291692) +++ sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision 975e1964b60365b24c74be139c6b84369a7248ce) @@ -37,7 +37,7 @@ _treatmentAdjustmentVitals .close() _treatmentAdjustmentPressuresLimits .close() _treatmentAdjustmentDuration .close() - _treatmentUltrafiltrationItem .close() + _treatmentAdjustmentUltrafiltration .close() if (! visible) { _headerBar.menuHidden = true @@ -46,22 +46,10 @@ stackView.initialItem : null - // ultrafiltration state information bar properties - readonly property bool isUFPaused : vTreatmentUltrafiltration.ufPaused - readonly property bool isUFRunning : vTreatmentUltrafiltration.ufRunning readonly property bool isTreatmentPaused : vTDTreatmentStates.txStop - readonly property string ufInfoImageSource : isUFPaused ? "qrc:/images/iPauseOrange" : "" - readonly property string ufInfoText : isUFPaused ? qsTr("Ultrafiltration Paused" ) : "" - readonly property string ufInfoTextColor : isUFPaused ? "gray" : "" - readonly property bool isSBInProgress : ( vTDTreatmentStates.sbRunning || vTDTreatmentStates.sbWaitPump ) - readonly property bool isDialogOpened : _treatmentAdjustmentFlow .visible - || _treatmentAdjustmentPressuresLimits .visible - || _treatmentAdjustmentDuration .visible - || _treatmentUltrafiltrationItem .visible - property int headerMenuIndex: _headerBar.headerMenuIndex onHeaderMenuIndexChanged: { @@ -72,7 +60,6 @@ // Components TreatmentBloodPrime { id: _treatmentBloodPrime } - TreatmentUltrafiltrationItem{ id: _treatmentUltrafiltrationItem } TreatmentHome { id: _treatmentHome } Connections { target: _treatmentHome @@ -91,7 +78,7 @@ _treatmentAdjustmentDuration.open() } function onSectionUltrafiltrationClicked ( vValue ) { - _treatmentUltrafiltrationItem.open() + _treatmentAdjustmentUltrafiltration.open() } } @@ -101,6 +88,7 @@ //// Treatment Adjustment Dialogs TreatmentAdjustmentFlow { id: _treatmentAdjustmentFlow } TreatmentAdjustmentPressuresLimits { id: _treatmentAdjustmentPressuresLimits } + TreatmentAdjustmentUltrafiltration { id: _treatmentAdjustmentUltrafiltration } Connections { target: _treatmentAdjustmentFlow function onConfirmClicked ( vValue ) { vTreatmentAdjustmentFlows.doAdjustment( Fisheye: Tag 975e1964b60365b24c74be139c6b84369a7248ce refers to a dead (removed) revision in file `sources/gui/qml/pages/treatment/TreatmentUltrafiltrationItem.qml'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentBase.qml =================================================================== diff -u -rcb9c48c7c307690dcafcfd16ef412fe660291692 -r975e1964b60365b24c74be139c6b84369a7248ce --- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentBase.qml (.../TreatmentAdjustmentBase.qml) (revision cb9c48c7c307690dcafcfd16ef412fe660291692) +++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentBase.qml (.../TreatmentAdjustmentBase.qml) (revision 975e1964b60365b24c74be139c6b84369a7248ce) @@ -10,7 +10,7 @@ * \date (last) 04-Oct-2022 * \author (original) Behrouz NematiPour * \date (original) 22-Mar-2020 - * + */ // Qt @@ -44,6 +44,7 @@ width : Variables.adjustmentDialogWidth height : Variables.adjustmentDialogHeight y : Math.round((Variables.applicationHeight - height) / 2) - Variables.headerHeight + notification.height : Variables.notificationHeight onVisibleChanged: { notificationText = "" @@ -106,6 +107,7 @@ // this meant to be used specifically as current state notification like paused/off in UF // it is also available in TreatmentAdjustmentFlow and TreatmentAdjustmentDuration but not used. NotificationBarSmall { id: _information + height : Variables.notificationHeight visible : false imageSource : "" imageDiameter : 26 Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltration.qml =================================================================== diff -u --- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltration.qml (revision 0) +++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltration.qml (revision 975e1964b60365b24c74be139c6b84369a7248ce) @@ -0,0 +1,151 @@ +/*! + * + * Copyright (c) 2021-2024 Diality Inc. - All Rights Reserved. + * \copyright + * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN + * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. + * + * \file TreatmentUltrafiltrationItem.qml + * \author (last) Behrouz NematiPour + * \date (last) 27-Apr-2023 + * \author (original) Behrouz NematiPour + * \date (original) 01-Mar-2021 + * + */ + +// Qt +import QtQuick 2.12 +import QtQuick.Controls 2.12 // StackView + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" + +/*! + * \brief the treatment ultrafiltration flow manager screen + */ +TreatmentAdjustmentBase { id: _root + objectName: "_TreatmentAdjustmentUltrafiltration" + + // ultrafiltration state information bar properties + readonly property bool isUFPaused : vTreatmentUltrafiltration.ufPaused + + closeVisible : true + confirmVisible : false + backVisible : _ufStack.stackView.depth > 1 + titleText : qsTr("Ultrafiltration Volume ") + Variables.unitTextUltrafiltrationVolume + + onOpened : { _ufStack.reset() } + onClosed : { _ufStack.reset() } + onBackClicked : { _ufStack.pop() } + onCloseClicked : { _ufStack.reset() } + + information { + visible : true && information.text && ! notification.visible + imageSource : isUFPaused ? "qrc:/images/iPauseOrange" : "" + text : isUFPaused ? qsTr("Ultrafiltration Paused") : "" + color : Colors.ufNotificationBarBg + textColor : Colors.ufVolumeGoalText + textfontSize : Fonts.fontPixelUltrafiltrationAdjustmentNotification + textfontWeight : Font.Medium + } + + StackItem { id: _ufStack + objectName : "_ufStack" + anchors { + top: parent.top + bottom: information.top + left: parent.left + right: parent.right + } + visible : true + stackView { + initialItem : _treatmentAdjustmentUltrafiltrationStart + popEnter : null + popExit : null + pushEnter : null + pushExit : null + } + } + + TreatmentAdjustmentUltrafiltrationStart { id: _treatmentAdjustmentUltrafiltrationStart + visible: false + StackView.onActivated : { + _root.titleText = Qt.binding( + function() { return qsTr("Ultrafiltration Volume ") + Variables.unitTextUltrafiltrationVolume } + ) + _root.notificationText = Qt.binding( + function() { return vTreatmentAdjustmentUltrafiltrationState.adjustment_ReasonText } + ) + } + onPauseClicked : { + // send pause to TD and wait. + // if accepted button changes, otherwise show error in notification + vTreatmentAdjustmentUltrafiltrationState.doPause() + } + onEditClicked : { + _treatmentAdjustmentUltrafiltrationEdit.reset() // reset the slider to minimum value position + _ufStack.stackView.push(_treatmentAdjustmentUltrafiltrationEdit) + } + onIsolatedUfClicked : { + console.log("Isolated UF clicked") + } + onResumeClicked : { + // send resume to TD and wait. + // if accepted button changes, otherwise show error in notification + vTreatmentAdjustmentUltrafiltrationState.doResume() + } + } + + TreatmentAdjustmentUltrafiltrationEdit { id: _treatmentAdjustmentUltrafiltrationEdit + visible: false + StackView.onActivated : { + _root.titleText = Qt.binding( + function() { return qsTr("Ultrafiltration Volume ") + Variables.unitTextUltrafiltrationVolume } + ) + _root.notificationText = Qt.binding( + function() { return vTreatmentAdjustmentUltrafiltrationEdit.adjustment_ReasonText } + ) + } + onContinueClicked : function(vVolume) { + // send Volume to TD and wait. + // if accepted moves to confirm screen, otherwise show error in notification + vTreatmentAdjustmentUltrafiltrationEdit.doAdjustment(vVolume) + } + } + + TreatmentAdjustmentUltrafiltrationConfirm { id: _treatmentAdjustmentUltrafiltrationConfirm + visible: false + StackView.onActivated : { + _root.titleText = Qt.binding( + function() { return qsTr("Confirm Ultrafiltration Volume ") + Variables.unitTextUltrafiltrationVolume } + ) + _root.notificationText = Qt.binding( + function() { return vTreatmentAdjustmentUltrafiltrationConfirm.adjustment_ReasonText } + ) + } + onConfirmVolumeClicked : { + vTreatmentAdjustmentUltrafiltrationConfirm.doConfirm(vVolume) + } + } + + Connections { target: vTreatmentAdjustmentUltrafiltrationEdit + function onAdjustmentTriggered ( vValue ) { + if (vTreatmentAdjustmentUltrafiltrationEdit.adjustment_Accepted) { + _treatmentAdjustmentUltrafiltrationConfirm.ultrafiltrationVolume = vTreatmentAdjustmentUltrafiltrationEdit.volume + _treatmentAdjustmentUltrafiltrationConfirm.ultrafiltrationRate = vTreatmentAdjustmentUltrafiltrationEdit.rate + + _ufStack.stackView.push(_treatmentAdjustmentUltrafiltrationConfirm) + } + } + } + + Connections { target: vTreatmentAdjustmentUltrafiltrationConfirm + function onAdjustmentTriggered ( vValue ) { + if (vTreatmentAdjustmentUltrafiltrationConfirm.adjustment_Accepted) { + close() + } + } + } +} Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationConfirm.qml =================================================================== diff -u -r9e583bc0edb0dd929a03132cc57c252d0bd5aaac -r975e1964b60365b24c74be139c6b84369a7248ce --- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationConfirm.qml (.../TreatmentAdjustmentUltrafiltrationConfirm.qml) (revision 9e583bc0edb0dd929a03132cc57c252d0bd5aaac) +++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationConfirm.qml (.../TreatmentAdjustmentUltrafiltrationConfirm.qml) (revision 975e1964b60365b24c74be139c6b84369a7248ce) @@ -26,30 +26,14 @@ * \brief TreatmentAdjustmentUltrafiltrationConfirm.qml is the screen * to confirm requested changes to the treatment ultrafiltration setting. */ -TreatmentAdjustmentBase { id: _root - contentItem.objectName: "TreatmentAdjustmentUltrafiltrationConfirm" //SquishQt testability +Item { id: _root + objectName: "TreatmentAdjustmentUltrafiltrationConfirm" // SquishQt testability property real ultrafiltrationVolume : 0.000 property real ultrafiltrationRate : 0.000 signal confirmVolumeClicked(real vVolume) - closeVisible : false - confirmVisible : false - backVisible : true - - information { - visible : true && information.text && ! notification.visible - imageSource : ufInfoImageSource - text : ufInfoText - color : Colors.ufNotificationBarBg - textColor : Colors.ufVolumeGoalText - textfontSize : Fonts.fontPixelUltrafiltrationAdjustmentNotification - textfontWeight : Font.Medium - } - - titleText : qsTr("Confirm Ultrafiltration Volume ") + Variables.unitTextUltrafiltrationVolume - Item { id: _contentArea anchors { top : parent.top @@ -152,8 +136,8 @@ TouchRect { id: _confirmButton anchors { - bottom : information.top - bottomMargin : Variables.ultrafiltrationButtonBottomMargin + bottom : parent.bottom + bottomMargin : Variables.defaultMargin horizontalCenter: parent.horizontalCenter } width : Variables.ultrafiltrationButtonWidth Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationEdit.qml =================================================================== diff -u -rb77f1998463ef3391198cf8f00bfd713197a008e -r975e1964b60365b24c74be139c6b84369a7248ce --- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationEdit.qml (.../TreatmentAdjustmentUltrafiltrationEdit.qml) (revision b77f1998463ef3391198cf8f00bfd713197a008e) +++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationEdit.qml (.../TreatmentAdjustmentUltrafiltrationEdit.qml) (revision 975e1964b60365b24c74be139c6b84369a7248ce) @@ -27,8 +27,9 @@ * \brief TreatmentAdjustmentUltrafiltrationEdit.qml is the screen * To adjust the treatment ultrafiltration */ -TreatmentAdjustmentBase { id: _root - contentItem.objectName: "TreatmentAdjustmentUltrafiltrationEdit" //SquishQt testability +Item { id: _root + objectName: "TreatmentAdjustmentUltrafiltrationEdit" // SquishQt testability + QtObject { id: _private readonly property real minimum : vTreatmentRanges.treatmentRanges_Ultrafiltration_Volume_Min readonly property real maximum : vTreatmentRanges.treatmentRanges_Ultrafiltration_Volume_Max @@ -43,26 +44,10 @@ _setVolumeSlider.reset(_private.setVolume) } - closeVisible : false - confirmVisible : false - backVisible : true - - information { - visible : true && information.text && ! notification.visible - imageSource : ufInfoImageSource - text : ufInfoText - color : Colors.ufNotificationBarBg - textColor : Colors.ufVolumeGoalText - textfontSize : Fonts.fontPixelUltrafiltrationAdjustmentNotification - textfontWeight : Font.Medium - } - - titleText : qsTr("Ultrafiltration Volume ") + Variables.unitTextUltrafiltrationVolume - TreatmentAdjustmentUltrafiltrationMetrics { id: _ufMetrics anchors { top : parent.top - topMargin : Variables.ultrafiltrationHeaderMargin + topMargin : Variables.defaultMargin horizontalCenter: parent.horizontalCenter } setVolume : _setVolumeSlider.value @@ -98,8 +83,8 @@ TouchRect { id: _continueButton anchors { - bottom : information.top - bottomMargin : Variables.ultrafiltrationButtonBottomMargin + bottom : parent.bottom + bottomMargin : Variables.defaultMargin horizontalCenter: parent.horizontalCenter } width : Variables.ultrafiltrationButtonWidth Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationStart.qml =================================================================== diff -u -reaa02e45b2d5f0910309bea7165963a539f9db97 -r975e1964b60365b24c74be139c6b84369a7248ce --- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationStart.qml (.../TreatmentAdjustmentUltrafiltrationStart.qml) (revision eaa02e45b2d5f0910309bea7165963a539f9db97) +++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationStart.qml (.../TreatmentAdjustmentUltrafiltrationStart.qml) (revision 975e1964b60365b24c74be139c6b84369a7248ce) @@ -27,8 +27,8 @@ * \brief TreatmentAdjustmentUltrafiltrationStart.qml is the screen * To adjust the treatment ultrafiltration */ -TreatmentAdjustmentBase { id: _root - contentItem.objectName: "TreatmentAdjustmentUltrafiltrationStart" //SquishQt testability +Item { id: _root + objectName: "TreatmentAdjustmentUltrafiltrationStart" // SquishQt testability QtObject { id: _private readonly property real minimum : vTreatmentRanges.treatmentRanges_Ultrafiltration_Volume_Min @@ -42,24 +42,10 @@ signal pauseClicked() signal resumeClicked() - confirmVisible: false - - information { - visible : true && information.text && ! notification.visible - imageSource : ufInfoImageSource - text : ufInfoText - color : Colors.ufNotificationBarBg - textColor : Colors.ufVolumeGoalText - textfontSize : Fonts.fontPixelUltrafiltrationAdjustmentNotification - textfontWeight : Font.Medium - } - - titleText : qsTr("Ultrafiltration Volume ") + Variables.unitTextUltrafiltrationVolume - TreatmentAdjustmentUltrafiltrationMetrics { id: _ufMetrics anchors { top : parent.top - topMargin : Variables.ultrafiltrationHeaderMargin + topMargin : Variables.defaultMargin horizontalCenter: parent.horizontalCenter } setVolume : _private.setVolume @@ -69,7 +55,7 @@ Item { id: _contentArea anchors { top : _ufMetrics.bottom - bottom : _pauseButton.top + bottom : _buttonArea.top left : parent.left leftMargin : 80 right : parent.right @@ -121,38 +107,23 @@ } } - TouchRect { id: _pauseButton + Row { id: _buttonArea anchors { - bottom : information.top - bottomMargin : Variables.ultrafiltrationButtonBottomMargin + bottom : parent.bottom + bottomMargin : Variables.defaultMargin horizontalCenter: parent.horizontalCenter } - width : Variables.defaultButtonWidth - height : Variables.defaultButtonHeight - text { - text : qsTr("Pause Ultrafiltration") - font.weight : Font.Medium - } - isDefault : true - visible : isUFPaused === false - - onClicked : _root.pauseClicked() - } - - Row { id: _pausedButtonArea - anchors.centerIn : _pauseButton spacing : Variables.defaultMargin - visible : ! _pauseButton.visible - TouchRect { id: _resumeButton + TouchRect { id: _pauseResumeButton width : Variables.defaultButtonWidth height : Variables.defaultButtonHeight text { - text : qsTr("Resume Ultrafiltration") + text : isUFPaused ? qsTr("Resume Ultrafiltration") : qsTr("Pause Ultrafiltration") font.weight : Font.Medium } isDefault : true - onClicked : _root.resumeClicked() + onClicked : isUFPaused ? _root.resumeClicked() : _root.pauseClicked() } TouchRect { id: _editButton @@ -177,19 +148,4 @@ onClicked : _root.isolatedUfClicked() } } - - Text { id: _informationText - text: qsTr("Note: Ultrafiltration must be paused to edit the volume.") - color: "#a3b7c9" - font { - pixelSize: 25 - } - - anchors { - bottom : _pauseButton.top - bottomMargin : 25 - horizontalCenter: parent.horizontalCenter - } - visible: _pauseButton.visible - } }