Index: sources/gui/qml/components/BaseComboBox.qml =================================================================== diff -u -r10d95daf091fedda008906727088648f66ae5bac -rde099919f262c3429cb0592ef71deb6a16e92892 --- sources/gui/qml/components/BaseComboBox.qml (.../BaseComboBox.qml) (revision 10d95daf091fedda008906727088648f66ae5bac) +++ sources/gui/qml/components/BaseComboBox.qml (.../BaseComboBox.qml) (revision de099919f262c3429cb0592ef71deb6a16e92892) @@ -28,6 +28,7 @@ property alias dropDownWidth : _popup.width property int delegateWidth : dropDownWidth property int delegateHeight : height + property bool canOff : false width : 300 displayText : _root.isActive ? currentText : Variables.emptyEntry @@ -37,16 +38,15 @@ signal clear() - onClear : { - currentIndex = 0 - } + onClear : { currentIndex = 0 } contentItem: Text { id: _displayText - text : parent.displayText + text : canOff && parent.displayText === "0" ? qsTr("OFF") : parent.displayText color : Colors.offWhite font.pixelSize : _root.isActive ? Fonts.fontPixelTextRectTitle : Fonts.fontPixelValueControl verticalAlignment : Text.AlignVCenter - horizontalAlignment : _root.isActive ? undefined : Text.AlignHCenter + horizontalAlignment : Text.AlignHCenter + rightPadding : _icon.width } background: Rectangle { id: _background @@ -60,11 +60,11 @@ highlighted : _root.highlightedIndex === index contentItem: Text { - text : modelData + text : canOff && modelData === "0" ? qsTr("OFF") : modelData color : Colors.offWhite font : _root.font verticalAlignment : Text.AlignVCenter - leftPadding : 30 + horizontalAlignment : Text.AlignHCenter } background: Rectangle { Index: sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateContent.qml =================================================================== diff -u -rb88eb4be4b18985df3d35f249ee3847250e63a91 -rde099919f262c3429cb0592ef71deb6a16e92892 --- sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateContent.qml (.../PreTreatmentCreateContent.qml) (revision b88eb4be4b18985df3d35f249ee3847250e63a91) +++ sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateContent.qml (.../PreTreatmentCreateContent.qml) (revision de099919f262c3429cb0592ef71deb6a16e92892) @@ -66,7 +66,6 @@ _heparinStopTimeControl .refresh() _dialysateTemperatureControl .refresh() _salineBolusVolumeControl .refresh() - _bpMeasurementIntervalControl .refresh() } function clear () { @@ -114,7 +113,7 @@ _dialyzerTypeComboBox .isActive && _dialysateTemperatureControl .isActive && _dialysateTemperature .valid && _salineBolusVolumeControl .isActive && _salineBolusVolume .valid && - _bpMeasurementIntervalControl .isActive && _bpMeasurementInterval .valid + _bpMeasurementIntervalControl .isActive } function validate () { @@ -500,6 +499,31 @@ } } + LabelUnitContainer { id: _bpMeasurementInterval + text : qsTr("Vitals Interval") + unitText : Variables.unitTextDuration + valid : ! vTreatmentCreate.bloodPressureMeasureIntervalRejectReason + + contentItem : BaseComboBox { id: _bpMeasurementIntervalControl + anchors.rightMargin : Variables.defaultMargin * 2 + anchors.leftMargin : anchors.rightMargin + anchors.topMargin : Variables.defaultMargin / 2 + anchors.bottomMargin: anchors.topMargin + isActive : vTreatmentCreate.bloodPressureMeasureIntervalSet + enabled : _root.editingEnabled + currentIndex : vTreatmentRanges.bloodPressureMeasureInterval.indexOf(vTreatmentCreate.bloodPressureMeasureInterval.toString()) + model : vTreatmentRanges.bloodPressureMeasureInterval + onClear : vTreatmentCreate.bloodPressureMeasureIntervalSet = false + canOff : true + + onActivated : { + if ( ! _bpMeasurementInterval.valid ) { vTreatmentCreate.bloodPressureMeasureIntervalRejectReason = Variables.noRejectReason } + vTreatmentCreate.bloodPressureMeasureInterval = vTreatmentRanges.bloodPressureMeasureInterval[_bpMeasurementIntervalControl.currentIndex] + vTreatmentCreate.bloodPressureMeasureIntervalSet = true + } + } + } + LabelUnitContainer { id: _dialysateTemperature text : qsTr("Dialysate Temperature") unitText : Variables.unitTextTemperature @@ -542,28 +566,6 @@ } } } - - LabelUnitContainer { id: _bpMeasurementInterval - text : qsTr("Vitals Interval") - unitText : Variables.unitTextDuration - valid : ! vTreatmentCreate.bloodPressureMeasureIntervalRejectReason - - contentItem : ValueAdjuster { id: _bpMeasurementIntervalControl - editable : _root.editingEnabled - minimum : vTreatmentRanges.bloodPressureMeasureIntervalMin - maximum : vTreatmentRanges.bloodPressureMeasureIntervalMax - step : vTreatmentRanges.bloodPressureMeasureIntervalRes - defaultValue : vTreatmentRanges.bloodPressureMeasureIntervalDef - value : vTreatmentCreate.bloodPressureMeasureInterval - canOff : true - isActive : vTreatmentCreate.bloodPressureMeasureIntervalSet - onDidActiveChange: function(vState) { vTreatmentCreate.bloodPressureMeasureIntervalSet = vState } - onDidChange : function(vValue) { - if ( ! _bpMeasurementInterval.valid ) { vTreatmentCreate.bloodPressureMeasureIntervalRejectReason = Variables.noRejectReason } - vTreatmentCreate.bloodPressureMeasureInterval = vValue - } - } - } } } } Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentVitals.qml =================================================================== diff -u -rae31b8fc6d423cdcbe99c60c711d6175da6be8fb -rde099919f262c3429cb0592ef71deb6a16e92892 --- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentVitals.qml (.../TreatmentAdjustmentVitals.qml) (revision ae31b8fc6d423cdcbe99c60c711d6175da6be8fb) +++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentVitals.qml (.../TreatmentAdjustmentVitals.qml) (revision de099919f262c3429cb0592ef71deb6a16e92892) @@ -166,13 +166,15 @@ } Connections { target: vTreatmentVitals + // Vitals Request function onDidTrigger () { vTreatmentAdjustmentVitals.doRequest() vTreatmentVitals.doTimerStart() } } Connections { target: vTreatmentAdjustmentVitals + // Vitals Response function onAdjustmentTriggered ( vValue ) { if ( vTreatmentAdjustmentVitals.adjustment_Accepted ) { // on accepted read vital data and populate @@ -192,7 +194,7 @@ } // FW no response timeout - function onTimedOutTriggered ( vValue ) { vTreatmentVitals.doSkip(); } + function onDidTimeout ( ) { vTreatmentVitals.doSkip(); } } Behavior on x { NumberAnimation { duration: Variables.keybardAnimationDuration } } Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentVitalsInterval.qml =================================================================== diff -u -r2b0c62ca1a150e1a375ab388be076e17532cb20f -rde099919f262c3429cb0592ef71deb6a16e92892 --- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentVitalsInterval.qml (.../TreatmentAdjustmentVitalsInterval.qml) (revision 2b0c62ca1a150e1a375ab388be076e17532cb20f) +++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentVitalsInterval.qml (.../TreatmentAdjustmentVitalsInterval.qml) (revision de099919f262c3429cb0592ef71deb6a16e92892) @@ -30,12 +30,12 @@ width : 1000 function confirm() { - vTreatmentCreate.bloodPressureMeasureInterval = _bpMeasurementIntervalControl.value + vTreatmentCreate.bloodPressureMeasureInterval = vTreatmentRanges.bloodPressureMeasureInterval[_bpMeasurementIntervalControl.currentIndex] vTreatmentVitals.doTimerStart() _root.close() } - onOpened: { _bpMeasurementIntervalControl.value = vTreatmentCreate.bloodPressureMeasureInterval } + onOpened: _bpMeasurementIntervalControl.currentIndex = vTreatmentRanges.bloodPressureMeasureInterval.indexOf(vTreatmentCreate.bloodPressureMeasureInterval.toString()) LabelUnitContainer { id: _bpMeasurementInterval anchors { @@ -53,19 +53,20 @@ unitPixelSize : Fonts.fontPixelContainerUnitSmall titleLeftMargin : Variables.defaultMargin * 2 - contentItem : ValueAdjuster { id: _bpMeasurementIntervalControl - minimum : vTreatmentRanges.bloodPressureMeasureIntervalMin - maximum : vTreatmentRanges.bloodPressureMeasureIntervalMax - step : vTreatmentRanges.bloodPressureMeasureIntervalRes - defaultValue : vTreatmentRanges.bloodPressureMeasureIntervalDef - value : vTreatmentCreate.bloodPressureMeasureInterval - canOff : true - isActive : vTreatmentCreate.bloodPressureMeasureIntervalSet + contentItem : BaseComboBox { id: _bpMeasurementIntervalControl + anchors.rightMargin : Variables.defaultMargin * 2 + anchors.leftMargin : anchors.rightMargin + anchors.topMargin : Variables.defaultMargin / 2 + anchors.bottomMargin: anchors.topMargin + isActive : vTreatmentCreate.bloodPressureMeasureIntervalSet + currentIndex : vTreatmentRanges.bloodPressureMeasureInterval.indexOf(vTreatmentCreate.bloodPressureMeasureInterval.toString()) + model : vTreatmentRanges.bloodPressureMeasureInterval + onClear : vTreatmentCreate.bloodPressureMeasureIntervalSet = false + canOff : true - onDidActiveChange : function(vState) { vTreatmentCreate.bloodPressureMeasureIntervalSet = vState } - onDidChange : function(vValue) { + onActivated : { if ( ! _bpMeasurementInterval.valid ) { vTreatmentCreate.bloodPressureMeasureIntervalRejectReason = Variables.noRejectReason } - value = vValue + vTreatmentCreate.bloodPressureMeasureIntervalSet = true } } } Index: sources/view/hd/data/VTreatmentRanges.cpp =================================================================== diff -u -rcb9c48c7c307690dcafcfd16ef412fe660291692 -rde099919f262c3429cb0592ef71deb6a16e92892 --- sources/view/hd/data/VTreatmentRanges.cpp (.../VTreatmentRanges.cpp) (revision cb9c48c7c307690dcafcfd16ef412fe660291692) +++ sources/view/hd/data/VTreatmentRanges.cpp (.../VTreatmentRanges.cpp) (revision de099919f262c3429cb0592ef71deb6a16e92892) @@ -170,11 +170,13 @@ acidConcentrateOptions ( _Settings.keys(mCategory , "Acid Concentrate Options" )); bicarbonateConcentrateOptions ( _Settings.keys(mCategory , "Bicarbonate Concentrate Options" )); dialyzerTypeOptions ( _Settings.keys(mCategory , "Dialyzer Type Options" )); + bloodPressureMeasureInterval ( _Settings.keys(mCategory , "Vitals Measurement Interval Options" )); isConfigsOk = isConfigsOk && !_heparinTypeOptions .isEmpty(); isConfigsOk = isConfigsOk && !_acidConcentrateOptions .isEmpty(); isConfigsOk = isConfigsOk && !_bicarbonateConcentrateOptions.isEmpty(); isConfigsOk = isConfigsOk && !_dialyzerTypeOptions .isEmpty(); + isConfigsOk = isConfigsOk && !_bloodPressureMeasureInterval .isEmpty(); FROMVARIANT_WITHRETURN ( dialysateTempDef , "Dialysate Temperature" , "Dialysate_Temperature_Def" , Float , isConfigsOk ); FROMVARIANT_WITHRETURN ( dialysateTempMin , "Dialysate Temperature" , "Dialysate_Temperature_Min" , Float , isConfigsOk ); @@ -216,11 +218,6 @@ FROMVARIANT_WITHRETURN ( venousPressureMonitorMax , "Venous Blood Pressure Ranges" , "Venous_Monitor_Max" , Int , isConfigsOk ); FROMVARIANT_WITHRETURN ( venousPressureMonitorRes , "Venous Blood Pressure Ranges" , "Venous_Monitor_Res" , Int , isConfigsOk ); - FROMVARIANT_WITHRETURN ( bloodPressureMeasureIntervalDef , "Blood Pressure Measure Interval Ranges" , "Blood_Pressure_Measure_Interval_Def" , UInt , isConfigsOk ); - FROMVARIANT_WITHRETURN ( bloodPressureMeasureIntervalMin , "Blood Pressure Measure Interval Ranges" , "Blood_Pressure_Measure_Interval_Min" , UInt , isConfigsOk ); - FROMVARIANT_WITHRETURN ( bloodPressureMeasureIntervalMax , "Blood Pressure Measure Interval Ranges" , "Blood_Pressure_Measure_Interval_Max" , UInt , isConfigsOk ); - FROMVARIANT_WITHRETURN ( bloodPressureMeasureIntervalRes , "Blood Pressure Measure Interval Ranges" , "Blood_Pressure_Measure_Interval_Res" , UInt , isConfigsOk ); - FROMVARIANT_WITHRETURN ( rinsebackFlowRateDef , "Rinseback Flow Rate Ranges" , "Rinseback_Flow_Rate_Def" , UInt , isConfigsOk ); FROMVARIANT_WITHRETURN ( rinsebackFlowRateMin , "Rinseback Flow Rate Ranges" , "Rinseback_Flow_Rate_Min" , UInt , isConfigsOk ); FROMVARIANT_WITHRETURN ( rinsebackFlowRateMax , "Rinseback Flow Rate Ranges" , "Rinseback_Flow_Rate_Max" , UInt , isConfigsOk ); Index: sources/view/hd/data/VTreatmentRanges.h =================================================================== diff -u -rcb9c48c7c307690dcafcfd16ef412fe660291692 -rde099919f262c3429cb0592ef71deb6a16e92892 --- sources/view/hd/data/VTreatmentRanges.h (.../VTreatmentRanges.h) (revision cb9c48c7c307690dcafcfd16ef412fe660291692) +++ sources/view/hd/data/VTreatmentRanges.h (.../VTreatmentRanges.h) (revision de099919f262c3429cb0592ef71deb6a16e92892) @@ -61,6 +61,7 @@ READONLY( QStringList , acidConcentrateOptions ,{}) READONLY( QStringList , bicarbonateConcentrateOptions ,{}) READONLY( QStringList , dialyzerTypeOptions ,{}) + READONLY( QStringList , bloodPressureMeasureInterval ,{}) PROPERTY( QString , acidConcentrate ,"") TRIGGER ( bool , acidConcentrateAccepted , false) @@ -70,7 +71,6 @@ RANGESET( qint32 , arterialPressureLimitWindow , 0) RANGESET( qint32 , venousPressureLimitWindow , 0) RANGESET( qint32 , venousPressureLimitAsymtrc , 0) - RANGESET( quint32 , bloodPressureMeasureInterval , 0) RANGESET( quint32 , rinsebackFlowRate , 0) // monitoring ranges Index: sources/view/td/adjustment/treatment/VTreatmentAdjustmentVitals.cpp =================================================================== diff -u -rae31b8fc6d423cdcbe99c60c711d6175da6be8fb -rde099919f262c3429cb0592ef71deb6a16e92892 --- sources/view/td/adjustment/treatment/VTreatmentAdjustmentVitals.cpp (.../VTreatmentAdjustmentVitals.cpp) (revision ae31b8fc6d423cdcbe99c60c711d6175da6be8fb) +++ sources/view/td/adjustment/treatment/VTreatmentAdjustmentVitals.cpp (.../VTreatmentAdjustmentVitals.cpp) (revision de099919f262c3429cb0592ef71deb6a16e92892) @@ -32,7 +32,7 @@ // if timeout is emited then let QML know to skip measurement _timeoutTimer.setSingleShot(true); _timeoutTimer.setInterval(2 * 60 * 1000); // 2 min timeout - connect(&_timeoutTimer, &QTimer::timeout, this, [this]() { timedOut(true); }); + connect(&_timeoutTimer, &QTimer::timeout, this, [this]() { emit didTimeout(); }); } /*! Index: sources/view/td/adjustment/treatment/VTreatmentAdjustmentVitals.h =================================================================== diff -u -rae31b8fc6d423cdcbe99c60c711d6175da6be8fb -rde099919f262c3429cb0592ef71deb6a16e92892 --- sources/view/td/adjustment/treatment/VTreatmentAdjustmentVitals.h (.../VTreatmentAdjustmentVitals.h) (revision ae31b8fc6d423cdcbe99c60c711d6175da6be8fb) +++ sources/view/td/adjustment/treatment/VTreatmentAdjustmentVitals.h (.../VTreatmentAdjustmentVitals.h) (revision de099919f262c3429cb0592ef71deb6a16e92892) @@ -39,9 +39,7 @@ AdjustVitalsRequestData _data; QTimer _timeoutTimer; - TRIGGER( bool , adjustment , 0 ) - TRIGGER( bool , timedOut , 0 ) VIEW_DEC_CLASS_ADJUSTMENT(VTreatmentAdjustmentVitals, AdjustVitalsResponseData) @@ -55,5 +53,7 @@ * \param vData - data model for the duration adjustment request */ void didAdjustment(const AdjustVitalsRequestData &vData); + + void didTimeout(); }; }