Index: sources/gui/qml/components/HeaderBar.qml =================================================================== diff -u -r40ddf63592b60608ae34aeb3099fe4e62ae45054 -r9ea6aa3bf4e8c4b5ef8970a6c19ad12b5765c58d --- sources/gui/qml/components/HeaderBar.qml (.../HeaderBar.qml) (revision 40ddf63592b60608ae34aeb3099fe4e62ae45054) +++ sources/gui/qml/components/HeaderBar.qml (.../HeaderBar.qml) (revision 9ea6aa3bf4e8c4b5ef8970a6c19ad12b5765c58d) @@ -114,6 +114,10 @@ iconSize : Variables.headerIconDiameter iconImageSource : "qrc:/images/iPrescription" extraSpace : _headerButtonRow.spacing + visible : vTDOpMode.validateParameters || + vTDOpMode.preTreatment || + vTDOpMode.inTreatment || + vTDOpMode.postTreatment onPressed : _headerbarPrescription.open() } Index: sources/gui/qml/dialogs/AcidConcentrateAdjustment.qml =================================================================== diff -u -r9c818f9b2600fa0fb9375f5923bf01ffcbb17e0f -r9ea6aa3bf4e8c4b5ef8970a6c19ad12b5765c58d --- sources/gui/qml/dialogs/AcidConcentrateAdjustment.qml (.../AcidConcentrateAdjustment.qml) (revision 9c818f9b2600fa0fb9375f5923bf01ffcbb17e0f) +++ sources/gui/qml/dialogs/AcidConcentrateAdjustment.qml (.../AcidConcentrateAdjustment.qml) (revision 9ea6aa3bf4e8c4b5ef8970a6c19ad12b5765c58d) @@ -27,15 +27,16 @@ ModalDialog { id : _root property int controlWidth : 770 property int controlHeight : 86 - readonly property string adjustment: ("%1 %2, %3 %4, 1 Mg") .arg(_potassiumVolumeControl.value.toFixed(Variables.potassiumPrecision)) + readonly property string adjustment: ("%1 %2, %3 %4, 1 Mg") .arg(_potassiumValueControl.value.toFixed(Variables.potassiumPrecision)) .arg(Variables.unitTextPotassium) - .arg(_calciumVolumeControl.value.toFixed(Variables.calciumPrecision)) + .arg(_calciumValueControl.value.toFixed(Variables.calciumPrecision)) .arg(Variables.unitTextCalcium) width : 1000 height : 600 padding : Variables.defaultMargin - onVisibleChanged: notificationText = "" + onVisibleChanged: vTreatmentRanges.doCheckAcidConcentrate(vTreatmentCreate.acidConcentrateSet, + vTreatmentCreate.acidConcentrate) Item { id : _contentItem anchors.fill: parent @@ -59,8 +60,8 @@ margins : 0 } onClicked: { - _potassiumVolumeControl.clear() - _calciumVolumeControl.clear() + _potassiumValueControl.clear() + _calciumValueControl.clear() _root.close() } } @@ -77,7 +78,7 @@ width : _root.controlWidth height : _root.controlHeight - contentItem : ValueAdjuster{ id: _potassiumVolumeControl + contentItem : ValueAdjuster{ id: _potassiumValueControl minimum : vTreatmentRanges.acidConcentratePotassiumMin maximum : vTreatmentRanges.acidConcentratePotassiumMax step : vTreatmentRanges.acidConcentratePotassiumRes @@ -98,7 +99,7 @@ width : _root.controlWidth height : _root.controlHeight - contentItem : ValueAdjuster { id: _calciumVolumeControl + contentItem : ValueAdjuster { id: _calciumValueControl minimum : vTreatmentRanges.acidConcentrateCalciumMin maximum : vTreatmentRanges.acidConcentrateCalciumMax step : vTreatmentRanges.acidConcentrateCalciumRes @@ -118,7 +119,7 @@ width : 250 height : 75 pixelSize : 30 - enabled : _potassiumVolumeControl.isActive && _calciumVolumeControl.isActive + enabled : _potassiumValueControl.isActive && _calciumValueControl.isActive onClicked : { if ( vTreatmentCreate.acidConcentrateRejectReason ) { vTreatmentCreate.acidConcentrateRejectReason = Variables.noRejectReason } @@ -131,14 +132,28 @@ Connections { target: vTreatmentRanges function onAcidConcentrateAcceptedChanged ( vAccepted ) { if ( vAccepted ) { - _potassiumVolumeControl.clear() - _calciumVolumeControl.clear() + _potassiumValueControl.clear() + _calciumValueControl.clear() + vTreatmentCreate.acidConcentrateSet = true _root.accept() } else { notificationText = qsTr("Duplicate Acid Concentrate Entry") } } + + function onDidCheckAcidConcentrate ( vChecked ) { + if ( vChecked ) { + _potassiumValueControl.isActive = true + _calciumValueControl.isActive = true + _calciumValueControl.value = vTreatmentRanges.calcium + _potassiumValueControl.value = vTreatmentRanges.potassium + notificationText = qsTr("Duplicate Acid Concentrate Entry") + } + else { + notificationText = "" + } + } } } } Index: sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateContent.qml =================================================================== diff -u -r9c818f9b2600fa0fb9375f5923bf01ffcbb17e0f -r9ea6aa3bf4e8c4b5ef8970a6c19ad12b5765c58d --- sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateContent.qml (.../PreTreatmentCreateContent.qml) (revision 9c818f9b2600fa0fb9375f5923bf01ffcbb17e0f) +++ sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateContent.qml (.../PreTreatmentCreateContent.qml) (revision 9ea6aa3bf4e8c4b5ef8970a6c19ad12b5765c58d) @@ -141,9 +141,7 @@ clearErrors() } - function onDidClear() { - _root.clear() - } + function onDidClear() { _root.clear() } } Connections { target: _acidConcentrateAdjustment Index: sources/view/VTreatmentCreate.cpp =================================================================== diff -u -r6992763b4202285e647a9aafbdf6752e5707bfe2 -r9ea6aa3bf4e8c4b5ef8970a6c19ad12b5765c58d --- sources/view/VTreatmentCreate.cpp (.../VTreatmentCreate.cpp) (revision 6992763b4202285e647a9aafbdf6752e5707bfe2) +++ sources/view/VTreatmentCreate.cpp (.../VTreatmentCreate.cpp) (revision 9ea6aa3bf4e8c4b5ef8970a6c19ad12b5765c58d) @@ -63,9 +63,9 @@ data.mHeparinDispensingRate = _heparinDispensingRate ; data.mHeparinBolusVolume = _heparinBolusVolume ; - emit didAdjustment(data); parametersConfirmed(false); parametersValidated(false); + emit didAdjustment(data); } /** @@ -77,8 +77,8 @@ void VTreatmentCreate::doConfirm() { AdjustParametersConfirmRequestData confirmTreatmentRequest; confirmTreatmentRequest.requestedState = AdjustParametersConfirmRequestData::eConfirm; - emit didAdjustment(confirmTreatmentRequest); parametersConfirmed(true); + emit didAdjustment(confirmTreatmentRequest); } /** @@ -90,9 +90,9 @@ { AdjustParametersConfirmRequestData confirmTreatmentRequest; confirmTreatmentRequest.requestedState = AdjustParametersConfirmRequestData::eCancel; - emit didAdjustment(confirmTreatmentRequest); parametersValidated(false); parametersConfirmed(false); + emit didAdjustment(confirmTreatmentRequest); } /** @@ -139,8 +139,8 @@ } else { if ( _txCode.isEmpty()) { generateTxCode(); } - emit didValidationPass(); parametersValidated(true); + emit didValidationPass(); } } Index: sources/view/hd/data/VTreatmentRanges.cpp =================================================================== diff -u -r95f6f36face64c2afdabe1904df649738f554709 -r9ea6aa3bf4e8c4b5ef8970a6c19ad12b5765c58d --- sources/view/hd/data/VTreatmentRanges.cpp (.../VTreatmentRanges.cpp) (revision 95f6f36face64c2afdabe1904df649738f554709) +++ sources/view/hd/data/VTreatmentRanges.cpp (.../VTreatmentRanges.cpp) (revision 9ea6aa3bf4e8c4b5ef8970a6c19ad12b5765c58d) @@ -83,6 +83,27 @@ emit acidConcentrateOptionsChanged(_acidConcentrateOptions); } +/** + * \brief VTreatmentRanges::doCheckAcidConcentrate + * \details Check Acid Concentrate selection when popup is disabled and updatte notifcation + */ +void View::VTreatmentRanges::doCheckAcidConcentrate (const int &vSet, const int &vIndex) +{ + enum AcidConcentrates { + ePotassium , + eCalcium , + eMagnesium , + }; + + if ( ! vSet ) { didCheckAcidConcentrate(false); return; } + + QString mAcidConcentrate =_acidConcentrateOptions[vIndex]; + QStringList values = mAcidConcentrate.split(QRegExp("[^0-9.]"), Qt::SkipEmptyParts); + potassium (values.value(AcidConcentrates::ePotassium) .toFloat()); + calcium (values.value(AcidConcentrates::eCalcium) .toFloat()); + didCheckAcidConcentrate(true); +} + /*! * \brief VTreatmentCreate::onSettingsDone * \details fills the items below, read from the settings file, when the reading is notified done by ApplicationController. Index: sources/view/hd/data/VTreatmentRanges.h =================================================================== diff -u -r95f6f36face64c2afdabe1904df649738f554709 -r9ea6aa3bf4e8c4b5ef8970a6c19ad12b5765c58d --- sources/view/hd/data/VTreatmentRanges.h (.../VTreatmentRanges.h) (revision 95f6f36face64c2afdabe1904df649738f554709) +++ sources/view/hd/data/VTreatmentRanges.h (.../VTreatmentRanges.h) (revision 9ea6aa3bf4e8c4b5ef8970a6c19ad12b5765c58d) @@ -54,6 +54,8 @@ RANGESET( quint32 , salineBolusVolume , 0) RANGESET( float , acidConcentratePotassium , 0) RANGESET( float , acidConcentrateCalcium , 0) + PROPERTY( float , potassium , 0) + PROPERTY( float , calcium , 0) READONLY( QStringList , heparinTypeOptions ,{}) READONLY( QStringList , acidConcentrateOptions ,{}) @@ -81,10 +83,13 @@ VIEW_DEC_SLOT(SettingsData ) signals: - void didTreatmentRangesDone(bool vPass); + void didTreatmentRangesDone ( bool vPass ); + void didCheckAcidConcentrate(const bool &vChecked ); public slots: - void doSaveAcidConcentrate (const QString &vOption); - void doClearAcidConcentrate (const bool vSet ); + void doSaveAcidConcentrate (const QString &vOption ); + void doClearAcidConcentrate (const bool vSet ); + void doCheckAcidConcentrate (const int &vSet , + const int &vIndex ); }; }