Index: denali.pro.user =================================================================== diff -u -r4271457f27788b96d6b166e61e8fe3ecdc0011ba -rc8eb6d0e29f8951a793b2f52d11a08b9902470ee --- denali.pro.user (.../denali.pro.user) (revision 4271457f27788b96d6b166e61e8fe3ecdc0011ba) +++ denali.pro.user (.../denali.pro.user) (revision c8eb6d0e29f8951a793b2f52d11a08b9902470ee) @@ -1,6 +1,6 @@ - + EnvironmentId Index: denali.qrc =================================================================== diff -u -r73b965e55528619f22a12ae3b3408c9dcecc9144 -rc8eb6d0e29f8951a793b2f52d11a08b9902470ee --- denali.qrc (.../denali.qrc) (revision 73b965e55528619f22a12ae3b3408c9dcecc9144) +++ denali.qrc (.../denali.qrc) (revision c8eb6d0e29f8951a793b2f52d11a08b9902470ee) @@ -58,6 +58,7 @@ sources/gui/qml/components/TimeText.qml sources/gui/qml/components/ProgressCircle.qml sources/gui/qml/components/Slider.qml + sources/gui/qml/components/SliderCreateTreatment.qml sources/gui/qml/components/ProgressBarEx.qml sources/gui/qml/components/CloseButton.qml sources/gui/qml/components/ConfirmButton.qml Index: sources/gui/qml/globals/Fonts.qml =================================================================== diff -u -rc64e61dd23a44d4b9d76c9e0b8f06bc359497665 -rc8eb6d0e29f8951a793b2f52d11a08b9902470ee --- sources/gui/qml/globals/Fonts.qml (.../Fonts.qml) (revision c64e61dd23a44d4b9d76c9e0b8f06bc359497665) +++ sources/gui/qml/globals/Fonts.qml (.../Fonts.qml) (revision c8eb6d0e29f8951a793b2f52d11a08b9902470ee) @@ -1,15 +1,16 @@ /*! - * + * * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. - * \copyright \n - * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, \n - * IN PART OR IN WHOLE, \n - * WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. \n - * - * \file Fonts.qml - * \date 2019/10/18 - * \author Behrouz NematiPour - * + * \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 Fonts.qml + * \author (last) Peter Lucia + * \date (last) 06-Jul-2020 + * \author (original) Behrouz NematiPour + * \date (original) 17-Oct-2019 + * */ // Qt @@ -25,6 +26,7 @@ readonly property int fontPixelButton : 24 readonly property int fontPixelTitle : 42 readonly property int fontPixelSection : 36 + readonly property int fontPixelDialogText : 22 readonly property int fontPixelTouchAreaTitle : 16 @@ -45,11 +47,24 @@ readonly property int fontPixelFluidVolume : 16 readonly property int fontPixelConfirm : 19 + readonly property int fontPixelBack : 17 readonly property int fontPixelSliderMarker : 17 readonly property int fontPixelNotification : 24 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 fontPixelUltrafiltrationAdjustmentConfirmTitle : 40 + readonly property int fontPixelUltrafiltrationAdjustmentEditValue : 46 + + } Index: sources/gui/qml/globals/Variables.qml =================================================================== diff -u -rd6869b2442823e77476ace6df006d0d000ec9b7a -rc8eb6d0e29f8951a793b2f52d11a08b9902470ee --- sources/gui/qml/globals/Variables.qml (.../Variables.qml) (revision d6869b2442823e77476ace6df006d0d000ec9b7a) +++ sources/gui/qml/globals/Variables.qml (.../Variables.qml) (revision c8eb6d0e29f8951a793b2f52d11a08b9902470ee) @@ -1,15 +1,16 @@ /*! - * + * * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. - * \copyright \n - * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, \n - * IN PART OR IN WHOLE, \n - * WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. \n - * - * \file Variables.qml - * \date 2019/10/18 - * \author Behrouz NematiPour - * + * \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 Variables.qml + * \author (last) Peter Lucia + * \date (last) 25-Jun-2020 + * \author (original) Behrouz NematiPour + * \date (original) 09-Oct-2019 + * */ // Qt @@ -24,13 +25,20 @@ QtObject { readonly property int applicationWidth : 1280 readonly property int applicationHeight : 800 + readonly property int buttonSpacing : 150 + readonly property int dialogSVGHeight : 50 + readonly property int dialogSVGWidth : 50 + readonly property int dialogSVGIconOffset : 25 readonly property int headerHeight : 100 readonly property int mainMenuHeight : 70 readonly property int logoWidth : 50 readonly property int logoHeight : 50 + readonly property int largeArrowWidth : 24 + readonly property int largeArrowHeight : 32 + readonly property int arrowWidth : 12 readonly property int arrowHeight : 16 @@ -68,15 +76,33 @@ readonly property int progressbarRectWidth : 620 readonly property int sliderTextMargin : 20 - readonly property int createTreatmentSpacing : 60 + readonly property int cTreatmentSpacing : 60 - readonly property int notificationHeight : 60 readonly property real scrollBarSize : 0.2 + readonly property int notificationHeight : 50 + readonly property int notificationIconSize : 36 + readonly property int backIconDiameter : 17 + + readonly property int pauseIconDiameter : 60 + // --- PRS --- + readonly property int bloodFlowMin : 100 + readonly property int bloodFlowMax : 500 readonly property int bloodFlowResolution : 25 readonly property int dialysateFlowResolution : 50 readonly property int durationResolution : 15 // PRS346 + readonly property int silenceIconMargin : 20 + readonly property int notificationBarIconMargin : 10 + readonly property int notificationBarIconHeight : 30 + readonly property int notificationBarIconWidth : 30 + + readonly property int settingsOptionWidth : 550 + readonly property int settingsOptionHeight : 50 + + readonly property int ultrafiltrationProgressbarWidth : 880 + readonly property int ultrafiltrationAdjustmtenOptionWidth : 520 + readonly property int ultrafiltrationAdjustmtenOptionHeight: 275 } Index: sources/gui/qml/pages/treatment/TreatmentCreate.qml =================================================================== diff -u -rd6869b2442823e77476ace6df006d0d000ec9b7a -rc8eb6d0e29f8951a793b2f52d11a08b9902470ee --- sources/gui/qml/pages/treatment/TreatmentCreate.qml (.../TreatmentCreate.qml) (revision d6869b2442823e77476ace6df006d0d000ec9b7a) +++ sources/gui/qml/pages/treatment/TreatmentCreate.qml (.../TreatmentCreate.qml) (revision c8eb6d0e29f8951a793b2f52d11a08b9902470ee) @@ -1,4 +1,5 @@ /*! +<<<<<<< HEAD * * Copyright (c) 2020 Diality Inc. - All Rights Reserved. * \copyright \n @@ -10,6 +11,20 @@ * \date 2020/07/07 * \author Peter Lucia * +======= + * + * Copyright (c) 2019-2020 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 TreatmentCreate.qml + * \author (last) Behrouz NematiPour + * \date (last) 12-May-2020 + * \author (original) Behrouz NematiPour + * \date (original) 27-Jan-2020 + * +>>>>>>> master */ // Qt @@ -38,7 +53,10 @@ BackButton { id : _backButton anchors.verticalCenter: parent.verticalCenter - onPressed: clickedBack() + anchors.top: parent.top + anchors.left: parent.left + anchors.margins: _topMenuBar.height / 6 + onClicked: clickedBack() } } @@ -56,7 +74,7 @@ color: "transparent"; anchors.fill: parent; Column { - spacing: Variables.createTreatmentSpacing + spacing: Variables.cTreatmentSpacing anchors.horizontalCenter: parent.horizontalCenter; anchors.fill: parent; Index: sources/gui/qml/pages/treatment/TreatmentStack.qml =================================================================== diff -u -rd6869b2442823e77476ace6df006d0d000ec9b7a -rc8eb6d0e29f8951a793b2f52d11a08b9902470ee --- sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision d6869b2442823e77476ace6df006d0d000ec9b7a) +++ sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision c8eb6d0e29f8951a793b2f52d11a08b9902470ee) @@ -1,15 +1,16 @@ /*! - * + * * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. - * \copyright \n - * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, \n - * IN PART OR IN WHOLE, \n - * WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. \n - * - * \file TreatmentStack.qml - * \date 2019/10/21 - * \author Behrouz NematiPour - * + * \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 TreatmentStack.qml + * \author (last) Behrouz NemaiPour + * \date (last) 18-Jun-2020 + * \author (original) Behrouz NematiPour + * \date (original) 27-Jan-2020 + * */ // Qt @@ -29,6 +30,8 @@ * is selected from the main menu. */ StackItem { id : _root + objectName: "TreatmentStack" + stackView.initialItem : _treatmentHome VTreatmentRanges { id: vTreatmentRanges } @@ -51,32 +54,147 @@ } TreatmentStart { id: _treatmentStart - onBackPressed : pop () + onBackClicked : pop () onSectionFlowClicked : { _treatmentAdjustmentFlow.open() } onSectionTimeClicked : { _treatmentAdjustmentDuration.open() } + onSectionUltrafiltrationClicked: { + if ( vTreatmentAdjustmentUltrafiltrationState.isPaused ) { + _treatmentAdjustmentUltrafiltrationPaused.open() + } else { + _treatmentAdjustmentUltrafiltrationStart .open() + } + } } + TreatmentCreate { id: _treatmentCreate + onClickedBack : pop() + } + + //// Treatment Adjustment Dialogs TreatmentAdjustmentFlow { id: _treatmentAdjustmentFlow - dialysateFlowRateMinimum: vTreatmentRanges.treatmentRanges_Dialysate_Flow_Min - dialysateFlowRateMaximum: vTreatmentRanges.treatmentRanges_Dialysate_Flow_Max + onCloseClicked : close() + onConfirmClicked : vTreatmentAdjustmentFlows.doAdjustment(bloodFlowRateValue, dialysateFlowRateValue) + } + TreatmentAdjustmentDuration { id: _treatmentAdjustmentDuration + onCloseClicked : close() + onConfirmClicked : vTreatmentAdjustmentDuration.doAdjustment(durationValue) + } + TreatmentAdjustmentUltrafiltrationStart { id: _treatmentAdjustmentUltrafiltrationStart onCloseClicked : close() - onConfirmClicked : _GuiView.doAdjustBloodDialysateFlows(bloodFlowRateValue, dialysateFlowRateValue) + onPauseClicked : { + // send pause to HD and wait. + // if accepted close() + // not accepted show error in notification + vTreatmentAdjustmentUltrafiltrationState.doPause() + } } - TreatmentAdjustmentDuration { id: _treatmentAdjustmentDuration - // durationMinimum: vTreatmentRanges.treatmentRanges_Duration_Min - // durationMaximum: vTreatmentRanges.treatmentRanges_Duration_Max + TreatmentAdjustmentUltrafiltrationPaused { id: _treatmentAdjustmentUltrafiltrationPaused onCloseClicked : close() - onConfirmClicked : _GuiView.doAdjustDuration(durationValue) + onEditClicked : { + close() + _treatmentAdjustmentUltrafiltrationEdit.reset() // reset the slider to minimum value position + _treatmentAdjustmentUltrafiltrationEdit.open() + } + onResumeClicked : { + // send resume to HD and wait. + // if accepted close() + // not accepted show error in notification + vTreatmentAdjustmentUltrafiltrationState.doResume() + } } - TreatmentCreate { id: _treatmentCreate - onClickedBack : pop() + TreatmentAdjustmentUltrafiltrationEdit { id: _treatmentAdjustmentUltrafiltrationEdit + onBackClicked : { + close() + _treatmentAdjustmentUltrafiltrationPaused.open() + } + onNextClicked : { + // send Volume to HD and wait. + // if accepted close() + // not accepted show error in notification + vTreatmentAdjustmentUltrafiltrationEdit.doAdjustment(vVolume) + } } -} + TreatmentAdjustmentUltrafiltrationConfirm { id: _treatmentAdjustmentUltrafiltrationConfirm + onBackClicked : { + close() + _treatmentAdjustmentUltrafiltrationEdit.open () + } + onConfirmRateClicked : { + vTreatmentAdjustmentUltrafiltrationConfirm.doOptionRate(vVolume) + } + onConfirmDurationClicked: { + vTreatmentAdjustmentUltrafiltrationConfirm.doOptionDuration(vVolume) + } + } + + // ---------- Manages Responses ---------- + Connections { target: vTreatmentAdjustmentDuration + onAdjustmentTriggered : { + if ( vTreatmentAdjustmentDuration.adjustment_Accepted ) { + vTreatmentUltrafiltration.maximum = vTreatmentAdjustmentDuration.ultrafiltration + _treatmentAdjustmentDuration.accept() + } else { + _treatmentAdjustmentDuration.durationValue = vTreatmentAdjustmentDuration.duration; + _treatmentAdjustmentDuration.notification.text = vTreatmentAdjustmentDuration.text(); + } + } + } + + Connections { target: vTreatmentAdjustmentUltrafiltrationState + onAdjustmentTriggered : { + if ( vTreatmentAdjustmentUltrafiltrationState.adjustment_Accepted ) { + if ( vTreatmentAdjustmentUltrafiltrationState.isPaused ) { + _treatmentAdjustmentUltrafiltrationStart .close() + _treatmentAdjustmentUltrafiltrationPaused.open () + } else { + _treatmentAdjustmentUltrafiltrationPaused.close() + } + } else { + if ( vTreatmentAdjustmentUltrafiltrationState.isPaused ) { + _treatmentAdjustmentUltrafiltrationPaused.notification.text = vTreatmentAdjustmentUltrafiltrationState.text() + } else { + _treatmentAdjustmentUltrafiltrationStart .notification.text = vTreatmentAdjustmentUltrafiltrationState.text() + } + } + } + } + + Connections { target: vTreatmentAdjustmentUltrafiltrationEdit + onAdjustmentTriggered : { + if (vTreatmentAdjustmentUltrafiltrationEdit.adjustment_Accepted) { + _treatmentAdjustmentUltrafiltrationConfirm.ultrafiltrationVolume = vTreatmentAdjustmentUltrafiltrationEdit.volume + _treatmentAdjustmentUltrafiltrationConfirm.treatmentDuration = vTreatmentAdjustmentUltrafiltrationEdit.duration + _treatmentAdjustmentUltrafiltrationConfirm.treatmentDurationDiff = vTreatmentAdjustmentUltrafiltrationEdit.durationDiff + _treatmentAdjustmentUltrafiltrationConfirm.ultrafiltrationRate = vTreatmentAdjustmentUltrafiltrationEdit.rate + _treatmentAdjustmentUltrafiltrationConfirm.ultrafiltrationRateDiff = vTreatmentAdjustmentUltrafiltrationEdit.rateDiff + _treatmentAdjustmentUltrafiltrationConfirm.ultrafiltrationRateOld = vTreatmentAdjustmentUltrafiltrationEdit.rateOld + + _treatmentAdjustmentUltrafiltrationEdit .close() + _treatmentAdjustmentUltrafiltrationConfirm.reset() + _treatmentAdjustmentUltrafiltrationConfirm.open () + } else { + _treatmentAdjustmentUltrafiltrationEdit.notification.text = vTreatmentAdjustmentUltrafiltrationEdit.text() + } + } + } + + Connections { target: vTreatmentAdjustmentUltrafiltrationConfirm + onAdjustmentTriggered : { + if (vTreatmentAdjustmentUltrafiltrationConfirm.adjustment_Accepted) { + // HD resumes the ultrafiltration and no need to recall the doPause just update the state + vTreatmentAdjustmentUltrafiltrationState.isPaused = false + vTreatmentUltrafiltration.maximum = vTreatmentAdjustmentUltrafiltrationConfirm.volume + _treatmentAdjustmentUltrafiltrationConfirm.close() + } else { + _treatmentAdjustmentUltrafiltrationConfirm.notification.text = vTreatmentAdjustmentUltrafiltrationConfirm.text() + } + } + }}