Index: leahi.qrc
===================================================================
diff -u -r39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26 -r0975a67dd4e4673b9a7b226bfea02cbfa489c418
--- leahi.qrc (.../leahi.qrc) (revision 39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26)
+++ leahi.qrc (.../leahi.qrc) (revision 0975a67dd4e4673b9a7b226bfea02cbfa489c418)
@@ -40,6 +40,8 @@
sources/gui/qml/dialogs/AcidConcentrateAdjustment.qml
sources/gui/qml/dialogs/EndTreatmentDialog.qml
sources/gui/qml/dialogs/RinsebackCompleteDialog.qml
+ sources/gui/qml/dialogs/UfVolumeAdjustment.qml
+ sources/gui/qml/dialogs/HeparinRxAdjustment.qml
sources/gui/qml/dialogs/diagnostics/DiagnosticsDialog.qml
@@ -125,6 +127,9 @@
resources/images/ArrowUpDisabled.png
resources/images/pause.png
resources/images/play.png
+ resources/images/recirculate_main.png
+ resources/images/bloodpump.png
+ resources/images/edit_yellow.png
sources/gui/qml/components/MainMenu.qml
@@ -172,6 +177,7 @@
sources/gui/qml/components/Footer.qml
sources/gui/qml/components/TextEntry.qml
sources/gui/qml/components/ScrollBar.qml
+ sources/gui/qml/components/ScrollBar2.qml
sources/gui/qml/components/FooterStatic.qml
sources/gui/qml/components/TimeEntry.qml
sources/gui/qml/components/Label.qml
@@ -275,6 +281,8 @@
sources/gui/qml/pages/pretreatment/create/PreTreatmentCreate.qml
sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateContent.qml
+ sources/gui/qml/pages/pretreatment/create/PreTreatmentCreatePatientPrescription.qml
+ sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateTreatmentSettings.qml
sources/gui/qml/pages/treatment/TreatmentStack.qml
@@ -284,6 +292,7 @@
sources/gui/qml/pages/treatment/TreatmentSectionHeader.qml
sources/gui/qml/pages/treatment/TreatmentHeparin.qml
sources/gui/qml/pages/treatment/TreatmentHDF.qml
+ sources/gui/qml/pages/treatment/TreatmentTrends.qml
sources/gui/qml/pages/treatment/sections/TreatmentFlows.qml
@@ -324,8 +333,9 @@
sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentRinsebackInit.qml
sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentRinseback.qml
-
-
+
+ sources/gui/qml/pages/endtreatment/recirculate/EndTreatmentRecirculateProgress.qml
+
sources/gui/qml/pages/posttreatment/PostTreatmentBase.qml
sources/gui/qml/pages/posttreatment/PostTreatmentStack.qml
Index: sources/gui/qml/components/HeaderBar.qml
===================================================================
diff -u -r171387aefe2f3d21245ff32fc9b9656c79bfa406 -r0975a67dd4e4673b9a7b226bfea02cbfa489c418
--- sources/gui/qml/components/HeaderBar.qml (.../HeaderBar.qml) (revision 171387aefe2f3d21245ff32fc9b9656c79bfa406)
+++ sources/gui/qml/components/HeaderBar.qml (.../HeaderBar.qml) (revision 0975a67dd4e4673b9a7b226bfea02cbfa489c418)
@@ -1,4 +1,5 @@
import QtQuick 2.12
+import QtQuick.Controls 2.12 // StackView
import "qrc:/components"
import "qrc:/globals"
@@ -7,12 +8,12 @@
property alias menuHidden : _headerMenu.hidden
property alias headerMenuIndex : _headerMenu.index
- property alias titleText : _title.text
- property alias loggedUser : _loggedInUser.text
+ property alias userMode : _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
@@ -92,6 +93,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
@@ -189,18 +193,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/dialogs/NotificationDialog.qml
===================================================================
diff -u -r4bb515b8b2cd9791b6411dd7d596767f2d0c0644 -r0975a67dd4e4673b9a7b226bfea02cbfa489c418
--- sources/gui/qml/dialogs/NotificationDialog.qml (.../NotificationDialog.qml) (revision 4bb515b8b2cd9791b6411dd7d596767f2d0c0644)
+++ sources/gui/qml/dialogs/NotificationDialog.qml (.../NotificationDialog.qml) (revision 0975a67dd4e4673b9a7b226bfea02cbfa489c418)
@@ -21,6 +21,7 @@
// Qml imports
import "qrc:/globals"
import "qrc:/components"
+import "qrc:/compounds"
/*!
* \brief Contains the Alarm Dialog Implementation
@@ -43,6 +44,7 @@
property bool resumeVisible : false
property bool rinsebackVisible : false
+ property bool temporaryBreakVisible: false
property bool endVisible : false
property bool okVisible : false
property bool minVisible : true
@@ -60,6 +62,7 @@
signal listClicked()
signal resumeClicked()
+ signal temporaryBreakClicked()
signal rinsebackClicked()
signal endClicked()
signal okClicked()
@@ -121,118 +124,113 @@
bottom : _timerRect.top
}
- Item { id: _infoItem
+ AutoStepController { id: _autoStepController
anchors {
left : parent.left
- leftMargin : Variables.defaultMargin * 2
+ leftMargin : Variables.defaultMargin * 4
top : parent.top
- topMargin : Variables.defaultMargin * 3
+ topMargin : Variables.defaultMargin * 2
}
- 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
- }
+ onTriggered : _listView.currentIndex = (_listView.currentIndex + 1) % _listView.count
}
- Row { id: _alarmContentRow
+ ListView {id: _listView
anchors {
- top : _infoItem.bottom
+ top : _autoStepController.bottom
+ topMargin : Variables.defaultMargin * 3
bottom : parent.bottom
left : parent.left
leftMargin : Variables.defaultMargin * 4
- right : parent.right
- rightMargin : Variables.defaultMargin * 3
- margins : Variables.defaultMargin
-
}
- 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
+ onCurrentIndexChanged: {
+ var item = model.get(_listView.currentIndex)
+ _root.figureImageSource = item.image ?? ""
+ _autoStepController.refresh()
+ }
- Rectangle { id: _stepRect
- height : 40
- width : height
- radius : height
- color : Colors.backgroundMainMenu
+ delegate: Item { id: _delegateControl
+ width : _listView.width
+ height : Variables.instructionHeight
+ clip : true
- Text { id: _stepNumberRect
- anchors.centerIn: parent
- text : index + 1
- color : Colors.white
- font.pixelSize : 20
- font.weight : Font.Medium
- }
+ Rectangle { id: _stepRect
+ height : 40
+ width : height
+ radius : height
+ color : _delegateControl.ListView.isCurrentItem ? Colors.backgroundMainMenu : Colors.offWhite
+ border {
+ color: Colors.backgroundMainMenu
+ width: 2
+ }
- layer.enabled : true
- layer.effect : DropShadow { id: _dropShadow
- horizontalOffset: 0
- verticalOffset : 3
- radius : 3.0
- samples : 7
- color : "#50000000"
- source : _stepRect
- anchors.fill : _stepRect
- }
+ Text { id: _stepNumberRect
+ anchors.centerIn: parent
+ text : index + 1
+ color : _delegateControl.ListView.isCurrentItem ? Colors.offWhite : Colors.backgroundMainMenu
+ font.pixelSize : 20
+ font.weight : Font.Medium
}
- Text { id: _delegateText
- anchors {
- left : _stepRect.right
- leftMargin : Variables.defaultMargin
- right : _delegateControl.right
- }
- height : parent.height
- width : parent.width
- font.pixelSize : 23
- font.weight : _delegateControl.ListView.isCurrentItem ? Font.DemiBold : Font.Normal
- color : _delegateControl.ListView.isCurrentItem ? "#18559E" : Colors.alarmDialogText
- text : model.instruction
- wrapMode : Text.WordWrap
+ layer.enabled : true
+ layer.effect : DropShadow { id: _dropShadow
+ horizontalOffset: 0
+ verticalOffset : 3
+ radius : 3.0
+ samples : 7
+ color : "#50000000"
+ source : _stepRect
+ anchors.fill : _stepRect
}
+ }
- MouseArea {
- anchors.fill: parent
- onClicked: {
- if (_listView.currentIndex !== index) {
- _listView.currentIndex = index
- _root.figureImageSource = model.image
- }
- }
+ Text { id: _delegateText
+ anchors {
+ left : _stepRect.right
+ leftMargin : Variables.defaultMargin
+ right : _delegateControl.right
}
+ 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
}
- }
- 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
+ MouseArea {
+ anchors.fill: parent
+ onClicked: _listView.currentIndex = index
}
}
}
+
+ Image { id: _figureImage
+ anchors{
+ right : parent.right
+ bottom : parent.bottom
+ bottomMargin: Variables.defaultMargin * 3
+ }
+ }
+ // TODO TEST ON NEW DISPLAY AND ADD BACK IN
+// InteractiveImage { id: _figureImage
+// anchors {
+// right : parent.right
+// bottom : parent.bottom
+// bottomMargin : Variables.defaultMargin * 3
+
+// }
+// width : parent.width / 2
+// height : _listView.height
+// }
}
Rectangle { id: _timerRect
@@ -293,15 +291,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
@@ -314,32 +312,46 @@
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
@@ -350,6 +362,7 @@
backgroundColor: Colors.white
fgColor : isPressed ? Colors.white : borderColor
selectColor : Qt.darker(borderColor, 1.15)
+ pixelSize : Fonts.fontPixelNotification
}
}
@@ -360,7 +373,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/headerbar/HeaderbarPrescription.qml
===================================================================
diff -u -rf15173158b76aa650913d40a92881016e0625963 -r0975a67dd4e4673b9a7b226bfea02cbfa489c418
--- sources/gui/qml/dialogs/headerbar/HeaderbarPrescription.qml (.../HeaderbarPrescription.qml) (revision f15173158b76aa650913d40a92881016e0625963)
+++ sources/gui/qml/dialogs/headerbar/HeaderbarPrescription.qml (.../HeaderbarPrescription.qml) (revision 0975a67dd4e4673b9a7b226bfea02cbfa489c418)
@@ -22,15 +22,26 @@
import "qrc:/pages/pretreatment/create"
ModalDialog { id: _root
- readonly property bool isConfirmed: vTreatmentCreate.parametersConfirmed
+ readonly property bool isFirstTab : _headerbarPrescriptionContent.currentIndex === PreTreatmentCreateContent.PatientPrescription
padding : Variables.defaultMargin
- onOpened: _headerbarPrescriptionContent.canEdit( ! ( vTreatmentCreate.parametersValidated || vTreatmentCreate.parametersConfirmed ) )
+ onOpened: _headerbarPrescriptionContent.canEdit( ! vTreatmentCreate.parametersValidated )
- onIsConfirmedChanged: if (isConfirmed) { _root.close() }
Text { id: descriptiveText
anchors {
+ top : parent.top
+ left : parent.left
+ leftMargin : Variables.defaultMargin * 5
+ }
+ text : qsTr("[Original Prescribed Parameters]")
+ visible : vTDOpMode.inTreatment
+ color : Colors.mainTreatmentOrange
+ font.pixelSize : 24
+ }
+
+ Text { id: descriptiveText
+ anchors {
top : parent.top
topMargin : -10
horizontalCenter : parent.horizontalCenter
@@ -44,7 +55,7 @@
PreTreatmentCreateContent { id: _headerbarPrescriptionContent
anchors {
top : parent.top
- topMargin : Variables.defaultMargin * -1
+ topMargin : Variables.defaultMargin
left : parent.left
leftMargin : Variables.defaultMargin * 3
right : parent.right
@@ -71,16 +82,19 @@
bottomMargin : 5
rightMargin : Variables.defaultMargin * 3
}
- enabled : _headerbarPrescriptionContent.confirmReady()
- text.text : vTreatmentCreate.parametersValidated ? qsTr("CONFIRM") : qsTr("VALIDATE")
- visible : ! vTDOpMode.inTreatment && ! isConfirmed
+ enabled : _root.isFirstTab ? true : _headerbarPrescriptionContent.confirmReady()
+ text.text : _root.isFirstTab ? qsTr("Next") : qsTr("Validate")
+ visible : ! vTDOpMode.inTreatment && ! vTreatmentCreate.parametersValidated
onClicked : {
- if ( vTreatmentCreate.parametersValidated ) {
- _headerbarPrescriptionContent.confirm()
- _root.close()
+ if ( _root.isFirstTab ) {
+ _headerbarPrescriptionContent.currentIndex = PreTreatmentCreateContent.TreatmentSettings
+ return
}
- else { _headerbarPrescriptionContent.validate() }
+
+ if ( ! vTreatmentCreate.parametersValidated ) {
+ _headerbarPrescriptionContent.validate()
+ }
}
}
}
Index: sources/gui/qml/dialogs/watersample/WaterSampleDialysatePage.qml
===================================================================
diff -u -r4a7dd11138d2321f1ab8d324b3bd25f02eaefe84 -r0975a67dd4e4673b9a7b226bfea02cbfa489c418
--- sources/gui/qml/dialogs/watersample/WaterSampleDialysatePage.qml (.../WaterSampleDialysatePage.qml) (revision 4a7dd11138d2321f1ab8d324b3bd25f02eaefe84)
+++ sources/gui/qml/dialogs/watersample/WaterSampleDialysatePage.qml (.../WaterSampleDialysatePage.qml) (revision 0975a67dd4e4673b9a7b226bfea02cbfa489c418)
@@ -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/Variables.qml
===================================================================
diff -u -r9d19afe7963673863456c676ba79236234e9e9e0 -r0975a67dd4e4673b9a7b226bfea02cbfa489c418
--- sources/gui/qml/globals/Variables.qml (.../Variables.qml) (revision 9d19afe7963673863456c676ba79236234e9e9e0)
+++ sources/gui/qml/globals/Variables.qml (.../Variables.qml) (revision 0975a67dd4e4673b9a7b226bfea02cbfa489c418)
@@ -265,8 +265,11 @@
readonly property int substitutionPrecision : 1
// conductivity
- readonly property int conductivityPrecision : 1
+ readonly property int conductivityPrecision : 1
+ // weight
+ readonly property int weightPrecision : 1
+
function sizeConverted(vSize, vSizePowers, vRound = 2) {
return ( vSize
/ vSizePowers // convert from byte to Giga byte
@@ -317,6 +320,8 @@
readonly property string unitTextDispensingRate : qsTr("mL/hr")
readonly property string unitTextRate : qsTr("L/h")
readonly property string unitTextDialCond : qsTr("mS/cm")
+ // - Pressures
+ readonly property string unitPressure : qsTr("mmHg")
// - Vitals
readonly property string unitTextBloodPressure : qsTr("mmHg")
readonly property string unitTextHeartBeat : qsTr("BPM" )
@@ -326,6 +331,8 @@
readonly property string unitTextFluid : qsTr("mL")
readonly property string unitTextSaline : unitTextFluid
readonly property string unitTextHeparin : unitTextFluid
+ readonly property string unitWeight : qsTr("Kg")
+
// - Pressure
readonly property string unitTextPressure : qsTr("mmHg")
// - Temperature
Index: sources/gui/qml/pages/endtreatment/EndTreatmentBase.qml
===================================================================
diff -u -r85ccb77b7343cb0ba133b6c13585e95a23ac237e -r0975a67dd4e4673b9a7b226bfea02cbfa489c418
--- sources/gui/qml/pages/endtreatment/EndTreatmentBase.qml (.../EndTreatmentBase.qml) (revision 85ccb77b7343cb0ba133b6c13585e95a23ac237e)
+++ sources/gui/qml/pages/endtreatment/EndTreatmentBase.qml (.../EndTreatmentBase.qml) (revision 0975a67dd4e4673b9a7b226bfea02cbfa489c418)
@@ -31,7 +31,6 @@
property bool hasTimeout : false
property alias timeout : _timeoutLoader.item
property int timeoutValue : 0
- property string headerTitle : ""
property string descriptionText : ""
footer {
Index: sources/gui/qml/pages/endtreatment/EndTreatmentRecirculateStack.qml
===================================================================
diff -u -r5658d317534b3ed9324e130bed19ad8dee43b0b2 -r0975a67dd4e4673b9a7b226bfea02cbfa489c418
--- sources/gui/qml/pages/endtreatment/EndTreatmentRecirculateStack.qml (.../EndTreatmentRecirculateStack.qml) (revision 5658d317534b3ed9324e130bed19ad8dee43b0b2)
+++ sources/gui/qml/pages/endtreatment/EndTreatmentRecirculateStack.qml (.../EndTreatmentRecirculateStack.qml) (revision 0975a67dd4e4673b9a7b226bfea02cbfa489c418)
@@ -46,13 +46,19 @@
onVisibleChanged: {
if (visible) {
- _headerBar.titleText = stackView.currentItem.headerTitle ?? ""
+ _headerBar.activeStack = stackView
+ _headerBar.menuHidden = true
}
else {
- _headerBar.titleText = ""
+ stackView.initialItem = null
}
}
+ component ButtonBackToRecirculate : TouchRect {
+ text.text : qsTr("BACK TO RECIRCULATE")
+ onClicked : recirculateBackClicked()
+ }
+
component ButtonEndTreatment : TouchRect {
text.text : qsTr("End Treatment")
height : Variables.defaultButtonHeight
Index: sources/gui/qml/pages/pretreatment/PreTreatmentInstallStack.qml
===================================================================
diff -u -r52d17dab2211c2e4d9160c55c316ad7a40ce4d6c -r0975a67dd4e4673b9a7b226bfea02cbfa489c418
--- sources/gui/qml/pages/pretreatment/PreTreatmentInstallStack.qml (.../PreTreatmentInstallStack.qml) (revision 52d17dab2211c2e4d9160c55c316ad7a40ce4d6c)
+++ sources/gui/qml/pages/pretreatment/PreTreatmentInstallStack.qml (.../PreTreatmentInstallStack.qml) (revision 0975a67dd4e4673b9a7b226bfea02cbfa489c418)
@@ -24,6 +24,12 @@
property int subStepIndex: PreTreatmentInstallStack.Step.BloodSetTubing
+ onVisibleChanged: {
+ if (visible) {
+ _headerBar.activeStack = stackView
+ }
+ }
+
signal goToNextStep()
signal goToPreviousStep()
@@ -54,7 +60,7 @@
goToPreviousStep ()
break
case PreTreatmentInstallStack.Step.BloodLines:
- // cannot go back from here
+ page ( _preTreatmentBloodSetTubing )
break
case PreTreatmentInstallStack.Step.PressureLinesAndDialyzer:
page ( _preTreatmentBloodLines )
@@ -68,6 +74,8 @@
}
function confirmButtonText() {
+ if ( vSettings.advancedMode ) { return qsTr("Auto Load") }
+
switch ( _root.subStepIndex ) {
case PreTreatmentInstallStack.Step.BloodSetTubing:
return qsTr("Auto Load")
@@ -79,10 +87,6 @@
}
}
- function backEnabled() {
- return subStepIndex !== PreTreatmentInstallStack.Step.BloodLines
- }
-
// ----- Screens definitions
PreTreatmentBase { id: _preTreatmentBloodSetTubing
instructionBased : true
Index: sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml
===================================================================
diff -u -rfb3c31821213807fb8d0e40f4840181f370c23e4 -r0975a67dd4e4673b9a7b226bfea02cbfa489c418
--- sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml (.../PreTreatmentStack.qml) (revision fb3c31821213807fb8d0e40f4840181f370c23e4)
+++ sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml (.../PreTreatmentStack.qml) (revision 0975a67dd4e4673b9a7b226bfea02cbfa489c418)
@@ -49,12 +49,13 @@
if (visible) {
rebuildMap()
_mainMenu.hidden = true
- _headerBar.titleText = qsTr("Setup Treatment")
+ _headerBar.activeStack = stackView
_root.stackStepIndex = 0
+ _headerBar.userMode = vSettings.advancedMode ? qsTr("[Advanced]") : ""
}
else {
stackView.initialItem = null
- _headerBar.titleText = ""
+ _headerBar.userMode = ""
}
}
@@ -146,7 +147,7 @@
return _pretreatmentInstallation.confirmButtonText()
case PreTreatmentStack.Step.CreateRx:
return _pretreatmentCreate.isFirstTab ? qsTr("Next") :
- qsTr("Validate")
+ qsTr("Confirm")
case PreTreatmentStack.Step.Connect:
return qsTr("Start")
default:
@@ -157,9 +158,8 @@
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:
Index: sources/gui/qml/pages/treatment/TreatmentStack.qml
===================================================================
diff -u -r39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26 -r0975a67dd4e4673b9a7b226bfea02cbfa489c418
--- sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision 39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26)
+++ sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision 0975a67dd4e4673b9a7b226bfea02cbfa489c418)
@@ -125,6 +125,26 @@
}
}
+ TreatmentTrends { id: _treatmentTrends
+ objectName: "_treatmentTrends"
+ Connections { target: vTDOpMode
+ function onInTreatmentChanged() {
+ if (vTDOpMode.inTreatment) {
+ _treatmentTrends.isParamExpanded = true
+ vTreatmentTrends.doClearData()
+ }
+ }
+ }
+ }
+
+ TreatmentHeparin { id: _treatmentHeparin }
+ Connections { target: _treatmentHeparin
+ function onIdleTimeout ( ) {
+ _headerBar.headerMenuIndex = HeaderBar.Treatment // on heparin idle timeout go to main treatment
+ }
+ }
+
+ TreatmentHDF { id: _treatmentHDF }
Connections { target: _treatmentHDF
function onSectionPressuresClicked ( ) {
_treatmentAdjustmentPressuresLimits.open()
@@ -136,11 +156,12 @@
}
}
- Connections { target: _treatmentHeparin
- function onIdleTimeout ( ) {
- _headerBar.headerMenuIndex = HeaderBar.Treatment // on heparin idle timeout go to main treatment
- }
- }
+ //// Treatment Adjustment Dialogs
+ TreatmentAdjustmentSetPoints { id: _treatmentAdjustmentSetPoints }
+ TreatmentAdjustmentPressuresLimits { id: _treatmentAdjustmentPressuresLimits }
+ TreatmentAdjustmentBolusVolume { id: _treatmentAdjustmentBolusVolume }
+ TreatmentAdjustmentUltrafiltrationStack { id: _treatmentAdjustmentUltrafiltration }
+ TreatmentAdjustmentHDF { id: _treatmentAdjustmentHDF }
Connections { target: _treatmentAdjustmentSetPoints
function onConfirmClicked ( vValue ) {
@@ -151,9 +172,12 @@
_treatmentAdjustmentSetPoints.dialysateTemperature ,
// _treatmentAdjustmentSetPoints.hepatitus // TODO
_treatmentAdjustmentSetPoints.acidConcentrate ,
- _treatmentAdjustmentSetPoints.bicarbConcentrate
-// _treatmentAdjustmentSetPoints.sodium // TODO
-// _treatmentAdjustmentSetPoints.bicarboante // TODO
+ vTreatmentRanges.acidConcentrateModel.get(_treatmentAdjustmentSetPoints.acidConcentrate).value,
+ _treatmentAdjustmentSetPoints.bicarbConcentrate ,
+ _treatmentAdjustmentSetPoints.treatmentModality ,
+ _treatmentAdjustmentSetPoints.hepatitus ,
+ _treatmentAdjustmentSetPoints.sodium ,
+ _treatmentAdjustmentSetPoints.bicarbonate
)
}
}
@@ -201,6 +225,13 @@
Connections { target: vTreatmentAdjustmentSetPoints
function onAdjustmentTriggered ( vValue ) {
if (vTreatmentAdjustmentSetPoints.adjustment_Accepted) {
+ // TODO update setpoints here?
+ vTreatmentCreate.treatmentModality = _treatmentAdjustmentSetPoints.treatmentModality
+ vTreatmentCreate.acidConcentrate = _treatmentAdjustmentSetPoints.acidConcentrate
+ vTreatmentCreate.dryBicarbCartSize = _treatmentAdjustmentSetPoints.bicarbConcentrate
+ vTreatmentCreate.hepatitusBStatus = _treatmentAdjustmentSetPoints.hepatitus
+ vTreatmentCreate.sodium = _treatmentAdjustmentSetPoints.sodium
+ vTreatmentCreate.bicarbonate = _treatmentAdjustmentSetPoints.bicarbonate
_treatmentAdjustmentSetPoints.close()
}
else {