Index: denali.pro.user =================================================================== diff -u -r3229695c1c67de600c095d52c6f99dacfafb462d -rac23b968f565c2beeb153ca2d554b8f868634512 --- denali.pro.user (.../denali.pro.user) (revision 3229695c1c67de600c095d52c6f99dacfafb462d) +++ denali.pro.user (.../denali.pro.user) (revision ac23b968f565c2beeb153ca2d554b8f868634512) @@ -1,6 +1,6 @@ - + EnvironmentId Index: denali.qrc =================================================================== diff -u -r3229695c1c67de600c095d52c6f99dacfafb462d -rac23b968f565c2beeb153ca2d554b8f868634512 --- denali.qrc (.../denali.qrc) (revision 3229695c1c67de600c095d52c6f99dacfafb462d) +++ denali.qrc (.../denali.qrc) (revision ac23b968f565c2beeb153ca2d554b8f868634512) @@ -125,6 +125,7 @@ sources/gui/qml/compounds/InstructionView.qml sources/gui/qml/compounds/CheckListView.qml sources/gui/qml/compounds/TouchGrid.qml + sources/gui/qml/compounds/BPHREntry.qml qtquickcontrols2.conf @@ -147,7 +148,7 @@ sources/gui/qml/pages/pretreatment/PreTreatmentBase.qml - sources/gui/qml/pages/pretreatment/PreTreatmentMainStack.qml + sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml sources/gui/qml/pages/pretreatment/PreTreatmentWaterSampleStack.qml sources/gui/qml/pages/pretreatment/PreTreatmentConsumablesStack.qml sources/gui/qml/pages/pretreatment/PreTreatmentDisposablesStack.qml Index: sources/gui/qml/Keyboard.qml =================================================================== diff -u -r65558208e4968de9a5470ff5fda1ee2a9d00c793 -rac23b968f565c2beeb153ca2d554b8f868634512 --- sources/gui/qml/Keyboard.qml (.../Keyboard.qml) (revision 65558208e4968de9a5470ff5fda1ee2a9d00c793) +++ sources/gui/qml/Keyboard.qml (.../Keyboard.qml) (revision ac23b968f565c2beeb153ca2d554b8f868634512) @@ -29,6 +29,7 @@ */ InputPanel { id : _root function setVisible(vVisible) { + Qt.inputMethod.show() visible = vVisible } @@ -41,13 +42,13 @@ // when an alarm is active then alarm covers the keyboard // to avoid that keyboard moved a little higher // because the keyboard height is calculated by InputPanel itself and can not be set, - // a gap beetween the bottom of the keyboard and the screen. - // the rectangle _bottomFiller is to fill that gap - Rectangle { id: _bottomFiller - height: Variables.minVGap - color: "black" // InputPanel background color. - anchors.left: _root.left - anchors.right: _root.right + // a gap beetween the bottom of the keyboard and the screen. + // the rectangle _bottomFiller is to fill that gap + Rectangle { id: _bottomFiller + height: Variables.minVGap + color: "black" // InputPanel background color. + anchors.left: _root.left + anchors.right: _root.right anchors.top: _root.bottom } } Index: sources/gui/qml/components/EntryDialog.qml =================================================================== diff -u -r3229695c1c67de600c095d52c6f99dacfafb462d -rac23b968f565c2beeb153ca2d554b8f868634512 --- sources/gui/qml/components/EntryDialog.qml (.../EntryDialog.qml) (revision 3229695c1c67de600c095d52c6f99dacfafb462d) +++ sources/gui/qml/components/EntryDialog.qml (.../EntryDialog.qml) (revision ac23b968f565c2beeb153ca2d554b8f868634512) @@ -35,9 +35,11 @@ property bool closeVisible : true property bool confirmVisible : true + property bool confirmEnabled : true property bool autoHide : false property int autoHideDuration : 1000 + property bool autoHideCancel : false property alias contentRect : _backgroundRect property alias backgroundColor : _backgroundRect.color property alias textColor : _notification.textColor @@ -59,10 +61,31 @@ color : Colors.borderDialog Behavior on opacity { PropertyAnimation{}} onVisibleChanged: { - console.debug("Visible", visible) + if (autoHide && visible) { + _autoHideAnimation.start() + } + if (! visible) if (_keyboard) _keyboard.setVisible(false) notificationText = "" } + onAutoHideCancelChanged: { + console.log("Auto Hide Cancel", _root.autoHideCancel) + if ( _root.autoHideCancel ) { + _autoHideAnimation.stop() + _root.autoHideCancel = false + } + } + + NumberAnimation { id: _autoHideAnimation + running : false + target : _root + property: "opacity" + duration: autoHideDuration + onFinished: { + _root.close() + } + } + MouseArea { id: _modal anchors.fill: parent } @@ -73,13 +96,23 @@ height : Variables.dialogHeight color : Colors.backgroundDialog radius : Variables.dialogRadius + + MouseArea { id: autoHideCancel + anchors.fill: parent + onClicked: { + _autoHideAnimation.stop() + mouse.accepted = false + } + } + Rectangle { id : _headerRect anchors.top: parent.top anchors.left: parent.left anchors.right: parent.right ConfirmButton { id : _confirmButton visible: _root.confirmVisible + enabled: _root.confirmEnabled onClicked : { confirmClicked() _keyboard.setVisible(false) @@ -107,7 +140,7 @@ } } } - } - NotificationBar { id: _notification } + NotificationBarSmall { id: _notification } + } } Index: sources/gui/qml/components/NotificationBarSmall.qml =================================================================== diff -u -r1a8e9578b27bb3877116675d0b2361ce4f5b5539 -rac23b968f565c2beeb153ca2d554b8f868634512 --- sources/gui/qml/components/NotificationBarSmall.qml (.../NotificationBarSmall.qml) (revision 1a8e9578b27bb3877116675d0b2361ce4f5b5539) +++ sources/gui/qml/components/NotificationBarSmall.qml (.../NotificationBarSmall.qml) (revision ac23b968f565c2beeb153ca2d554b8f868634512) @@ -40,7 +40,7 @@ height : Variables.notificationHeight color : Colors.textNotificationNoneBg - //radius : Variables.dialogRadius + radius : Variables.dialogRadius anchors { bottom : parent.bottom left : parent.left Index: sources/gui/qml/components/TextEntry.qml =================================================================== diff -u -r6c5b5292ae3b3ebf979175dcb1256c88b1baf90c -rac23b968f565c2beeb153ca2d554b8f868634512 --- sources/gui/qml/components/TextEntry.qml (.../TextEntry.qml) (revision 6c5b5292ae3b3ebf979175dcb1256c88b1baf90c) +++ sources/gui/qml/components/TextEntry.qml (.../TextEntry.qml) (revision ac23b968f565c2beeb153ca2d554b8f868634512) @@ -33,10 +33,12 @@ property alias validator : _input.validator property var nextInput : undefined property alias text : _input.text + property bool hasCarret : false readonly property alias isValid : _input.acceptableInput - signal enterPressed() + signal enterPressed () + signal clicked (var vMouse) width : _label.width + _input.width height : TextEntry.EntryHeight @@ -49,6 +51,15 @@ } } + function doFocus( vFocus ) { + if ( vFocus ) { + if ( ! _root.hasCarret ) { + _input.selectAll() + } + _keyboard.setVisible(true) + } + } + Text { id : _label height : parent.height anchors.left : parent.left @@ -71,12 +82,7 @@ selectByMouse : true activeFocusOnPress : true onAccepted : _root.enterPressed() - onFocusChanged : { - if (focus) { - selectAll() - _keyboard.setVisible(true) - } - } + onFocusChanged : doFocus(focus) } Line { id : _line @@ -86,4 +92,15 @@ anchors.left: _input.left anchors.topMargin : -thickness // move it up to be in the container rect in case the TextEntry clip set true. } + + MouseArea { + visible : ! hasCarret + anchors.fill: parent + propagateComposedEvents: true + onClicked: { + _input.forceActiveFocus() + doFocus(true) + _root.clicked(mouse) + } + } } Index: sources/gui/qml/compounds/BPHREntry.qml =================================================================== diff -u --- sources/gui/qml/compounds/BPHREntry.qml (revision 0) +++ sources/gui/qml/compounds/BPHREntry.qml (revision ac23b968f565c2beeb153ca2d554b8f868634512) @@ -0,0 +1,102 @@ +/*! + * + * 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 BPHREntry.qml + * \author (last) Behrouz NematiPour + * \author (original) Behrouz NematiPour + * \date (last) 20-Jun-2021 + * \date (original) 20-Jun-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" + +/*! + * \brief The Check list view is a dynamic check list items which gets list of strings as model + * \details and dynamically creates list of items which can be later set as started/done to have + * busy circile or check mark as done. + */ +Item { id: _root + property int labelWidth : 200 + property int unitWidth : 100 + property int entryWidth : 100 + property int titleIndent : 25 + property int topMarginContent : 200 + property int contentRectHeight : 0 + + property alias firstInput : _bloodPressureSystolic + + property alias systolic : _bloodPressureSystolic.text + property alias diastolic : _bloodPressureDiastolic.text + property alias heartRate : _heartRate.text + + readonly property bool isValid : + _bloodPressureSystolic .isValid + && _bloodPressureDiastolic .isValid + && _heartRate .isValid + + signal clicked() + + width : _container.width + height : _container.height + + anchors.horizontalCenter: parent.horizontalCenter + y : Qt.inputMethod.visible && _keyboard.visible ? _root.topMarginContent : ( ( _root.contentRectHeight - _container.height ) / 2 ) + Behavior on y { NumberAnimation { duration: Variables.keybardAnimationDuration } } + + Row { id: _container + spacing: 50 + anchors.centerIn: parent + Column { spacing : 25 + leftPadding : _root.titleIndent + Row { spacing : 10 + TextEntry { id : _bloodPressureSystolic + text : Variables.notSetVariable(vTreatmentVitals.systolic, 0) + label.text : qsTr("Blood Pressure") + label.width : _root.labelWidth + validator : IntValidator { bottom: vTreatmentVitals.systolicMin; top : vTreatmentVitals.systolicMax } + onClicked : _root.clicked() + nextInput : _bloodPressureDiastolic + } + Label { + text : "/" + width : 10 + } + TextEntry { id : _bloodPressureDiastolic + text : Variables.notSetVariable(vTreatmentVitals.diastolic, 0) + label.width : 0 + validator : IntValidator { bottom: vTreatmentVitals.diastolicMin; top : vTreatmentVitals.diastolicMax } + onClicked : _root.clicked() + nextInput : _heartRate + } + Label { + text : qsTr("mmHg") + width : unitWidth + } + } + Row { spacing : 10 + TextEntry { id : _heartRate + text : Variables.notSetVariable(vTreatmentVitals.heartRate, 0) + label.text : qsTr("Heart Rate") + label.width : _root.labelWidth + onClicked : _root.clicked() + validator : IntValidator { bottom: vTreatmentVitals.heartRateMin; top : vTreatmentVitals.heartRateMax } + } + Label { + text : qsTr("BPM") + width : unitWidth + } + } + } + } +} Index: sources/gui/qml/globals/Variables.qml =================================================================== diff -u -r1a8e9578b27bb3877116675d0b2361ce4f5b5539 -rac23b968f565c2beeb153ca2d554b8f868634512 --- sources/gui/qml/globals/Variables.qml (.../Variables.qml) (revision 1a8e9578b27bb3877116675d0b2361ce4f5b5539) +++ sources/gui/qml/globals/Variables.qml (.../Variables.qml) (revision ac23b968f565c2beeb153ca2d554b8f868634512) @@ -186,7 +186,17 @@ readonly property int venousLimitStep : +10; ///< PRS356,PRS357 // has to be the same since it's on the same line scale readonly property int venousLimitGap : +30; - readonly property string notSetVariableText : "__" + function notSetVariable(vVariable, vLength, vChar) { + let notSetVariableText = "_" //"‑" //"-" + if (vLength === 0 ) notSetVariableText = "" + if (vVariable) + return vVariable + else + if (vLength) + return notSetVariableText.repeat(vLength) + else + return notSetVariableText + } readonly property string preTreatmentStepLabelCreate : qsTr("CREATE" ) readonly property string preTreatmentStepLabelConfirm : qsTr("CONFIRM" ) Index: sources/gui/qml/main.qml =================================================================== diff -u -r3229695c1c67de600c095d52c6f99dacfafb462d -rac23b968f565c2beeb153ca2d554b8f868634512 --- sources/gui/qml/main.qml (.../main.qml) (revision 3229695c1c67de600c095d52c6f99dacfafb462d) +++ sources/gui/qml/main.qml (.../main.qml) (revision ac23b968f565c2beeb153ca2d554b8f868634512) @@ -129,6 +129,46 @@ VDisinfectStates { id: vDisinfectStates } VTreatmentBloodFlow { id: vTreatmentBloodFlow } + Item /*VTreatmentVitals*/ /* Test View */ { id: vTreatmentVitals + property int systolic : 0 + property int systolicMin : 60 + property int systolicMax : 250 + property int diastolic : 0 + property int diastolicMin : 40 + property int diastolicMax : 200 + property int heartRate : 0 + property int heartRateMin : 40 + property int heartRateMax : 180 + property int interval : vTreatmentCreate.bloodPressureMeasureInterval + property string lastRead : "none" + property string notificationText: + qsTr("Interval:") + " " + (interval ? (interval + qsTr("min")):qsTr("off")) + + " , " + + qsTr("Last Read:") + " " + lastRead + + signal didTimeout() + + Timer { id: _timer + interval: vTreatmentVitals.interval * 60000 // to minuts + onTriggered: vTreatmentVitals.didTimeout() + } + onIntervalChanged: if (interval) _timer.start() + + function doConfirm(vSystolic, vDiastolic, vHeartReate) { + let currentDateTime = new Date() + systolic = vSystolic + diastolic = vDiastolic + heartRate = vHeartReate + lastRead = currentDateTime.toLocaleString(Qt.locale(), "yyyy/MMM/dd , HH:mm") + console.debug(vSystolic, vDiastolic, vHeartReate) + } + + function doRead(vSystolic, vDiastolic, vHeartReate) { + // simulated BLE read + doConfirm(vSystolic, vDiastolic, vHeartReate) + } + } + VTreatmentDialysateFlow { id: vTreatmentDialysateFlow } VTreatmentPressureOcclusion { id: vTreatmentPressureOcclusion } VTreatmentUltrafiltration { id: vTreatmentUltrafiltration } Index: sources/gui/qml/pages/MainStack.qml =================================================================== diff -u -r376859852f4d1a07263c44524aec347db29e0133 -rac23b968f565c2beeb153ca2d554b8f868634512 --- sources/gui/qml/pages/MainStack.qml (.../MainStack.qml) (revision 376859852f4d1a07263c44524aec347db29e0133) +++ sources/gui/qml/pages/MainStack.qml (.../MainStack.qml) (revision ac23b968f565c2beeb153ca2d554b8f868634512) @@ -46,7 +46,7 @@ DisinfectStack { id: _disinfectStack } // Pre Treatment PreTreatmentCreateStack { id: _preTreatmentCreateStack } - PreTreatmentMainStack { id: _preTreatmentMainStack } + PreTreatmentStack { id: _preTreatmentStack } // In TreatmentStack TreatmentStack { id: _treatmentStack // please be careful about the _root.pop. @@ -95,7 +95,7 @@ onStandbyWaitDisinfectChanged : { page( _disinfectStack , vstandbyWaitDisinfect )} onValidateParametersChanged : { page( _preTreatmentCreateStack , vvalidateParameters )} - onPreTreatmentChanged : { page( _preTreatmentMainStack , vpreTreatment )} + onPreTreatmentChanged : { page( _preTreatmentStack , vpreTreatment )} onInTreatmentChanged : { page( _treatmentStack , vinTreatment )} onPostTreatmentChanged : { page( _postTreatmentStack , vpostTreatment )} onInvalidModeChanged : { page( null , vinvalidMode )} Fisheye: Tag ac23b968f565c2beeb153ca2d554b8f868634512 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/PreTreatmentMainStack.qml'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml =================================================================== diff -u --- sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml (revision 0) +++ sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml (revision ac23b968f565c2beeb153ca2d554b8f868634512) @@ -0,0 +1,61 @@ +/*! + * + * 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 PreTreatmentStack.qml + * \author (last) Behrouz NematiPour + * \date (last) 28-Feb-2021 + * \author (original) Behrouz NematiPour + * \date (original) 28-Feb-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" +import "qrc:/pages/pretreatment" +import "qrc:/pages/pretreatment/connection" +/*! + * \brief the pre treatment prime stack screen + */ +StackItem { id: _root + objectName: "_PreTreatmentStack" + + stackView.initialItem : null + + property int stackStepIndex : 0 + + PreTreatmentWaterSampleStack{ id: _preTreatmentWaterSampleStack } + PreTreatmentConsumablesStack{ id: _preTreatmentConsumablesStack } + PreTreatmentDisposablesStack{ id: _preTreatmentDisposablesStack } + PreTreatmentPrimeStack { id: _pretreatmentPrimeStack } + PreTreatmentConnectionStack { id: _pretreatmentConnectionStack } + + Connections { target: vPreTreatmentStates + onStartChanged : {} + onWaterSampleChanged : { page( _preTreatmentWaterSampleStack , vwaterSample )} + onSelfTestConsumablesChanged: { page( _preTreatmentConsumablesStack , vselfTestConsumables )} + onSelfTestNoCartridgeChanged: { page( _preTreatmentDisposablesStack , vselfTestNoCartridge )} + onInstallationChanged : { console.debug("vinstallation ", vinstallation )} + onSelfTestDryChanged : { page( _pretreatmentPrimeStack , vselfTestDry )} + onPrimeChanged : { console.debug("vprime ", vprime )} + onRecirculateChanged : { console.debug("vrecirculate ", vrecirculate )} + onPatientConnectionChanged : { page( _pretreatmentConnectionStack , vpatientConnection )} + } + + onVisibleChanged: { + if (visible) { + _mainMenu.hidden = true + } + else { + stackView.initialItem = null + } + } +} Index: sources/gui/qml/pages/pretreatment/connection/PreTreatmentConnectionStack.qml =================================================================== diff -u -r821bf955d0ba7e028bccfee7c04ca77cf80a0bd4 -rac23b968f565c2beeb153ca2d554b8f868634512 --- sources/gui/qml/pages/pretreatment/connection/PreTreatmentConnectionStack.qml (.../PreTreatmentConnectionStack.qml) (revision 821bf955d0ba7e028bccfee7c04ca77cf80a0bd4) +++ sources/gui/qml/pages/pretreatment/connection/PreTreatmentConnectionStack.qml (.../PreTreatmentConnectionStack.qml) (revision ac23b968f565c2beeb153ca2d554b8f868634512) @@ -20,6 +20,7 @@ // Qml imports import "qrc:/globals" import "qrc:/components" +import "qrc:/compounds" import "qrc:/pages/pretreatment" import "qrc:/pages/pretreatment/connection" @@ -39,12 +40,32 @@ title.text : qsTr("Ultrafiltration Setup") } + PreTreatmentBase { id: _preTreatmentVitals // BP/HR Entry + header.stepIndex : 6 + header.confirmText.text : _bphrEntry.isValid ? qsTr("CONFIRM") : qsTr("SKIP") + header.confirmVisible : true + title.text : qsTr("BP/HR") + BPHREntry { id: _bphrEntry + topMarginContent : 250 + contentRectHeight : _root.height + } + onConfirmClicked: { + if ( _bphrEntry.isValid ) { + vTreatmentVitals.doConfirm( + _bphrEntry.systolic , + _bphrEntry.diastolic, + _bphrEntry.heartRate + ) + } + } + } + PreTreatmentBase { id: _preTreatmentPatientConnection header.stepIndex : 7 + header.backVisible : true header.confirmVisible : true title.text : qsTr("Patient Connection") header.confirmText.text : qsTr("CONTINUE") - instructionBased : true } @@ -67,7 +88,7 @@ _preTreatmentUltrafiltration.ufVolume = vPreTreatmentAdjustmentUltrafiltrationInit.volume // but only if it has been accepted it will navigate if ( vPreTreatmentAdjustmentUltrafiltrationInit.adjustment_Accepted ) { - page( _preTreatmentPatientConnection ) + page( _preTreatmentVitals ) } else { _preTreatmentUltrafiltration.reasonText = vPreTreatmentAdjustmentUltrafiltrationInit.text() @@ -79,8 +100,16 @@ onConfirmClicked : { vPreTreatmentAdjustmentUltrafiltrationInit.doAdjustment(_preTreatmentUltrafiltration.ufVolume)} } - Connections { target: _preTreatmentPatientConnection + Connections { target: _preTreatmentVitals onBackClicked : { page( _preTreatmentUltrafiltration )} + onConfirmClicked : { + // vVitals.doConfirm() + page( _preTreatmentPatientConnection ) + } + } + + Connections { target: _preTreatmentPatientConnection + onBackClicked : { page( _preTreatmentVitals )} onConfirmClicked : { vPreTreatmentAdjustmentPatientConnectionConfirm.doConfirm()} } Index: sources/gui/qml/pages/settings/SettingsWiFi.qml =================================================================== diff -u -r56ad953ae404fcf6956bd4f76b7a54b12d0285d3 -rac23b968f565c2beeb153ca2d554b8f868634512 --- sources/gui/qml/pages/settings/SettingsWiFi.qml (.../SettingsWiFi.qml) (revision 56ad953ae404fcf6956bd4f76b7a54b12d0285d3) +++ sources/gui/qml/pages/settings/SettingsWiFi.qml (.../SettingsWiFi.qml) (revision ac23b968f565c2beeb153ca2d554b8f868634512) @@ -43,10 +43,10 @@ readonly property int topMargin : topMarginContent - 40 // moved up to top of the keyboard readonly property bool isValid : - _ipAddress .textInput.acceptableInput && - _gateway .textInput.acceptableInput && - _subnetmask .textInput.acceptableInput && - _dns .textInput.acceptableInput + _ipAddress .textInput.acceptableInput + && _gateway .textInput.acceptableInput + && _subnetmask .textInput.acceptableInput + && _dns .textInput.acceptableInput confirmEnabled : isValid confirmVisible : false // since the static setting is done one by one seems confirm is not needed for now. @@ -72,6 +72,7 @@ label.text : qsTr("IP Address") textInput.width : entryWidth label.width : labelWidth + hasCarret : true validator : ipValidator onEnterPressed : { _keyboard.setVisible(false) @@ -85,6 +86,7 @@ textInput.width : entryWidth label.width : labelWidth label.text : qsTr("Gateway") + hasCarret : true validator : ipValidator onEnterPressed : { _keyboard.setVisible(false) @@ -98,6 +100,7 @@ textInput.width : entryWidth label.width : labelWidth label.text : qsTr("Subnet Mask") + hasCarret : true validator : ipValidator onEnterPressed : { _keyboard.setVisible(false) @@ -110,6 +113,7 @@ textInput.width : entryWidth label.width : labelWidth label.text : qsTr("DNS") + hasCarret : true validator : ipValidator onEnterPressed : { _keyboard.setVisible(false) Index: sources/gui/qml/pages/treatment/TreatmentHome.qml =================================================================== diff -u -r506a9e3db1a20bda1685e38c5e9041005c9a4a4f -rac23b968f565c2beeb153ca2d554b8f868634512 --- sources/gui/qml/pages/treatment/TreatmentHome.qml (.../TreatmentHome.qml) (revision 506a9e3db1a20bda1685e38c5e9041005c9a4a4f) +++ sources/gui/qml/pages/treatment/TreatmentHome.qml (.../TreatmentHome.qml) (revision ac23b968f565c2beeb153ca2d554b8f868634512) @@ -76,6 +76,7 @@ onClicked: { sectionVitalsClicked() } + notification.text: vTreatmentVitals.notificationText } Line { x: 0; y: row2LineY; length: lineLength } TreatmentPressures { id: _pressuresTouchArea Index: sources/gui/qml/pages/treatment/TreatmentStack.qml =================================================================== diff -u -r3229695c1c67de600c095d52c6f99dacfafb462d -rac23b968f565c2beeb153ca2d554b8f868634512 --- sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision 3229695c1c67de600c095d52c6f99dacfafb462d) +++ sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision ac23b968f565c2beeb153ca2d554b8f868634512) @@ -19,6 +19,7 @@ // Qml imports import "qrc:/globals" import "qrc:/components" +import "qrc:/compounds" import "qrc:/pages/treatment/adjustments" /*! @@ -56,62 +57,14 @@ hasLogo : true } - EntryDialog { id: _vitalEntry - property int labelWidth : 200 - property int entryWidth : 100 - property int titleIndent : 25 - property int topMarginContent : 200 - - titleText: qsTr("VITALS") - Row { id: _container - spacing: 50 - y : Qt.inputMethod.visible && _keyboard.visible ? _vitalEntry.topMarginContent : ( (_vitalEntry.contentRect.height - _container.height) / 2 ) - Behavior on y { NumberAnimation { duration: Variables.keybardAnimationDuration } } - anchors.horizontalCenter: parent.horizontalCenter - - Column { - spacing : 25 - leftPadding : _vitalEntry.titleIndent - Row { - spacing : 10 - TextEntry { id : _bloodPressureSystolic - text : "‑‑" - label.text : qsTr("Blood Pressure") - label.width : _vitalEntry.labelWidth - validator : IntValidator { bottom: 0; top : 7 } // TODO: Settings Manufacturing - nextInput : _bloodPressureDiastolic - } - Label { - text : qsTr("/") - width : 10 - } - TextEntry { id : _bloodPressureDiastolic - text : "" - label.width : 0 - validator : IntValidator { bottom: 0; top : 7 } // TODO: Settings Manufacturing - nextInput : _heartRate - } - Label { - text: qsTr("mmHg") - } - } - TextEntry { id : _heartRate - text : "" - label.text : qsTr("Heart Rate") - label.width : _vitalEntry.labelWidth - validator : IntValidator { bottom: 0; top : 7 } // TODO: Settings Manufacturing - } - } - } - } - TreatmentBloodPrime { id: _treatmentBloodPrime } TreatmentUltrafiltrationItem{ id: _treatmentUltrafiltrationItem } TreatmentHome { id: _treatmentHome onSectionFlowClicked : { _treatmentAdjustmentFlow.open() } onSectionVitalsClicked : { + // DEBUG: vTreatmentVitals.doRead(10,10,10) _vitalEntry.open() } onSectionPressuresClicked: { @@ -131,6 +84,29 @@ onConfirmClicked : vTreatmentAdjustmentFlows.doAdjustment(bloodFlowRateValue, dialysateFlowRateValue) } + EntryDialog { id: _vitalEntry + titleText : qsTr("VITALS") + autoHide : true + autoHideDuration : 1000 // 2 * 60000 + confirmEnabled : _bphrEntry.isValid + onConfirmClicked : { + vTreatmentVitals.doConfirm( + _bphrEntry.systolic , + _bphrEntry.diastolic , + _bphrEntry.heartRate + ) + _vitalEntry.close() + } + BPHREntry { id : _bphrEntry + contentRectHeight : _vitalEntry.contentRect.height + onClicked : { + console.log("clicked") + + _vitalEntry.autoHideCancel = true + } + } + } + TreatmentAdjustmentPressuresLimits { id: _treatmentAdjustmentPressuresLimits onConfirmClicked : vTreatmentAdjustmentPressuresLimits.doAdjustment( arterialPressureLowerBound , @@ -214,4 +190,9 @@ Connections { target: _mainHome onStartTreatment : { page ( _treatmentHome )} } + + Connections { target: vTreatmentVitals + onDidTimeout : { _vitalEntry.open() } + } + } Index: sources/gui/qml/pages/treatment/sections/TreatmentFlows.qml =================================================================== diff -u -r56e378f7504701b9e9a9dccaf205aef2fd52c58e -rac23b968f565c2beeb153ca2d554b8f868634512 --- sources/gui/qml/pages/treatment/sections/TreatmentFlows.qml (.../TreatmentFlows.qml) (revision 56e378f7504701b9e9a9dccaf205aef2fd52c58e) +++ sources/gui/qml/pages/treatment/sections/TreatmentFlows.qml (.../TreatmentFlows.qml) (revision ac23b968f565c2beeb153ca2d554b8f868634512) @@ -26,9 +26,6 @@ * \brief Treatment Screen Flows section */ TouchArea { id: _root - property alias bloodFlowSetPoint : _bloodFlow.label - property alias dialysateFlowSetPoint : _dialysateInletFlow.label - x : 0 y : 0 title : qsTr("FLOWS") @@ -40,15 +37,15 @@ anchors.topMargin: 40 TextRect { id: _bloodFlow title : qsTr("Blood") - label : vTreatmentBloodFlow.bloodFlow_FlowSetPoint + label : Variables.notSetVariable(vTreatmentBloodFlow.bloodFlow_FlowSetPoint) extra : Variables.unitTextFlowRate labelFont.weight: Font.ExtraLight width : 180 height: 200 } TextRect { id: _dialysateInletFlow title: qsTr("Dialysate") - label: vTreatmentDialysateFlow.dialysateFlow_FlowSetPoint + label: Variables.notSetVariable(vTreatmentDialysateFlow.dialysateFlow_FlowSetPoint) extra: Variables.unitTextFlowRate labelFont.weight: Font.ExtraLight width: 180 Index: sources/gui/qml/pages/treatment/sections/TreatmentVitals.qml =================================================================== diff -u -r3229695c1c67de600c095d52c6f99dacfafb462d -rac23b968f565c2beeb153ca2d554b8f868634512 --- sources/gui/qml/pages/treatment/sections/TreatmentVitals.qml (.../TreatmentVitals.qml) (revision 3229695c1c67de600c095d52c6f99dacfafb462d) +++ sources/gui/qml/pages/treatment/sections/TreatmentVitals.qml (.../TreatmentVitals.qml) (revision ac23b968f565c2beeb153ca2d554b8f868634512) @@ -26,13 +26,8 @@ * \brief Treatment Screen Vitals section */ TouchArea { id: _root - property alias textRectBloodPressure : _bloodPressure - property alias textRectHeartBeat : _heartBeat + readonly property string bloodSDSeparator: " / " - property int bpSystolic : 0 - property int bpDiastolic: 0 - property int heartRate : 0 - x: 0 y: 0 title: qsTr("VITALS") @@ -45,15 +40,15 @@ labelFont.pixelSize: Fonts.fontPixelVitals labelFont.weight: Font.ExtraLight labelAutoSize: true - label: (bpSystolic ? bpSystolic : "‑‑‑") + " / " + (bpDiastolic ? bpDiastolic : "‑‑") + label: Variables.notSetVariable(vTreatmentVitals.systolic, 3) + bloodSDSeparator + Variables.notSetVariable(vTreatmentVitals.diastolic, 2) extra: Variables.unitTextBloodPressure } TextRect { id: _heartBeat labelHeight: 40 labelFont.pixelSize: Fonts.fontPixelVitals labelFont.weight: Font.ExtraLight labelAutoSize: true - label: heartRate ? heartRate : "‑‑" + label: Variables.notSetVariable(vTreatmentVitals.heartRate) extra: Variables.unitTextHeartBeat } } Index: sources/view/VTreatmentCreate.h =================================================================== diff -u -r2216ac6ac7f77437a7c29ac8b4043be01bc4609e -rac23b968f565c2beeb153ca2d554b8f868634512 --- sources/view/VTreatmentCreate.h (.../VTreatmentCreate.h) (revision 2216ac6ac7f77437a7c29ac8b4043be01bc4609e) +++ sources/view/VTreatmentCreate.h (.../VTreatmentCreate.h) (revision ac23b968f565c2beeb153ca2d554b8f868634512) @@ -144,7 +144,7 @@ // min const quint32 bloodPressureMeasureInterval_Def = 30 ; // PRS 358 - const quint32 bloodPressureMeasureInterval_Min = 15 ; // PRS 358 + const quint32 bloodPressureMeasureInterval_Min = 0 ; // PRS 358 const quint32 bloodPressureMeasureInterval_Max = 60 ; // PRS 358 const quint32 bloodPressureMeasureInterval_Res = 5 ; // PRS 358