Index: leahi.pro =================================================================== diff -u -r7bde5ac0646170a584dd5410fcf89fd9bc8b251c -rb110ee732fe1306669f71d9c17ed4714e1f03ee2 --- leahi.pro (.../leahi.pro) (revision 7bde5ac0646170a584dd5410fcf89fd9bc8b251c) +++ leahi.pro (.../leahi.pro) (revision b110ee732fe1306669f71d9c17ed4714e1f03ee2) @@ -156,6 +156,7 @@ sources/model/dd/adjustment/settings/MAdjustDDSerialNumberResponse.h \ sources/model/dd/adjustment/settings/MAdjustDDVersionsResponse.h \ sources/model/dd/adjustment/settings/MAdjustRoWaterModeResponse.h \ + sources/model/dd/adjustment/settings/MRoWaterModeResponse.h \ sources/model/dd/data/MDDBloodLeakData.h \ sources/model/dd/data/MDDConcentratePumpData.h \ sources/model/dd/data/MDDConductivityData.h \ @@ -266,6 +267,7 @@ sources/view/settings/VAdjustRoWaterMode.h \ sources/view/settings/VAdjustmentAdvancedInstitutionalRecord.h \ sources/view/settings/VAdvancedInstitutionalRecord.h \ + sources/view/settings/VRoWaterMode.h \ sources/view/td/adjustment/treatment/VTreatmentAdjustmentPressuresWidening.h \ sources/view/td/data/VTDAirBubbleData.h \ sources/view/td/data/VTDAirPumpData.h \ @@ -527,6 +529,7 @@ sources/model/dd/adjustment/settings/MAdjustDDSerialNumberResponse.cpp \ sources/model/dd/adjustment/settings/MAdjustDDVersionsResponse.cpp \ sources/model/dd/adjustment/settings/MAdjustRoWaterModeResponse.cpp \ + sources/model/dd/adjustment/settings/MRoWaterModeResponse.cpp \ sources/model/dd/data/MDDBloodLeakData.cpp \ sources/model/dd/data/MDDConcentratePumpData.cpp \ sources/model/dd/data/MDDConductivityData.cpp \ @@ -740,6 +743,7 @@ sources/view/settings/VAdjustRoWaterMode.cpp \ sources/view/settings/VAdjustmentAdvancedInstitutionalRecord.cpp \ sources/view/settings/VAdvancedInstitutionalRecord.cpp \ + sources/view/settings/VRoWaterMode.cpp \ sources/view/td/adjustment/treatment/VTreatmentAdjustmentPressuresWidening.cpp \ sources/view/td/data/VTDAirBubbleData.cpp \ sources/view/td/data/VTDAirPumpData.cpp \ Index: sources/canbus/MessageDispatcher.cpp =================================================================== diff -u -r9569b4a56306df342846b862b124c034c87d4883 -rb110ee732fe1306669f71d9c17ed4714e1f03ee2 --- sources/canbus/MessageDispatcher.cpp (.../MessageDispatcher.cpp) (revision 9569b4a56306df342846b862b124c034c87d4883) +++ sources/canbus/MessageDispatcher.cpp (.../MessageDispatcher.cpp) (revision b110ee732fe1306669f71d9c17ed4714e1f03ee2) @@ -958,6 +958,18 @@ /*! * \brief MessageDispatcher::onAdjustment + * \details This method transmits the UI RO Water Mode request. + * \param vData - Data model contains the UI RO Water Mode request data. + * \return void + */ +void MessageDispatcher::onAdjustment(const RoWaterModeRequestData &) +{ + QVariantList mData; + actionTransmit(GuiActionType::ID_RoWaterModeReq, mData); +} + +/*! + * \brief MessageDispatcher::onAdjustment * \details This method transmits the HD Usage Info Denali message. * \param vData - * \return void Index: sources/canbus/MessageGlobals.h =================================================================== diff -u -r9569b4a56306df342846b862b124c034c87d4883 -rb110ee732fe1306669f71d9c17ed4714e1f03ee2 --- sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision 9569b4a56306df342846b862b124c034c87d4883) +++ sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision b110ee732fe1306669f71d9c17ed4714e1f03ee2) @@ -330,6 +330,8 @@ {Gui::GuiActionType::ID_AdjustDGCleaningUsageReq , 0 * 4 }, // 0 parameter {Gui::GuiActionType::ID_AdjustDGCleaningUsageRsp , 10 * 4 }, //10 parameters each 4bytes // ---- RO Water + {Gui::GuiActionType::ID_RoWaterModeReq , 0 * 4 }, // 1 parameter each 4bytes + {Gui::GuiActionType::ID_RoWaterModeRsp , 3 * 4 }, // 3 parameter each 4bytes {Gui::GuiActionType::ID_AdjustRoWaterModeReq , 1 * 4 }, // 1 parameter each 4bytes {Gui::GuiActionType::ID_AdjustRoWaterModeRsp , 2 * 4 }, // 2 parameter each 4bytes // ---- Index: sources/canbus/MessageInterpreter.cpp =================================================================== diff -u -r7bde5ac0646170a584dd5410fcf89fd9bc8b251c -rb110ee732fe1306669f71d9c17ed4714e1f03ee2 --- sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision 7bde5ac0646170a584dd5410fcf89fd9bc8b251c) +++ sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision b110ee732fe1306669f71d9c17ed4714e1f03ee2) @@ -218,6 +218,7 @@ case Gui::GuiActionType::ID_DuetConfirmUIr : INTERPRET_TRANSMIT_MESSAGE(DuetConfirmUIrData ); break; // RO Water case Gui::GuiActionType::ID_AdjustRoWaterModeReq : INTERPRET_TRANSMIT_MESSAGE(AdjustRoWaterModeRequestData ); break; + case Gui::GuiActionType::ID_RoWaterModeReq : INTERPRET_TRSMT_MT_MESSAGE(RoWaterModeRequestData ); break; // POST case Gui::GuiActionType::ID_UIPostFinalResultData : INTERPRET_TRANSMIT_MESSAGE(AdjustUIPostFinalResultRequestData ); break; // Settings @@ -656,6 +657,7 @@ case Gui::GuiActionType::ID_DDValvesStatesData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDValvesStatesData ); break; case Gui::GuiActionType::ID_AdjustDDDateTimeRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustDDDateTimeRsp ); break; + case Gui::GuiActionType::ID_RoWaterModeRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_RoWaterModeRsp ); break; case Gui::GuiActionType::ID_AdjustRoWaterModeRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustRoWaterModeRsp ); break; case Gui::GuiActionType::ID_DDOperationModeData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDOperationModeData ); break; Index: sources/gui/GuiGlobals.cpp =================================================================== diff -u -r7bde5ac0646170a584dd5410fcf89fd9bc8b251c -rb110ee732fe1306669f71d9c17ed4714e1f03ee2 --- sources/gui/GuiGlobals.cpp (.../GuiGlobals.cpp) (revision 7bde5ac0646170a584dd5410fcf89fd9bc8b251c) +++ sources/gui/GuiGlobals.cpp (.../GuiGlobals.cpp) (revision b110ee732fe1306669f71d9c17ed4714e1f03ee2) @@ -50,6 +50,7 @@ #include "VAdjustmentAlarmVolume.h" #include "VBluetooth.h" #include "VAdjustRoWaterMode.h" +#include "VRoWaterMode.h" #include "VCloudSync.h" #include "VHDUsageInfo.h" #include "VAdjustmentInstitutionalRecord.h" Index: sources/gui/GuiGlobals.h =================================================================== diff -u -r9569b4a56306df342846b862b124c034c87d4883 -rb110ee732fe1306669f71d9c17ed4714e1f03ee2 --- sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision 9569b4a56306df342846b862b124c034c87d4883) +++ sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision b110ee732fe1306669f71d9c17ed4714e1f03ee2) @@ -344,6 +344,8 @@ ID_AdjustDGCleaningUsageRsp = 0x8D0F, // 141 //// ----- @CRAPIZED: had to change to avoid duplication // RO Water Input Mode + ID_RoWaterModeReq = 0xEB00, // 235 + ID_RoWaterModeRsp = 0xEC00, // 236 ID_AdjustRoWaterModeReq = 0xED00, // 237 ID_AdjustRoWaterModeRsp = 0xEE00, // 238 Index: sources/gui/qml/dialogs/watersample/WaterSampleDialog.qml =================================================================== diff -u -r9b48fb662409e1c2b3c6db67f51f1356a765d772 -rb110ee732fe1306669f71d9c17ed4714e1f03ee2 --- sources/gui/qml/dialogs/watersample/WaterSampleDialog.qml (.../WaterSampleDialog.qml) (revision 9b48fb662409e1c2b3c6db67f51f1356a765d772) +++ sources/gui/qml/dialogs/watersample/WaterSampleDialog.qml (.../WaterSampleDialog.qml) (revision b110ee732fe1306669f71d9c17ed4714e1f03ee2) @@ -40,8 +40,8 @@ Dialysate } - WaterSamplePage { id: _waterSample; visible : vSettings.roWaterMode ? _menu.index === WaterSampleDialog.WaterSample : false ; } - WaterSampleDialysatePage { id: _dialysateChecks; visible : vSettings.roWaterMode ? _menu.index === WaterSampleDialog.Dialysate : true ; } + WaterSamplePage { id: _waterSample; visible : vRoWaterMode.status ? _menu.index === WaterSampleDialog.WaterSample : false ; } + WaterSampleDialysatePage { id: _dialysateChecks; visible : vRoWaterMode.status ? _menu.index === WaterSampleDialog.Dialysate : true ; } MainMenu { id: _menu anchors { @@ -69,7 +69,7 @@ CloseButton { id : _closeButton - visible: vSettings.roWaterMode ? _waterSample.isPrimary : true + visible: vRoWaterMode.status ? _waterSample.isPrimary : true onClicked : { _root.close() Index: sources/gui/qml/main.qml =================================================================== diff -u -r7bde5ac0646170a584dd5410fcf89fd9bc8b251c -rb110ee732fe1306669f71d9c17ed4714e1f03ee2 --- sources/gui/qml/main.qml (.../main.qml) (revision 7bde5ac0646170a584dd5410fcf89fd9bc8b251c) +++ sources/gui/qml/main.qml (.../main.qml) (revision b110ee732fe1306669f71d9c17ed4714e1f03ee2) @@ -55,6 +55,7 @@ import VAdjustmentAlarmVolume 0.1 import VBluetooth 0.1 import VAdjustRoWaterMode 0.1 +import VRoWaterMode 0.1 import VCloudSync 0.1 import VHDUsageInfo 0.1 import VInstitutionalRecord 0.1 @@ -197,6 +198,7 @@ VAdjustmentAlarmVolume { id: vAdjustmentAlarmVolume } VBluetooth { id: vBluetooth } VAdjustRoWaterMode { id: vAdjustRoWaterMode } + VRoWaterMode { id: vRoWaterMode } VCloudSync { id: vCloudSync } VHDUsageInfo { id: vHDUsageInfo } VAdjustmentInstitutionalRecord { id: vAdjustmentInstitutionalRecord } Index: sources/gui/qml/pages/settings/SettingsInformation.qml =================================================================== diff -u -rabb959f145f8af64bab3b8f24314bf0ba8f3bb0e -rb110ee732fe1306669f71d9c17ed4714e1f03ee2 --- sources/gui/qml/pages/settings/SettingsInformation.qml (.../SettingsInformation.qml) (revision abb959f145f8af64bab3b8f24314bf0ba8f3bb0e) +++ sources/gui/qml/pages/settings/SettingsInformation.qml (.../SettingsInformation.qml) (revision b110ee732fe1306669f71d9c17ed4714e1f03ee2) @@ -98,7 +98,7 @@ label : [ qsTr("Water Input" )] - initial : [ qsTr("RO Water %1" ).arg(vSettings.roWaterMode ? qsTr("Featured") : qsTr("Defeatured")) ] + initial : [ qsTr("RO Water %1" ).arg(vRoWaterMode.status ? qsTr("Featured") : qsTr("Defeatured")) ] actual : [""] units : [""] Index: sources/gui/qml/pages/settings/SettingsROInput.qml =================================================================== diff -u -r2b4055f3892f6a6bbe1d0123b5c676f335c852ab -rb110ee732fe1306669f71d9c17ed4714e1f03ee2 --- sources/gui/qml/pages/settings/SettingsROInput.qml (.../SettingsROInput.qml) (revision 2b4055f3892f6a6bbe1d0123b5c676f335c852ab) +++ sources/gui/qml/pages/settings/SettingsROInput.qml (.../SettingsROInput.qml) (revision b110ee732fe1306669f71d9c17ed4714e1f03ee2) @@ -28,7 +28,7 @@ SettingsBase { id: _root itemIndex : SettingsStack.RoInput confirmVisible : false - onVisibleChanged : _roInputComboBox.currentIndex = vSettings.roWaterMode + onVisibleChanged : _roInputComboBox.currentIndex = vRoWaterMode.status contentItem: Item { LabelUnitContainer { id: _settingsRoInputItem @@ -43,11 +43,10 @@ anchors.bottomMargin: anchors.topMargin centerHorizontally : true - currentIndex : vSettings.roWaterMode + currentIndex : vRoWaterMode.status model : vTreatmentRanges.roWaterModeOptions onActivated: { - vSettings.roWaterMode = _roInputComboBox.currentIndex vAdjustRoWaterMode.doAdjustment ( _roInputComboBox.currentIndex ) } } Index: sources/model/MModel.h =================================================================== diff -u -r7bde5ac0646170a584dd5410fcf89fd9bc8b251c -rb110ee732fe1306669f71d9c17ed4714e1f03ee2 --- sources/model/MModel.h (.../MModel.h) (revision 7bde5ac0646170a584dd5410fcf89fd9bc8b251c) +++ sources/model/MModel.h (.../MModel.h) (revision b110ee732fe1306669f71d9c17ed4714e1f03ee2) @@ -97,6 +97,7 @@ #include "MAdjustTDDateTimeResponse.h" #include "MAdjustDDDateTimeResponse.h" #include "MAdjustRoWaterModeResponse.h" +#include "MRoWaterModeResponse.h" #include "MAdjustTDInstitutionalRecordResponse.h" #include "MTDInstitutionalRecordResponse.h" #include "MAdjustTDAdvancedInstitutionalRecordResponse.h" @@ -316,6 +317,8 @@ /* RO Water Mode */ \ REGISTER_METATYPE( AdjustRoWaterModeRequestData ) \ REGISTER_METATYPE( AdjustRoWaterModeResponseData ) \ + REGISTER_METATYPE( RoWaterModeRequestData ) \ + REGISTER_METATYPE( RoWaterModeResponseData ) \ /* POST */ \ REGISTER_METATYPE( HDPostSingleResultData ) \ REGISTER_METATYPE( HDPostFinalResultData ) \ @@ -583,6 +586,7 @@ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DuetConfirmTDiData ) \ /* RO Water Mode */ \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustRoWaterModeResponseData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, RoWaterModeResponseData ) \ /* POST */ \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, HDPostSingleResultData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, HDPostFinalResultData ) \ @@ -739,6 +743,7 @@ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, DuetConfirmUIrData ) \ /* RO Water Mode */ \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustRoWaterModeRequestData ) \ + ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, RoWaterModeRequestData ) \ /* POST */ \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustUIPostFinalResultRequestData ) \ \ @@ -830,6 +835,7 @@ ACTION_RECEIVE_BRIDGE_DEFINITION( DuetConfirmTDiData ) \ /* RO Water Mode */ \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustRoWaterModeResponseData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( RoWaterModeResponseData ) \ /* POST */ \ ACTION_RECEIVE_BRIDGE_DEFINITION( HDPostSingleResultData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( HDPostFinalResultData ) \ @@ -988,6 +994,7 @@ ADJUST_TRANSMT_BRIDGE_DEFINITION( DuetConfirmUIrData ) \ /* RO Water Mode */ \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustRoWaterModeRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION( RoWaterModeRequestData ) \ /* POST */ \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustUIPostFinalResultRequestData ) \ /* Post-Treatment */ \ @@ -1062,6 +1069,7 @@ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( DuetConfirmUIrData ) \ /* RO Water Mode */ \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustRoWaterModeRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( RoWaterModeRequestData ) \ /* POST */ \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustUIPostFinalResultRequestData ) \ /* Post-Treatment */ \ @@ -1136,6 +1144,7 @@ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( DuetConfirmUIrData ) \ /* RO Water Mode */ \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustRoWaterModeRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( RoWaterModeRequestData ) \ /* POST */ \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustUIPostFinalResultRequestData ) \ /* Post-Treatment */ \ @@ -1210,6 +1219,7 @@ ACTION_RECEIVE_SIGNAL( DuetConfirmTDiData ) \ /* RO Water Mode */ \ ACTION_RECEIVE_SIGNAL( AdjustRoWaterModeResponseData ) \ + ACTION_RECEIVE_SIGNAL( RoWaterModeResponseData ) \ /* POST */ \ ACTION_RECEIVE_SIGNAL( HDPostSingleResultData ) \ ACTION_RECEIVE_SIGNAL( HDPostFinalResultData ) \ Index: sources/model/dd/adjustment/settings/MAdjustRoWaterModeResponse.h =================================================================== diff -u -r2b4055f3892f6a6bbe1d0123b5c676f335c852ab -rb110ee732fe1306669f71d9c17ed4714e1f03ee2 --- sources/model/dd/adjustment/settings/MAdjustRoWaterModeResponse.h (.../MAdjustRoWaterModeResponse.h) (revision 2b4055f3892f6a6bbe1d0123b5c676f335c852ab) +++ sources/model/dd/adjustment/settings/MAdjustRoWaterModeResponse.h (.../MAdjustRoWaterModeResponse.h) (revision b110ee732fe1306669f71d9c17ed4714e1f03ee2) @@ -1,17 +1,3 @@ -/*! - * - * Copyright (c) 2023-2024 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 MDuetRoWaterDG.h - * \author (last) Dara Navaei - * \date (last) 08-May-2024 - * \author (original) Behrouz NematiPour - * \date (original) 03-Apr-2023 - * - */ #pragma once // Qt Index: sources/model/dd/adjustment/settings/MRoWaterModeResponse.cpp =================================================================== diff -u --- sources/model/dd/adjustment/settings/MRoWaterModeResponse.cpp (revision 0) +++ sources/model/dd/adjustment/settings/MRoWaterModeResponse.cpp (revision b110ee732fe1306669f71d9c17ed4714e1f03ee2) @@ -0,0 +1,39 @@ + +#include "MRoWaterModeResponse.h" + +using namespace Model; + +QVariantList MRoWaterModeResponse::parameters() const { + return { + _data.mAccepted.value, + _data.mReason .value, + _data.mValue .value, + }; +} + +bool MRoWaterModeResponse::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if ( ! GetValue(vByteArray, index, _data.mAccepted )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mReason )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mValue )) goto lError; + + return true ; + +lError: + if(vIndex) { *vIndex = index; } + + return false ; +} + +/*! + * \brief MAdjustTDAlarmVolumeResponse::data + * \details Provides model's Data from the received messages data values + * \return Data + */ +RoWaterModeResponseData MRoWaterModeResponse::data() const { + Data data; + data.mAccepted = _data.mAccepted.value; + data.mReason = _data.mReason .value; + data.mValue = _data.mValue .value; + return data; +} Index: sources/model/dd/adjustment/settings/MRoWaterModeResponse.h =================================================================== diff -u --- sources/model/dd/adjustment/settings/MRoWaterModeResponse.h (revision 0) +++ sources/model/dd/adjustment/settings/MRoWaterModeResponse.h (revision b110ee732fe1306669f71d9c17ed4714e1f03ee2) @@ -0,0 +1,70 @@ + +#pragma once + +// Qt +#include + +// Project +#include "MAdjustRequestsBase.h" +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MRoWaterModeResponse class + * \details The DD RO Water Mode Status Query model + * + * | MSG | CAN ID | Type | Ack | Src | Dest | Description | + * |:----:|:------:|:----:|:---:|:---:|:----:|:-----------:| + * |0xEC00| 0x070 | Rsp | Y | DD | UI | RO Water Mode | + * + * | Payload || + * | || + * | #1: (U32) | \ref Data::mAccepted | + * | #2: (U32) | \ref Data::mReason | + * | #3: (U32) | \ref Data::mValue | + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Event | + * | unitText | DD | + * + */ +class MRoWaterModeResponse : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mAccepted; + Types::U32 mReason ; + Types::U32 mValue ; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eEvent ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("RoWaterMode") ; } + + struct Data { + quint32 mAccepted = 0; /*!< Accepted value of type quint32 extracted out */ + quint32 mReason = 0; /*!< Reason value of type quint32 extracted out */ + quint32 mValue = 0; /*!< Value value of type quint32 extracted out */ + }; + + MRoWaterModeResponse () { } + + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; +}; +} + +typedef Model::MRoWaterModeResponse::Data RoWaterModeResponseData; Index: sources/model/dg/adjustment/settings/MAdjustDGRequests.h =================================================================== diff -u -r2b4055f3892f6a6bbe1d0123b5c676f335c852ab -rb110ee732fe1306669f71d9c17ed4714e1f03ee2 --- sources/model/dg/adjustment/settings/MAdjustDGRequests.h (.../MAdjustDGRequests.h) (revision 2b4055f3892f6a6bbe1d0123b5c676f335c852ab) +++ sources/model/dg/adjustment/settings/MAdjustDGRequests.h (.../MAdjustDGRequests.h) (revision b110ee732fe1306669f71d9c17ed4714e1f03ee2) @@ -97,8 +97,31 @@ static Can::Can_Id canid () { return Can::Can_Id::eChlid_UI_DD; } }; + +/*! + * \brief The MRoWaterModeReq class + * \details The model to request DG Cleaning Usage + * + * | MSG | Type | Ack | Src | Dest | Description | + * |:----:|:----:|:---:|:---:|:----:|:-----------:| + * | 0xEB | Req | Y | UI | DD | MRoWaterModeReq | + * + * | Payload || + * | || + * | N/A | + * + */ +class MRoWaterModeReq : public MModel { +public: + static QString toString(const QVariantList &vParameters) { + return MModel::toString("ROWaterMode", vParameters); + } + + static Can::Can_Id canid () { return Can::Can_Id::eChlid_UI_DD; } +}; } typedef Model::MAdjustDDDateTimeReq AdjustDDDateTimeRequestData; typedef Model::MAdjustDGCleaningUsageReq AdjustDGCleaningUsageRequestData; +typedef Model::MRoWaterModeReq RoWaterModeRequestData; typedef Model::MAdjustRoWaterModeReq AdjustRoWaterModeRequestData; Index: sources/view/VView.h =================================================================== diff -u -r7bde5ac0646170a584dd5410fcf89fd9bc8b251c -rb110ee732fe1306669f71d9c17ed4714e1f03ee2 --- sources/view/VView.h (.../VView.h) (revision 7bde5ac0646170a584dd5410fcf89fd9bc8b251c) +++ sources/view/VView.h (.../VView.h) (revision b110ee732fe1306669f71d9c17ed4714e1f03ee2) @@ -140,6 +140,7 @@ REGISTER_TYPE( VAdjustmentAlarmVolume ) \ REGISTER_TYPE( VBluetooth ) \ REGISTER_TYPE( VAdjustRoWaterMode ) \ + REGISTER_TYPE( VRoWaterMode ) \ REGISTER_TYPE( VCloudSync ) \ REGISTER_TYPE( VHDUsageInfo ) \ REGISTER_TYPE( VAdjustmentInstitutionalRecord ) \ Index: sources/view/VWaterSampleModel.cpp =================================================================== diff -u -r0bb5f08eb3570de6bff3ce67ca502db129b59096 -rb110ee732fe1306669f71d9c17ed4714e1f03ee2 --- sources/view/VWaterSampleModel.cpp (.../VWaterSampleModel.cpp) (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) +++ sources/view/VWaterSampleModel.cpp (.../VWaterSampleModel.cpp) (revision b110ee732fe1306669f71d9c17ed4714e1f03ee2) @@ -5,7 +5,8 @@ View::VWaterSampleModel::VWaterSampleModel(QObject *parent) { Q_UNUSED(parent) - ACTION_VIEW_CONNECTION(SettingsData); + ACTION_VIEW_CONNECTION(RoWaterModeResponseData) + _model.setRoleNames({ { eRole_Text , "text" }, { eRole_Visible , "visible" }, }); @@ -19,10 +20,8 @@ _model.insertRow( eDialysateChecks , {{ eRole_Text, tr("Dialysate Checks")}, { eRole_Visible, true }}); } -void View::VWaterSampleModel::onActionReceive(const SettingsData &) +void View::VWaterSampleModel::onActionReceive(const RoWaterModeResponseData &vData) { - QString mCategory = Storage::Settings_Category_SettingsSystem; - FROMVARIANT( roWaterMode , "Feature Configurations", "RoWaterMode" , UInt ); - + roWaterMode ( vData.mValue ); initModel(); } Index: sources/view/VWaterSampleModel.h =================================================================== diff -u -r0bb5f08eb3570de6bff3ce67ca502db129b59096 -rb110ee732fe1306669f71d9c17ed4714e1f03ee2 --- sources/view/VWaterSampleModel.h (.../VWaterSampleModel.h) (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) +++ sources/view/VWaterSampleModel.h (.../VWaterSampleModel.h) (revision b110ee732fe1306669f71d9c17ed4714e1f03ee2) @@ -8,7 +8,7 @@ #include "VView.h" #include "MListModel.h" -#include "MSettings.h" +#include "MRoWaterModeResponse.h" // namespace namespace View { @@ -38,7 +38,7 @@ PROPERTY ( int , roWaterMode , 0) - VIEW_DEC_SLOT(SettingsData ) + VIEW_DEC_SLOT(RoWaterModeResponseData ) public: explicit VWaterSampleModel(QObject *parent = nullptr); Index: sources/view/settings/VAdjustRoWaterMode.cpp =================================================================== diff -u -r7bde5ac0646170a584dd5410fcf89fd9bc8b251c -rb110ee732fe1306669f71d9c17ed4714e1f03ee2 --- sources/view/settings/VAdjustRoWaterMode.cpp (.../VAdjustRoWaterMode.cpp) (revision 7bde5ac0646170a584dd5410fcf89fd9bc8b251c) +++ sources/view/settings/VAdjustRoWaterMode.cpp (.../VAdjustRoWaterMode.cpp) (revision b110ee732fe1306669f71d9c17ed4714e1f03ee2) @@ -12,7 +12,6 @@ void View::VAdjustRoWaterMode::initConnections() { ADJUST_VIEW_CONNECTION(AdjustRoWaterModeRequestData) ACTION_VIEW_CONNECTION(AdjustRoWaterModeResponseData) - ACTION_VIEW_CONNECTION(SettingsData) } void View::VAdjustRoWaterMode::onActionReceive(const AdjustRoWaterModeResponseData &vData) @@ -31,14 +30,3 @@ data.mStatus = vStatus; emit didAdjustment(data); } - -/*! - * \brief VAdjustRoWaterMode::onSettingsDone - * \details fills the items below, read from the settings file, when the reading is notified done by ApplicationController. - * acidConcentrateOptions - */ -void View::VAdjustRoWaterMode::onActionReceive(const SettingsData &) -{ - QString mCategory = Storage::Settings_Category_SettingsSystem; - FROMVARIANT( status, "Feature Configurations" , "RoWaterMode", UInt ); -} Index: sources/view/settings/VAdjustRoWaterMode.h =================================================================== diff -u -r7bde5ac0646170a584dd5410fcf89fd9bc8b251c -rb110ee732fe1306669f71d9c17ed4714e1f03ee2 --- sources/view/settings/VAdjustRoWaterMode.h (.../VAdjustRoWaterMode.h) (revision 7bde5ac0646170a584dd5410fcf89fd9bc8b251c) +++ sources/view/settings/VAdjustRoWaterMode.h (.../VAdjustRoWaterMode.h) (revision b110ee732fe1306669f71d9c17ed4714e1f03ee2) @@ -7,7 +7,6 @@ #include "main.h" // Doxygen : do not remove #include "VAdjustmentResponseBase.h" #include "MAdjustRoWaterModeResponse.h" -#include "MSettings.h" // namespace namespace View { @@ -25,10 +24,7 @@ // has been manually tested that it works perfectly fine TRIGGER ( bool , adjustment , 0) - TRIGGER ( bool , status , 0) - VIEW_DEC_CLASS_ADJUSTMENT(VAdjustRoWaterMode, AdjustRoWaterModeResponseData) - VIEW_DEC_SLOT(SettingsData) public slots: void doAdjustment(int vStatus); Index: sources/view/settings/VRoWaterMode.cpp =================================================================== diff -u --- sources/view/settings/VRoWaterMode.cpp (revision 0) +++ sources/view/settings/VRoWaterMode.cpp (revision b110ee732fe1306669f71d9c17ed4714e1f03ee2) @@ -0,0 +1,38 @@ +#include "VRoWaterMode.h" + +// Project +#include "GuiController.h" + +VIEW_DEF_CLASS_ADJUSTMENT(VRoWaterMode) + +/*! + * \brief Connection Initializer + * \details All the class signal/slot connections are defined here. +*/ +void View::VRoWaterMode::initConnections() { + ADJUST_VIEW_CONNECTION(RoWaterModeRequestData) + ACTION_VIEW_CONNECTION(RoWaterModeResponseData) + + connect(&_GuiController, &GuiController::didPOSTPass, this, [=](bool) + { + //POST// + doAdjustment(); + }); +} + +void View::VRoWaterMode::onActionReceive(const RoWaterModeResponseData &vData) +{ + adjustment_Accepted ( vData.mAccepted ); + adjustment_Reason ( vData.mReason ); + status ( vData.mValue ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the Previous values before being set. *** + adjustment ( true ); +} + +void View::VRoWaterMode::doAdjustment() +{ + RoWaterModeRequestData data; + emit didAdjustment(data); +} Index: sources/view/settings/VRoWaterMode.h =================================================================== diff -u --- sources/view/settings/VRoWaterMode.h (revision 0) +++ sources/view/settings/VRoWaterMode.h (revision b110ee732fe1306669f71d9c17ed4714e1f03ee2) @@ -0,0 +1,42 @@ +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VAdjustmentResponseBase.h" +#include "MRoWaterModeResponse.h" + +// namespace +namespace View { + +/*! + * \brief The VAdjustRoWaterMode class + * \details View for Model's data representation. + */ +class VRoWaterMode : public VAdjustmentResponseBase +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + // has been manually tested that it works perfectly fine + TRIGGER ( bool , adjustment , 0) + + TRIGGER ( int , status , 0) + + VIEW_DEC_CLASS_ADJUSTMENT(VRoWaterMode, RoWaterModeResponseData) + +public slots: + void doAdjustment(); + +signals: + /*! + * \brief didAdjustment + * \details the notification signal to send the user's Request + * \param vData - data model includes request information + */ + void didAdjustment(const RoWaterModeRequestData &vData); +}; +} Index: sources/view/settings/VSettings.cpp =================================================================== diff -u -r7bde5ac0646170a584dd5410fcf89fd9bc8b251c -rb110ee732fe1306669f71d9c17ed4714e1f03ee2 --- sources/view/settings/VSettings.cpp (.../VSettings.cpp) (revision 7bde5ac0646170a584dd5410fcf89fd9bc8b251c) +++ sources/view/settings/VSettings.cpp (.../VSettings.cpp) (revision b110ee732fe1306669f71d9c17ed4714e1f03ee2) @@ -39,7 +39,6 @@ PROPERTY_POST_CONNECTION(VSettings, servicePass ); PROPERTY_POST_CONNECTION(VSettings, alarmVolume ); - PROPERTY_POST_CONNECTION(VSettings, roWaterMode ); PROPERTY_POST_CONNECTION(VSettings, integratedBPCuff ); PROPERTY_POST_CONNECTION(VSettings, heparinSyringePump ); PROPERTY_POST_CONNECTION(VSettings, chemicalDisinfection); @@ -56,14 +55,6 @@ } } -void VSettings::roWaterMode_post(const int &vroWaterMode_post) { - //TODO The Settings shall be the Singleton SettingsController and modify the MSettings like the others. - if ( Storage::Settings::save(roWaterModeGroup(), roWaterModeKey(), QString::number(vroWaterMode_post)) != 0 ) { - roWaterMode(0); - // FIXME: Notify UI with a message - } -} - void VSettings::advancedMode_post(const bool &vadvancedMode_post) { //TODO The Settings shall be the Singleton SettingsController and modify the MSettings like the others. if ( Storage::Settings::save(advancedModeGroup(), advancedModeKey(), QString::number(vadvancedMode_post)) != 0 ) { @@ -150,12 +141,6 @@ keyValue[key] = mServicePass ; servicePass ( mServicePass); } - else if ( isroWaterMode (category, group, key) ) { - int mRoWaterMode; - mRoWaterMode = _Settings.value(category, group, key).toInt (); - keyValue[key] = mRoWaterMode ; - roWaterMode ( mRoWaterMode); - } else if ( isadvancedMode(category, group, key) ) { bool mAdvancedMode; mAdvancedMode = _Settings.value(category, group, key).toBool (); @@ -207,10 +192,8 @@ // otherwise will use the default value and will notify the update. servicePass ( _servicePass ); alarmVolume ( _alarmVolume ); - roWaterMode ( _roWaterMode ); advancedMode( _advancedMode ); - //DEBUG qDebug() << servicePass() << roWaterMode() << alarmVolume(); adjustment(true); initConnectionsSettings(); Index: sources/view/settings/VSettings.h =================================================================== diff -u -r7bde5ac0646170a584dd5410fcf89fd9bc8b251c -rb110ee732fe1306669f71d9c17ed4714e1f03ee2 --- sources/view/settings/VSettings.h (.../VSettings.h) (revision 7bde5ac0646170a584dd5410fcf89fd9bc8b251c) +++ sources/view/settings/VSettings.h (.../VSettings.h) (revision b110ee732fe1306669f71d9c17ed4714e1f03ee2) @@ -68,7 +68,6 @@ SETTINGS(QString , servicePass , "" , Storage::Settings_Category_SettingsSystem , "Service" , "Password" ) SETTINGS(quint8 , alarmVolume , 5 , Storage::Settings_Category_SettingsSystem , "Alarm" , "Volume" ) - SETTINGS(int , roWaterMode , 0 , Storage::Settings_Category_SettingsSystem , "Feature Configurations" , "RoWaterMode" ) SETTINGS(bool , integratedBPCuff , false , Storage::Settings_Category_SettingsSystem , "Feature Configurations" , "IntegratedBPCuff" ) SETTINGS(bool , heparinSyringePump , false , Storage::Settings_Category_SettingsSystem , "Feature Configurations" , "HeparinSyringePump" ) SETTINGS(bool , chemicalDisinfection , false , Storage::Settings_Category_SettingsSystem , "Feature Configurations" , "ChemicalDisinfection" )