Index: leahi.qrc
===================================================================
diff -u -r0fc6d1c6c65ba935d7e5f0bc56130e99deada039 -rd5e9940fa96373f6cc118dfa9761d95f361689a5
--- leahi.qrc (.../leahi.qrc) (revision 0fc6d1c6c65ba935d7e5f0bc56130e99deada039)
+++ leahi.qrc (.../leahi.qrc) (revision d5e9940fa96373f6cc118dfa9761d95f361689a5)
@@ -270,6 +270,8 @@
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/TreatmentAdjustmentDurationEdit.qml
+ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentDurationConfirm.qml
sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentSaline.qml
sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltration.qml
sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationStart.qml
Index: sources/gui/qml/pages/treatment/TreatmentStack.qml
===================================================================
diff -u -r0fc6d1c6c65ba935d7e5f0bc56130e99deada039 -rd5e9940fa96373f6cc118dfa9761d95f361689a5
--- sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision 0fc6d1c6c65ba935d7e5f0bc56130e99deada039)
+++ sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision d5e9940fa96373f6cc118dfa9761d95f361689a5)
@@ -77,8 +77,6 @@
_treatmentAdjustmentSaline.open()
}
function onSectionTimeClicked ( vValue ) {
- //DEBUG: console.log("time total minutes: " + vTreatmentTime.time_Total / 60 )
- _treatmentAdjustmentDuration.setDurationValue(vTreatmentTime.time_Total / 60) // minutes => hours
_treatmentAdjustmentDuration.open()
}
function onSectionUltrafiltrationClicked ( vValue ) {
Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentDuration.qml
===================================================================
diff -u -ra5760947d3ed0d2748ba023a1c25e3c6aa0b1de1 -rd5e9940fa96373f6cc118dfa9761d95f361689a5
--- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentDuration.qml (.../TreatmentAdjustmentDuration.qml) (revision a5760947d3ed0d2748ba023a1c25e3c6aa0b1de1)
+++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentDuration.qml (.../TreatmentAdjustmentDuration.qml) (revision d5e9940fa96373f6cc118dfa9761d95f361689a5)
@@ -15,6 +15,7 @@
// Qt
import QtQuick 2.12
+import QtQuick.Controls 2.12 // StackView
// Project
@@ -27,78 +28,57 @@
* To adjust the treatment duration
*/
TreatmentAdjustmentBase { id: _root
- contentItem.objectName: "TreatmentAdjustmentDuration" //SquishQt testability
+ objectName: "_TreatmentAdjustmentDuration" // SquishQt testability
- readonly property real durationValue : _durationSlider.value
- readonly property alias durationMinimum : _durationSlider.minimum
- readonly property alias durationMaximum : _durationSlider.maximum
- readonly property alias durationStep : _durationSlider.step
+ closeVisible : true
+ confirmVisible : false
+ backVisible : _treatmentDurationStack.stackView.depth > 1
- readonly property alias currentTime : _currentTimeText.seconds
- readonly property alias durationTime : _durationText.seconds
+ onAboutToShow : { _treatmentDurationStack.reset() }
+ onClosed : { _treatmentDurationStack.reset() }
+ onBackClicked : { _treatmentDurationStack.pop() }
- property int textWidth : 200
+ StackItem { id: _treatmentDurationStack
+ objectName : "_treatmentDurationStack"
+ anchors {
+ top: parent.top
+ bottom: notification.top
+ left: parent.left
+ right: parent.right
+ }
+ visible : true
+ stackView {
+ initialItem : _treatmentAdjustmentDurationEdit
+ popEnter : null
+ popExit : null
+ pushEnter : null
+ pushExit : null
+ }
- // Due to how the slider is set up, a setter function is needed to set the slider value
- function setDurationValue(value) {
- _durationSlider.reset(value)
- }
+ TreatmentAdjustmentDurationEdit { id: _treatmentAdjustmentDurationEdit
+ objectName: "_treatmentAdjustmentDurationEdit"
+ visible: false
- titleText: qsTr("TREATMENT DURATION")
+ StackView.onActivating : {
+ _root.titleText = qsTr("Edit Treatment Duration")
+ _root.notificationText = ""
+ }
- Item { id : _container
- readonly property int sideMarginSize: Variables.headerButtonsMargin + Variables.confirmButtonWidth/2 - _durationSliderArrows.width/2 // Centers on the confirmButton
- width : _root.width
- height : 200
- anchors.centerIn: parent
-
- TimeText { id: _currentTimeText
- seconds: vTreatmentTime.time_Elapsed
- secondsVisible: true
- textPixelSize: Fonts.fontPixelDurationCurTime
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.top: _container.top
- anchors.bottom: _durationSlider.top
- anchors.bottomMargin: 65
+ onContinueClicked : function(vDuration) {
+ // send duration to TD and wait.
+ // if accepted moves to confirm screen, otherwise show error in notification
+ // vTreatmentAdjustmentDurationEdit.doAdjustment(vDuration)
+ }
}
- Slider { id : _durationSlider
- // The distance from parent's right side to the rightmost of slider - with slider arrows and spacings considered
- readonly property int sliderAndArrowSpacing : Variables.sliderAdjustButtonSpacing + _durationSlider.handler.width/2
- readonly property int distanceFromSide : _durationSlider.sliderAndArrowSpacing + _durationSliderArrows.width + _container.sideMarginSize
- width : _container.width - (distanceFromSide * 2) // determine the size of slider to center
- minimum : vTreatmentRanges.treatmentRanges_Duration_Min // in Minutes
- maximum : vTreatmentRanges.treatmentRanges_Duration_Max // in Minutes
- step : Variables.durationResolution
- stepSnap : true
- minText.visible : false
- maxText.visible : false
- ticks : true
- anchors.right : _durationSliderArrows.left
- anchors.rightMargin : _durationSlider.sliderAndArrowSpacing
- anchors.bottom : _container.bottom
+ TreatmentAdjustmentDurationConfirm { id: _treatmentAdjustmentDurationConfirm
+ objectName: "_treatmentAdjustmentDurationConfirm"
+ visible: false
- TimeText { id: _durationText
- seconds: 60 * _durationSlider.value // in Minutes => to Seconds
- secondsVisible: false
- textPixelSize: Fonts.fontPixelDurationAdjTime
- textWeight: Font.Medium
- anchors {
- top : _durationSlider.handler.bottom
- topMargin : 10
- horizontalCenter: _durationSlider.handler.horizontalCenter
- }
+ StackView.onActivating : {
+ _root.titleText = qsTr("Confirm Treatment Duration")
+ _root.notificationText = ""
}
}
- SliderArrows{ id: _durationSliderArrows
- visible : true
- anchors.verticalCenter : _durationSlider.verticalCenter
- anchors.right : _container.right
- anchors.rightMargin : _container.sideMarginSize
-
- onIncrementValue : _durationSlider.incrementValue(true)
- onDecrementValue : _durationSlider.decrementValue(true)
- }
}
-
}
Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentDurationConfirm.qml
===================================================================
diff -u
--- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentDurationConfirm.qml (revision 0)
+++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentDurationConfirm.qml (revision d5e9940fa96373f6cc118dfa9761d95f361689a5)
@@ -0,0 +1,118 @@
+/*!
+ *
+ * Copyright (c) 2020-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 TreatmentAdjustmentDurationConfirm.qml
+ * \author (last) Stephen Quong
+ * \date (last) 11-Nov-2025
+ * \author (original) Stephen Quong
+ * \date (original) 11-Nov-2025
+ *
+ */
+
+// Qt
+import QtQuick 2.12
+
+// Project
+
+// Qml imports
+import "qrc:/globals"
+import "qrc:/components"
+import "qrc:/compounds"
+
+/*!
+ * \brief TreatmentAdjustmentDurationConfirm.qml is the screen
+ * to confirm the treatment duration
+ */
+Item { id: _root
+ objectName: "_TreatmentAdjustmentDurationConfirm"
+
+ signal confirmVolumeClicked(int vDuration)
+
+ function reset() {
+ // _volumeGoalAdjuster.value = _private.setVolume
+ }
+
+ component LabelUnitText: LabelUnitContainer { id: _labelUnitText
+ objectName : "_labelUnitText"
+
+ property alias valueText: _labelUnitContainerText.text
+
+ width : (_infoArea.width - (_infoRow.spacing * 2)) / 3
+ height : Variables.adjustmentLabelUnitContainerHeight
+ titleFontPixelSize : Fonts.fontPixelContainerTitleSmall
+ unitText : Variables.unitTextDialCond
+ unitFontPixelSize : Fonts.fontPixelContainerUnitSmall
+
+ contentItem: Text { id: _labelUnitContainerText
+ objectName : "_labelUnitContainerText"
+ anchors.centerIn : parent
+ width : contentWidth
+ height : contentHeight
+ color : Colors.ufVolumeGoalText
+ font.pixelSize : Fonts.fontPixelValueControl
+ }
+ }
+
+ Item { id: _infoArea
+ objectName: "_infoArea"
+ anchors {
+ top: parent.top
+ bottom: _confirmButton.top
+ left: parent.left
+ leftMargin: Variables.defaultMargin * 2
+ right: parent.right
+ rightMargin : anchors.leftMargin
+ }
+
+ Row { id: _infoRow
+ objectName: "_infoRow"
+ anchors.centerIn: parent
+ spacing: Variables.defaultMargin * 2
+
+ LabelUnitText { id: _ufVolumeGoal
+ objectName : "_ufVolumeGoal"
+ text : qsTr("UF Volume Goal")
+ unitText : Variables.unitVolume
+ valueText : "--"
+ }
+
+ LabelUnitText { id: _ufNewRate
+ objectName : "_ufNewRate"
+ text : qsTr("New UF Rate")
+ unitText : Variables.unitTextRate
+ valueText : "--"
+ }
+
+ LabelUnitText { id: _newTreatmentDuration
+ objectName : "_newTreatmentDuration"
+ text : qsTr("New Treatment Duration")
+ unitText : Variables.unitTextDuration
+ valueText : "--"
+ }
+ }
+ }
+
+ TouchRect { id: _confirmButton
+ objectName : "_confirmButton"
+ anchors {
+ bottom : parent.bottom
+ bottomMargin : Variables.defaultMargin
+ horizontalCenter: parent.horizontalCenter
+ }
+ width : Variables.defaultButtonWidth
+ height : Variables.defaultButtonHeight
+ text {
+ text : qsTr("Confirm")
+ font.weight : Font.Medium
+ }
+ isDefault : true
+
+ onClicked : {
+ _root.confirmClicked()
+ }
+ }
+}
Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentDurationEdit.qml
===================================================================
diff -u
--- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentDurationEdit.qml (revision 0)
+++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentDurationEdit.qml (revision d5e9940fa96373f6cc118dfa9761d95f361689a5)
@@ -0,0 +1,169 @@
+/*!
+ *
+ * Copyright (c) 2020-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 TreatmentAdjustmentDurationEdit.qml
+ * \author (last) Stephen Quong
+ * \date (last) 11-Nov-2025
+ * \author (original) Stephen Quong
+ * \date (original) 11-Nov-2025
+ *
+ */
+
+// Qt
+import QtQuick 2.12
+
+// Project
+
+// Qml imports
+import "qrc:/globals"
+import "qrc:/components"
+import "qrc:/compounds"
+
+/*!
+ * \brief TreatmentAdjustmentDurationEdit.qml is the screen
+ * to edit the treatment duration
+ */
+Item { id: _root
+ objectName: "_TreatmentAdjustmentDurationEdit"
+
+ signal continueClicked(int vDuration)
+
+ function reset() {
+ _newTreatmentDuration.value = vTreatmentTime.time_Total
+ }
+
+ component LabelUnitText: LabelUnitContainer { id: _labelUnitText
+ objectName : "_labelUnitText"
+
+ property alias valueText: _labelUnitContainerText.text
+
+ width : 500
+ height : Variables.adjustmentLabelUnitContainerHeight
+ titleFontPixelSize : Fonts.fontPixelContainerTitleSmall
+ unitText : Variables.unitTextDialCond
+ unitFontPixelSize : Fonts.fontPixelContainerUnitSmall
+
+ contentItem: Text { id: _labelUnitContainerText
+ objectName : "_labelUnitContainerText"
+ anchors.centerIn : parent
+ width : contentWidth
+ height : contentHeight
+ color : Colors.offWhite
+ font.pixelSize : Fonts.fontPixelValueControl
+ }
+ }
+
+ Row { id: _infoRow
+ objectName: "_infoRow"
+ anchors {
+ top: parent.top
+ topMargin: Variables.defaultMargin * 2
+ horizontalCenter: parent.horizontalCenter
+ }
+ spacing: Variables.defaultMargin
+
+ Column { id: _infoLeftColumn
+ objectName: "_infoLeftColumn"
+ spacing: Variables.defaultMargin
+
+ LabelUnitText { id: _ufVolumeRemoved
+ objectName : "_ufVolumeRemoved"
+ text : qsTr("UF Volume Removed")
+ unitText : Variables.unitVolume
+ valueText : "-- --"
+ }
+
+ LabelUnitText { id: _timeElapsed
+ objectName : "_timeElapsed"
+ text : qsTr("Time Elapsed")
+ unitText : Variables.unitTextDuration
+ valueText : "-- --"
+ }
+ }
+
+ Column { id: _infoRightColumn
+ objectName: "_infoRightColumn"
+ spacing: Variables.defaultMargin
+
+ LabelUnitText { id: _ufVolumeGoal
+ objectName : "_ufVolumeGoal"
+ text : qsTr("UF Volume Goal")
+ unitText : Variables.unitVolume
+ valueText : "-- --"
+ }
+
+ LabelUnitText { id: _treatmentDuration
+ objectName : "_treatmentDuration"
+ text : qsTr("Treatment Duration")
+ unitText : Variables.unitTextDuration
+ valueText : "-- --"
+ }
+ }
+ }
+
+ Rectangle { id: _divider
+ objectName: "_divider"
+ anchors {
+ top: _infoRow.bottom
+ topMargin: Variables.defaultMargin * 3
+ left: parent.left
+ leftMargin: 50
+ right: parent.right
+ rightMargin: anchors.leftMargin
+ }
+ height: 2
+ color: Colors.panelBorderColor
+
+ }
+
+ LabelUnitValueAdjuster { id: _newTreatmentDuration
+ objectName : "_newTreatmentDuration"
+ anchors {
+ top: _divider.bottom
+ topMargin: _divider.anchors.topMargin
+ horizontalCenter: parent.horizontalCenter
+ }
+ text : qsTr("New Treatment Duration")
+ titleFontPixelSize : Fonts.fontPixelContainerTitleSmall
+ unitText : Variables.unitTextDuration
+ unitFontPixelSize : Fonts.fontPixelContainerUnitSmall
+ minimum : vTreatmentRanges.treatmentRanges_Duration_Min
+ maximum : vTreatmentRanges.treatmentRanges_Duration_Max
+ // value : { value = _private.treatmentDuration } // set without binding
+
+ onMinimumChanged: {
+ if (value < minimum) {
+ value = minimum
+ }
+ }
+ onMaximumChanged: {
+ if (value > maximum) {
+ value = maximum
+ }
+ }
+ }
+
+ TouchRect { id: _continueButton
+ objectName : "_continueButton"
+ anchors {
+ bottom : parent.bottom
+ bottomMargin : Variables.defaultMargin
+ horizontalCenter: parent.horizontalCenter
+ }
+ width : Variables.defaultButtonWidth
+ height : Variables.defaultButtonHeight
+ text {
+ text : qsTr("Continue")
+ font.weight : Font.Medium
+ }
+ isDefault : true
+
+ onClicked : {
+ _root.continueClicked(_newTreatmentDuration.value)
+ }
+ }
+}
Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentFlow.qml
===================================================================
diff -u -ra5760947d3ed0d2748ba023a1c25e3c6aa0b1de1 -rd5e9940fa96373f6cc118dfa9761d95f361689a5
--- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentFlow.qml (.../TreatmentAdjustmentFlow.qml) (revision a5760947d3ed0d2748ba023a1c25e3c6aa0b1de1)
+++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentFlow.qml (.../TreatmentAdjustmentFlow.qml) (revision d5e9940fa96373f6cc118dfa9761d95f361689a5)
@@ -21,125 +21,220 @@
// Qml imports
import "qrc:/globals"
import "qrc:/components"
+import "qrc:/compounds"
/*!
* \brief TreatmentAdjustmentFlow.qml is the screen
* To adjust the treatment blood/dialysate flow
*/
TreatmentAdjustmentBase { id: _root
- contentItem.objectName: "TreatmentAdjustmentFlow" //SquishQt testability
+ objectName: "_TreatmentAdjustmentFlow" // SquishQt testability
- property alias bloodFlowRateValue : _bloodFlowSlider.value
- property alias bloodFlowRateMinimum : _bloodFlowSlider.minimum
- property alias bloodFlowRateMaximum : _bloodFlowSlider.maximum
- property alias bloodFlowRateStep : _bloodFlowSlider.step
+ QtObject { id: _private
+ objectName: "_private"
+ readonly property int containerWidth: (_root.width - (Variables.defaultMargin * 5))/2
+ readonly property int titleFontPixelSize: Fonts.fontPixelContainerTitleSmall
+ readonly property int unitFontPixelSize: Fonts.fontPixelContainerUnitSmall
+ }
- property alias dialysateFlowRateValue : _dialysateFlowSlider.value
- property alias dialysateFlowRateMinimum : _dialysateFlowSlider.minimum
- property alias dialysateFlowRateMaximum : _dialysateFlowSlider.maximum
- property alias dialysateFlowRateStep : _dialysateFlowSlider.step
+ titleText: qsTr("Treatment Parameters")
- property int textWidth : 200
+ contentItem: Item { id: _contentItem
+ objectName: "_contentItem"
- titleText: qsTr("FLOWS")
+ Item { id: _contentArea
+ objectName: "_contentArea"
+ anchors {
+ top: parent.top
+ bottom: _confirmButton.top
+ left: parent.left
+ leftMargin: Variables.defaultMargin * 2
+ right: parent.right
+ rightMargin: anchors.leftMargin
+ }
- // Note : The slider values are not bound and will be set by user freely
- // and will be used to be sent for adjustment
- // if accepted will not changed and
- // if rejected then will be reset to the values passed by adjustment response
+ Row { id: _controlRow
+ objectName: "_controlRow"
+ anchors.centerIn: parent
+ spacing: Variables.defaultMargin
- // reset the flow values to the current flow values
- function currentFlows() {
- _bloodFlowSlider.reset ( vTreatmentBloodFlow. bloodFlow_PresFlow )
- _dialysateFlowSlider.reset ( vTreatmentDialysateFlow.dialysateFlow_PresFlow )
- }
+ Column { id: _controlLeftColumn
+ objectName: "_controlLeftColumn"
+ spacing: Variables.defaultMargin
- // reset the flow values to the values of the adjustment response
- function resetFlows() {
- _bloodFlowSlider.reset ( vTreatmentAdjustmentFlows. bloodFlow_FlowSetPoint )
- _dialysateFlowSlider.reset ( vTreatmentAdjustmentFlows.dialysateFlow_FlowSetPoint )
- }
+ LabelUnitValueAdjuster { id: _bloodFlowRate
+ objectName : "_bloodFlowRate"
+ width : _private.containerWidth
+ text : qsTr("Blood Flow Rate")
+ titleFontPixelSize : _private.titleFontPixelSize
+ unitText : Variables.unitTextFlowRate
+ unitFontPixelSize : _private.unitFontPixelSize
+ minimum : vTreatmentRanges.arterialPressureLimitWindowMin
+ maximum : vTreatmentRanges.arterialPressureLimitWindowMax
+ step : vTreatmentRanges.arterialPressureLimitWindowRes
+ value : { value = vTreatmentRanges.arterialPressureLimitWindowDef } // set without binding
+ }
- onAboutToShow: {
- // TODO : When Testing data on Setting screen is removed
- // This needs to be moved into the Treatment______.qml
- currentFlows()
- }
+ LabelUnitValueAdjuster { id: _dialysateFlowRate
+ objectName : "_dialysateFlowRate"
+ width : _private.containerWidth
+ text : qsTr("Dialysate Flow Rate")
+ titleFontPixelSize : _private.titleFontPixelSize
+ unitText : Variables.unitTextFlowRate
+ unitFontPixelSize : _private.unitFontPixelSize
+ minimum : vTreatmentRanges.venousPressureLimitWindowMin
+ maximum : vTreatmentRanges.venousPressureLimitWindowMax
+ step : vTreatmentRanges.venousPressureLimitWindowRes
+ value : { value = vTreatmentRanges.venousPressureLimitWindowDef } // set without binding
+ }
- Connections { target: vTreatmentAdjustmentFlows
- function onAdjustmentTriggered ( vValue ) {
- if ( vTreatmentAdjustmentFlows.adjustment_Accepted ) {
- accept()
- } else {
- resetFlows()
- console.debug(vTreatmentAdjustmentFlows.text())
- notification.text = vTreatmentAdjustmentFlows.text()
+ LabelUnitValueAdjuster { id: _dialysateTemperature
+ objectName : "_dialysateTemperature"
+ width : _private.containerWidth
+ text : qsTr("Dialysate Temperature")
+ titleFontPixelSize : _private.titleFontPixelSize
+ unitText : Variables.unitTextTemperature
+ unitFontPixelSize : _private.unitFontPixelSize
+ minimum : vTreatmentRanges.venousPressureLimitAsymtrcMin
+ maximum : vTreatmentRanges.venousPressureLimitAsymtrcMax
+ step : vTreatmentRanges.venousPressureLimitAsymtrcRes
+ value : { value = vTreatmentRanges.venousPressureLimitAsymtrcDef } // set without binding
+ }
+ }
+
+ Column { id: _controlRightColumn
+ objectName: "_controlRightColumn"
+ spacing: Variables.defaultMargin
+
+ LabelUnitContainer { id: _acidConcentrate
+ objectName : "_acidConcentrate"
+ width : _private.containerWidth
+ height : Variables.adjustmentLabelUnitContainerHeight
+ text : qsTr("Acid Concentrate")
+ titleFontPixelSize : _private.titleFontPixelSize
+ unitFontPixelSize : _private.unitFontPixelSize
+ showEdit : true
+ // onEditClicked : _acidConcentrateAdjustment.open()
+ // valid : ! vTreatmentCreate.acidConcentrateRejectReason
+
+ contentItem: BaseComboBox { id: _acidConcentrateComboBox
+ objectName : "_acidConcentrateComboBox"
+ anchors {
+ topMargin : Variables.defaultMargin / 2
+ bottomMargin: anchors.topMargin
+ leftMargin : Variables.defaultMargin * 2
+ rightMargin : anchors.leftMargin
+ }
+ isActive : vTreatmentCreate.acidConcentrateSet
+ currentIndex : vTreatmentCreate.acidConcentrate
+ model : vTreatmentRanges.acidConcentrateOptions
+ onClear : {
+ vTreatmentRanges.doClearAcidConcentrate(vTreatmentCreate.acidConcentrateSet)
+ vTreatmentCreate.acidConcentrateSet = false
+ }
+
+ onActivated : {
+ if ( ! _acidConcentrate.valid ) { vTreatmentCreate.acidConcentrateRejectReason = Variables.noRejectReason }
+ vTreatmentCreate.acidConcentrate = _acidConcentrateComboBox.currentIndex
+ vTreatmentCreate.acidConcentrateSet = true
+ }
+ }
+ }
+
+ LabelUnitContainer { id: _bicarbonateConcentrate
+ objectName : "_bicarbonateConcentrate"
+ width : _private.containerWidth
+ height : Variables.adjustmentLabelUnitContainerHeight
+ text : qsTr("Bicarbonate Concentrate")
+ titleFontPixelSize : _private.titleFontPixelSize
+ unitFontPixelSize : _private.unitFontPixelSize
+
+ contentItem: BaseComboBox { id: _bicarbonateConcentrateComboBox
+ objectName : "_bicarbonateConcentrateComboBox"
+ anchors {
+ topMargin : Variables.defaultMargin / 2
+ bottomMargin: anchors.topMargin
+ leftMargin : Variables.defaultMargin * 2
+ rightMargin : anchors.leftMargin
+ }
+ isActive : vTreatmentCreate.bicarbonateConcentrateSet
+ currentIndex : vTreatmentCreate.bicarbonateConcentrate
+ model : vTreatmentRanges.bicarbonateConcentrateOptions
+ onClear : vTreatmentCreate.bicarbonateConcentrateSet = false
+ onActivated : {
+ if ( ! _bicarbonateConcentrate.valid ) { vTreatmentCreate.bicarbonateConcentrateRejectReason = Variables.noRejectReason }
+ vTreatmentCreate.bicarbonateConcentrate = _bicarbonateConcentrateComboBox.currentIndex
+ vTreatmentCreate.bicarbonateConcentrateSet = true
+ }
+ }
+ }
+
+ LabelUnitContainer { id: _theoreticalConductivity
+ objectName : "_theoreticalConductivity"
+ width : _private.containerWidth
+ height : Variables.adjustmentLabelUnitContainerHeight
+ text : qsTr("Theoretical Conductivity")
+ titleFontPixelSize : _private.titleFontPixelSize
+ unitText : Variables.unitTextDialCond
+ unitFontPixelSize : _private.unitFontPixelSize
+
+ contentItem: Text { id: _theoreticalConductivityText
+ objectName : "_theoreticalConductivityText"
+ anchors.centerIn : parent
+ width : contentWidth
+ height : contentHeight
+ color : Colors.offWhite
+ font.pixelSize : Fonts.fontPixelValueControl
+ text : "--"
+ }
+ }
+
+ LabelUnitContainer { id: _independentConductivity
+ objectName : "_independentConductivity"
+ width : _private.containerWidth
+ height : Variables.adjustmentLabelUnitContainerHeight
+ text : qsTr("Independent Conductivity Reading")
+ titleFontPixelSize : _private.titleFontPixelSize
+ unitText : Variables.unitTextDialCond
+ unitFontPixelSize : _private.unitFontPixelSize
+
+ contentItem: Text { id: _independentConductivityText
+ objectName : "_independentConductivityText"
+ anchors.centerIn : parent
+ width : contentWidth
+ height : contentHeight
+ color : Colors.offWhite
+ font.pixelSize : Fonts.fontPixelValueControl
+ text : "--"
+ }
+ }
+ }
}
}
- }
- Column { id : _flowsColumn
- spacing: 100
- anchors.centerIn: parent
- Row { id : _bloodFlowRow
- spacing: 50
- anchors.horizontalCenter: parent.horizontalCenter
- TextRect { id: _bloodFlowTextRect
- anchors.top: parent.top
- anchors.topMargin: 25
- width: textWidth
- title: qsTr("Blood Flow Rate")
- label: _bloodFlowSlider.value
- extra: Variables.unitTextFlowRate
- labelFont.weight: Font.ExtraLight
+ TouchRect { id: _confirmButton
+ objectName : "_confirmButton"
+ anchors {
+ bottom : parent.bottom
+ horizontalCenter: parent.horizontalCenter
}
- Slider { id : _bloodFlowSlider
- anchors.verticalCenter: parent.verticalCenter
- width : 600
- minimum : Variables.bloodFlowMin
- maximum : Variables.bloodFlowMax
- decimal : Variables.bloodFlowPrecision
- unit : Variables.unitTextFlowRate
- step : Variables.bloodFlowResolution
- ticks : true
+ width : Variables.defaultButtonWidth
+ height : Variables.defaultButtonHeight
+ text {
+ text : qsTr("Confirm")
+ font.weight : Font.Medium
}
- SliderArrows{ id:_bloodFlowSliderArrows
- anchors.verticalCenter : _bloodFlowSlider.verticalCenter
- onIncrementValue : _bloodFlowSlider.incrementValue(true)
- onDecrementValue : _bloodFlowSlider.decrementValue(true)
+ isDefault : true
+
+ onClicked : {
+ _root.onConfirmClicked()
}
}
- Line {
- anchors.horizontalCenter: parent.horizontalCenter
- length : _root.width - 100
- color : Colors.separatorLine
- }
- Row { id : _dialysateInletFlowRow
- spacing: 50
- anchors.horizontalCenter: parent.horizontalCenter
- TextRect { id: _dialysateInletFlowTextRect
- anchors.top: parent.top
- anchors.topMargin: 25
- width: textWidth
- title: qsTr("Dialysate Flow Rate")
- label: _dialysateFlowSlider.value
- extra: Variables.unitTextFlowRate
- labelFont.weight: Font.ExtraLight
- }
- Slider { id : _dialysateFlowSlider
- anchors.verticalCenter: parent.verticalCenter
- width : 600
- minimum : vTreatmentRanges.treatmentRanges_Dialysate_Flow_Min
- maximum : vTreatmentRanges.treatmentRanges_Dialysate_Flow_Max
- unit : Variables.unitTextFlowRate
- step : Variables.dialysateFlowResolution
- ticks : true
- }
- SliderArrows{ id:_dialysateFlowSliderArrows
- anchors.verticalCenter : _dialysateFlowSlider.verticalCenter
- onIncrementValue : _dialysateFlowSlider.incrementValue(true)
- onDecrementValue : _dialysateFlowSlider.decrementValue(true)
- }
- }
}
+
+ footer: Item { id: _footerItem
+ objectName : "_footerItem"
+ width : parent.width
+ height : Variables.notificationHeight
+ }
}
Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentPressuresLimits.qml
===================================================================
diff -u -r0fc6d1c6c65ba935d7e5f0bc56130e99deada039 -rd5e9940fa96373f6cc118dfa9761d95f361689a5
--- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentPressuresLimits.qml (.../TreatmentAdjustmentPressuresLimits.qml) (revision 0fc6d1c6c65ba935d7e5f0bc56130e99deada039)
+++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentPressuresLimits.qml (.../TreatmentAdjustmentPressuresLimits.qml) (revision d5e9940fa96373f6cc118dfa9761d95f361689a5)
@@ -28,7 +28,7 @@
* To adjust the treatment inline blood pressure ranges of Arterial and venous
*/
TreatmentAdjustmentBase { id: _root
- objectName: "_TreatmentAdjustmentPressures" //SquishQt testability
+ objectName: "_TreatmentAdjustmentPressures" // SquishQt testability
readonly property alias arterialPressureLimitWindow : _arterialWindow.value
readonly property alias venousPressureLimitWindow : _venousWindow.value
Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentSaline.qml
===================================================================
diff -u -r0fc6d1c6c65ba935d7e5f0bc56130e99deada039 -rd5e9940fa96373f6cc118dfa9761d95f361689a5
--- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentSaline.qml (.../TreatmentAdjustmentSaline.qml) (revision 0fc6d1c6c65ba935d7e5f0bc56130e99deada039)
+++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentSaline.qml (.../TreatmentAdjustmentSaline.qml) (revision d5e9940fa96373f6cc118dfa9761d95f361689a5)
@@ -24,11 +24,11 @@
import "qrc:/compounds"
/*!
- * \brief TreatmentAdjustmentSaine.qml is the screen
+ * \brief TreatmentAdjustmentSaline.qml is the screen
* To adjust the treatment saline
*/
TreatmentAdjustmentBase { id: _root
- objectName: "_TreatmentAdjustmentSaline" //SquishQt testability
+ objectName: "_TreatmentAdjustmentSaline" // SquishQt testability
readonly property alias fluidBolusVolume: _fluidBolusVolume.value