Index: leahi.pro =================================================================== diff -u -rbae1ae230d8b41f90b1fcd34b9bccdfa87bf3cd9 -rc1e50347c78096b626b2cd1ef32a33b439e88bdd --- leahi.pro (.../leahi.pro) (revision bae1ae230d8b41f90b1fcd34b9bccdfa87bf3cd9) +++ leahi.pro (.../leahi.pro) (revision c1e50347c78096b626b2cd1ef32a33b439e88bdd) @@ -171,10 +171,11 @@ sources/model/fp/data/MFPPressuresData.h \ sources/model/fp/data/MFPROPumpData.h \ sources/model/fp/data/MFPTemperatureData.h \ - sources/model/fp/data/MFPValvesStatesData.h \ + sources/model/td/adjustment/settings/MAdjustTDAdvancedInstitutionalRecordResponse.h \ sources/model/td/adjustment/settings/MAdjustTDSerialNumberResponse.h \ sources/model/td/adjustment/settings/MAdjustTDVersionsRequest.h \ sources/model/td/adjustment/settings/MAdjustTDVersionsResponse.h \ + sources/model/td/adjustment/settings/MTDAdvancedInstitutionalRecordResponse.h \ sources/model/td/adjustment/treatment/MTreatmentAdjustVitalsResponse.h \ sources/model/td/data/MTDAirBubbleData.h \ sources/model/td/data/MTDAirPumpData.h \ @@ -209,9 +210,19 @@ sources/model/td/data/treatmentlog/MTreatmentLogAlarmData.h \ sources/model/td/data/treatmentlog/MTreatmentLogEventData.h \ \ # ---------- Models - TD - Adjustment - In-Treatment //// ----- @LEAHIZED + sources/model/td/adjustment/treatment/MTreatmentAdjustBloodFlowRateResponse.h \ + sources/model/td/adjustment/treatment/MTreatmentAdjustBolusVolumeResponse.h \ + sources/model/td/adjustment/treatment/MTreatmentAdjustDialysateFlowRateResponse.h \ + sources/model/td/adjustment/treatment/MTreatmentAdjustDialysateTemperatureResponse.h \ + sources/model/td/adjustment/treatment/MTreatmentAdjustDurationConfirmResponse.h \ + sources/model/td/adjustment/treatment/MTreatmentAdjustDurationEditResponse.h \ + sources/model/td/adjustment/treatment/MTreatmentAdjustPressuresLimitsResponse.h \ + sources/model/td/adjustment/treatment/MTreatmentAdjustSalineResponse.h \ + sources/model/td/adjustment/treatment/MTreatmentAdjustSetPointsResponse.h \ sources/model/td/adjustment/treatment/MTreatmentAdjustUltrafiltrationStateResponse.h \ sources/model/td/adjustment/treatment/MTreatmentAdjustUltrafiltrationEditResponse.h \ sources/model/td/adjustment/treatment/MTreatmentAdjustUltrafiltrationConfirmResponse.h \ + sources/model/td/adjustment/treatment/MTreatmentAdjustVitalsResponse.h \ \ # ---------- Views - TD - Data - States //// ----- @LEAHIZED sources/view/dd/data/VDDBloodLeakData.h \ sources/view/dd/data/VDDConcentratePumpData.h \ @@ -230,19 +241,41 @@ sources/view/fp/data/VFPPressuresData.h \ sources/view/fp/data/VFPROPumpData.h \ sources/view/fp/data/VFPTemperatureData.h \ - sources/view/fp/data/VFPValvesStatesData.h \ sources/view/hd/data/VTreatmentRanges.h \ + sources/view/settings/VAdjustmentAdvancedInstitutionalRecord.h \ + sources/view/settings/VAdvancedInstitutionalRecord.h \ sources/view/td/data/VTDAirBubbleData.h \ sources/view/td/data/VTDAirPumpData.h \ sources/view/td/data/VTDAirTrapData.h \ sources/view/td/data/VTDBatteryData.h \ sources/view/td/data/VTDEjectorData.h \ sources/view/td/data/VTDOpModeData.h \ + sources/view/td/data/VTreatmentRanges.h \ \ # ---------- Views - TD - Adjustment - In-Treatment + sources/view/td/adjustment/treatment/VTreatmentAdjustmentBloodFlowRate.h \ + sources/view/td/adjustment/treatment/VTreatmentAdjustmentBolusVolume.h \ + sources/view/td/adjustment/treatment/VTreatmentAdjustmentDialysateFlowRate.h \ + sources/view/td/adjustment/treatment/VTreatmentAdjustmentDialysateTemperature.h \ + sources/view/td/adjustment/treatment/VTreatmentAdjustmentDurationConfirm.h \ + sources/view/td/adjustment/treatment/VTreatmentAdjustmentDurationEdit.h \ + sources/view/td/adjustment/treatment/VTreatmentAdjustmentFlows.h \ + sources/view/td/adjustment/treatment/VTreatmentAdjustmentPressuresLimits.h \ sources/view/td/adjustment/treatment/VTreatmentAdjustmentSaline.h \ + sources/view/td/adjustment/treatment/VTreatmentAdjustmentSetPoints.h \ + sources/view/td/adjustment/treatment/VTreatmentAdjustmentUltrafiltrationConfirm.h \ + sources/view/td/adjustment/treatment/VTreatmentAdjustmentUltrafiltrationEdit.h \ + sources/view/td/adjustment/treatment/VTreatmentAdjustmentUltrafiltrationState.h \ sources/view/td/adjustment/treatment/VTreatmentAdjustmentVitals.h \ \ # ---------- Models - TD - Adjustment - In-Treatment sources/model/td/adjustment/treatment/MTreatmentAdjustSalineResponse.h \ + \ # ---------- Models - TD - Adjustment - Settings + sources/model/td/adjustment/settings/MAdjustTDDateTimeResponse.h \ + sources/model/td/adjustment/settings/MTDInstitutionalRecordResponse.h \ + sources/model/td/adjustment/settings/MAdjustTDInstitutionalRecordResponse.h \ + \ # ---------- Models - DD - Adjustment - Settings + sources/model/dd/adjustment/settings/MAdjustDDDateTimeResponse.h \ + \ # ---------- Models - TD - Adjustment - End-Treatment + sources/model/td/adjustment/treatment/MTreatmentAdjustEndResponse.h \ \ # ---------- Models - confirm sources/model/confirm/MDuetConfirmHDi.h \ \ # ---------- Models - POST @@ -259,7 +292,6 @@ sources/model/hd/adjustment/settings/MAdjustHDServiceModeResponse.h \ sources/model/dg/adjustment/settings/MAdjustDGServiceDatesResponse.h \ sources/model/hd/adjustment/settings/MAdjustHDServiceDatesResponse.h \ - sources/model/hd/adjustment/settings/MAdjustHDInstitutionalRecordResponse.h \ sources/model/dg/adjustment/settings/MDuetRoWaterDG.h \ \ # ---------- Models - Alarm sources/model/hd/alarm/MAlarmStatusData.h \ @@ -274,7 +306,6 @@ sources/model/hd/adjustment/MAdjustPowerOff.h \ sources/model/hd/adjustment/settings/MAdjustHDRequests.h \ \ # ---------- Models - HD - Adjustment - Settings - sources/model/hd/adjustment/settings/MAdjustHDDateTimeResponse.h \ sources/model/hd/adjustment/settings/MAdjustHDAlarmVolumeResponse.h \ \ # ---------- Models - HD - Adjustment - Pre-Treatment sources/model/hd/adjustment/pretreatment/MPreTreatmentAdjustRequests.h \ @@ -289,14 +320,11 @@ sources/model/hd/adjustment/pretreatment/MPreTreatmentAdjustStartTreatmentResponse.h \ \ # ---------- Models - HD - Adjustment - In-Treatment sources/model/hd/adjustment/treatment/MTreatmentAdjustRequests.h \ - sources/model/hd/adjustment/treatment/MTreatmentAdjustDurationResponse.h \ sources/model/hd/adjustment/treatment/MTreatmentAdjustBloodDialysateResponse.h \ sources/model/hd/adjustment/treatment/MTreatmentAdjustHeparinResponse.h \ - sources/model/hd/adjustment/treatment/MTreatmentAdjustPressuresLimitsResponse.h \ \ # ---------- Models - HD - Adjustment - End-Treatment sources/model/hd/adjustment/treatment/MTreatmentAdjustRinsebackResponse.h \ sources/model/hd/adjustment/treatment/MTreatmentAdjustRecirculateResponse.h \ - sources/model/hd/adjustment/treatment/MTreatmentAdjustEndResponse.h \ \ # ---------- Models - HD - Adjustment - Post-Treatment sources/model/hd/adjustment/posttreatment/MPostTreatmentAdjustRequests.h \ sources/model/hd/adjustment/posttreatment/MPostTreatmentAdjustTreatmentLogResponse.h \ @@ -332,8 +360,6 @@ \ # ---------- Models - DG - Adjustment sources/model/dg/adjustment/settings/MAdjustDGRequests.h \ sources/model/dg/adjustment/settings/MAdjustDGCleaningUsageResponse.h \ - \ # ---------- Models - DG - Adjustment - Settings - sources/model/dg/adjustment/settings/MAdjustDGDateTimeResponse.h \ \ # ---------- Models - DG - Data - Pre-Treatment - Progress sources/model/dg/data/pretreatment/MDGFilterFlushData.h \ \ # ---------- Models - DG - Data - Disinfect - Progress @@ -383,10 +409,7 @@ sources/view/settings/VCloudSync.h \ sources/view/settings/VHDUsageInfo.h \ sources/view/settings/VAdjustmentInstitutionalRecord.h \ - \ # ---------- Views - TD - Adjustment - In-Treatment - sources/view/td/adjustment/treatment/VTreatmentAdjustmentUltrafiltrationState.h \ - sources/view/td/adjustment/treatment/VTreatmentAdjustmentUltrafiltrationEdit.h \ - sources/view/td/adjustment/treatment/VTreatmentAdjustmentUltrafiltrationConfirm.h \ + sources/view/settings/VInstitutionalRecord.h \ \ # ---------- Views - Alarm sources/view/hd/alarm/VAlarmStatus.h \ sources/view/hd/alarm/VAlarmActiveList.h \ @@ -405,10 +428,7 @@ sources/view/hd/adjustment/pretreatment/VPreTreatmentAdjustmentPatientConnectionConfirm.h \ sources/view/hd/adjustment/pretreatment/VPreTreatmentAdjustmentStartTreatment.h \ \ # ---------- Views - HD - Adjustment - In-Treatment - sources/view/hd/adjustment/treatment/VTreatmentAdjustmentDuration.h \ - sources/view/hd/adjustment/treatment/VTreatmentAdjustmentFlows.h \ sources/view/hd/adjustment/treatment/VTreatmentAdjustmentHeparin.h \ - sources/view/hd/adjustment/treatment/VTreatmentAdjustmentPressuresLimits.h \ \ # ---------- Views - HD - Adjustment - End-Treatment sources/view/hd/adjustment/treatment/VTreatmentAdjustmentRinseback.h \ sources/view/hd/adjustment/treatment/VTreatmentAdjustmentRecirculate.h \ @@ -503,11 +523,11 @@ sources/model/fp/data/MFPPressuresData.cpp \ sources/model/fp/data/MFPROPumpData.cpp \ sources/model/fp/data/MFPTemperatureData.cpp \ - sources/model/fp/data/MFPValvesStatesData.cpp \ + sources/model/td/adjustment/settings/MAdjustTDAdvancedInstitutionalRecordResponse.cpp \ sources/model/td/adjustment/settings/MAdjustTDSerialNumberResponse.cpp \ sources/model/td/adjustment/settings/MAdjustTDVersionsRequest.cpp \ sources/model/td/adjustment/settings/MAdjustTDVersionsResponse.cpp \ - sources/model/td/adjustment/treatment/MTreatmentAdjustVitalsResponse.cpp \ + sources/model/td/adjustment/settings/MTDAdvancedInstitutionalRecordResponse.cpp \ sources/model/td/data/MTDAirBubbleData.cpp \ sources/model/td/data/MTDAirPumpData.cpp \ sources/model/td/data/MTDAirTrapData.cpp \ @@ -545,7 +565,6 @@ sources/view/fp/data/VFPPressuresData.cpp \ sources/view/fp/data/VFPROPumpData.cpp \ sources/view/fp/data/VFPTemperatureData.cpp \ - sources/view/fp/data/VFPValvesStatesData.cpp \ sources/view/hd/data/post/VHDPOSTData.cpp \ sources/bluetooth/BluetoothInterface.cpp \ sources/cloudsync/CloudSyncController.cpp \ @@ -560,9 +579,21 @@ sources/model/td/data/treatmentlog/MTreatmentLogAlarmData.cpp \ sources/model/td/data/treatmentlog/MTreatmentLogEventData.cpp \ \ # ---------- Models - TD - Adjustment - In-Treatment - sources/model/td/adjustment/treatment/MTreatmentAdjustUltrafiltrationStateResponse.cpp \ - sources/model/td/adjustment/treatment/MTreatmentAdjustUltrafiltrationEditResponse.cpp \ + sources/model/td/adjustment/treatment/MTreatmentAdjustBloodFlowRateResponse.cpp \ + sources/model/td/adjustment/treatment/MTreatmentAdjustBolusVolumeResponse.cpp \ + sources/model/td/adjustment/treatment/MTreatmentAdjustDialysateFlowRateResponse.cpp \ + sources/model/td/adjustment/treatment/MTreatmentAdjustDialysateTemperatureResponse.cpp \ + sources/model/td/adjustment/treatment/MTreatmentAdjustDurationConfirmResponse.cpp \ + sources/model/td/adjustment/treatment/MTreatmentAdjustDurationEditResponse.cpp \ + sources/model/td/adjustment/treatment/MTreatmentAdjustPressuresLimitsResponse.cpp \ + sources/model/td/adjustment/treatment/MTreatmentAdjustSalineResponse.cpp \ + sources/model/td/adjustment/treatment/MTreatmentAdjustSetPointsResponse.cpp \ sources/model/td/adjustment/treatment/MTreatmentAdjustUltrafiltrationConfirmResponse.cpp \ + sources/model/td/adjustment/treatment/MTreatmentAdjustUltrafiltrationEditResponse.cpp \ + sources/model/td/adjustment/treatment/MTreatmentAdjustUltrafiltrationStateResponse.cpp \ + \ # ---------- Models - TD - Adjustment - End-Treatment + sources/model/td/adjustment/treatment/MTreatmentAdjustEndResponse.cpp \ + sources/model/td/adjustment/treatment/MTreatmentAdjustVitalsResponse.cpp \ \ # ---------- Models - CONFIRM sources/model/confirm/MDuetConfirmHDi.cpp \ \ # ---------- Models - POST @@ -577,7 +608,6 @@ sources/model/hd/adjustment/settings/MAdjustHDServiceModeResponse.cpp \ sources/model/dg/adjustment/settings/MAdjustDGServiceDatesResponse.cpp \ sources/model/hd/adjustment/settings/MAdjustHDServiceDatesResponse.cpp \ - sources/model/hd/adjustment/settings/MAdjustHDInstitutionalRecordResponse.cpp \ sources/model/dg/adjustment/settings/MDuetRoWaterDG.cpp \ \ # ---------- Models - Alarm sources/model/hd/alarm/MAlarmStatusData.cpp \ @@ -588,12 +618,15 @@ \ # ---------- Models - Data - States sources/model/hd/data/pretreatment/MPreTreatmentStatesData.cpp \ sources/model/hd/data/posttreatment/MPostTreatmentStatesData.cpp \ - \ # ---------- Models - TD - Adjustment - In-Treatment - sources/model/td/adjustment/treatment/MTreatmentAdjustSalineResponse.cpp \ + \ # ---------- Models - TD - Adjustment - Settings + sources/model/td/adjustment/settings/MAdjustTDDateTimeResponse.cpp \ + sources/model/td/adjustment/settings/MTDInstitutionalRecordResponse.cpp \ + sources/model/td/adjustment/settings/MAdjustTDInstitutionalRecordResponse.cpp \ + \ # ---------- Models - DD - Adjustment - Settings + sources/model/dd/adjustment/settings/MAdjustDDDateTimeResponse.cpp \ \ # ---------- Models - HD - Adjustment sources/model/hd/adjustment/MAdjustPowerOff.cpp \ \ # ---------- Models - HD - Adjustment - Settings - sources/model/hd/adjustment/settings/MAdjustHDDateTimeResponse.cpp \ sources/model/hd/adjustment/settings/MAdjustHDAlarmVolumeResponse.cpp \ \ # ---------- Models - HD - Adjustment - Pre-Treatment sources/model/hd/adjustment/pretreatment/MPreTreatmentAdjustInitTreatmentResponse.cpp \ @@ -606,14 +639,11 @@ sources/model/hd/adjustment/pretreatment/MPreTreatmentAdjustPatientConnectionConfirmResponse.cpp \ sources/model/hd/adjustment/pretreatment/MPreTreatmentAdjustStartTreatmentResponse.cpp \ \ # ---------- Models - HD - Adjustment - In-Treatment - sources/model/hd/adjustment/treatment/MTreatmentAdjustDurationResponse.cpp \ sources/model/hd/adjustment/treatment/MTreatmentAdjustBloodDialysateResponse.cpp \ sources/model/hd/adjustment/treatment/MTreatmentAdjustHeparinResponse.cpp \ - sources/model/hd/adjustment/treatment/MTreatmentAdjustPressuresLimitsResponse.cpp \ \ # ---------- Models - HD - Adjustment - End-Treatment sources/model/hd/adjustment/treatment/MTreatmentAdjustRinsebackResponse.cpp \ sources/model/hd/adjustment/treatment/MTreatmentAdjustRecirculateResponse.cpp \ - sources/model/hd/adjustment/treatment/MTreatmentAdjustEndResponse.cpp \ \ # ---------- Models - HD - Adjustment - Post-Treatment sources/model/hd/adjustment/posttreatment/MPostTreatmentAdjustTreatmentLogResponse.cpp \ sources/model/hd/adjustment/posttreatment/MPostTreatmentAdjustDisposablesRemovalConfirmResponse.cpp \ @@ -645,7 +675,6 @@ sources/model/hd/data/treatmentlog/MTreatmentLogAvrgeData.cpp \ \ # ---------- Models - DG - Adjustment \ # ---------- Models - DG - Adjustment - Settings - sources/model/dg/adjustment/settings/MAdjustDGDateTimeResponse.cpp \ sources/model/dg/adjustment/settings/MAdjustDGCleaningUsageResponse.cpp \ \ # ---------- Models - DG - Data - Pre-Treatment - Progress sources/model/dg/data/pretreatment/MDGFilterFlushData.cpp \ @@ -677,18 +706,30 @@ sources/view/VGeneralEvent.cpp \ sources/device/DeviceView.cpp \ \ # ---------- Views - TD - States Data + sources/view/settings/VAdjustmentAdvancedInstitutionalRecord.cpp \ + sources/view/settings/VAdvancedInstitutionalRecord.cpp \ sources/view/td/data/VTDAirBubbleData.cpp \ sources/view/td/data/VTDAirPumpData.cpp \ sources/view/td/data/VTDAirTrapData.cpp \ sources/view/td/data/VTDBatteryData.cpp \ sources/view/td/data/VTDEjectorData.cpp \ sources/view/td/data/VTDOpModeData.cpp \ + sources/view/td/data/VTreatmentRanges.cpp \ \ # ---------- Views - TD - Adjustment - In-Treatment + sources/view/td/adjustment/treatment/VTreatmentAdjustmentBloodFlowRate.cpp \ + sources/view/td/adjustment/treatment/VTreatmentAdjustmentBolusVolume.cpp \ + sources/view/td/adjustment/treatment/VTreatmentAdjustmentDialysateFlowRate.cpp \ + sources/view/td/adjustment/treatment/VTreatmentAdjustmentDialysateTemperature.cpp \ + sources/view/td/adjustment/treatment/VTreatmentAdjustmentDurationConfirm.cpp \ + sources/view/td/adjustment/treatment/VTreatmentAdjustmentDurationEdit.cpp \ + sources/view/td/adjustment/treatment/VTreatmentAdjustmentFlows.cpp \ + sources/view/td/adjustment/treatment/VTreatmentAdjustmentPressuresLimits.cpp \ sources/view/td/adjustment/treatment/VTreatmentAdjustmentSaline.cpp \ - sources/view/td/adjustment/treatment/VTreatmentAdjustmentVitals.cpp \ + sources/view/td/adjustment/treatment/VTreatmentAdjustmentSetPoints.cpp \ sources/view/td/adjustment/treatment/VTreatmentAdjustmentUltrafiltrationState.cpp \ sources/view/td/adjustment/treatment/VTreatmentAdjustmentUltrafiltrationEdit.cpp \ sources/view/td/adjustment/treatment/VTreatmentAdjustmentUltrafiltrationConfirm.cpp \ + sources/view/td/adjustment/treatment/VTreatmentAdjustmentVitals.cpp \ \ # ---------- Views - CONFIRM sources/view/confirm/VConfirm.cpp \ \ # ---------- Views - POST @@ -710,6 +751,7 @@ sources/view/settings/VAdjustmentDGCleaningUsage.cpp \ sources/view/settings/VHDUsageInfo.cpp \ sources/view/settings/VAdjustmentInstitutionalRecord.cpp \ + sources/view/settings/VInstitutionalRecord.cpp \ \ # ---------- Views - HD - Adjustment sources/view/VAdjustmentResponseBase.cpp \ \ # ---------- Views - HD - Adjustment - common @@ -725,10 +767,7 @@ sources/view/hd/adjustment/pretreatment/VPreTreatmentAdjustmentPatientConnectionConfirm.cpp \ sources/view/hd/adjustment/pretreatment/VPreTreatmentAdjustmentStartTreatment.cpp \ \ # ---------- Views - HD - Adjustment - In-Treatment - sources/view/hd/adjustment/treatment/VTreatmentAdjustmentDuration.cpp \ - sources/view/hd/adjustment/treatment/VTreatmentAdjustmentFlows.cpp \ sources/view/hd/adjustment/treatment/VTreatmentAdjustmentHeparin.cpp \ - sources/view/hd/adjustment/treatment/VTreatmentAdjustmentPressuresLimits.cpp \ \ # ---------- Views - HD - Adjustment - End-Treatment sources/view/hd/adjustment/treatment/VTreatmentAdjustmentRinseback.cpp \ sources/view/hd/adjustment/treatment/VTreatmentAdjustmentRecirculate.cpp \ @@ -751,7 +790,6 @@ sources/view/hd/data/pretreatment/VPreTreatmentSelfTestDryData.cpp \ sources/view/hd/data/pretreatment/VPreTreatmentDisposablesPrimeData.cpp \ \ # ---------- Views - HD - Data - In-Treatment - sources/view/hd/data/VTreatmentRanges.cpp \ sources/view/hd/data/treatment/VTreatmentDialysateFlow.cpp \ sources/view/hd/data/treatment/VTreatmentHeparinData.cpp \ \ # ---------- Views - HD - Data - End-Treatment Index: leahi.qrc =================================================================== diff -u -rbae1ae230d8b41f90b1fcd34b9bccdfa87bf3cd9 -rc1e50347c78096b626b2cd1ef32a33b439e88bdd --- leahi.qrc (.../leahi.qrc) (revision bae1ae230d8b41f90b1fcd34b9bccdfa87bf3cd9) +++ leahi.qrc (.../leahi.qrc) (revision c1e50347c78096b626b2cd1ef32a33b439e88bdd) @@ -15,7 +15,6 @@ sources/gui/qml/pages/settings/SettingsDGCleaning.qml sources/gui/qml/pages/settings/SettingsDGScheduling.qml sources/gui/qml/pages/settings/SettingsVolumeBrightness.qml - sources/gui/qml/pages/settings/SettingsBluetoothCuff.qml sources/gui/qml/pages/settings/SettingsExportLogs.qml sources/gui/qml/pages/settings/SettingsDeviceRegistration.qml sources/gui/qml/pages/settings/SettingsInformation.qml @@ -27,6 +26,9 @@ sources/gui/qml/pages/settings/SettingsDecommission.qml sources/gui/qml/pages/settings/SettingsInstitutionalRecord.qml sources/gui/qml/pages/settings/SettingsLocalization.qml + sources/gui/qml/pages/settings/SettingsAdvancedMode.qml + sources/gui/qml/pages/settings/SettingsFeatureConfigurations.qml + sources/gui/qml/pages/settings/SettingsAdvancedInstitutional.qml sources/gui/qml/dialogs/ConfirmDialog.qml @@ -35,6 +37,7 @@ sources/gui/qml/dialogs/AlarmListDialog.qml sources/gui/qml/dialogs/LockDialog.qml sources/gui/qml/dialogs/AcidConcentrateAdjustment.qml + sources/gui/qml/dialogs/EndTreatmentDialog.qml sources/gui/qml/dialogs/diagnostics/DiagnosticsDialog.qml @@ -80,7 +83,6 @@ resources/images/EjectEnabled.png resources/images/EjectDisabled.png resources/images/eye.png - resources/images/Omron-bp7000.png resources/images/chevron-left.png resources/images/chevron-right.png resources/images/DenaliDevice.png @@ -104,6 +106,10 @@ resources/images/backspace.png resources/images/Vitals.png resources/images/Vitals_Red.png + resources/images/check_green.png + resources/images/eye_closed.png + resources/images/stepCheck.png + resources/images/complete_check.png sources/gui/qml/components/MainMenu.qml @@ -165,6 +171,11 @@ sources/gui/qml/components/AlarmButtonRow.qml sources/gui/qml/components/BaseComboBox.qml sources/gui/qml/components/VitalsButton.qml + sources/gui/qml/components/PasswordRequirements.qml + sources/gui/qml/components/BaseSwitch.qml + sources/gui/qml/components/IdleTimer.qml + sources/gui/qml/components/TreatmentCompleteButton.qml + sources/gui/qml/components/RangedValue.qml sources/gui/qml/compounds/PressureRangeSlider.qml @@ -175,8 +186,12 @@ sources/gui/qml/compounds/BPHREntry.qml sources/gui/qml/compounds/NumPad.qml sources/gui/qml/compounds/LabelUnitContainer.qml + sources/gui/qml/compounds/LabelUnitText.qml sources/gui/qml/compounds/ValueAdjuster.qml sources/gui/qml/compounds/TreatmentAdjustmentUltrafiltrationMetrics.qml + sources/gui/qml/compounds/InstitutionalContainer.qml + sources/gui/qml/compounds/ValueAdjusterCustom.qml + sources/gui/qml/compounds/LabelUnitValueAdjuster.qml qtquickcontrols2.conf @@ -235,13 +250,11 @@ 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 sources/gui/qml/pages/pretreatment/PreTreatmentPrimeStack.qml sources/gui/qml/pages/pretreatment/create/PreTreatmentCreate.qml sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateContent.qml - sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateStack.qml sources/gui/qml/pages/pretreatment/connection/PreTreatmentUltrafiltration.qml @@ -253,29 +266,31 @@ sources/gui/qml/pages/treatment/TreatmentBloodPrime.qml sources/gui/qml/pages/treatment/TreatmentSection.qml sources/gui/qml/pages/treatment/TreatmentSectionHeader.qml + sources/gui/qml/pages/treatment/TreatmentHeparin.qml sources/gui/qml/pages/treatment/TreatmentTrends.qml sources/gui/qml/pages/treatment/sections/TreatmentFlows.qml sources/gui/qml/pages/treatment/sections/TreatmentVitals.qml sources/gui/qml/pages/treatment/sections/TreatmentPressures.qml sources/gui/qml/pages/treatment/sections/TreatmentUltrafiltration.qml - sources/gui/qml/pages/treatment/sections/TreatmentFluid.qml sources/gui/qml/pages/treatment/sections/TreatmentTime.qml sources/gui/qml/pages/treatment/sections/TreatmentSaline.qml - sources/gui/qml/pages/treatment/sections/TreatmentHeparin.qml sources/gui/qml/pages/treatment/sections/TreatmentPressureComponent.qml sources/gui/qml/pages/treatment/sections/TreatmentFlowsComponent.qml - sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentFlow.qml sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentBase.qml + sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentBolusVolume.qml sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentDuration.qml + sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentDurationEdit.qml + sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentDurationConfirm.qml + sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentPressuresLimits.qml + sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentSetPoints.qml sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltration.qml sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationStart.qml sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationEdit.qml sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationConfirm.qml - sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentPressuresLimits.qml sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentVitals.qml sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentVitalsInterval.qml Index: sources/gui/GuiGlobals.h =================================================================== diff -u -rbae1ae230d8b41f90b1fcd34b9bccdfa87bf3cd9 -rc1e50347c78096b626b2cd1ef32a33b439e88bdd --- sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision bae1ae230d8b41f90b1fcd34b9bccdfa87bf3cd9) +++ sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision c1e50347c78096b626b2cd1ef32a33b439e88bdd) @@ -82,11 +82,11 @@ ID_DuetConfirmUIr = 0xBB00, // 187 // POST - ID_HDPostSingleResultData = 0x8E00, // 142 - ID_HDPostFinalResultData = 0x8F00, // 143 + ID_HDPostSingleResultData = 0x8E0F, // 142 //// ----- @CRAPIZED: had to change to avoid duplication + ID_HDPostFinalResultData = 0x8F0F, // 143 //// ----- @CRAPIZED ID_DGPostSingleResultData = 0x9000, // 144 ID_DGPostFinalResultData = 0x9100, // 145 - ID_UIPostFinalResultData = 0x9200, // 146 // ID_UIFinalResultTxr - UI Final Result response/Data transmit + ID_UIPostFinalResultData = 0x920F, // 146 //// ----- @CRAPIZED: had to change to avoid duplication ID_UIPostFinalResultHDReq = 0xB200, // 178 // ID_HDFinalResultRxq - HD Final Result request received // ----- Settings @@ -105,26 +105,26 @@ ID_AdjustSerialDDRsp = 0x5200, // 82 //// ----- @LEAHIZED // Service Information - ID_AdjustServiceDatesReq = 0x8900, // 137 - ID_AdjustServiceDatesHDRsp = 0x8A00, // 138 - ID_AdjustServiceDatesDGRsp = 0x8C00, // 140 + ID_AdjustServiceDatesReq = 0x890F, // 137 //// ----- @CRAPIZED: had to change to avoid duplication + ID_AdjustServiceDatesHDRsp = 0x8A0F, // 138 //// ----- @CRAPIZED: had to change to avoid duplication + ID_AdjustServiceDatesDGRsp = 0x8C0F, // 140 //// ----- @CRAPIZED: had to change to avoid duplication // HD/DG Usage Counter ID_HDUsageInfoReq = 0xA000, // 160 - ID_HDUsageInfoRsp = 0x8B00, // 139 + ID_HDUsageInfoRsp = 0x8B0F, // 139 //// ----- @CRAPIZED: had to change to avoid duplication // RTC - ID_AdjustHDDateTimeReq = 0x6D00, // 109 - ID_AdjustHDDateTimeRsp = 0x6E00, // 110 - ID_AdjustDGDateTimeReq = 0x6F00, // 111 - ID_AdjustDGDateTimeRsp = 0x7000, // 112 + ID_AdjustTDDateTimeReq = 0x6C00, // 108 + ID_AdjustTDDateTimeRsp = 0x6D00, // 109 + ID_AdjustDDDateTimeReq = 0x6E00, // 110 + ID_AdjustDDDateTimeRsp = 0x6F00, // 111 ID_HDRTCEpochData = 0x0A0F, // 10 //// ----- @CRAPIZED // State Messages ID_TDOpModeData = 0x1200, // 18 //// ----- @LEAHIZED ID_PreTreatmentStates = 0x5C00, // 92 ID_TreatmentStates = 0x3C00, // 60 //// ----- @LEAHIZED - ID_PostTreatmentStates = 0x7700, // 119 + ID_PostTreatmentStates = 0x770F, // 119 //// ----- @CRAPIZED: had to change to avoid duplication // ----- ID_PowerOff = 0x010F, // 010F //// ----- @CRAPIZED @@ -136,8 +136,8 @@ ID_PressureOcclusion = 0x2400, // 36 //// ----- @LEAHIZED ID_Saline = 0x3D00, // 61 //// ----- @LEAHIZED ID_Ultrafiltration = 0x3E00, // 62 //// ----- @LEAHIZED - ID_Heparin = 0x4D00, // 77 - ID_Rinseback = 0x5600, // 86 + ID_Heparin = 0x8C00, // 140 + ID_Rinseback = 0x8F00, // 143 //// ----- @LEAHIZED ID_Recirculate = 0x5A00, // 90 ID_BloodPrime = 0x5900, // 89 ID_TreatmentStop = 0x4900, // 73 @@ -172,8 +172,8 @@ // Pre-Treatment SelfTest NoCartridge Progress Data ID_SelfTestNoCartridgeData = 0x6100, // 97 // there is no specific response message for this request and changing of the state in Pre_Treatment_States is used as the response // Pre-Treatment Disposables Installation Confirm - ID_AdjustDisposablesConfirmReq = 0x6200, // 98 // there is no specific response message for this request and changing of the state in Pre_Treatment_States is used as the response - ID_AdjustDisposablesConfirmRsp = 0xAD00, // 173 // there is no specific response message for this request and changing of the state in Pre_Treatment_States is used as the response + ID_AdjustDisposablesConfirmReq = 0x9200, // 146 // there is no specific response message for this request and changing of the state in Pre_Treatment_States is used as the response + ID_AdjustDisposablesConfirmRsp = 0x9300, // 147 // there is no specific response message for this request and changing of the state in Pre_Treatment_States is used as the response // Pre-Treatment SelfTest Dry Progress Data ID_SelfTestDryData = 0x630F, // 99 //// ----- @CRAPIZED: had to change to avoid duplication // Pre-Treatment Disposable Priming @@ -191,8 +191,8 @@ ID_AdjustPatientConnectionConfirmRsp = 0x670F, // 103 //// ----- @CRAPIZED: had to change to avoid duplication // Pre-Treatment Start Treatment ID_AdjustStartTreatmentReq = 0x7100, // 113 - ID_AdjustStartTreatmentRsp = 0x7200, // 114 - + ID_AdjustStartTreatmentRsp = 0x720F, // 114 //// ----- @CRAPIZED: had to change to avoid duplication + // DG Data Messages ID_DGROPumpData = 0x1F0F, // 31 //// ----- @CRAPIZED: had to change to avoid duplication ID_DGDrainPumpData = 0x240F, // ?? //// ----- @CRAPIZED: had to change to avoid duplication @@ -212,7 +212,7 @@ ID_DDBloodLeakData = 0x6000, // 96 //// ----- TODO: Payload subject to change given FW implementation // FP Data Messages - ID_FPValvesStatesData = 0x3100, // 49 //// ----- @LEAHIZED + ID_FPValvesStatesData = 0x310F, // 49 //// ----- @OBSOLETE. REMOVE? ID_FPROPumpData = 0x3200, // 50 //// ----- @LEAHIZED ID_FPPressuresData = 0x3400, // 52 //// ----- @LEAHIZED ID_FPLevelData = 0x3500, // 53 //// ----- @LEAHIZED @@ -224,7 +224,7 @@ // HD Data Messages ID_HDAccelerometerData = 0x3300, // 51 ID_HDSyringePumpData = 0x6900, // 105 - ID_HDBloodLeakData = 0x6C00, // 108 + ID_HDBloodLeakData = 0x6C0F, // 108 //// ----- @CRAPIZED: had to change to avoid duplication ID_TDAirBubbleData = 0x1E00, // 30 //// ----- @LEAHIZED ID_TDAirPumpData = 0x2000, // 32 //// ----- @LEAHIZED ID_TDAirTrapData = 0x2A00, // 42 //// ----- @LEAHIZED @@ -237,23 +237,40 @@ ID_TreatmentParametersSetPointData = 0x4F00, // 79 //// ----- @LEAHIZED // In-Treatment Adjustables - ID_AdjustDurationReq = 0x160F, // 22 //// ----- @CRAPIZED: had to change to avoid duplication - ID_AdjustDurationRsp = 0x1B00, // 27 + ID_AdjustPressuresLimitsReq = 0x7200, // 114 //// ----- @LEAHIZED + ID_AdjustPressuresLimitsRsp = 0x7300, // 115 //// ----- @LEAHIZED + ID_AdjustBolusVolumeReq = 0x7400, // 116 //// ----- @LEAHIZED + ID_AdjustBolusVolumeRsp = 0x7500, // 117 //// ----- @LEAHIZED + + ID_AdjustDurationEditReq = 0x7600, // 118 //// ----- @LEAHIZED + ID_AdjustDurationEditRsp = 0x7700, // 119 //// ----- @LEAHIZED + ID_AdjustDurationConfirmReq = 0x7800, // 120 //// ----- @LEAHIZED + ID_AdjustDurationConfirmRsp = 0x7900, // 121 //// ----- @LEAHIZED + + ID_AdjustSetPointsReq = 0x7A00, // 122 //// ----- @LEAHIZED + ID_AdjustSetPointsRsp = 0x7B00, // 123 //// ----- @LEAHIZED + + ID_AdjustBloodFlowRateReq = 0x7C00, // 124 //// ----- @LEAHIZED + ID_AdjustBloodFlowRateRsp = 0x7D00, // 125 //// ----- @LEAHIZED + + ID_AdjustDialysateFlowRateReq = 0x7E00, // 126 //// ----- @LEAHIZED + ID_AdjustDialysateFlowRateRsp = 0x7F00, // 127 //// ----- @LEAHIZED + + ID_AdjustDialysateTemperatureReq = 0x8000, // 128 //// ----- @LEAHIZED + ID_AdjustDialysateTemperatureRsp = 0x8100, // 129 //// ----- @LEAHIZED + ID_AdjustBloodDialysateReq = 0x1700, // 23 ID_AdjustBloodDialysateRsp = 0x1800, // 24 - ID_AdjustPressuresLimitsReq = 0x470F, // 70 //// ----- @CRAPIZED: had to change to avoid duplication - ID_AdjustPressuresLimitsRsp = 0x480F, // 71 //// ----- @CRAPIZED: had to change to avoid duplication - ID_AdjustSalineReq = 0x5F00, // 95 ID_AdjustSalineRsp = 0x6000, // 96 ID_AdjustVitalsReq = 0x6300, // 99 ID_AdjustVitalsRsp = 0x6400, // 100 - ID_AdjustHeparinReq = 0x4B00, // 75 - ID_AdjustHeparinRsp = 0x4C00, // 76 + ID_AdjustHeparinReq = 0x8A00, // 138 + ID_AdjustHeparinRsp = 0x8B00, // 139 // Ultrafiltration ID_AdjustUltrafiltrationStateReq = 0x4700, // 71 //// ----- @LEAHIZED @@ -267,30 +284,30 @@ // End-Treatment // Rinseback - ID_AdjustRinsebackReq = 0x520F, // 82 //// ----- @CRAPIZED: had to change to avoid duplication - ID_AdjustRinsebackRsp = 0x530F, // 83 //// ----- @CRAPIZED: had to change to avoid duplication + ID_AdjustRinsebackReq = 0x9000, // 144 //// ----- @LEAHIZED + ID_AdjustRinsebackRsp = 0x9100, // 145 //// ----- @LEAHIZED // Recirculate ID_AdjustRecirculateReq = 0x540F, // 84 //// ----- @CRAPIZED: had to change to avoid duplication ID_AdjustRecirculateRsp = 0x5500, // 85 // Treatment End - ID_AdjustTreatmentEndReq = 0x5700, // 87 - ID_AdjustTreatmentEndRsp = 0x5800, // 88 + ID_AdjustTreatmentEndReq = 0x8D00, // 141 + ID_AdjustTreatmentEndRsp = 0x8E00, // 142 // Post-Treatment // Patient Disconnect ID_AdjustPatientDisconnectNotifyReq = 0x4A00, // 74 // there is no specific response message for this request and changing of the state in Pre_Treatment_States is used as the response ID_AdjustPatientDisconnectConfirmReq = 0x060F, // 060f //// ----- @CRAPIZED - ID_AdjustPatientDisconnectConfirmRsp = 0x7E00, // 126 + ID_AdjustPatientDisconnectConfirmRsp = 0x7E0F, // 126 //// ----- @CRAPIZED: had to change to avoid duplication // Disposables Removal - ID_AdjustDisposablesRemovalConfirmReq = 0x7300, // 115 - ID_AdjustDisposablesRemovalConfirmRsp = 0x7400, // 116 + ID_AdjustDisposablesRemovalConfirmReq = 0x9400, // 148 + ID_AdjustDisposablesRemovalConfirmRsp = 0x9500, // 149 // Treatment Log Adjs - ID_AdjustTreatmentLogReq = 0x7500, // 117 - ID_AdjustTreatmentLogRsp = 0x7600, // 118 + ID_AdjustTreatmentLogReq = 0x750F, // 117 //// ----- @CRAPIZED: had to change to avoid duplication + ID_AdjustTreatmentLogRsp = 0x760F, // 118 //// ----- @CRAPIZED: had to change to avoid duplication // Treatment Log Data ID_TreatmentLogAvrgeData = 0x940F, // 148 //// ----- @CRAPIZED: had to change to avoid duplication ID_TreatmentLogAlarmData = 0x6A00, // 106 //// ----- @LEAHIZED @@ -299,21 +316,29 @@ // Disinfect ID_AdjustDisinfectModeReq = 0x9A00, // 154 ID_AdjustDisinfectModeRsp = 0x9B00, // 155 - ID_AdjustDisinfectStartReq = 0x7F00, // 127 - ID_AdjustDisinfectStartRsp = 0x8000, // 128 + ID_AdjustDisinfectStartReq = 0x7F0F, // 127 //// ----- @CRAPIZED: had to change to avoid duplication + ID_AdjustDisinfectStartRsp = 0x800F, // 128 //// ----- @CRAPIZED: had to change to avoid duplication ID_AdjustDGCleaningUsageReq = 0xB800, // 184 - ID_AdjustDGCleaningUsageRsp = 0x8D00, // 141 + ID_AdjustDGCleaningUsageRsp = 0x8D0F, // 141 //// ----- @CRAPIZED: had to change to avoid duplication // RO Water Input Mode ID_DuetRoWaterStatDGq = 0xC300, // 195 DG -> UI // DG initiates Status query ID_DuetRoWaterModeUIi = 0xBC00, // 188 UI -> DG // UI initiates Mode Set || responses to status query ID_DuetRoWaterModeDGr = 0xC400, // 196 UI <- DG // DG responses Mode Set // Institutional record request and response - ID_AdjustInstitutionalRecordReq = 0xCF00, // 207 UI -> HD request institutional record - ID_AdjustInstitutionalRecordRsp = 0xD000, // 208 HD -> UI response institutional record + ID_InstitutionalRecordReq = 0x8200, // 130 UI -> TD request institutional record + ID_InstitutionalRecordRsp = 0x8300, // 131 TD -> UI response institutional record + ID_AdjustInstitutionalRecordReq = 0x8400, // 132 UI -> TD request institutional record + ID_AdjustInstitutionalRecordRsp = 0x8500, // 133 TD -> UI response institutional record + // Advanced Institutional record request and response + ID_AdvancedInstitutionalRecordReq = 0x8600, // 134 UI -> TD request institutional record + ID_AdvancedInstitutionalRecordRsp = 0x8700, // 135 TD -> UI response institutional record + ID_AdjustAdvancedInstitutionalRecordReq = 0x8800, // 136 UI -> TD request institutional record + ID_AdjustAdvancedInstitutionalRecordRsp = 0x8900, // 137 TD -> UI response institutional record + // HD reset request in service mode ID_ResetHDInServiceModeReq = 0xB900, // 185 UI -> HD reset in service mode }; @@ -406,7 +431,6 @@ Q_ENUM(DD_Valves) #include "FPDefs.h" - Q_ENUM(FP_Valves) }; // to be able to use the enum as signal/slot parameter @@ -482,9 +506,6 @@ // DD Valves typedef GuiActions::DD_Valves GuiDDValves; - // FP Valves - typedef GuiActions::FP_Valves GuiFPValves; - typedef QMap GuiStringIndexMap; typedef QPair GuiStringIndexMapItem; typedef QMapIterator GuiStringIndexMapIterator; @@ -525,4 +546,4 @@ void registerQmlTypes(); bool startGui(); -} + } Index: sources/gui/qml/globals/Colors.qml =================================================================== diff -u -rbae1ae230d8b41f90b1fcd34b9bccdfa87bf3cd9 -rc1e50347c78096b626b2cd1ef32a33b439e88bdd --- sources/gui/qml/globals/Colors.qml (.../Colors.qml) (revision bae1ae230d8b41f90b1fcd34b9bccdfa87bf3cd9) +++ sources/gui/qml/globals/Colors.qml (.../Colors.qml) (revision c1e50347c78096b626b2cd1ef32a33b439e88bdd) @@ -60,6 +60,7 @@ readonly property color alarmDialogGreyText : "#838080" readonly property color dialogShadowColor : "#334E759C" readonly property color dialogValueColor : "#3D8EEF" + readonly property color darkDialogColor : "#091E31" readonly property color backgroundRangeRect : "#3e546e" readonly property color highlightProgressBar : "#3d8eef" @@ -95,6 +96,12 @@ readonly property color panelBackground : "#2A3F53" readonly property color panelBorder : "#324C65" + readonly property color heparinPanelBorderColor         : "#CC42556B" + readonly property color heparinSectionHeader            : "#384B60" + readonly property color heparinActive                   : "#429C4A" + readonly property color heparinPaused                   : "#D9A23D" + readonly property color heparinComplete                 : "#276FCD" + readonly property color touchTextAreaTitle : "#a0b6d0" readonly property color textTextRectTitle : white @@ -150,6 +157,7 @@ readonly property color createTreatmentInvalidParam : red readonly property color scrollBarBgColor : white //"#80696969" // half transparent dimgray + readonly property color scrollBarColor : "#6992BC" readonly property color ufVolumeGoalText : "#f5be59" readonly property color ufNotificationBarBg : "#0f2841" @@ -158,6 +166,8 @@ readonly property color ufAdjustmentProgressBarBg : "#2C517D" readonly property color progressBarMinMax : "#c7c7c7" + readonly property color roFeatured : "#E79DF6" + readonly property color roDefeatured : "#F9CD74" // ---------- < PRS > Related Section ---------- // Alarm priority colors function alarmPriorityColors(vPriority) { Index: sources/gui/qml/globals/Variables.qml =================================================================== diff -u -rbae1ae230d8b41f90b1fcd34b9bccdfa87bf3cd9 -rc1e50347c78096b626b2cd1ef32a33b439e88bdd --- sources/gui/qml/globals/Variables.qml (.../Variables.qml) (revision bae1ae230d8b41f90b1fcd34b9bccdfa87bf3cd9) +++ sources/gui/qml/globals/Variables.qml (.../Variables.qml) (revision c1e50347c78096b626b2cd1ef32a33b439e88bdd) @@ -42,6 +42,8 @@ readonly property int mainMenuHeight : 80 //// ----- @LEAHIZED readonly property int alarmDialogHeaderHeight : 100 + readonly property int instructionHeight : 73 + readonly property int minVGap : 15 readonly property int minVGap2 : 30 @@ -155,9 +157,7 @@ readonly property int settingsInputWidth : 225 readonly property int settingsNotificationMargin : 10 - readonly property int settingsContentSidesMargin : headerButtonsMargin readonly property int settingsContentBottomMargin : mainMenuHeight + // Alarm Bar height - notificationHeight + // notification Bar height minVGap // Min Gap to give content the min border readonly property int settingsOptionWidth : 550 @@ -192,6 +192,7 @@ readonly property int adjustmentLabelUnitContainerHeight : 75 readonly property int adjustmentLabelUnitContainerWidth : 720 + readonly property int institutionaltContainerHeight : 69 readonly property real sliderDefaultRoundTickMarkDiameter : 5 readonly property int sliderDefaultBodyHeight : 15 @@ -212,6 +213,9 @@ readonly property int defaultButtonHeight : 60 readonly property int defaultButtonWidth : 244 + readonly property int smallDialogHeight : numPadHeight + readonly property int smallDialogWidth : 1000 + // ---------- < PRS > Related Section ---------- // blood flow rate readonly property int bloodFlowMin : 100 // PRS 30 @@ -233,6 +237,7 @@ // Heparin readonly property int heparinPrecision : 1 + readonly property int heparinDeliveryPrecision : 2 // Saline readonly property int salinePrecision : 1 @@ -249,6 +254,9 @@ // Calcium readonly property int calciumPrecision : 2 + // Calcium + readonly property int substitutionPrecision : 1 + function sizeConverted(vSize, vSizePowers, vRound = 2) { return ( vSize / vSizePowers // convert from byte to Giga byte @@ -279,6 +287,8 @@ readonly property string preTreatmentStepLabelPriming : qsTr("PRIME" ) readonly property string preTreatmentStepLabelUltrafiltration : qsTr("BEGIN" ) + // Heparin + readonly property string unitHeparinType : qsTr("IU/mL") // Units readonly property string unitTextPotassium : qsTr("K") readonly property string unitTextCalcium : qsTr("Ca") @@ -287,6 +297,8 @@ readonly property string unitTextUltrafiltrationVolume : unitTextVolume // - Duration/Interval readonly property string unitTextDuration : qsTr("min") + readonly property string unitTextHrs : qsTr("hr") + readonly property string unitTextMins : qsTr("min") // - Flows readonly property string unitTextFlowRate : qsTr("mL/min") readonly property string unitTextDispensingRate : qsTr("mL/hr") @@ -303,6 +315,8 @@ readonly property string unitTextFluid : qsTr("mL") readonly property string unitTextSaline : unitTextFluid readonly property string unitTextHeparin : unitTextFluid + // - Pressure + readonly property string unitTextPressure : qsTr("mmHg") // - Temperature readonly property string unitTextTemperature : qsTr("°C") // Concentration Index: sources/gui/qml/main.qml =================================================================== diff -u -r83f808d0f503ea847c27c1fbc65c2b95d2e5d6b0 -rc1e50347c78096b626b2cd1ef32a33b439e88bdd --- sources/gui/qml/main.qml (.../main.qml) (revision 83f808d0f503ea847c27c1fbc65c2b95d2e5d6b0) +++ sources/gui/qml/main.qml (.../main.qml) (revision c1e50347c78096b626b2cd1ef32a33b439e88bdd) @@ -54,7 +54,10 @@ import VDuetRoWaterDG 0.1 import VCloudSync 0.1 import VHDUsageInfo 0.1 +import VInstitutionalRecord 0.1 import VAdjustmentInstitutionalRecord 0.1 +import VAdvancedInstitutionalRecord 0.1 +import VAdjustmentAdvancedInstitutionalRecord 0.1 // States views import VTDOpMode 0.1 //// ----- @LEAHIZED import VPreTreatmentStates 0.1 @@ -73,9 +76,12 @@ import VTreatmentRinseback 0.1 import VTreatmentRecirculate 0.1 import VTreatmentBloodPrime 0.1 +import VTreatmentSaline 0.1 import VTreatmentStop 0.1 import VTreatmentRanges 0.1 +import VTreatmentHeparin 0.1 import VTreatmentTrends 0.1 + // Pre-Treatment import VPreTreatmentAdjustmentInitTreatment 0.1 import VDGFilterFlush 0.1 @@ -109,7 +115,6 @@ import VDDLevel 0.1 import VDDBloodLeak 0.1 // FP Data -import VFPValvesStates 0.1 import VFPROPump 0.1 import VFPPressures 0.1 import VFPLevel 0.1 @@ -118,7 +123,13 @@ import VFPTemperature 0.1 import VFPBoostPump 0.1 // In-Treatment - Adjustemnt -import VTreatmentAdjustmentDuration 0.1 +import VTreatmentAdjustmentBolusVolume 0.1 +import VTreatmentAdjustmentDurationEdit 0.1 +import VTreatmentAdjustmentDurationConfirm 0.1 +import VTreatmentAdjustmentSetPoints 0.1 +import VTreatmentAdjustmentBloodFlowRate 0.1 +import VTreatmentAdjustmentDialysateFlowRate 0.1 +import VTreatmentAdjustmentDialysateTemperature 0.1 import VTreatmentAdjustmentFlows 0.1 import VTreatmentAdjustmentUltrafiltrationState 0.1 import VTreatmentAdjustmentUltrafiltrationEdit 0.1 @@ -176,6 +187,9 @@ VCloudSync { id: vCloudSync } VHDUsageInfo { id: vHDUsageInfo } VAdjustmentInstitutionalRecord { id: vAdjustmentInstitutionalRecord } + VInstitutionalRecord { id: vInstitutionalRecord } + VAdjustmentAdvancedInstitutionalRecord { id: vAdjustmentAdvancedInstitutionalRecord } + VAdvancedInstitutionalRecord { id: vAdvancedInstitutionalRecord } //VAdjustIn // ---- States VTDOpMode { id: vTDOpMode @@ -196,7 +210,7 @@ VTreatmentVitals { id: vTreatmentVitals interval : vTreatmentCreate.bloodPressureMeasureInterval canStartInterval: vTDOpMode.inTreatment && vTDTreatmentStates.txTreatment - enableBPCuff : true // TODO: PRS 343 update with enable/disable Integrated Blood Pressure Cuff + enableBPCuff : vSettings.integratedBPCuff onCanStartIntervalChanged : { if ( vTreatmentVitals.canStartInterval ) { vTreatmentVitals.doTimerStart() } else { vTreatmentVitals.doTimerStop() } @@ -223,9 +237,12 @@ VTreatmentTime { id: vTreatmentTime } VTreatmentParametersSetPoint { id: vTreatmentParametersSetPoint } VTreatmentBloodPrime { id: vTreatmentBloodPrime } + VTreatmentSaline { id: vTreatmentSaline } VTreatmentRinseback { id: vTreatmentRinseback } VTreatmentRecirculate { id: vTreatmentRecirculate } VTreatmentStop { id: vTreatmentStop } + VTreatmentHeparin { id: vTreatmentHeparin } + // ---- DD VDGDrainPump { id: vDGDrainPump } VDDHeaters { id: vDDHeaters } @@ -244,7 +261,6 @@ VDDLevel { id: vDDLevel } VDDBloodLeak { id: vDDBloodLeak } // --- FP Data - VFPValvesStates { id: vFPValvesStates } VFPROPump { id: vFPROPump } VFPPressures { id: vFPPressures } VFPLevel { id: vFPLevel } @@ -268,12 +284,19 @@ VPreTreatmentAdjustmentStartTreatment { id: vPreTreatmentAdjustmentStartTreatment } // --- - VTreatmentAdjustmentDuration { id: vTreatmentAdjustmentDuration } + VTreatmentAdjustmentDurationEdit { id: vTreatmentAdjustmentDurationEdit } + VTreatmentAdjustmentDurationConfirm { id: vTreatmentAdjustmentDurationConfirm } + VTreatmentAdjustmentSetPoints { id: vTreatmentAdjustmentSetPoints } + VTreatmentAdjustmentBloodFlowRate { id: vTreatmentAdjustmentBloodFlowRate } + VTreatmentAdjustmentDialysateFlowRate { id: vTreatmentAdjustmentDialysateFlowRate } + VTreatmentAdjustmentDialysateTemperature { id: vTreatmentAdjustmentDialysateTemperature } VTreatmentAdjustmentFlows { id: vTreatmentAdjustmentFlows } VTreatmentCreate { id: vTreatmentCreate } VTreatmentRanges { id: vTreatmentRanges } VTreatmentTrends { id: vTreatmentTrends } + + VTreatmentAdjustmentBolusVolume { id: vTreatmentAdjustmentBolusVolume } VTreatmentAdjustmentSaline { id: vTreatmentAdjustmentSaline } VTreatmentAdjustmentVitals { id: vTreatmentAdjustmentVitals } VTreatmentAdjustmentUltrafiltrationState { id: vTreatmentAdjustmentUltrafiltrationState } @@ -369,22 +392,24 @@ // } } // keyboard should always be before AlarmItem to not to covet it. - KeyboardItem { id: _keyboard } + KeyboardItem { id: _keyboard } // Dialogs - AcidConcentrateAdjustment { id: _acidConcentrateAdjustment } - HeaderbarPrescription { id: _headerbarPrescription } - HeaderbarWiFi { id: _headerbarWifi } - HeaderbarStorage { id: _headerbarStorage } - HeaderbarSettings { id: _headerbarSettings } - HeaderbarInformation { id: _headerbarInformation } + AcidConcentrateAdjustment { id: _acidConcentrateAdjustment } + HeaderbarPrescription { id: _headerbarPrescription } + HeaderbarWiFi { id: _headerbarWifi } + HeaderbarStorage { id: _headerbarStorage } + HeaderbarSettings { id: _headerbarSettings } + HeaderbarInformation { id: _headerbarInformation } TreatmentAdjustmentVitals { id: _treatmentAdjustmentVitals } - LockDialog { id: _lockDialog } - AlarmItem { id: _alarmItem ; z: 996 } - PowerItem { id: _powerItem ; z: 997 } - ConfirmDialog { id: _confirmDialog ; z: 998 } - DiagnosticsDialog { id: _diagnosticsDialog; z: 999 } + EndTreatmentDialog { id: _endTreatmentDialog } + LockDialog { id: _lockDialog } + AlarmItem { id: _alarmItem ; z: 996 } + PowerItem { id: _powerItem ; z: 997 } + ConfirmDialog { id: _confirmDialog ; z: 998 } + DiagnosticsDialog { id: _diagnosticsDialog; z: 999 } + // Note: NotificationBar has to be anchored to the main menu and if it is moved into the AlarmItem // then cannot be anchored. NotificationBar { id: _alarmBar Index: sources/gui/qml/pages/treatment/TreatmentStack.qml =================================================================== diff -u -ra8fc31a5e27e844ee98fa17f5d95b9e5f5dc15ef -rc1e50347c78096b626b2cd1ef32a33b439e88bdd --- sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision a8fc31a5e27e844ee98fa17f5d95b9e5f5dc15ef) +++ sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision c1e50347c78096b626b2cd1ef32a33b439e88bdd) @@ -33,9 +33,10 @@ objectName: "TreatmentStack" onVisibleChanged : { // this should never happen by design, but in tests it can easily happen and will block the screen touch. - _treatmentAdjustmentFlow .close() + _treatmentAdjustmentSetPoints .close() _treatmentAdjustmentVitals .close() _treatmentAdjustmentPressuresLimits .close() + _treatmentAdjustmentBolusVolume .close() _treatmentAdjustmentDuration .close() _treatmentAdjustmentUltrafiltration .close() @@ -47,21 +48,27 @@ stackView.initialItem : null readonly property bool isTreatmentPaused : vTDTreatmentStates.txStop - readonly property bool isSBInProgress : ( vTDTreatmentStates.sbRunning || vTDTreatmentStates.sbWaitPump ) + readonly property bool isTreatmentEnd : vTDTreatmentStates.txEnd + property int headerMenuIndex : _headerBar.headerMenuIndex - property int headerMenuIndex: _headerBar.headerMenuIndex - onHeaderMenuIndexChanged: { - if ( _root.headerMenuIndex === 2) page(_treatmentHeparin) - if ( _root.headerMenuIndex === 1) page(_treatmentTrends) - if ( _root.headerMenuIndex === 0) { - if (vTDOpMode.inTreatment && vTDTreatmentStates.txTreatment) { - page(_treatmentHome) - } - else { - pop(null) // unwind stack - } + switch( _headerBar.currentScreen ) { + case MainMenu.Treatment: + pop(null) // unwind stack back to main treatment + break + case MainMenu.Trends: + page( _treatmentTrends ) + break; + case MainMenu.Heparin: + page( _treatmentHeparin ) + break + case MainMenu.HDF: // TODO + page( _treatmentHDF ) + break + default: + pop(null) // unwind stack back to main treatment + break } } @@ -71,17 +78,18 @@ Connections { target: _treatmentHome function onSectionFlowClicked ( vValue ) { - _treatmentAdjustmentFlow.open() + _treatmentAdjustmentSetPoints.open() } function onSectionVitalsClicked ( vValue ) { _treatmentAdjustmentVitalsInterval.open() } function onSectionPressuresClicked ( vValue ) { _treatmentAdjustmentPressuresLimits.open() } + function onSectionSalineClicked ( vValue ) { + _treatmentAdjustmentBolusVolume.open() + } function onSectionTimeClicked ( vValue ) { - //DEBUG: console.log("time total minutes: " + vTreatmentTime.time_Total / 60 ) - _treatmentAdjustmentDuration.setDurationValue(vTreatmentTime.time_Total / 60) // minutes => hours _treatmentAdjustmentDuration.open() } function onSectionUltrafiltrationClicked ( vValue ) { @@ -100,57 +108,67 @@ } } } - ScreenItem { id: _treatmentHeparin } // TODO: make me! + TreatmentHeparin { id: _treatmentHeparin } + Connections { target: _treatmentHeparin + function onIdleTimeout ( ) { + _headerBar.headerMenuIndex = MainMenu.Treatment // on heparin idle timeout go to main treatment + } + } + + ScreenItem { id: _treatmentHDF } // TODO: make me! + //// Treatment Adjustment Dialogs - TreatmentAdjustmentFlow { id: _treatmentAdjustmentFlow } - TreatmentAdjustmentPressuresLimits { id: _treatmentAdjustmentPressuresLimits } + TreatmentAdjustmentSetPoints { id: _treatmentAdjustmentSetPoints } + TreatmentAdjustmentPressuresLimits { id: _treatmentAdjustmentPressuresLimits } + TreatmentAdjustmentBolusVolume { id: _treatmentAdjustmentBolusVolume } TreatmentAdjustmentUltrafiltration { id: _treatmentAdjustmentUltrafiltration } - Connections { target: _treatmentAdjustmentFlow - function onConfirmClicked ( vValue ) { vTreatmentAdjustmentFlows.doAdjustment( - _treatmentAdjustmentFlow.bloodFlowRateValue , - _treatmentAdjustmentFlow.dialysateFlowRateValue ) + Connections { target: _treatmentAdjustmentSetPoints + function onConfirmClicked ( vValue ) { + vTreatmentAdjustmentSetPoints.doAdjustment( + _treatmentAdjustmentSetPoints.bloodFlowRate , + _treatmentAdjustmentSetPoints.dialysateFlowRate , + _treatmentAdjustmentSetPoints.dialysateTemperature , + _treatmentAdjustmentSetPoints.acidConcentrate , + _treatmentAdjustmentSetPoints.bicarbConcentrate + ) } } Connections { target: _treatmentAdjustmentPressuresLimits - function onConfirmClicked ( vValue ) { vTreatmentAdjustmentPressuresLimits.doAdjustment( - _treatmentAdjustmentPressuresLimits.arterialPressureLimitWindow , - _treatmentAdjustmentPressuresLimits.venousPressureLimitWindow , - _treatmentAdjustmentPressuresLimits.venousPressureLimitAsymtrc ) + function onConfirmClicked ( vValue ) { + vTreatmentAdjustmentPressuresLimits.doAdjustment( + _treatmentAdjustmentPressuresLimits.arterialPressureLimitWindow , + _treatmentAdjustmentPressuresLimits.venousPressureLimitWindow , + _treatmentAdjustmentPressuresLimits.venousPressureLimitAsymtrc , + _treatmentAdjustmentPressuresLimits.tmpLimitWindow + ) } } - - TreatmentAdjustmentDuration { id: _treatmentAdjustmentDuration } - Connections { target: _treatmentAdjustmentDuration - function onConfirmClicked ( vValue ) { vTreatmentAdjustmentDuration.doAdjustment( - _treatmentAdjustmentDuration.durationValue ) + Connections { target: _treatmentAdjustmentBolusVolume + function onConfirmClicked ( vValue ) { + vTreatmentAdjustmentBolusVolume.doAdjustment(_treatmentAdjustmentBolusVolume.fluidBolusVolume) } } + TreatmentAdjustmentDuration { id: _treatmentAdjustmentDuration } + TreatmentAdjustmentVitalsInterval { id: _treatmentAdjustmentVitalsInterval } // ---------- Manages Responses ---------- - Connections { target: vTreatmentAdjustmentDuration + Connections { target: vTreatmentAdjustmentBolusVolume function onAdjustmentTriggered ( vValue ) { - if ( vTreatmentAdjustmentDuration.adjustment_Accepted ) { - vTreatmentUltrafiltration.maximum = vTreatmentAdjustmentDuration.ultrafiltration - _treatmentAdjustmentDuration.accept() - } else { - _treatmentAdjustmentDuration.setDurationValue(vTreatmentAdjustmentDuration.duration); - _treatmentAdjustmentDuration.notification.text = vTreatmentAdjustmentDuration.text(); + if ( vTreatmentAdjustmentBolusVolume.adjustment_Accepted ) { + _treatmentAdjustmentBolusVolume.close() } + else { + _treatmentAdjustmentBolusVolume.notification.text = vTreatmentAdjustmentBolusVolume.text() + } } } Connections { target: vTreatmentAdjustmentPressuresLimits function onAdjustmentTriggered ( vValue ) { - // values have to be update even when rejected HD is reverting back the values. - // if accepted will be updated for later [may need refresh later] - _treatmentAdjustmentPressuresLimits.arterialPressureLimitWindow = vTreatmentAdjustmentPressuresLimits.arterialPressureLimitWindow - _treatmentAdjustmentPressuresLimits.venousPressureLimitWindow = vTreatmentAdjustmentPressuresLimits.venousPressureLimitWindow - _treatmentAdjustmentPressuresLimits.venousPressureLimitAsymtrc = vTreatmentAdjustmentPressuresLimits.venousPressureLimitAsymtrc - if (vTreatmentAdjustmentPressuresLimits.adjustment_Accepted) { _treatmentAdjustmentPressuresLimits.close() } @@ -160,6 +178,17 @@ } } + Connections { target: vTreatmentAdjustmentSetPoints + function onAdjustmentTriggered ( vValue ) { + if (vTreatmentAdjustmentSetPoints.adjustment_Accepted) { + _treatmentAdjustmentSetPoints.close() + } + else { + _treatmentAdjustmentSetPoints.notification.text = vTreatmentAdjustmentSetPoints.text() + } + } + } + Connections { target: vTDOpMode // The initail screen should be the Blood Prime, since that one is the earlier state in the list. // also since it is being used in two stacks In-Treatment and also in End-Treatmet is has been defined in the MainStack. @@ -176,11 +205,12 @@ Connections { target: vTDTreatmentStates // in-Treatmet - function onTxBloodPrimeChanged ( vValue ) { page( _treatmentBloodPrime , vValue )} - function onTxDialysisChanged ( vValue ) { page( _treatmentHome , vValue )} + function onTxBloodPrimeChanged ( vValue ) { page( _treatmentBloodPrime , vValue )} + function onTxDialysisChanged ( vValue ) { page( _treatmentHome , vValue )} + function onTxEndChanged ( vValue ) { if ( vValue ) { _endTreatmentDialog.open() }} } Connections { target: _mainHome - function onStartTreatment ( vValue ) { page( _treatmentHome )} + function onStartTreatment ( vValue ) { page( _treatmentHome )} } } Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentVitals.qml =================================================================== diff -u -r31e9dff42eab976fb5a8ebe56cbe709cb7df0868 -rc1e50347c78096b626b2cd1ef32a33b439e88bdd --- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentVitals.qml (.../TreatmentAdjustmentVitals.qml) (revision 31e9dff42eab976fb5a8ebe56cbe709cb7df0868) +++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentVitals.qml (.../TreatmentAdjustmentVitals.qml) (revision c1e50347c78096b626b2cd1ef32a33b439e88bdd) @@ -25,8 +25,8 @@ contentItem.objectName: "TreatmentAdjustmentVitals" titleText : qsTr("Vitals") titlePixelSize : Fonts.fontPixelSection - height : Variables.numPadHeight - width : 1000 + height : Variables.smallDialogHeight + width : Variables.smallDialogWidth x : numPad.isOpened ? Math.round((Variables.applicationWidth - width) / 2) - 200 : Math.round((Variables.applicationWidth - width) / 2) notification.textfontSize : 20 @@ -158,6 +158,7 @@ height : Variables.defaultButtonHeight isDefault : true anchors.horizontalCenter: parent.horizontalCenter + enabled : vSettings.integratedBPCuff text { text : qsTr("Measure Vitals") Index: sources/model/MListModel.cpp =================================================================== diff -u -rbae1ae230d8b41f90b1fcd34b9bccdfa87bf3cd9 -rc1e50347c78096b626b2cd1ef32a33b439e88bdd --- sources/model/MListModel.cpp (.../MListModel.cpp) (revision bae1ae230d8b41f90b1fcd34b9bccdfa87bf3cd9) +++ sources/model/MListModel.cpp (.../MListModel.cpp) (revision c1e50347c78096b626b2cd1ef32a33b439e88bdd) @@ -12,21 +12,6 @@ } /*! - * \brief Inserts data into the model at a given position. - * \param[in] pos - The position where the data will be inserted. - * If row is less than 0, then data will be prepended to the model. - * If row is greater than or equal to rowCount(), then data will be appeneded to the model. - * \param[in] data - The data to insert into the model. - */ -void View::MListModel::insertRow(const int pos, const QHash &vData) -{ - const int index = std::clamp(pos, 0, rowCount()); - beginInsertRows(QModelIndex(), index, index); - _data.insert(index, vData); - endInsertRows(); -} - -/*! * \brief Retrieve the role names set for this list model. * \return Role names used for this model. */ @@ -35,18 +20,6 @@ } /*! - * \brief Set the role names for the data in this list model. - * \param[in] roleNames New role names for this list model. - * \note This will clear the list model of any data. - */ -void View::MListModel::setRoleNames(const QHash& vRoleNames) { - if ( _roleNames != vRoleNames ) { - clear(); - _roleNames = vRoleNames; - } -} - -/*! * \brief Get the number of rows in this list model. * \return Number of rows in this list model. */ @@ -82,33 +55,24 @@ } /*! - * \brief Retrieve the data stored at the given index for the specified role and expose to QML - * \param[in] vRow Index of the data in the list model. + * \brief Sets the value of the data in this list model at the given index and for the given role. + * \param[in] index Location of data to update. + * \param[in] value Value to set. + * \param[in] role The role of the data at the given index to set. + * \return Return true if data was set properly, otherwise false. */ -QVariantMap View::MListModel::get(int vRow) const { - QVariantMap map; - QHash roles = roleNames(); +bool View::MListModel::setData(const QModelIndex &vIndex, const QVariant& vValue, int vRole) { + if ( ! vIndex.isValid() || vIndex.row() >= _data.count() ) { + return false; + } - // Row bounds check - if ( vRow < 0 || vRow >= rowCount() ) { goto lOut; } - - // Check if roles are defined - if ( roles.isEmpty() ) { goto lOut; } - - for ( auto it = roles.cbegin(); it != roles.cend(); ++it ) { - const int role = it.key(); - const QByteArray roleName = it.value(); - - if ( roleName.isEmpty() ) { goto lOut; } - - QVariant value = data(index(vRow, 0), role); - if ( ! value.isValid() ) { goto lOut; } - - map.insert( QString::fromUtf8(roleName), value ); + if ( _data[vIndex.row()][vRole] != vValue ) { + _data[vIndex.row()][vRole] = vValue; + // explicitly emit a dataChanged signal to notify anybody bound to this property (vRole) + emit dataChanged(vIndex, vIndex, QVector(1, vRole)); } -lOut: - return map; + return true; } /*! @@ -121,27 +85,51 @@ } /*! - * \brief Sets the value of the data in this list model at the given index and for the given role. - * \param[in] index Location of data to update. - * \param[in] value Value to set. - * \param[in] role The role of the data at the given index to set. - * \return Return true if data was set properly, otherwise false. + * \brief Set the role names for the data in this list model. + * \param[in] roleNames New role names for this list model. + * \note This will clear the list model of any data. */ -bool View::MListModel::setData(const QModelIndex &vIndex, const QVariant& vValue, int vRole) { - if ( ! vIndex.isValid() || vIndex.row() >= _data.count() ) { - return false; +void View::MListModel::setRoleNames(const QHash& vRoleNames) { + if ( _roleNames != vRoleNames ) { + clear(); + _roleNames = vRoleNames; } +} - if ( _data[vIndex.row()][vRole] != vValue ) { - _data[vIndex.row()][vRole] = vValue; - // explicitly emit a dataChanged signal to notify anybody bound to this property (vRole) - emit dataChanged(vIndex, vIndex, QVector(1, vRole)); - } +/*! + * \brief Appends a row of data to the end of the model. + * \param[in] data The data to append. +*/ +void View::MListModel::appendRow(const QHash &vData) { + insertRow(rowCount(), vData); +} - return true; +/*! + * \brief Inserts data into the model at a given position. + * \param[in] vRow - The index where the data will be inserted. + * If row is less than 0, then data will be prepended to the model. + * If row is greater than or equal to rowCount(), then data will be appeneded to the model. + * \param[in] data - The data to insert into the model. + */ +void View::MListModel::insertRow(const int vRow, const QHash &vData) +{ + const int index = std::clamp(vRow, 0, rowCount()); + beginInsertRows(QModelIndex(), index, index); + _data.insert(index, vData); + endInsertRows(); } /*! + * \brief Helper function of setData to update data in the model + * \param[in] vRow row of item to update value + * \param[in] value Value to update. + * \param[in] role The role of the data at the given index to set. + */ +void View::MListModel::updateData (const int vRow, const int vRole, const QVariant& vValue) { + setData(index(vRow,0), vValue, vRole); +} + +/*! * \brief Assignment operator * \return A reference to this object. */ @@ -155,3 +143,33 @@ } return *this; } + +/*! + * \brief Retrieve the data stored at the given index for the specified role and expose to QML + * \param[in] vRow Index of the data in the list model. + */ +QVariantMap View::MListModel::get(int vRow) const { + QVariantMap map; + QHash roles = roleNames(); + + // Row bounds check + if ( vRow < 0 || vRow >= rowCount() ) { goto lOut; } + + // Check if roles are defined + if ( roles.isEmpty() ) { goto lOut; } + + for ( auto it = roles.cbegin(); it != roles.cend(); ++it ) { + const int role = it.key(); + const QByteArray roleName = it.value(); + + if ( roleName.isEmpty() ) { goto lOut; } + + QVariant value = data(index(vRow, 0), role); + if ( ! value.isValid() ) { goto lOut; } + + map.insert( QString::fromUtf8(roleName), value ); + } + +lOut: + return map; +} Index: sources/model/MListModel.h =================================================================== diff -u -rbae1ae230d8b41f90b1fcd34b9bccdfa87bf3cd9 -rc1e50347c78096b626b2cd1ef32a33b439e88bdd --- sources/model/MListModel.h (.../MListModel.h) (revision bae1ae230d8b41f90b1fcd34b9bccdfa87bf3cd9) +++ sources/model/MListModel.h (.../MListModel.h) (revision c1e50347c78096b626b2cd1ef32a33b439e88bdd) @@ -22,13 +22,15 @@ public: explicit MListModel(QObject *parent = nullptr); - void insertRow (const int pos, const QHash &vData ); QHash roleNames ( ) const override; int rowCount (const QModelIndex & = QModelIndex() ) const override; QVariant data (const QModelIndex &vIndex, int vRole = Qt::DisplayRole ) const override; bool setData (const QModelIndex &vIndex, const QVariant& vValue, int vRole = Qt::EditRole) override; void clear ( ); void setRoleNames(const QHash& vRoleNames ); + void appendRow (const QHash &vData ); + void insertRow (const int vRow, const QHash &vData ); + void updateData (const int vRow, const int vRole, const QVariant& vValue ); MListModel &operator = (const QList> &src ); public Q_SLOTS: @@ -40,6 +42,6 @@ private: QList> _data; QHash _roleNames; - }; -} + +} // namespace View Index: sources/storage/Logger.cpp =================================================================== diff -u -rd862dfcd402206e33b314c458e41c13b684a4565 -rc1e50347c78096b626b2cd1ef32a33b439e88bdd --- sources/storage/Logger.cpp (.../Logger.cpp) (revision d862dfcd402206e33b314c458e41c13b684a4565) +++ sources/storage/Logger.cpp (.../Logger.cpp) (revision c1e50347c78096b626b2cd1ef32a33b439e88bdd) @@ -557,7 +557,6 @@ _logFileNameTime = QDateTime::currentDateTime().time().toString(_fileTimeFormat); } break; - case GuiTDOpModes::MODE_TPAR: case GuiTDOpModes::MODE_PRET: case GuiTDOpModes::MODE_TREA: case GuiTDOpModes::MODE_POST: Index: sources/view/td/data/VTDOpModeData.cpp =================================================================== diff -u -rf2e4eba6e85c5d36537be782926f23cc9dc01037 -rc1e50347c78096b626b2cd1ef32a33b439e88bdd --- sources/view/td/data/VTDOpModeData.cpp (.../VTDOpModeData.cpp) (revision f2e4eba6e85c5d36537be782926f23cc9dc01037) +++ sources/view/td/data/VTDOpModeData.cpp (.../VTDOpModeData.cpp) (revision c1e50347c78096b626b2cd1ef32a33b439e88bdd) @@ -28,7 +28,6 @@ service ( vData.mOpMode == GuiTDOpModes ::MODE_SERV ); init ( vData.mOpMode == GuiTDOpModes ::MODE_INIT ); standby ( vData.mOpMode == GuiTDOpModes ::MODE_STAN ); - validateParameters ( vData.mOpMode == GuiTDOpModes ::MODE_TPAR ); preTreatment ( vData.mOpMode == GuiTDOpModes ::MODE_PRET ); inTreatment ( vData.mOpMode == GuiTDOpModes ::MODE_TREA ); postTreatment ( vData.mOpMode == GuiTDOpModes ::MODE_POST );