Index: en_US.udic =================================================================== diff -u -rf1e100d1368bfd132d88e09680f833dc53b4d0b0 -rccb91da4becded9a7ad409b758bba96784d9feba --- en_US.udic (.../en_US.udic) (revision f1e100d1368bfd132d88e09680f833dc53b4d0b0) +++ en_US.udic (.../en_US.udic) (revision ccb91da4becded9a7ad409b758bba96784d9feba) @@ -16,3 +16,4 @@ Dialysate TODO FPGA +Adjustables Index: sources/canbus/MessageDispatcher.h =================================================================== diff -u -rae1042a0c14d6d27556730183cc2cbe1a00bc0a7 -rccb91da4becded9a7ad409b758bba96784d9feba --- sources/canbus/MessageDispatcher.h (.../MessageDispatcher.h) (revision ae1042a0c14d6d27556730183cc2cbe1a00bc0a7) +++ sources/canbus/MessageDispatcher.h (.../MessageDispatcher.h) (revision ccb91da4becded9a7ad409b758bba96784d9feba) @@ -108,6 +108,7 @@ QList _needsAcknow { GuiActionType::ID_AdjustBloodDialysateReq , GuiActionType::ID_AdjustDurationReq , + GuiActionType::ID_AdjustUltrafiltrationReq , GuiActionType::ID_AdjustUltrafiltrationStateReq , GuiActionType::ID_AdjustUltrafiltrationEditReq , GuiActionType::ID_AdjustUltrafiltrationConfirmReq , Index: sources/canbus/MessageGlobals.h =================================================================== diff -u -rae1042a0c14d6d27556730183cc2cbe1a00bc0a7 -rccb91da4becded9a7ad409b758bba96784d9feba --- sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision ae1042a0c14d6d27556730183cc2cbe1a00bc0a7) +++ sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision ccb91da4becded9a7ad409b758bba96784d9feba) @@ -98,6 +98,10 @@ {Gui::GuiActionType::ID_AdjustDurationRsp , 4 * 4 }, // 4 parameters each 4bytes // ---- + {Gui::GuiActionType::ID_AdjustUltrafiltrationReq , 1 * 4 }, // 1 parameter each 4bytes + {Gui::GuiActionType::ID_AdjustUltrafiltrationRsp , 3 * 4 }, // 3 parameters each 4bytes + + // ---- {Gui::GuiActionType::ID_AdjustUltrafiltrationStateReq , 1 * 4 }, // 1 parameter each 4bytes {Gui::GuiActionType::ID_AdjustUltrafiltrationStateRsp , 3 * 4 }, // 3 parameter each 4bytes @@ -106,16 +110,17 @@ {Gui::GuiActionType::ID_AdjustUltrafiltrationEditRsp , 8 * 4 }, // 8 parameters each 4bytes // ---- + {Gui::GuiActionType::ID_AdjustUltrafiltrationConfirmReq , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustUltrafiltrationConfirmRsp , 5 * 4 }, + + // ---- {Gui::GuiActionType::ID_AdjustPressuresLimitsReq , 4 * 4 }, // 4 parameter each 4bytes {Gui::GuiActionType::ID_AdjustPressuresLimitsRsp , 6 * 4 }, // 6 parameters each 4bytes // --- {Gui::GuiActionType::ID_CreateTreatmentReq , 17 * 4 }, // 17 parameters, each 4 bytes {Gui::GuiActionType::ID_CreateTreatmentRsp , 18 * 4 }, // 18 parameters, each 4 bytes - // ---- - {Gui::GuiActionType::ID_AdjustUltrafiltrationConfirmReq , 2 * 4 }, // 2 parameters each 4bytes - {Gui::GuiActionType::ID_AdjustUltrafiltrationConfirmRsp , 5 * 4 }, // ---- {Gui::GuiActionType::ID_PrimingData , 3 * 4 }, // 3 parameters each 4bytes Index: sources/gui/GuiGlobals.h =================================================================== diff -u -r4bbec52d2257cfdef37604e3453846e501a2af91 -rccb91da4becded9a7ad409b758bba96784d9feba --- sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision 4bbec52d2257cfdef37604e3453846e501a2af91) +++ sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision ccb91da4becded9a7ad409b758bba96784d9feba) @@ -75,36 +75,39 @@ ID_DGCheckIn = 0x0600, ID_KeepAlive = 0x0700, + // HD Data Messages ID_PowerOff = 0x0100, ID_ShuttingDown = 0x0E00, ID_TreatmentTime = 0x0D00, ID_BloodFlow = 0x0500, ID_DialysateInletFlow = 0x0800, ID_DialysateOutletFlow = 0x0B00, ID_TreatmentRanges = 0x1A00, // 26 - ID_PressureOcclusion = 0x0900, ID_TreatmentStates = 0x0F00, // 15 + ID_HDOperationModeData = 0x2500, // 37 + ID_PressureOcclusion = 0x0900, ID_Saline = 0x2F00, // 47 ID_Heparin = 0x4D00, // 77 + // Alarm Messages ID_AlarmStatus = 0x0200, ID_AlarmTriggered = 0x0300, ID_AlarmCleared = 0x0400, ID_AlarmUserAckReq = 0x3F00, // 63 ID_AlarmSilenceReq = 0x3200, // 50 + // Pre-Treatment Parameters ID_CreateTreatmentReq = 0x3500, // 53 ID_CreateTreatmentRsp = 0x3600, // 54 ID_StartTreatmentReq = 0x3800, // 56 ID_StartTreatmentRsp = 0x3900, // 57 ID_ConfirmTreatmentReq = 0x3A00, // 58 ID_EndTreatmentReq = 0x3C00, // 60 ID_EndTreatmentRsp = 0x3D00, // 61 - ID_PrimingData = 0x4300, // 67 - ID_HDOperationModeData = 0x2500, // 37 + // DG Data Messages ID_DGROPumpData = 0x1F00, // 31 ID_DGPressuresData = 0x2000, // 32 ID_DGDrainPumpData = 0x2400, // 36 @@ -115,9 +118,27 @@ ID_DGLoadCellReadingsData = 0x0C00, // 12 ID_DGTemperaturesData = 0x2D00, // 45 + // In-Treatment Adjustables + ID_AdjustDurationReq = 0x1600, // 22 + ID_AdjustDurationRsp = 0x1B00, // 27 + ID_AdjustBloodDialysateReq = 0x1700, // 23 ID_AdjustBloodDialysateRsp = 0x1800, // 24 + ID_AdjustPressuresLimitsReq = 0x4600, // 70 + ID_AdjustPressuresLimitsRsp = 0x4700, // 71 + + ID_AdjustSalineReq = 0x1200, // 18 + ID_AdjustSalineRsp = 0x1400, // 20 + + ID_AdjustHeparinReq = 0x4B00, // 75 + ID_AdjustHeparinRsp = 0x4C00, // 76 + + + // Ultrafiltration: has also In-Treatment Adjustables but kept together + ID_AdjustUltrafiltrationReq = 0x4F00, // 79 + ID_AdjustUltrafiltrationRsp = 0x5000, // 80 + ID_AdjustUltrafiltrationStateReq = 0x1000, // 16 ID_AdjustUltrafiltrationStateRsp = 0x4100, // 65 @@ -126,18 +147,6 @@ ID_AdjustUltrafiltrationConfirmReq = 0x1500, // 21 ID_AdjustUltrafiltrationConfirmRsp = 0x2E00, // 46 - - ID_AdjustDurationReq = 0x1600, // 22 - ID_AdjustDurationRsp = 0x1B00, // 27 - - ID_AdjustSalineReq = 0x1200, // 18 - ID_AdjustSalineRsp = 0x1400, // 20 - - ID_AdjustPressuresLimitsReq = 0x4600, // 70 - ID_AdjustPressuresLimitsRsp = 0x4700, // 71 - - ID_AdjustHeparinReq = 0x4B00, // 75 - ID_AdjustHeparinRsp = 0x4C00, // 76 }; enum class GuiActionsData_Enum /*: quint8 QML doesn't support*/ { Index: sources/gui/qml/components/ConfirmTreatmentTable.qml =================================================================== diff -u -r9cef897469b01673d2ac04fc73510fc96382caf3 -rccb91da4becded9a7ad409b758bba96784d9feba --- sources/gui/qml/components/ConfirmTreatmentTable.qml (.../ConfirmTreatmentTable.qml) (revision 9cef897469b01673d2ac04fc73510fc96382caf3) +++ sources/gui/qml/components/ConfirmTreatmentTable.qml (.../ConfirmTreatmentTable.qml) (revision ccb91da4becded9a7ad409b758bba96784d9feba) @@ -67,7 +67,7 @@ anchors.leftMargin: 20 text: "New Treatment" color: "white" - font.pixelSize: Fonts.crTreatmentFontSize + font.pixelSize: Fonts.createTreatmentFontSize } } Index: sources/gui/qml/components/ProgressCircle.qml =================================================================== diff -u -r074b32b5cc08f41f2d9ce0d021f2151b76bba5ad -rccb91da4becded9a7ad409b758bba96784d9feba --- sources/gui/qml/components/ProgressCircle.qml (.../ProgressCircle.qml) (revision 074b32b5cc08f41f2d9ce0d021f2151b76bba5ad) +++ sources/gui/qml/components/ProgressCircle.qml (.../ProgressCircle.qml) (revision ccb91da4becded9a7ad409b758bba96784d9feba) @@ -40,5 +40,6 @@ anchors.centerIn: parent shadow.color : Colors.backgroundMainMenu angle : _private.value + thickness : 2 } } Index: sources/gui/qml/components/RangeSlider.qml =================================================================== diff -u -r7c0ce7b22e164bbe37eb47fb56e74cc29a8f4c38 -rccb91da4becded9a7ad409b758bba96784d9feba --- sources/gui/qml/components/RangeSlider.qml (.../RangeSlider.qml) (revision 7c0ce7b22e164bbe37eb47fb56e74cc29a8f4c38) +++ sources/gui/qml/components/RangeSlider.qml (.../RangeSlider.qml) (revision ccb91da4becded9a7ad409b758bba96784d9feba) @@ -36,10 +36,15 @@ property alias lowerText : _rangeRect.minText property alias upperText : _rangeRect.maxText + property alias lowerTextHorizontalCenter: _rangeRect.minTextHorizontalCenter + property alias upperTextHorizontalCenter: _rangeRect.maxTextHorizontalCenter property alias minValue : _rangeRect.lowerBound ///< value of the minimum slider handler property alias maxValue : _rangeRect.upperBound ///< value of the maximum slider handler + property bool maxVerticalEdgeVisible: true + property bool minVerticalEdgeVisible: true + property int gapValue : 0 ///< the gap between minValue and maxValue so the minValue shall always be gap value less than maxValue and vise versa. property real minValueLowerBound : _root.minimum ///< min value can't be lower than this value property real minValueUpperBound : _root.maximum ///< min value can't be higher than this value @@ -60,7 +65,18 @@ property bool minAdjusted : false ///< first time user adjustment happens property bool maxAdjusted : false ///< first time user adjustment happens + property bool hasAdjusted : false ///< if set to true then component is grayed out until both min and max are adjusted + onHasAdjustedChanged: { + setAdjusted() + } + onMinAdjustedChanged: { + setAdjusted() + } + onMaxAdjustedChanged: { + setAdjusted() + } + /// root attributes clip : false @@ -109,6 +125,27 @@ font.bold : false } + /// + /// \brief grays out the rangebar and handler if not adjusted and hasAdjusted set to true + /// + function setAdjusted() { + function check() { + _rangeRect .color = minAdjusted && maxAdjusted ? Colors.createTreatmentActive : Colors.createTreatmentInactive + _handlerLeft .color = minAdjusted ? Colors.createTreatmentActive: Colors.createTreatmentInactive + _handlerRight.color = maxAdjusted ? Colors.createTreatmentActive: Colors.createTreatmentInactive + } + function active() { + _rangeRect .color = Colors.createTreatmentActive + _handlerLeft .color = Colors.createTreatmentActive + _handlerRight.color = Colors.createTreatmentActive + } + if ( ! hasAdjusted ) { + active() + } + else { + check() + } + } /// /// \brief calculate the value by position x @@ -261,8 +298,8 @@ } /// Left most maximum range vertical edge - Rectangle { id : minVerticalEdge - visible : true + Rectangle { id : _minVerticalEdge + visible : _root.minVerticalEdgeVisible color : bgColor anchors.right : _root.left anchors.top : _root.top @@ -272,8 +309,8 @@ } /// Right most minimum range vertical edge - Rectangle { id : maxVerticalEdge - visible : true + Rectangle { id : _maxVerticalEdge + visible : _root.maxVerticalEdgeVisible color : bgColor anchors.left : _root.right anchors.top : _root.top Index: sources/gui/qml/components/Slider.qml =================================================================== diff -u -rcb5477be624b09e13d5fc4498634ca621722fd0e -rccb91da4becded9a7ad409b758bba96784d9feba --- sources/gui/qml/components/Slider.qml (.../Slider.qml) (revision cb5477be624b09e13d5fc4498634ca621722fd0e) +++ sources/gui/qml/components/Slider.qml (.../Slider.qml) (revision ccb91da4becded9a7ad409b758bba96784d9feba) @@ -39,7 +39,7 @@ property alias diameter : _handler.diameter - property bool isActive : false + property bool isActive : true property alias progressRectMargin : _progressRect.margin signal progressRectClicked() @@ -125,7 +125,7 @@ decimal : _root.decimal minimum : _root.minimum maximum : _root.maximum - + height: 5 // propagation is not working on drag ! onDragged: { setValue(vMouseEvent.x) Index: sources/gui/qml/components/SliderCreateTreatment.qml =================================================================== diff -u -r95a840fc93f1a2cd65732d835fad2aca0f03f28e -rccb91da4becded9a7ad409b758bba96784d9feba --- sources/gui/qml/components/SliderCreateTreatment.qml (.../SliderCreateTreatment.qml) (revision 95a840fc93f1a2cd65732d835fad2aca0f03f28e) +++ sources/gui/qml/components/SliderCreateTreatment.qml (.../SliderCreateTreatment.qml) (revision ccb91da4becded9a7ad409b758bba96784d9feba) @@ -73,7 +73,7 @@ id: _selected_value anchors.top: parent.top anchors.right: parent.right - text: "-- " + _root.units + text: "__ " + _root.units font.pixelSize: Fonts.fontPixelFluidUnit color: Colors.textDisableButton; Index: sources/gui/qml/components/TickMarks.qml =================================================================== diff -u -r9d8a60eb984003d3f7814cbe507b1b37f519bc80 -rccb91da4becded9a7ad409b758bba96784d9feba --- sources/gui/qml/components/TickMarks.qml (.../TickMarks.qml) (revision 9d8a60eb984003d3f7814cbe507b1b37f519bc80) +++ sources/gui/qml/components/TickMarks.qml (.../TickMarks.qml) (revision ccb91da4becded9a7ad409b758bba96784d9feba) @@ -45,7 +45,7 @@ anchors.fill: parent Repeater { id : _repeater - model: (maximum - minimum) / step + 1 + model: (maximum - minimum) / step // + 1 Line { id: _line property int gap : stepSnap ? ( Index: sources/gui/qml/components/TopMenuBarCreateTreatment.qml =================================================================== diff -u -rd94a2b9334b1b35739b637472e8c3054d7b9b804 -rccb91da4becded9a7ad409b758bba96784d9feba --- sources/gui/qml/components/TopMenuBarCreateTreatment.qml (.../TopMenuBarCreateTreatment.qml) (revision d94a2b9334b1b35739b637472e8c3054d7b9b804) +++ sources/gui/qml/components/TopMenuBarCreateTreatment.qml (.../TopMenuBarCreateTreatment.qml) (revision ccb91da4becded9a7ad409b758bba96784d9feba) @@ -28,7 +28,7 @@ */ Rectangle { id: _root height: Variables.topBarMenuHeight - color: Colors.backgroundMainMenu + color: Colors.backgroundMain property var step: "CREATE"; property int spacing: 5 signal clickedBack() Index: sources/gui/qml/globals/Fonts.qml =================================================================== diff -u -r14c541d2b780b0a244bc84860aa565cf8dd7fe4b -rccb91da4becded9a7ad409b758bba96784d9feba --- sources/gui/qml/globals/Fonts.qml (.../Fonts.qml) (revision 14c541d2b780b0a244bc84860aa565cf8dd7fe4b) +++ sources/gui/qml/globals/Fonts.qml (.../Fonts.qml) (revision ccb91da4becded9a7ad409b758bba96784d9feba) @@ -57,15 +57,17 @@ readonly property int fontPixelDurationCurTime : 89 readonly property int fontPixelDurationAdjTime : 28 - readonly property int fontPixelUltrafiltrationAdjustmentPauseButton : 26 - readonly property int fontPixelUltrafiltrationAdjustmentResumeButton : 30 - readonly property int fontPixelUltrafiltrationAdjustmentEditButton : 30 - readonly property int fontPixelUltrafiltrationAdjustmentNextButton : 26 - readonly property int fontPixelUltrafiltrationAdjustmentConfirmButton : 26 + readonly property int fontPixelUltrafiltrationAdjustmentButton : 26 + readonly property int fontPixelUltrafiltrationAdjustmentButtonL : 30 + readonly property int fontPixelUltrafiltrationAdjustmentPauseButton : fontPixelUltrafiltrationAdjustmentButton + readonly property int fontPixelUltrafiltrationAdjustmentResumeButton : fontPixelUltrafiltrationAdjustmentButtonL + readonly property int fontPixelUltrafiltrationAdjustmentEditButton : fontPixelUltrafiltrationAdjustmentButtonL + readonly property int fontPixelUltrafiltrationAdjustmentNextButton : fontPixelUltrafiltrationAdjustmentButton + readonly property int fontPixelUltrafiltrationAdjustmentConfirmButton : fontPixelUltrafiltrationAdjustmentButton readonly property int fontPixelUltrafiltrationAdjustmentConfirmTitle : 40 readonly property int fontPixelUltrafiltrationAdjustmentEditValue : 46 readonly property int primingFontSize : 20 - readonly property int crTreatmentFontSize : 30 + readonly property int createTreatmentFontSize : 30 readonly property int crTreatmentTableFontSize : 24 } Index: sources/gui/qml/pages/treatment/TreatmentBegin.qml =================================================================== diff -u -r14c541d2b780b0a244bc84860aa565cf8dd7fe4b -rccb91da4becded9a7ad409b758bba96784d9feba --- sources/gui/qml/pages/treatment/TreatmentBegin.qml (.../TreatmentBegin.qml) (revision 14c541d2b780b0a244bc84860aa565cf8dd7fe4b) +++ sources/gui/qml/pages/treatment/TreatmentBegin.qml (.../TreatmentBegin.qml) (revision ccb91da4becded9a7ad409b758bba96784d9feba) @@ -29,89 +29,106 @@ */ ScreenItem { id: _root objectName: "_treatmentBegin" - backgroundRect.color: Colors.backgroundMainMenu signal clickedBack() signal clickedStart() + QtObject { id: _private + property int decimal : 3 + property real minimum : 0.000 + property real maximum : 8.000 + property real value : _volumeSlider.value + } + TopMenuBarCreateTreatment { id: _topMenuBar anchors.top: parent.top anchors.left: parent.left width: parent.width onClickedBack: { _root.clickedBack(); - } state: "begin" } - Flickable { id: _flickable - objectName: "_treatmentBeginFlickable" - anchors.top: _topMenuBar.bottom - anchors.left: parent.left - anchors.bottom: parent.bottom - width: parent.width - contentWidth: parent.width - contentHeight: _column.implicitHeight - clip: true - flickDeceleration: Variables.createTreatmentFlickableDeceleration + Text { id: _textTitle + visible : true + color : "white" + text : qsTr("Begin Treatment") + font.pixelSize : Fonts.fontPixelTitle + anchors { + horizontalCenter: parent.horizontalCenter + top : parent.top + topMargin : 150 + } + } - function setInteractive(isInteractive) { - _flickable.interactive = isInteractive + Text { id: _textLabel + visible : true + color : "white" + text : qsTr("Ultrafiltration Volume") + " " + Variables.unitTextUltrafiltrationVolume + font { + pixelSize : Fonts.createTreatmentFontSize } + anchors { + left : _volumeSlider.left + bottom : _volumeSlider.top + bottomMargin : 45 + } + } - ScrollBar.vertical: ScrollBar { id: _scrollBar - anchors.right: _flickable.right - anchors.rightMargin: 3 - contentItem: Rectangle { - color: Colors.backgroundRangeRect - implicitWidth: 6 - radius: width / 2 - width: 3 - } + Text { id: _textValue + visible : true + color : "white" + text : _private.value.toFixed(_private.decimal) + font { + pixelSize : Fonts.createTreatmentFontSize } + anchors { + right : _volumeSlider.right + bottom : _volumeSlider.top + bottomMargin : 45 + } + } - Column { id: _column - spacing: Variables.treatmentSpacing - anchors.horizontalCenter: parent.horizontalCenter; - anchors.fill: parent; + Slider { id: _volumeSlider + anchors { + horizontalCenter: parent.horizontalCenter + top: parent.top + topMargin: 425 + } + isActive: false + width : parent.width / 2 + height : 5 + step : 0.100 + stepSnap: true + ticks : false + diameter: Variables.sliderCircleDiameter + decimal : _private.decimal + minimum : _private.minimum + maximum : _private.maximum + minText.font.pixelSize: Fonts.fontPixelFluidText + maxText.font.pixelSize: Fonts.fontPixelFluidText + onPressed: isActive = true + } - Text { id: _titleText - anchors.horizontalCenter: parent.horizontalCenter; - text: qsTr("Begin Treatment") - color: Colors.textMain - font.pixelSize: Fonts.fontPixelTitle - } - SliderCreateTreatment { - id: _ultrafiltration - objectName: "_ultrafiltration" - sliderObjectName: objectName + "Slider" - selectedValueObjectName: objectName + "Value" - text: "Ultrafiltration Volume" - units: qsTr("mL") - min: vTreatmentBegin.ufVolumeMin - max: vTreatmentBegin.ufVolumeMax - step: vTreatmentBegin.ufVolumeRes - onPressed: { - _flickable.setInteractive(false) - vTreatmentBegin.ufVolume = value - } - onReleased: { - vTreatmentBegin.ufVolume = value - _flickable.setInteractive(true) - } - } + TouchRect { id: _nextButton + width : 515 + height : 70 + anchors { + top: parent.top + topMargin: 650 + horizontalCenter: parent.horizontalCenter + } - TouchRect { id : _continueRect - objectName: "_treatmentBeginStart" - anchors.horizontalCenter: parent.horizontalCenter - text.text: qsTr("START") - button.onClicked: { - _root.clickedStart() - } - } + backgroundColor: Colors.backgroundButtonSelect + + text { + text: qsTr("START") + font.weight : Font .DemiBold + font.pixelSize: Fonts.fontPixelUltrafiltrationAdjustmentButton } + // onClicked: nextClicked( _private.adjusted.toFixed(_private.decimal) ) } onVisibleChanged: { Index: sources/gui/qml/pages/treatment/TreatmentConfirm.qml =================================================================== diff -u -r67371c6a2861c5e8a2328984ae999bf8df4b0bb7 -rccb91da4becded9a7ad409b758bba96784d9feba --- sources/gui/qml/pages/treatment/TreatmentConfirm.qml (.../TreatmentConfirm.qml) (revision 67371c6a2861c5e8a2328984ae999bf8df4b0bb7) +++ sources/gui/qml/pages/treatment/TreatmentConfirm.qml (.../TreatmentConfirm.qml) (revision ccb91da4becded9a7ad409b758bba96784d9feba) @@ -29,7 +29,6 @@ */ ScreenItem { id: _root objectName: "TreatmentConfirm" - backgroundRect.color: Colors.backgroundMainMenu signal clickedBack() signal clickedConfirm() Index: sources/gui/qml/pages/treatment/TreatmentCreate.qml =================================================================== diff -u -r14c541d2b780b0a244bc84860aa565cf8dd7fe4b -rccb91da4becded9a7ad409b758bba96784d9feba --- sources/gui/qml/pages/treatment/TreatmentCreate.qml (.../TreatmentCreate.qml) (revision 14c541d2b780b0a244bc84860aa565cf8dd7fe4b) +++ sources/gui/qml/pages/treatment/TreatmentCreate.qml (.../TreatmentCreate.qml) (revision ccb91da4becded9a7ad409b758bba96784d9feba) @@ -30,8 +30,11 @@ objectName: "TreatmentCreate"; // SquishQt testability signal clickedBack() signal clickedContinue() - backgroundRect.color: Colors.backgroundMainMenu + function setInteractive(isInteractive) { + _flickable.interactive = isInteractive + } + TopMenuBarCreateTreatment { id: _topMenuBar anchors.top: parent.top anchors.left: parent.left @@ -52,10 +55,6 @@ clip: true flickDeceleration: Variables.createTreatmentFlickableDeceleration - function setInteractive(isInteractive) { - _flickable.interactive = isInteractive - } - ScrollBar.vertical: ScrollBar { id: _scrollBar anchors.right: _flickable.right anchors.rightMargin: 3 @@ -98,12 +97,12 @@ text: qsTr("Blood Flow Rate") units: qsTr("mL/min") onPressed: { - _flickable.setInteractive(false) + setInteractive(false) vTreatmentCreate.bloodFlowRate = value } onReleased: { vTreatmentCreate.bloodFlowRate = value - _flickable.setInteractive(true) + setInteractive(true) } } @@ -117,12 +116,12 @@ text: qsTr("Dialysate Flow Rate") units: qsTr("mL/min") onPressed: { - _flickable.setInteractive(false) + setInteractive(false) vTreatmentCreate.dialysateFlowRate = value; } onReleased: { vTreatmentCreate.dialysateFlowRate = value; - _flickable.setInteractive(true) + setInteractive(true) } } @@ -136,12 +135,12 @@ text: qsTr("Duration") units: qsTr("min") onPressed: { - _flickable.setInteractive(false) + setInteractive(false) vTreatmentCreate.duration = value; } onReleased: { vTreatmentCreate.duration = value; - _flickable.setInteractive(true) + setInteractive(true) } } @@ -155,12 +154,12 @@ text: qsTr("Heparin Dispensing Rate") units: qsTr("mL/hr") onPressed: { - _flickable.setInteractive(false) + setInteractive(false) vTreatmentCreate.heparinDispensingRate = value } onReleased: { vTreatmentCreate.heparinDispensingRate = value - _flickable.setInteractive(true) + setInteractive(true) } } @@ -175,12 +174,12 @@ text: qsTr("Heparin Bolus Volume") units: qsTr("mL") onPressed: { - _flickable.setInteractive(false) + setInteractive(false) vTreatmentCreate.heparinBolusVolume = value } onReleased: { vTreatmentCreate.heparinBolusVolume = value - _flickable.setInteractive(true) + setInteractive(true) } } @@ -194,12 +193,12 @@ text: qsTr("Heparin Stop Time") units: qsTr("min") onPressed: { - _flickable.setInteractive(false) + setInteractive(false) vTreatmentCreate.heparinStopTime = value } onReleased: { vTreatmentCreate.heparinStopTime = value - _flickable.setInteractive(true) + setInteractive(true) } } @@ -214,12 +213,12 @@ max: vTreatmentCreate.salineBolusVolumeMax step: vTreatmentCreate.salineBolusVolumeRes onPressed: { - _flickable.setInteractive(false) + setInteractive(false) vTreatmentCreate.salineBolusVolume = value } onReleased: { vTreatmentCreate.salineBolusVolume = value - _flickable.setInteractive(true) + setInteractive(true) } } @@ -265,101 +264,139 @@ text: qsTr("Dialysate Temperature") units: qsTr("C") onPressed: { - _flickable.setInteractive(false) + setInteractive(false) vTreatmentCreate.dialysateTemp = value } onReleased: { vTreatmentCreate.dialysateTemp = value - _flickable.setInteractive(true) + setInteractive(true) } } - Text { id: _arterialPressureLimitsTitle - text: qsTr("Arterial Pressure Limits") - anchors.left: _arterialPressureLimits.left - font.pixelSize: Fonts.fontPixelFluidText - color: Colors.textMain; + Column { id: _arterialColumn + spacing: 45 + anchors.horizontalCenter: parent.horizontalCenter + Text { id: _arterialLabel + visible : true + color : "white" + text: qsTr("Arterial Pressure Limits") + " " + "(" + Variables.unitTextBloodPressure + ")" + font.pixelSize : Fonts.fontPixelFluidText + anchors.left : _arterialPressureLimits.left + } + RangeSlider { id: _arterialPressureLimits + // dimension + height : 5 + width : Variables.createTreatmentSliderWidth + diameter : Variables.sliderCircleDiameter + anchors.horizontalCenter: parent.horizontalCenter + ticks : true + stepSnap : true + hasAdjusted : true - } + // Texts + lowerText.visible : true + lowerText.font.pixelSize : Fonts.fontPixelFluidText + lowerText.font.bold : false + lowerText.anchors.topMargin : -50 + lowerTextHorizontalCenter : true - SliderDoubleCreateTreatment { id: _arterialPressureLimits - objectName: "_arterialPressureLimits" - lowSliderObjectName: objectName + "LowSlider" - lowSelectedValueObjectName: objectName + "LowValue" - highSliderObjectName: objectName + "HighSlider" - highSelectedValueObjectName: objectName + "HighValue" - lowTitle: qsTr("Low") - lowUnits: qsTr("mmHg") - highTitle: qsTr("High") - highUnits: qsTr("mmHg") - lowMin: vTreatmentCreate.arterialPressureLimitLowMin - lowMax: vTreatmentCreate.arterialPressureLimitLowMax - highMin: vTreatmentCreate.arterialPressureLimitHighMin - highMax: vTreatmentCreate.arterialPressureLimitHighMax - lowValue: vTreatmentCreate.arterialPressureLimitLowMin - highValue: vTreatmentCreate.arterialPressureLimitHighMin - lowStep: vTreatmentCreate.arterialPressureLimitLowRes - highStep: vTreatmentCreate.arterialPressureLimitHighRes - onLowSliderPressed: { - _flickable.setInteractive(false) - vTreatmentCreate.arterialPressureLimitLow = lowValue + upperText.visible : true + upperText.font.pixelSize : Fonts.fontPixelFluidText + upperText.font.bold : false + upperText.anchors.topMargin : -50 + upperTextHorizontalCenter : true + + minText.visible : true + // minText.font.pixelSize : Fonts.fontPixelFluidText + minText.font.bold : false + minVerticalEdgeVisible : false + + maxText.visible : true + // maxText.font.pixelSize : Fonts.fontPixelFluidText + maxText.font.bold : false + maxVerticalEdgeVisible : false + + // Ranges + step : Variables.arterialLimitStep + gapValue : Variables.arterialLimitGap + minimum : vTreatmentCreate.arterialPressureLimitLowMin + maximum : vTreatmentCreate.arterialPressureLimitHighMax + minValue : vTreatmentCreate.arterialPressureLimitLowMin + maxValue : vTreatmentCreate.arterialPressureLimitHighMax + minValueLowerBound : vTreatmentCreate.arterialPressureLimitLowMin + minValueUpperBound : vTreatmentCreate.arterialPressureLimitLowMax + maxValueLowerBound : vTreatmentCreate.arterialPressureLimitHighMin + maxValueUpperBound : vTreatmentCreate.arterialPressureLimitHighMax + // scroll handling and value updates + onPressed : { setInteractive(false) } + onDragged : { setInteractive(false) } + onReleased: { setInteractive(true ) } + onMinValueChanged: if (minAdjusted) vTreatmentCreate.arterialPressureLimitLow = minValue + onMaxValueChanged: if (maxAdjusted) vTreatmentCreate.arterialPressureLimitHigh = maxValue } - onLowSliderReleased: { - vTreatmentCreate.arterialPressureLimitLow = lowValue - _flickable.setInteractive(true) - } - onHighSliderPressed: { - _flickable.setInteractive(false) - vTreatmentCreate.arterialPressureLimitHigh = highValue - } - onHighSliderReleased: { - vTreatmentCreate.arterialPressureLimitHigh = highValue - _flickable.setInteractive(true) - } } - Text { id: _venousPressureLimitsTitle - text: qsTr("Venous Pressure Limits") - anchors.left: _venousPressureLimits.left - font.pixelSize: Fonts.fontPixelFluidText - color: Colors.textMain; + Column { id: _venousColumn + spacing: 45 + anchors.horizontalCenter: parent.horizontalCenter + Text { id: _venousLabel + visible : true + color : "white" + text: qsTr("Venous Pressure Limits") + " " + "(" + Variables.unitTextBloodPressure + ")" + font.pixelSize : Fonts.fontPixelFluidText + anchors.left : _venousPressureLimits.left + } + RangeSlider { id: _venousPressureLimits + // dimension + height : 5 + width : Variables.createTreatmentSliderWidth + diameter : Variables.sliderCircleDiameter + anchors.horizontalCenter: parent.horizontalCenter + ticks : true + stepSnap : true + hasAdjusted : true - } + // Texts + lowerText.visible : true + lowerText.font.pixelSize : Fonts.fontPixelFluidText + lowerText.font.bold : false + lowerText.anchors.topMargin : -50 + lowerTextHorizontalCenter : true - SliderDoubleCreateTreatment { id: _venousPressureLimits - objectName: "_venousPressureLimits" - lowSliderObjectName: objectName + "LowSlider" - lowSelectedValueObjectName: objectName + "LowValue" - highSliderObjectName: objectName + "HighSlider" - highSelectedValueObjectName: objectName + "HighValue" - lowTitle: qsTr("Low") - lowUnits: Variables.unitTextBloodPressure - highTitle: qsTr("High") - highUnits: Variables.unitTextBloodPressure - lowMin: vTreatmentCreate.venousPressureLimitLowMin - lowMax: vTreatmentCreate.venousPressureLimitLowMax - highMin: vTreatmentCreate.venousPressureLimitHighMin - highMax: vTreatmentCreate.venousPressureLimitHighMax - lowValue: vTreatmentCreate.venousPressureLimitLowMin - highValue: vTreatmentCreate.venousPressureLimitHighMin - lowStep: vTreatmentCreate.venousPressureLimitLowRes - highStep: vTreatmentCreate.venousPressureLimitHighRes - onLowSliderPressed: { - _flickable.setInteractive(false) - vTreatmentCreate.venousPressureLimitLow = lowValue + upperText.visible : true + upperText.font.pixelSize : Fonts.fontPixelFluidText + upperText.font.bold : false + upperText.anchors.topMargin : -50 + upperTextHorizontalCenter : true + + minText.visible : true + // minText.font.pixelSize : Fonts.fontPixelFluidText + minText.font.bold : false + minVerticalEdgeVisible : false + + maxText.visible : true + // maxText.font.pixelSize : Fonts.fontPixelFluidText + maxText.font.bold : false + maxVerticalEdgeVisible : false + + // Ranges + step : Variables.arterialLimitStep + gapValue : Variables.arterialLimitGap + minimum : vTreatmentCreate.venousPressureLimitLowMin + maximum : vTreatmentCreate.venousPressureLimitHighMax + minValue : vTreatmentCreate.venousPressureLimitLowMin + maxValue : vTreatmentCreate.venousPressureLimitHighMax + minValueLowerBound : vTreatmentCreate.venousPressureLimitLowMin + minValueUpperBound : vTreatmentCreate.venousPressureLimitLowMax + maxValueLowerBound : vTreatmentCreate.venousPressureLimitHighMin + maxValueUpperBound : vTreatmentCreate.venousPressureLimitHighMax + // scroll handling and value updates + onPressed : { setInteractive(false) } + onDragged : { setInteractive(false) } + onReleased: { setInteractive(true ) } + onMinValueChanged: if (minAdjusted) vTreatmentCreate.venousPressureLimitLow = minValue + onMaxValueChanged: if (maxAdjusted) vTreatmentCreate.venousPressureLimitHigh = maxValue } - onLowSliderReleased: { - vTreatmentCreate.venousPressureLimitLow = lowValue - _flickable.setInteractive(true) - } - onHighSliderPressed: { - _flickable.setInteractive(false) - vTreatmentCreate.venousPressureLimitHigh = highValue - } - onHighSliderReleased: { - vTreatmentCreate.venousPressureLimitHigh = highValue - _flickable.setInteractive(true) - } } SliderCreateTreatment { id: _bloodPressureMeasurementInterval @@ -373,12 +410,12 @@ step: vTreatmentCreate.bloodPressureMeasureIntervalRes stepSnap: true onPressed: { - _flickable.setInteractive(false) + setInteractive(false) vTreatmentCreate.bloodPressureMeasureInterval = value } onReleased: { vTreatmentCreate.bloodPressureMeasureInterval = value - _flickable.setInteractive(true) + setInteractive(true) } } @@ -393,12 +430,12 @@ step: vTreatmentCreate.rinsebackFlowRateRes stepSnap: true onPressed: { - _flickable.setInteractive(false) + setInteractive(false) vTreatmentCreate.rinsebackFlowRate = value } onReleased: { vTreatmentCreate.rinsebackFlowRate = value - _flickable.setInteractive(true) + setInteractive(true) } } @@ -431,7 +468,7 @@ Rectangle { id: _spacer - height: 75 + height: 15 width: parent.width color: "transparent" } @@ -450,7 +487,6 @@ _continueRect.toggleEnabled(true) } else { _continueRect.toggleEnabled(false) - } } @@ -493,10 +529,10 @@ _dialyzerType .setValid (true) _dialysateTemperature .setValid (true) - _arterialPressureLimits .setLowValid (true) - _arterialPressureLimits .setHighValid(true) - _venousPressureLimits .setLowValid (true) - _venousPressureLimits .setHighValid(true) + // _arterialPressureLimits .setLowValid (true) + // _arterialPressureLimits .setHighValid(true) + // _venousPressureLimits .setLowValid (true) + // _venousPressureLimits .setHighValid(true) _bloodPressureMeasurementInterval .setValid (true) _rinsebackFlowRate .setValid (true) } @@ -578,51 +614,51 @@ let newContentY = 0; if (parameter === prefix+"bloodFlowRate") { - newContentY = _bloodFlowRate.mapToItem(_bloodFlowRate.parent, 0, 0).y; + newContentY = _bloodFlowRate.mapToItem(_bloodFlowRate.parent, 0, 0).y; } else if (parameter === prefix+"dialysateFlowRate") { - newContentY = _dialysateFlowRate.mapToItem(_dialysateFlowRate.parent, 0, 0).y; + newContentY = _dialysateFlowRate.mapToItem(_dialysateFlowRate.parent, 0, 0).y; } else if (parameter === prefix+"duration") { - newContentY = _duration.mapToItem(_duration.parent, 0, 0).y; + newContentY = _duration.mapToItem(_duration.parent, 0, 0).y; } else if (parameter === prefix+"heparinDispensingRate") { - newContentY = _heparinDispensingRate.mapToItem(_heparinDispensingRate.parent, 0, 0).y; + newContentY = _heparinDispensingRate.mapToItem(_heparinDispensingRate.parent, 0, 0).y; } else if (parameter === prefix+"heparinBolusVolume") { - newContentY = _heparinBolusVolume.mapToItem(_heparinBolusVolume.parent, 0, 0).y; + newContentY = _heparinBolusVolume.mapToItem(_heparinBolusVolume.parent, 0, 0).y; } else if (parameter === prefix+"heparinStopTime") { - newContentY = _heparinStopTime.mapToItem(_heparinStopTime.parent, 0, 0).y; + newContentY = _heparinStopTime.mapToItem(_heparinStopTime.parent, 0, 0).y; } else if (parameter === prefix+"salineBolus") { - newContentY = _salineBolus.mapToItem(_salineBolus.parent, 0, 0).y; + newContentY = _salineBolus.mapToItem(_salineBolus.parent, 0, 0).y; } else if (parameter === prefix+"acidConcentrate") { - newContentY = _acidConcentrate.mapToItem(_acidConcentrate.parent, 0, 0).y; + newContentY = _acidConcentrate.mapToItem(_acidConcentrate.parent, 0, 0).y; } else if (parameter === prefix+"bicarbonateConcentrate") { - newContentY = _bicarbonateConcentrate.mapToItem(_bicarbonateConcentrate.parent, 0, 0).y; + newContentY = _bicarbonateConcentrate.mapToItem(_bicarbonateConcentrate.parent, 0, 0).y; } else if (parameter === prefix+"dialyzerType") { - newContentY = _dialyzerType.mapToItem(_dialyzerType.parent, 0, 0).y; + newContentY = _dialyzerType.mapToItem(_dialyzerType.parent, 0, 0).y; } else if (parameter === prefix+"dialysateTemp") { - newContentY = _dialysateTemperature.mapToItem(_dialysateTemperature.parent, 0, 0).y; + newContentY = _dialysateTemperature.mapToItem(_dialysateTemperature.parent, 0, 0).y; } else if (parameter === prefix+"arterialPressureLimitLow" || parameter === prefix+"arterialPressureLimitHigh") { - newContentY = _arterialPressureLimits.mapToItem(_arterialPressureLimits.parent, 0, 0).y; + newContentY = _arterialPressureLimits.mapToItem(_arterialPressureLimits.parent, 0, 0).y; } else if (parameter === prefix+"venousPressureLimitLow" || parameter === prefix+"venousPressureLimitHigh") { - newContentY = _venousPressureLimits.mapToItem(_venousPressureLimits.parent, 0, 0).y; + newContentY = _venousPressureLimits.mapToItem(_venousPressureLimits.parent, 0, 0).y; } else if (parameter === prefix+"bloodPressureMeasureInterval") { - newContentY = _bloodPressureMeasurementInterval.mapToItem(_bloodPressureMeasurementInterval.parent, 0, 0).y; + newContentY = _bloodPressureMeasurementInterval.mapToItem(_bloodPressureMeasurementInterval.parent, 0, 0).y; } else if (parameter === prefix+"rinsebackFlowRate") { - newContentY = _rinsebackFlowRate.mapToItem(_rinsebackFlowRate.parent, 0, 0).y; + newContentY = _rinsebackFlowRate.mapToItem(_rinsebackFlowRate.parent, 0, 0).y; } else { return; Index: sources/gui/qml/pages/treatment/TreatmentPrime.qml =================================================================== diff -u -r14c541d2b780b0a244bc84860aa565cf8dd7fe4b -rccb91da4becded9a7ad409b758bba96784d9feba --- sources/gui/qml/pages/treatment/TreatmentPrime.qml (.../TreatmentPrime.qml) (revision 14c541d2b780b0a244bc84860aa565cf8dd7fe4b) +++ sources/gui/qml/pages/treatment/TreatmentPrime.qml (.../TreatmentPrime.qml) (revision ccb91da4becded9a7ad409b758bba96784d9feba) @@ -28,7 +28,6 @@ */ ScreenItem { id: _root objectName: "_treatmentPrime" - backgroundRect.color: Colors.backgroundMainMenu signal clickedBack() signal clickedContinue() @@ -39,122 +38,99 @@ width: parent.width onClickedBack: { _root.clickedBack(); - } state: "prime" } - Flickable { id: _flickable - objectName: "_treatmentPrimeFlickable" - anchors.top: _topMenuBar.bottom - anchors.left: parent.left - anchors.bottom: parent.bottom - width: parent.width - contentWidth: parent.width - contentHeight: _column.implicitHeight - clip: true - flickDeceleration: Variables.createTreatmentFlickableDeceleration + Text { id: _titleText + anchors.horizontalCenter: parent.horizontalCenter + anchors.top: _root.top + anchors.topMargin: 150 + text: qsTr("Priming") + color: Colors.textMain + font.pixelSize: Fonts.fontPixelTitle + } - ScrollBar.vertical: ScrollBar { id: _scrollBar - anchors.right: _flickable.right - anchors.rightMargin: 3 - contentItem: Rectangle { - color: Colors.backgroundRangeRect - implicitWidth: 6 - radius: width / 2 - width: 3 - } + ProgressCircle { id: _circle + anchors.horizontalCenter: parent.horizontalCenter + anchors.top: _titleText.bottom + anchors.topMargin: 25 + minimum: 0 + maximum: vPriming.secondsTotal + diameter: 100 + value: vPriming.primingComplete ? vPriming.secondsTotal : vPriming.secondsRemaining + + PrimingTimer { id: _timeText + anchors.centerIn: parent + seconds : vPriming.secondsRemaining + completed: vPriming.primingComplete } + } - Column { id: _column - spacing: Variables.treatmentSpacing - anchors.horizontalCenter: parent.horizontalCenter; - anchors.fill: parent; + Column { id: _checklist + spacing: 20 + anchors.horizontalCenter: parent.horizontalCenter + anchors.top: _circle.bottom + anchors.topMargin: 30 - Text { id: _titleText - anchors.horizontalCenter: parent.horizontalCenter - text: qsTr("Priming") - color: Colors.textMain - font.pixelSize: Fonts.fontPixelTitle - } + CheckListItem { id: _checking_installation + anchors.horizontalCenter: parent.horizontalCenter + color : Colors.transparent + text: qsTr("Checking installation") + completed: vPriming.checkingInstallationComplete + } - ProgressCircle { id: _circle - anchors.horizontalCenter: parent.horizontalCenter - minimum: 0 - maximum: vPriming.secondsTotal - diameter: 100 - value: vPriming.primingComplete ? vPriming.secondsTotal : vPriming.secondsRemaining + CheckListItem { id: _creating_dialysate + anchors.horizontalCenter: parent.horizontalCenter + color : Colors.transparent + text : qsTr("Creating dialysate") + completed: vPriming.creatingDialysateComplete + } - PrimingTimer { id: _timeText - anchors.centerIn: parent - seconds : vPriming.secondsRemaining - completed: vPriming.primingComplete - } - } + CheckListItem { id: _priming_lines + anchors.horizontalCenter: parent.horizontalCenter + color : Colors.transparent + text : qsTr("Priming lines") + completed: vPriming.primingLinesComplete + } + } - Column { id: _checklist - spacing: 20 - anchors.horizontalCenter: parent.horizontalCenter + Text { id: _priming_complete + objectName: "_primingCompleteText" + anchors.horizontalCenter: parent.horizontalCenter + anchors.top: _checklist.bottom + anchors.topMargin: 45 + text: qsTr("Priming Complete!") + color: vPriming.primingComplete ? Colors.textMain : Colors.transparent + font.pixelSize: Fonts.primingFontSize + } - CheckListItem { id: _checking_installation - anchors.horizontalCenter: parent.horizontalCenter - color: "transparent" - text: "Checking installation" - completed: vPriming.checkingInstallationComplete - } - - CheckListItem { id: _creating_dialysate - anchors.horizontalCenter: parent.horizontalCenter - color: "transparent" - text: "Creating dialysate" - completed: vPriming.creatingDialysateComplete - } - - CheckListItem { id: _priming_lines - anchors.horizontalCenter: parent.horizontalCenter - color: "transparent" - text: "Priming lines" - completed: vPriming.primingLinesComplete - } + TouchRect { id : _continueRect + objectName: "_treatmentPrimeContinueButton" + anchors.horizontalCenter: parent.horizontalCenter + anchors.top: _priming_complete.bottom + anchors.topMargin: 50 + width: 490 + height: 60 + text.text: vPriming.continueBtnText + enabled : vPriming.continueEnabled + onEnabledChanged: { + if (enabled) { + borderColor = Colors.primingReady + textColor = Colors.primingReady + } else { + borderColor = Colors.primingNotReady + textColor = Colors.primingNotReady } + } - Text { id: _priming_complete - objectName: "_primingCompleteText" - anchors.horizontalCenter: parent.horizontalCenter - text: "Priming Complete!" - color: vPriming.primingComplete ? Colors.textMain : "transparent" - font.pixelSize: Fonts.primingFontSize - } - - TouchRect { id : _continueRect - objectName: "_treatmentPrimeContinueButton" - anchors.horizontalCenter: parent.horizontalCenter - text.text: vPriming.continueBtnText - enabled: vPriming.continueEnabled - onEnabledChanged: { - if (enabled) { - borderColor = Colors.primingReady - textColor = Colors.primingReady - } else { - borderColor = Colors.primingNotReady - textColor = Colors.primingNotReady - } - } - - button.onClicked: { - _root.clickedContinue() - } - } - - Rectangle { - id: _spacer - height: 75 - width: parent.width - color: "transparent" - } + button.onClicked: { + _root.clickedContinue() } } + // } + onVisibleChanged: { if (visible) { _mainMenu.hidden = true Index: sources/gui/qml/pages/treatment/TreatmentStack.qml =================================================================== diff -u -r153409973471214f29d5fad170a8b4ec0f4c4f2e -rccb91da4becded9a7ad409b758bba96784d9feba --- sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision 153409973471214f29d5fad170a8b4ec0f4c4f2e) +++ sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision ccb91da4becded9a7ad409b758bba96784d9feba) @@ -85,7 +85,7 @@ TreatmentHome { id: _treatmentHome onTreatmentStarted : push( _treatmentStart ) - onTreatmentCreated : vTreatmentCreate.doSelectParameters() + onTreatmentCreated : /*push( _treatmentPrime ) //*/ vTreatmentCreate.doSelectParameters() } TreatmentStart { id: _treatmentStart Index: sources/view/VTreatmentCreate.cpp =================================================================== diff -u -r9e234daa89b49df33be6faeaa597e6592526b539 -rccb91da4becded9a7ad409b758bba96784d9feba --- sources/view/VTreatmentCreate.cpp (.../VTreatmentCreate.cpp) (revision 9e234daa89b49df33be6faeaa597e6592526b539) +++ sources/view/VTreatmentCreate.cpp (.../VTreatmentCreate.cpp) (revision ccb91da4becded9a7ad409b758bba96784d9feba) @@ -62,7 +62,7 @@ if (!FileHandler::readJSON(path, obj)) { // TODO: notify user - LOG_EVENT(tr("Could not load treatment parameter ranges from %0").arg(path)); + LOG_EVENT(tr("Could not load treatment parameter ranges from %1").arg(path)); return QJsonObject(); } @@ -83,7 +83,7 @@ else if (key == GET_VARIABLE_NAME(heparinStopTimeMin)) _heparinStopTimeMin = value.toInt(); else if (key == GET_VARIABLE_NAME(heparinStopTimeMax)) _heparinStopTimeMax = value.toInt(); else if (key == GET_VARIABLE_NAME(salineBolusVolumeMin)) _salineBolusVolumeMin = value.toInt(); - else if (key == GET_VARIABLE_NAME(salineBolusVolumeMax)) _salineBolusVolumeMax = value.toInt(); + else if (key == GET_VARIABLE_NAME(salineBolusVolumeMax)) _salineBolusVolumeMax = value.toInt(); // options else if (key == GET_VARIABLE_NAME(acidConcentrateOptions)) _acidConcentrateOptions = jsonArrayToStringList(value.toArray()); else if (key == GET_VARIABLE_NAME(bicarbonateConcentrateOptions)) _bicarbonateConcentrateOptions = jsonArrayToStringList(value.toArray()); Index: sources/view/VTreatmentEnd.cpp =================================================================== diff -u -r53134008481fd775533e8988b7436f2f75e47336 -rccb91da4becded9a7ad409b758bba96784d9feba --- sources/view/VTreatmentEnd.cpp (.../VTreatmentEnd.cpp) (revision 53134008481fd775533e8988b7436f2f75e47336) +++ sources/view/VTreatmentEnd.cpp (.../VTreatmentEnd.cpp) (revision ccb91da4becded9a7ad409b758bba96784d9feba) @@ -20,7 +20,7 @@ /*! * \brief VTreatmentEnd::onEndTreatmentResponse - * Receives the end teatment response + * Receives the end treatment response * \param response The end treatment response */ void VTreatmentEnd::onEndTreatmentResponse(EndTreatmentResponseData response)