Index: leahi.qrc
===================================================================
diff -u -r86aaf030d6eb405f301f703aa68e6854db7eb5d1 -r0022c3993c47e74c2d17c7f07f78fa1751a034f6
--- leahi.qrc (.../leahi.qrc) (revision 86aaf030d6eb405f301f703aa68e6854db7eb5d1)
+++ leahi.qrc (.../leahi.qrc) (revision 0022c3993c47e74c2d17c7f07f78fa1751a034f6)
@@ -165,6 +165,8 @@
sources/gui/qml/compounds/CheckListView.qml
sources/gui/qml/compounds/TouchGrid.qml
sources/gui/qml/compounds/BPHREntry.qml
+ sources/gui/qml/compounds/LabelUnitContainer.qml
+ sources/gui/qml/compounds/TreatmentAdjustmentUltrafiltrationMetrics.qml
qtquickcontrols2.conf
@@ -259,7 +261,6 @@
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/TreatmentAdjustmentUltrafiltrationMetrics.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/components/RangeMarker.qml
===================================================================
diff -u -r3e91f569d10fe5b76298b85ee3a6875f80e33063 -r0022c3993c47e74c2d17c7f07f78fa1751a034f6
--- sources/gui/qml/components/RangeMarker.qml (.../RangeMarker.qml) (revision 3e91f569d10fe5b76298b85ee3a6875f80e33063)
+++ sources/gui/qml/components/RangeMarker.qml (.../RangeMarker.qml) (revision 0022c3993c47e74c2d17c7f07f78fa1751a034f6)
@@ -81,6 +81,23 @@
rightMargin : valueOnTop ? -12 : 5
topMargin : valueOnTop ? 0 : -5
horizontalCenter: valueOnTop ? _handle.horizontalCenter : undefined
+ horizontalCenterOffset: {
+ if (valueOnTop) {
+ if (_root.parent !== undefined) {
+ let xDelta = (_root.width-implicitWidth)/2
+ // left boundary
+ if (_root.x + xDelta < 0) {
+ return -(_root.x + xDelta)
+ }
+ // right boundary
+ let rightOverflow = _root.x + _root.width - xDelta
+ if (rightOverflow > _root.parent.width) {
+ return -(rightOverflow - _root.parent.width)
+ }
+ }
+ }
+ return 0
+ }
}
horizontalAlignment: valueOnTop ? Text.AlignHCenter : Text.AlignLeft
color : _root.color
Index: sources/gui/qml/compounds/LabelUnitContainer.qml
===================================================================
diff -u
--- sources/gui/qml/compounds/LabelUnitContainer.qml (revision 0)
+++ sources/gui/qml/compounds/LabelUnitContainer.qml (revision 0022c3993c47e74c2d17c7f07f78fa1751a034f6)
@@ -0,0 +1,90 @@
+/*!
+ *
+ * Copyright (c) 2021-2025 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 LabelUnitContainer.qml
+ * \author (last) Nico Ramirez
+ * \date (last) 21-Aug-2025
+ * \author (original) Nico Ramirez
+ * \date (original) 21-Aug-2025
+ *
+ */
+
+// Qt
+import QtQuick 2.12
+
+// Qml
+import "qrc:/globals"
+import "qrc:/components"
+
+Rectangle { id: _root
+ property Item contentItem : null
+ property alias contentArea : _contentArea
+
+ property alias text : _title.text
+ property string unitText: ""
+ property bool valid : true
+ property bool showUnit : true
+ property bool showEdit : false
+ property alias titleText: _title
+
+ height : cellHeight
+ width : cellWidth
+ radius : 8.5
+ color : Colors.panelBackgroundColor
+
+ border {
+ width: 1
+ color: valid ? Colors.panelBorderColor : Colors.panelInvalidBorderColor
+ }
+
+ signal editClicked()
+
+ Row { id: _titleRow
+ anchors {
+ verticalCenter : parent.verticalCenter
+ left : parent.left
+ leftMargin : Variables.defaultMargin
+ }
+ spacing : 10
+
+ Text { id: _title
+ anchors.verticalCenter : _titleRow.verticalCenter
+ color : Colors.offWhite
+ font.pixelSize : 28
+ }
+
+ Text { id: _unit
+ anchors.bottom : _title.bottom
+ text : _root.unitText.length > 0 ? ("(%1)").arg(_root.unitText) : ""
+ color : Colors.offWhite
+ font.pixelSize : 22
+ font.weight : Font.Thin
+ visible : _root.showUnit
+ }
+
+ IconButton { id : _editButton
+ anchors.verticalCenter : _title.verticalCenter
+ anchors.verticalCenterOffset : 5
+ visible : _root.showEdit
+ iconImageSource : "qrc:/images/iEdit"
+ onPressed : _root.editClicked()
+ iconSize : Variables.iconsDiameter
+ }
+ }
+
+ ContentArea { id : _contentArea
+ anchors {
+ top : _root.top
+ left : _root.left
+ leftMargin : _root.width / 2
+ right : _root.right
+ bottom : _root.bottom
+ }
+
+ contentItem: _root.contentItem
+ }
+}
Index: sources/gui/qml/compounds/TreatmentAdjustmentUltrafiltrationMetrics.qml
===================================================================
diff -u
--- sources/gui/qml/compounds/TreatmentAdjustmentUltrafiltrationMetrics.qml (revision 0)
+++ sources/gui/qml/compounds/TreatmentAdjustmentUltrafiltrationMetrics.qml (revision 0022c3993c47e74c2d17c7f07f78fa1751a034f6)
@@ -0,0 +1,72 @@
+/*!
+ *
+ * Copyright (c) 2020-2025 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 TreatmentAdjustmentUltrafiltrationMetrics.qml
+ * \author (last) Stephen Quong
+ * \date (last) 19-Aug-2025
+ * \author (original) Stephen Quong
+ * \date (original) 19-Aug-2025
+ *
+ */
+
+// Qt
+import QtQuick 2.12
+
+// Project
+
+// Qml imports
+import "qrc:/globals"
+
+/*!
+ * \brief TreatmentAdjustmentUltrafiltrationMetrics contains components
+ * that display the ultrafiltration volume removed and goal.
+ */
+Item { id: _root
+ property real setVolume : 0
+ property real volumeRemoved : 0
+
+ component ValueContainer: LabelUnitContainer { id: _valueContainer
+ property alias value: _value.text
+
+ anchors.centerIn : parent
+ width : 350
+ height : 60
+ titleText.font {
+ pixelSize : Fonts.fontPixelButton
+ weight : Font.Medium
+ }
+
+ contentItem: Item { id: _containerContentItem
+ Text { id: _value
+ anchors {
+ right : parent.right
+ rightMargin : Variables.defaultMargin
+ verticalCenter : parent.verticalCenter
+ }
+ font {
+ pixelSize : Fonts.fontPixelUltrafiltrationAdjustmentMetrics
+ weight : Font.DemiBold
+ }
+ color : titleText.color
+ }
+ }
+ }
+
+ ValueContainer { id: _volumeRemovedContainer
+ anchors.horizontalCenterOffset : -(width/2 + 30)
+ titleText.color : Colors.fluidText
+ text : qsTr("UF Volume Removed:")
+ value : _root.volumeRemoved.toFixed(Variables.ultrafiltrationPrecision)
+ }
+
+ ValueContainer { id: _volumeGoalContainer
+ anchors.horizontalCenterOffset : -(_volumeRemovedContainer.anchors.horizontalCenterOffset)
+ titleText.color : Colors.ufVolumeGoalText
+ text : qsTr("UF Volume Goal:")
+ value : _root.setVolume.toFixed(Variables.ultrafiltrationPrecision)
+ }
+}
Index: sources/gui/qml/globals/Colors.qml
===================================================================
diff -u -r47f9c63c505b15ee0ce34e0f4771a3e138d441b2 -r0022c3993c47e74c2d17c7f07f78fa1751a034f6
--- sources/gui/qml/globals/Colors.qml (.../Colors.qml) (revision 47f9c63c505b15ee0ce34e0f4771a3e138d441b2)
+++ sources/gui/qml/globals/Colors.qml (.../Colors.qml) (revision 0022c3993c47e74c2d17c7f07f78fa1751a034f6)
@@ -30,6 +30,7 @@
readonly property color red : "#c53b33" // red
readonly property color white : "white" // white
readonly property color transparent : "Transparent" // No Color
+ readonly property color offWhite : "#FEFEFE"
readonly property color separatorLine : "#5f809d"
readonly property color backgroundMain : "#1A344D" //// ----- @LEAHIZED
@@ -54,13 +55,19 @@
readonly property color backgroundUltrafiltrationButton : "#31568F"
readonly property color textValueUltrafiltrationButtonFg: "#98aec2"
+ readonly property color dialogText : "#343434"
+ readonly property color alarmDialogText : "#343434"
+ readonly property color alarmDialogGreyText : "#838080"
+ readonly property color dialogShadowColor : "#334E759C"
+ readonly property color dialogValueColor : "#3D8EEF"
readonly property color backgroundRangeRect : "#3e546e"
readonly property color highlightProgressBar : "#3d8eef"
readonly property color highlightMedProgressBar : "#1b2b3e"
readonly property color textProgressBar : "#88a3c5"
readonly property color progressBarSaline : "#73D8DF"
readonly property color progressBarUltrafiltration : "#67ACFF"
+ readonly property color comboBoxDisplay : "#B31B2B3E"
readonly property color textRangeMarker : white
readonly property color rangeMarker : white
@@ -82,6 +89,10 @@
readonly property color buttonDisableColor : "#515050"
readonly property color pauseColor : "#9B864E"
+ readonly property color panelBackgroundColor : "#12FFFFFF"
+ readonly property color panelBorderColor : "#4DB5B5B5"
+ readonly property color panelInvalidBorderColor : "#FFA500"
+
readonly property color touchTextAreaTitle : "#a0b6d0"
readonly property color textTextRectTitle : white
@@ -113,7 +124,7 @@
readonly property color textNotificationHighBg : red
readonly property color textNotificationHighFg : white
- readonly property color alarmTopBarHighBg : "#831913"
+ readonly property color alarmTopBarHighBg : red
readonly property color alarmTopBarHighFg : white
readonly property color alarmTopBarMedBg : "#db8f00"
@@ -137,11 +148,9 @@
readonly property color scrollBarBgColor : white //"#80696969" // half transparent dimgray
- readonly property color textBoxBgColor : "#344e6b"
- readonly property color textBoxBorderColor : "#475d76"
readonly property color ufVolumeGoalText : "#f5be59"
readonly property color ufNotificationBarBg : "#0f2841"
- readonly property color ufProgressBarFill : "#467bbe"
+ readonly property color ufProgressBarFill : "#2083FA"
readonly property color ufProgressBarBorder : "#416897"
readonly property color ufAdjustmentDeltaFill : "#747974"
readonly property color ufAdjustmentProgressBarBg : "#2c517b"
@@ -158,25 +167,25 @@
case GuiActions.ALARM_PRIORITY_HIGH:
titleBg = alarmTopBarHighBg
titleFg = alarmTopBarHighFg
- contentBg = textNotificationHighBg
+ contentBg = white
contentFg = textNotificationHighFg
break
case GuiActions.ALARM_PRIORITY_MEDIUM:
titleBg = alarmTopBarMedBg
titleFg = alarmTopBarMedFg
- contentBg = textNotificationMedBg
+ contentBg = white
contentFg = textNotificationMedFg
break
case GuiActions.ALARM_PRIORITY_LOW:
titleBg = alarmTopBarLowBg
titleFg = alarmTopBarLowFg
- contentBg = textNotificationLowBg
+ contentBg = white
contentFg = textNotificationLowFg
break
default : // GuiActions.ALARM_PRIORITY_NONE
titleBg = backgroundButtonSelect
titleFg = textMain
- contentBg = backgroundDialog
+ contentBg = white
contentFg = textMain
}
return [titleBg ,
Index: sources/gui/qml/globals/Fonts.qml
===================================================================
diff -u -r018005dc067da01f25899ce83e4ce8f14e5013ae -r0022c3993c47e74c2d17c7f07f78fa1751a034f6
--- sources/gui/qml/globals/Fonts.qml (.../Fonts.qml) (revision 018005dc067da01f25899ce83e4ce8f14e5013ae)
+++ sources/gui/qml/globals/Fonts.qml (.../Fonts.qml) (revision 0022c3993c47e74c2d17c7f07f78fa1751a034f6)
@@ -31,6 +31,7 @@
readonly property int fontPixelAlarmTitle : 48
readonly property int fontPixelAlarmBarTitle : 40
readonly property int fontPixelAlarmMessage : 40
+ readonly property int fontPixelAlarmID : 32
readonly property int fontPixelTouchAreaTitle : 16
@@ -48,6 +49,7 @@
readonly property int fontPixelPresseuresText : 22
readonly property int fontPixelPresseuresLabel : 28
+ readonly property int fontPixelValueControl : 35
readonly property int fontPixelFluidText : 22
readonly property int fontPixelFluidValue : 32
Index: sources/gui/qml/globals/Variables.qml
===================================================================
diff -u -r018005dc067da01f25899ce83e4ce8f14e5013ae -r0022c3993c47e74c2d17c7f07f78fa1751a034f6
--- sources/gui/qml/globals/Variables.qml (.../Variables.qml) (revision 018005dc067da01f25899ce83e4ce8f14e5013ae)
+++ sources/gui/qml/globals/Variables.qml (.../Variables.qml) (revision 0022c3993c47e74c2d17c7f07f78fa1751a034f6)
@@ -41,6 +41,7 @@
readonly property int contentHeight : 50
readonly property int mainMenuHeight : 80 //// ----- @LEAHIZED
+ readonly property int alarmDialogHeaderHeight : 100
readonly property int minVGap : 15
readonly property int minVGap2 : 30
@@ -73,6 +74,7 @@
readonly property int dialogWidth : applicationWidth - dialogMargin
readonly property int dialogHeight : applicationHeight - dialogMargin
readonly property int dialogRadius : 10
+ readonly property int alarmDialogRadius : 30
readonly property int rangeRectMargin : 1
readonly property int rangeRectRadius : 2
@@ -111,12 +113,13 @@
readonly property int pauseIconDiameter : 60
readonly property int arrowIconDiameter : 35
+ readonly property int muteIconDiameter : 38
readonly property int headerIconDiameter : 40
readonly property int topBarMenuHeight : 80 //// ----- @LEAHIZED
readonly property int sliderCircleDiameter : 30
readonly property int pressuresProgressbarWidth : 725
-
+
readonly property int gridSelectionButtonHeight : 100
readonly property int gridSelectionButtonWidth : 375
@@ -209,7 +212,6 @@
readonly property int noRejectReason : 0
readonly property int textBoxRadius : 5
- readonly property int textBoxBorderWidth : 2
readonly property int adjustmentDialogWidth : applicationWidth * 0.7
readonly property int adjustmentDialogHeight : applicationHeight * 0.7
readonly property int adjustmentHeaderHeight : 120
@@ -246,6 +248,12 @@
// Dialysate Conductivity
readonly property int dialysateCondPrecision : 1
+ // Potassium
+ readonly property int potassiumPrecision : 1
+
+ // Calcium
+ readonly property int calciumPrecision : 2
+
function sizeConverted(vSize, vSizePowers, vRound = 2) {
return ( vSize
/ vSizePowers // convert from byte to Giga byte
@@ -270,12 +278,16 @@
readonly property var regExp_PatientID: /[A-Za-z0-9_\-\.]{1,64}/
+ readonly property string emptyEntry : "-- --"
+
readonly property string preTreatmentStepLabelCreate : qsTr("CREATE" )
readonly property string preTreatmentStepLabelConfirm : qsTr("CONFIRM" )
readonly property string preTreatmentStepLabelPriming : qsTr("PRIME" )
readonly property string preTreatmentStepLabelUltrafiltration : qsTr("BEGIN" )
// Units
+ readonly property string unitTextPotassium : qsTr("K")
+ readonly property string unitTextCalcium : qsTr("Ca")
// - Ultrafiltration
readonly property string unitTextUltrafiltrationRate : unitTextFlowRate
readonly property string unitTextUltrafiltrationVolume : unitTextVolume
Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationEdit.qml
===================================================================
diff -u -raa03f07a386a12895435facfff9f4bff9f7a45f0 -r0022c3993c47e74c2d17c7f07f78fa1751a034f6
--- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationEdit.qml (.../TreatmentAdjustmentUltrafiltrationEdit.qml) (revision aa03f07a386a12895435facfff9f4bff9f7a45f0)
+++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationEdit.qml (.../TreatmentAdjustmentUltrafiltrationEdit.qml) (revision 0022c3993c47e74c2d17c7f07f78fa1751a034f6)
@@ -21,6 +21,7 @@
// Qml imports
import "qrc:/globals"
import "qrc:/components"
+import "qrc:/compounds"
/*!
* \brief TreatmentAdjustmentUltrafiltrationEdit.qml is the screen
Fisheye: Tag 0022c3993c47e74c2d17c7f07f78fa1751a034f6 refers to a dead (removed) revision in file `sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationMetrics.qml'.
Fisheye: No comparison available. Pass `N' to diff?
Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationStart.qml
===================================================================
diff -u -raa03f07a386a12895435facfff9f4bff9f7a45f0 -r0022c3993c47e74c2d17c7f07f78fa1751a034f6
--- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationStart.qml (.../TreatmentAdjustmentUltrafiltrationStart.qml) (revision aa03f07a386a12895435facfff9f4bff9f7a45f0)
+++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationStart.qml (.../TreatmentAdjustmentUltrafiltrationStart.qml) (revision 0022c3993c47e74c2d17c7f07f78fa1751a034f6)
@@ -21,6 +21,7 @@
// Qml imports
import "qrc:/globals"
import "qrc:/components"
+import "qrc:/compounds"
/*!
* \brief TreatmentAdjustmentUltrafiltrationStart.qml is the screen