Index: leahi.pro =================================================================== diff -u -r5504ac8191553be2580700b4a010426a58d71fd4 -r0bb5f08eb3570de6bff3ce67ca502db129b59096 --- leahi.pro (.../leahi.pro) (revision 5504ac8191553be2580700b4a010426a58d71fd4) +++ leahi.pro (.../leahi.pro) (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -236,7 +236,8 @@ sources/model/td/adjustment/treatment/MTreatmentAdjustUltrafiltrationConfirmResponse.h \ sources/model/td/adjustment/treatment/MTreatmentAdjustVitalsResponse.h \ \ # ---------- Views - TD - Data - States //// ----- @LEAHIZED - sources/view/VListModel.h \ + sources/view/VHeaderbarModel.h \ + sources/view/VWaterSampleModel.h \ sources/view/dd/data/VDDBloodLeakData.h \ sources/view/dd/data/VDDConcentratePumpData.h \ sources/view/dd/data/VDDConductivityData.h \ @@ -574,7 +575,8 @@ sources/model/ui/data/MUIBloodPressureData.cpp \ sources/storage/Settings.cpp \ sources/storage/TreatmentLog.cpp \ - sources/view/VListModel.cpp \ + sources/view/VHeaderbarModel.cpp \ + sources/view/VWaterSampleModel.cpp \ sources/view/dd/data/VDDBloodLeakData.cpp \ sources/view/dd/data/VDDConcentratePumpData.cpp \ sources/view/dd/data/VDDConductivityData.cpp \ Index: sources/gui/GuiGlobals.cpp =================================================================== diff -u -r5504ac8191553be2580700b4a010426a58d71fd4 -r0bb5f08eb3570de6bff3ce67ca502db129b59096 --- sources/gui/GuiGlobals.cpp (.../GuiGlobals.cpp) (revision 5504ac8191553be2580700b4a010426a58d71fd4) +++ sources/gui/GuiGlobals.cpp (.../GuiGlobals.cpp) (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -23,7 +23,8 @@ #include "GuiView.h" #include "VEventSpy.h" #include "VGeneralEvent.h" -#include "VListModel.h" +#include "VHeaderbarModel.h" +#include "VWaterSampleModel.h" // POST #include "VHDPOSTData.h" Index: sources/gui/qml/components/HeaderBar.qml =================================================================== diff -u -rfb1185f1c17778a9f8b300170d8d635a1532f6b4 -r0bb5f08eb3570de6bff3ce67ca502db129b59096 --- sources/gui/qml/components/HeaderBar.qml (.../HeaderBar.qml) (revision fb1185f1c17778a9f8b300170d8d635a1532f6b4) +++ sources/gui/qml/components/HeaderBar.qml (.../HeaderBar.qml) (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -36,10 +36,10 @@ Mode_HDF } - onIsHDFFeaturedChanged : vListModel.setHeaderbarHDFVisible(_root.isHDFFeatured ) - onIsHeparinFeaturedChanged : vListModel.setHeaderbarHeparinVisible(_root.isHeparinFeatured ) + onIsHDFFeaturedChanged : vHeaderbarModel.setHeaderbarHDFVisible(_root.isHDFFeatured ) + onIsHeparinFeaturedChanged : vHeaderbarModel.setHeaderbarHeparinVisible(_root.isHeparinFeatured ) Component.onCompleted : { - vListModel.setHeaderbarHDFVisible (_root.isHDFFeatured ) + vHeaderbarModel.setHeaderbarHDFVisible (_root.isHDFFeatured ) } function vitalsRecorded() { _vitalsButton.pulseAnimation.start() } @@ -160,7 +160,7 @@ titlePixelSize : 32 backgroundColor : Colors.transparent highlightHeight : 15 - model : vListModel.headerbarModel + model : vHeaderbarModel.model onHiddenChanged : { if (hidden) { index = 0 } } } Index: sources/gui/qml/components/Line.qml =================================================================== diff -u -ra5760947d3ed0d2748ba023a1c25e3c6aa0b1de1 -r0bb5f08eb3570de6bff3ce67ca502db129b59096 --- sources/gui/qml/components/Line.qml (.../Line.qml) (revision a5760947d3ed0d2748ba023a1c25e3c6aa0b1de1) +++ sources/gui/qml/components/Line.qml (.../Line.qml) (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -25,14 +25,11 @@ Vertical } - property alias bgColor : _root.color - property alias bgOpacity : _root.opacity - property int orientation: Line.Orientation.Horizontal property int length : 20 property int thickness : 1 - width : orientation === Line.Orientation.Horizontal ? length : thickness - height: orientation === Line.Orientation.Vertical ? length : thickness - color: Colors.line + width : orientation === Line.Orientation.Horizontal ? length : thickness + height : orientation === Line.Orientation.Vertical ? length : thickness + color : Colors.line } Index: sources/gui/qml/components/ProgressBar.qml =================================================================== diff -u -rbea36be2766046e63c4e82539a630b5cee7ce1c6 -r0bb5f08eb3570de6bff3ce67ca502db129b59096 --- sources/gui/qml/components/ProgressBar.qml (.../ProgressBar.qml) (revision bea36be2766046e63c4e82539a630b5cee7ce1c6) +++ sources/gui/qml/components/ProgressBar.qml (.../ProgressBar.qml) (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -37,10 +37,6 @@ property string unitText : "" property bool showMarker : true - property alias decimal : _root.decimal - property alias minimum : _root.minimum - property alias maximum : _root.maximum - signal progressClicked() height : Variables.progressbarHeight Index: sources/gui/qml/components/RangeSlider.qml =================================================================== diff -u -ra5760947d3ed0d2748ba023a1c25e3c6aa0b1de1 -r0bb5f08eb3570de6bff3ce67ca502db129b59096 --- sources/gui/qml/components/RangeSlider.qml (.../RangeSlider.qml) (revision a5760947d3ed0d2748ba023a1c25e3c6aa0b1de1) +++ sources/gui/qml/components/RangeSlider.qml (.../RangeSlider.qml) (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -63,7 +63,7 @@ property bool ticks : false ///< visible the tick marks property alias color : _rangeRect.color ///< the within range sliding color - property alias bgColor : _root.color ///< the out of range sliding color + property alias bgColor : color ///< the out of range sliding color property bool minAdjusted : false ///< first time user adjustment happens property bool maxAdjusted : false ///< first time user adjustment happens @@ -251,7 +251,7 @@ // added an if block in case for the first time (not adjusted yet) the value is not changed (still on def value), to force the valueChanged emit. if ( ! minAdjusted ) { minAdjusted = true - if ( vValue == minValue ) + if ( vValue === minValue ) minValueChanged(vValue) else minValue = vValue @@ -265,7 +265,7 @@ // added an if block in case for the first time (not adjusted yet) the value is not changed (still on def value), to force the valueChanged emit. if ( ! maxAdjusted ) { maxAdjusted = true - if ( vValue == maxValue ) + if ( vValue === maxValue ) maxValueChanged(vValue) else maxValue = vValue Index: sources/gui/qml/components/RangedValue.qml =================================================================== diff -u -r41a18f001483e96ccd4b08629b9f1e0ae20f3547 -r0bb5f08eb3570de6bff3ce67ca502db129b59096 --- sources/gui/qml/components/RangedValue.qml (.../RangedValue.qml) (revision 41a18f001483e96ccd4b08629b9f1e0ae20f3547) +++ sources/gui/qml/components/RangedValue.qml (.../RangedValue.qml) (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -44,7 +44,7 @@ else { let fixedVal = _private.fixedValue(value) let fixedStep = _private.fixedValue(step) - if (fixedStep != 0) { + if (fixedStep !== 0) { // if value is not step aligned, then fixedDelta will be amount to next higher step // otherwise fixedDelta will be a whole step let fixedDelta = fixedStep - (fixedVal % fixedStep) @@ -66,7 +66,7 @@ else { let fixedVal = _private.fixedValue(value) let fixedStep = _private.fixedValue(step) - if (fixedStep != 0) { + if (fixedStep !== 0) { // if value is not step aligned, then fixedDelta will be amount to next lower step // otherwise fixedDelta will be a whole step let fixedDelta = fixedVal % fixedStep @@ -92,14 +92,14 @@ function calculateMinimum() { let fixedMin = _private.fixedValue(min) let fixedStep = _private.fixedValue(step) - return (fixedStep != 0 ? (Math.ceil(fixedMin / fixedStep) * fixedStep) : fixedMin) / _private.multiplier + return (fixedStep !== 0 ? (Math.ceil(fixedMin / fixedStep) * fixedStep) : fixedMin) / _private.multiplier } // calculate the maximum value rounded down to the next higher step size function calculateMaximum() { let fixedMax = _private.fixedValue(max) let fixedStep = _private.fixedValue(step) - return (fixedStep != 0 ? (Math.floor(fixedMax / fixedStep) * fixedStep) : fixedMax) / _private.multiplier + return (fixedStep !== 0 ? (Math.floor(fixedMax / fixedStep) * fixedStep) : fixedMax) / _private.multiplier } // return a fixed point int from the inputted float (using the set precision) Index: sources/gui/qml/components/ScrollBar.qml =================================================================== diff -u -ra5760947d3ed0d2748ba023a1c25e3c6aa0b1de1 -r0bb5f08eb3570de6bff3ce67ca502db129b59096 --- sources/gui/qml/components/ScrollBar.qml (.../ScrollBar.qml) (revision a5760947d3ed0d2748ba023a1c25e3c6aa0b1de1) +++ sources/gui/qml/components/ScrollBar.qml (.../ScrollBar.qml) (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -29,11 +29,10 @@ Background { id: _root property Flickable flickable: undefined property alias scrollColor : _scrollbar.color - property alias backColor : _root.color property real scrollMargin : 0 property alias handleWidth : _scrollbar.width - clip: true + clip : true color : Colors.transparent Rectangle { id: _scrollbar anchors { Index: sources/gui/qml/dialogs/AlarmDialog.qml =================================================================== diff -u -ra70ed53a325b45337e7699656491c4e4a6c6ebce -r0bb5f08eb3570de6bff3ce67ca502db129b59096 --- sources/gui/qml/dialogs/AlarmDialog.qml (.../AlarmDialog.qml) (revision a70ed53a325b45337e7699656491c4e4a6c6ebce) +++ sources/gui/qml/dialogs/AlarmDialog.qml (.../AlarmDialog.qml) (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -8,6 +8,8 @@ import "qrc:/components" import "qrc:/compounds" +Rectangle { id : _root + property alias titleText : _title.text property alias titlePixelSize : _title.font.pixelSize property alias instructionModel : _listView.model @@ -117,7 +119,7 @@ ListView {id: _listView anchors { top : _autoStepController.bottom - topMargin : Variables.defaultMargin + topMargin : Variables.defaultMargin * 2 bottom : parent.bottom left : parent.left leftMargin : Variables.defaultMargin * 4 @@ -197,7 +199,7 @@ } } - Item { id: _timerRect + Rectangle { id: _timerRect property int countDown : 0 height : 70 Index: sources/gui/qml/dialogs/watersample/WaterSampleDialog.qml =================================================================== diff -u -r0cdf32f7ac4a4b4b3a1281d7a70045054662b27c -r0bb5f08eb3570de6bff3ce67ca502db129b59096 --- sources/gui/qml/dialogs/watersample/WaterSampleDialog.qml (.../WaterSampleDialog.qml) (revision 0cdf32f7ac4a4b4b3a1281d7a70045054662b27c) +++ sources/gui/qml/dialogs/watersample/WaterSampleDialog.qml (.../WaterSampleDialog.qml) (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -26,7 +26,7 @@ height : Variables.dialogHeight clip : true - readonly property bool timeout: vWaterSample.Timeout + readonly property bool timeout: vWaterSample.timeout onTimeoutChanged: { if ( _root.timeout ) { @@ -52,7 +52,7 @@ width : _root.width / 2.5 color : Colors.transparent titlePixelSize : 30 - model : vListModel.waterSampleModel + model : vWaterSampleModel.model index : 0 } Index: sources/gui/qml/dialogs/watersample/WaterSamplePage.qml =================================================================== diff -u -r28c4b26c7a04258ad6022101700adab7618d3bdb -r0bb5f08eb3570de6bff3ce67ca502db129b59096 --- sources/gui/qml/dialogs/watersample/WaterSamplePage.qml (.../WaterSamplePage.qml) (revision 28c4b26c7a04258ad6022101700adab7618d3bdb) +++ sources/gui/qml/dialogs/watersample/WaterSamplePage.qml (.../WaterSamplePage.qml) (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -11,7 +11,7 @@ WaterSampleBase { id: _root anchors.fill: parent - readonly property bool isPrimary : vWaterSample.Valve === WaterSamplePage.PRIMARY + readonly property bool isPrimary : vWaterSample.valve === WaterSamplePage.PRIMARY enum Valve { PRIMARY , Index: sources/gui/qml/main.qml =================================================================== diff -u -r5504ac8191553be2580700b4a010426a58d71fd4 -r0bb5f08eb3570de6bff3ce67ca502db129b59096 --- sources/gui/qml/main.qml (.../main.qml) (revision 5504ac8191553be2580700b4a010426a58d71fd4) +++ sources/gui/qml/main.qml (.../main.qml) (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -35,7 +35,8 @@ import VTDSwitches 0.1 import VTDEjector 0.1 import VTDTemperature 0.1 -import VListModel 0.1 +import VHeaderbarModel 0.1 +import VWaterSampleModel 0.1 // POST import VHDPOSTData 0.1 @@ -240,7 +241,8 @@ VTDSwitches { id: vTDSwitches } VTDEjector { id: vTDEjector } VTDTemperature { id: vTDTemperature } - VListModel { id: vListModel } + VHeaderbarModel { id: vHeaderbarModel } + VWaterSampleModel { id: vWaterSampleModel } VWaterSample { id: vWaterSample } VTreatmentDialysateFlow { id: vTreatmentDialysateFlow } Index: sources/gui/qml/pages/posttreatment/PostTreatmentReview.qml =================================================================== diff -u -r735e9e89a99157992fb1ec6e3f0d2953e564346d -r0bb5f08eb3570de6bff3ce67ca502db129b59096 --- sources/gui/qml/pages/posttreatment/PostTreatmentReview.qml (.../PostTreatmentReview.qml) (revision 735e9e89a99157992fb1ec6e3f0d2953e564346d) +++ sources/gui/qml/pages/posttreatment/PostTreatmentReview.qml (.../PostTreatmentReview.qml) (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -37,7 +37,7 @@ ScrollBar { anchors.fill: _flickable flickable : _flickable - backColor : Colors.backgroundDialog + color : Colors.backgroundDialog } Label { id: _txCode Index: sources/gui/qml/pages/settings/SettingsDeviceRegistration.qml =================================================================== diff -u -r934354462a353ff5e7fc2ddfe6f3a8f0121a8f3f -r0bb5f08eb3570de6bff3ce67ca502db129b59096 --- sources/gui/qml/pages/settings/SettingsDeviceRegistration.qml (.../SettingsDeviceRegistration.qml) (revision 934354462a353ff5e7fc2ddfe6f3a8f0121a8f3f) +++ sources/gui/qml/pages/settings/SettingsDeviceRegistration.qml (.../SettingsDeviceRegistration.qml) (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -148,7 +148,7 @@ let mHasNetworkConnection = (_ipAddress_eth0.isValid || _ipAddress_wlan0.isValid) if ( ! mHasNetworkConnection) { _root.notificationText = qsTr("No Network Connection"); return } - let mHasSerials = ( _serial_TD != "" && _serial_DD != "") + let mHasSerials = ( _serial_TD !== "" && _serial_DD !== "") if ( ! mHasSerials ) { _root.notificationText = qsTr("No device Serial" ); return } vCloudSync .doRegister () } // start device registration Index: sources/gui/qml/pages/treatment/TreatmentHDF.qml =================================================================== diff -u -r171387aefe2f3d21245ff32fc9b9656c79bfa406 -r0bb5f08eb3570de6bff3ce67ca502db129b59096 --- sources/gui/qml/pages/treatment/TreatmentHDF.qml (.../TreatmentHDF.qml) (revision 171387aefe2f3d21245ff32fc9b9656c79bfa406) +++ sources/gui/qml/pages/treatment/TreatmentHDF.qml (.../TreatmentHDF.qml) (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -31,8 +31,7 @@ signal sectionPressuresClicked() signal treatmentHDFEditClicked() - // onStatusColorChanged: TODO update to this - Component.onCompleted : vListModel.setHeaderbarHDFStatusColor(_root.statusColor.toString()) + Component.onCompleted : vHeaderbarModel.setHeaderbarHDFStatusColor(_root.statusColor.toString()) Connections { target: vTDOpMode function onInTreatmentChanged ( vValue ) { if ( vValue ) { _chart.updateXAxis() } } Index: sources/gui/qml/pages/treatment/TreatmentHeparin.qml =================================================================== diff -u -r171387aefe2f3d21245ff32fc9b9656c79bfa406 -r0bb5f08eb3570de6bff3ce67ca502db129b59096 --- sources/gui/qml/pages/treatment/TreatmentHeparin.qml (.../TreatmentHeparin.qml) (revision 171387aefe2f3d21245ff32fc9b9656c79bfa406) +++ sources/gui/qml/pages/treatment/TreatmentHeparin.qml (.../TreatmentHeparin.qml) (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -105,7 +105,7 @@ Connections { target: vTDTreatmentStates function onHeparinChanged ( vValue ) { - vListModel.setHeaderbarHeparinStatusColor(_root.statusColor(true).toString()) + vHeaderbarModel.setHeaderbarHeparinStatusColor(_root.statusColor(true).toString()) } } Index: sources/gui/qml/pages/treatment/TreatmentTrends.qml =================================================================== diff -u -r7fb13d9e1a453a37ab4dea5536e0f19ed6e272d2 -r0bb5f08eb3570de6bff3ce67ca502db129b59096 --- sources/gui/qml/pages/treatment/TreatmentTrends.qml (.../TreatmentTrends.qml) (revision 7fb13d9e1a453a37ab4dea5536e0f19ed6e272d2) +++ sources/gui/qml/pages/treatment/TreatmentTrends.qml (.../TreatmentTrends.qml) (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -49,8 +49,8 @@ component Header: Rectangle { id: _header objectName : "_header" - property alias label : _labelText.text - property alias labelFontWeight : _labelText.font.weight + property alias label : _text.text + property alias labelFontWeight : _text.font.weight height : _private.topHeaderHeight radius : 10 color : Colors.treatmentSectionHeader @@ -67,8 +67,8 @@ } } - Text { id: _labelText - objectName : "_labelText" + Text { id: _text + objectName : "_text" anchors { left : parent.left leftMargin : Variables.defaultMargin @@ -152,8 +152,8 @@ } } - Rectangle { id: _horizontalDivider - objectName : "_horizontalDivider" + Rectangle { id: _divider + objectName : "_divider" anchors { bottom : parent.bottom left : parent.left Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentIsolatedUFDurationEdit.qml =================================================================== diff -u -r0a9e9579c7481eb5e0900fe604cac7bba6bb86ca -r0bb5f08eb3570de6bff3ce67ca502db129b59096 --- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentIsolatedUFDurationEdit.qml (.../TreatmentAdjustmentIsolatedUFDurationEdit.qml) (revision 0a9e9579c7481eb5e0900fe604cac7bba6bb86ca) +++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentIsolatedUFDurationEdit.qml (.../TreatmentAdjustmentIsolatedUFDurationEdit.qml) (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -141,7 +141,7 @@ font.weight : Font.Medium } isDefault : true - enabled : _durationAdjuster.value != vTreatmentIsolatedUF.duration + enabled : _durationAdjuster.value !== vTreatmentIsolatedUF.duration onClicked : { continueClicked(_durationAdjuster.value) Index: sources/view/VHeaderbarModel.cpp =================================================================== diff -u --- sources/view/VHeaderbarModel.cpp (revision 0) +++ sources/view/VHeaderbarModel.cpp (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -0,0 +1,54 @@ +#include "VHeaderbarModel.h" + +#include "GuiController.h" + +View::VHeaderbarModel::VHeaderbarModel(QObject *parent) +{ + Q_UNUSED(parent) + ACTION_VIEW_CONNECTION(SettingsData); + + _model.setRoleNames({ { eRole_Text , "text" }, + { eRole_Visible , "visible" }, + { eRole_Screen , "screen" }, + { eRole_StatusColor , "statusColor" }, + }); + + initModel(); +} + +void View::VHeaderbarModel::initModel() +{ + _model.clear(); + _model.insertRow( eTreatment,{{ eRole_Text, tr("Treatment")}, { eRole_Visible, true }, { eRole_Screen, eTreatment}, { eRole_StatusColor, "Transparent" }}); + _model.insertRow( eTrends ,{{ eRole_Text, tr("Trends") }, { eRole_Visible, true }, { eRole_Screen, eTrends }, { eRole_StatusColor, "Transparent" }}); + _model.insertRow( eHeparin ,{{ eRole_Text, tr("Heparin") }, { eRole_Visible, _heparinSyringePump }, { eRole_Screen, eHeparin }, { eRole_StatusColor, "Transparent" }}); + _model.insertRow( eHDF ,{{ eRole_Text, tr("HDF") }, { eRole_Visible, true }, { eRole_Screen, eHDF }, { eRole_StatusColor, "Transparent" }}); +} + +void View::VHeaderbarModel::setHeaderbarHeparinStatusColor (QString color) +{ + _model.updateData(eHeparin, eRole_StatusColor, color); +} + +void View::VHeaderbarModel::setHeaderbarHDFStatusColor (QString color) +{ + _model.updateData(eHDF, eRole_StatusColor, color); +} + +void View::VHeaderbarModel::setHeaderbarHeparinVisible (bool visible) +{ + _model.updateData(eHeparin, eRole_Visible, visible); +} + +void View::VHeaderbarModel::setHeaderbarHDFVisible (bool visible) +{ + _model.updateData(eHDF, eRole_Visible, visible); +} + +void View::VHeaderbarModel::onActionReceive(const SettingsData &) +{ + QString mCategory = Storage::Settings_Category_SettingsSystem; + FROMVARIANT( heparinSyringePump , "Feature Configurations", "HeparinSyringePump", UInt ); + + initModel(); +} Index: sources/view/VHeaderbarModel.h =================================================================== diff -u --- sources/view/VHeaderbarModel.h (revision 0) +++ sources/view/VHeaderbarModel.h (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -0,0 +1,68 @@ +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VView.h" + +#include "MListModel.h" +#include "MSettings.h" + +// namespace +namespace View { + +/*! + * \brief The VHeaderbarModel class + * \details View for handling general models used for QML + * + * \sa View::VHeaderbarModel + * + */ +class VHeaderbarModel : public QObject +{ + Q_OBJECT + + enum { + eTreatment = 0, + eTrends = 1, + eHeparin = 2, + eHDF = 3 + } TreatmentScreen; + + enum { + eRole_Text = Qt::UserRole +1 , + eRole_Visible , + eRole_Screen , + eRole_StatusColor + } DataRole; + + + Q_PROPERTY(MListModel* model READ model NOTIFY didModelChange) + + PROPERTY ( int , heparinSyringePump , 0) + + VIEW_DEC_SLOT(SettingsData ) + +public: + explicit VHeaderbarModel(QObject *parent = nullptr); + +public slots: + void setHeaderbarHeparinStatusColor (QString color); + void setHeaderbarHDFStatusColor (QString color); + + void setHeaderbarHeparinVisible (bool visible); + void setHeaderbarHDFVisible (bool visible); + +private: + MListModel* model () { return &_model; } + MListModel _model; + + void initModel(); + +signals: + void didModelChange(); + +}; +} Fisheye: Tag 0bb5f08eb3570de6bff3ce67ca502db129b59096 refers to a dead (removed) revision in file `sources/view/VListModel.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 0bb5f08eb3570de6bff3ce67ca502db129b59096 refers to a dead (removed) revision in file `sources/view/VListModel.h'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/view/VView.h =================================================================== diff -u -r5504ac8191553be2580700b4a010426a58d71fd4 -r0bb5f08eb3570de6bff3ce67ca502db129b59096 --- sources/view/VView.h (.../VView.h) (revision 5504ac8191553be2580700b4a010426a58d71fd4) +++ sources/view/VView.h (.../VView.h) (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -121,7 +121,8 @@ #define REGISTER_VIEW_TYPES \ using namespace View; \ REGISTER_TYPE( VGeneralEvent ) \ - REGISTER_TYPE( VListModel ) \ + REGISTER_TYPE( VHeaderbarModel ) \ + REGISTER_TYPE( VWaterSampleModel ) \ /* CONFIRM */ \ REGISTER_TYPE( VConfirm ) \ /* POST */ \ Index: sources/view/VWaterSampleModel.cpp =================================================================== diff -u --- sources/view/VWaterSampleModel.cpp (revision 0) +++ sources/view/VWaterSampleModel.cpp (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -0,0 +1,28 @@ +#include "VWaterSampleModel.h" + +#include "GuiController.h" + +View::VWaterSampleModel::VWaterSampleModel(QObject *parent) +{ + Q_UNUSED(parent) + ACTION_VIEW_CONNECTION(SettingsData); + _model.setRoleNames({ { eRole_Text , "text" }, + { eRole_Visible , "visible" }, + }); + initModel(); +} + +void View::VWaterSampleModel::initModel() +{ + _model.clear(); + _model.insertRow( eWaterSample , {{ eRole_Text, tr("Water Sample") }, { eRole_Visible, _roWaterMode }}); + _model.insertRow( eDialysateChecks , {{ eRole_Text, tr("Dialysate Checks")}, { eRole_Visible, true }}); +} + +void View::VWaterSampleModel::onActionReceive(const SettingsData &) +{ + QString mCategory = Storage::Settings_Category_SettingsSystem; + FROMVARIANT( roWaterMode , "Feature Configurations", "RoWaterMode" , UInt ); + + initModel(); +} Index: sources/view/VWaterSampleModel.h =================================================================== diff -u --- sources/view/VWaterSampleModel.h (revision 0) +++ sources/view/VWaterSampleModel.h (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -0,0 +1,56 @@ +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VView.h" + +#include "MListModel.h" +#include "MSettings.h" + +// namespace +namespace View { + +/*! + * \brief The VWaterSampleModel class + * \details View for handling general models used for QML + * + * \sa View::VWaterSampleModel + * + */ +class VWaterSampleModel : public QObject +{ + Q_OBJECT + + enum { + eRole_Text = Qt::UserRole +1 , + eRole_Visible + } DataRole; + + enum { + eWaterSample = 0, + eDialysateChecks= 1 + } WaterSample; + + Q_PROPERTY(MListModel* model READ model NOTIFY didModelChange) + + PROPERTY ( int , roWaterMode , 0) + + VIEW_DEC_SLOT(SettingsData ) + +public: + explicit VWaterSampleModel(QObject *parent = nullptr); + +private: + MListModel* model () { return &_model; } + MListModel _model; + + void initModel(); + +signals: + void didModelChange(); + +}; +} Index: sources/view/hd/data/pretreatment/VPreTreatmentStatesData.cpp =================================================================== diff -u -r43ae56f762e6f3e1416d39e3d16f9103fc597e41 -r0bb5f08eb3570de6bff3ce67ca502db129b59096 --- sources/view/hd/data/pretreatment/VPreTreatmentStatesData.cpp (.../VPreTreatmentStatesData.cpp) (revision 43ae56f762e6f3e1416d39e3d16f9103fc597e41) +++ sources/view/hd/data/pretreatment/VPreTreatmentStatesData.cpp (.../VPreTreatmentStatesData.cpp) (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -86,22 +86,25 @@ // Self tests dry state bool mSelfTestDry = vData.mSubMode == GuiPreTreatmentStates ::TD_PRE_TREATMENT_SELF_TEST_DRY_STATE ; if ( mSelfTestDry ) { - selfTestDry_start ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_START_STATE ); - selfTestDry_waitDoorClose ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE ); - selfTestDry_usedCartridge ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_USED_CARTRIDGE_CHECK_STATE ); - selfTestDry_cartridgeLoaded ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_CARTRIDGE_LOADED_CHECK_STATE ); - selfTestDry_pressureSensorsNormalSetup ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_PRESSURE_SENSORS_NORMAL_SETUP_STATE ); - selfTestDry_pressureSensorsVenousSetup ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_PRESSURE_SENSORS_VENOUS_SETUP_STATE ); - selfTestDry_pressureSensorsVenous ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_PRESSURE_SENSORS_VENOUS ); - selfTestDry_pressureSensorsArterialSetup ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_PRESSURE_SENSORS_ARTERIAL_SETUP_STATE ); - selfTestDry_pressureSensorsArterial ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_PRESSURE_SENSORS_ARTERIAL ); - selfTestDry_pressureSensorsDecay ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_PRESSURE_SENSORS_DECAY_STATE ); - selfTestDry_pressureSensorsStability ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_PRESSURE_SENSORS_STABILITY_STATE ); - selfTestDry_pressureSensorsNormal ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_PRESSURE_SENSORS_NORMAL_STATE ); - selfTestDry_syringePump ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_SYRINGE_PUMP_PRIME_STATE ); - selfTestDry_syringePumpOcclusionDetection ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_SYRINGE_PUMP_OCCLUSION_DETECTION_STATE ); - selfTestDry_stopped ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_STOPPED_STATE ); - selfTestDry_complete ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_COMPLETE_STATE ); + selfTestDry_start ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_START_STATE ); + selfTestDry_waitDoorClose ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE ); + selfTestDry_usedTubeSetCheck ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_USED_TUBE_SET_CHECK_STATE ); + selfTestDry_tubeSetLoadedCheck ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_TUBE_SET_LOADED_CHECK_STATE ); + selfTestDry_tubeSetAuthentication ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_TUBE_SET_AUTHENTICATION_STATE ); + selfTestDry_syringePumpSeek ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_SYRINGE_PUMP_SEEK_STATE ); + selfTestDry_pressureSensorNormalSetup ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_PRESSURE_SENSOR_NORMAL_SETUP_STATE ); + selfTestDry_pressureSensorVenousSetup ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_PRESSURE_VENOUS_SETUP_STATE ); + selfTestDry_venousPressureStabilization ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_VENOUS_PRESSURE_STABILIZATION_STATE ); + selfTestDry_venousPressureLeakCheck ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_VENOUS_PRESSURE_LEAK_CHECK_STATE ); + selfTestDry_venousPressureRelief ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_VENOUS_PRESSURE_RELIEF_STATE ); + selfTestDry_pressureArterialSetup ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_PRESSURE_ARTERIAL_SETUP_STATE ); + selfTestDry_arterialPressureStabilization ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_ARTERIAL_PRESSURE_STABILIZATION_STATE ); + selfTestDry_arterialPressureLeakCheck ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_ARTERIAL_PRESSURE_LEAK_CHECK_STATE ); + selfTestDry_arterialPressureRelief ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_ARTERIAL_PRESSURE_RELIEF_STATE ); + selfTestDry_syringePump ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_SYRINGE_PUMP_PRIME_STATE ); + selfTestDry_syringePumpOcclusionCheck ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_SYRINGE_PUMP_OCCLUSION_CHECK_STATE ); + selfTestDry_complete ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_COMPLETE_STATE ); + selfTestDry_stopped ( vData.mSelfTestDryState == GuiPreTreatmentSelfTestDryStates ::DRY_SELF_TESTS_STOPPED_STATE ); } selfTestDry(mSelfTestDry); // it's the main even so moved last to have all the sub-states updated prior to. Index: sources/view/hd/data/pretreatment/VPreTreatmentStatesData.h =================================================================== diff -u -ra5760947d3ed0d2748ba023a1c25e3c6aa0b1de1 -r0bb5f08eb3570de6bff3ce67ca502db129b59096 --- sources/view/hd/data/pretreatment/VPreTreatmentStatesData.h (.../VPreTreatmentStatesData.h) (revision a5760947d3ed0d2748ba023a1c25e3c6aa0b1de1) +++ sources/view/hd/data/pretreatment/VPreTreatmentStatesData.h (.../VPreTreatmentStatesData.h) (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -89,22 +89,23 @@ // Self tests dry state PROPERTY( bool , selfTestDry_start , false ) ///< DRY_SELF_TESTS_START_STATE , Dry self-tests starting state. PROPERTY( bool , selfTestDry_waitDoorClose , false ) ///< DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE , Wait for door to close before executing self-tests. - STATE ( bool , selfTestDry_usedCartridge , false ) ///< DRY_SELF_TESTS_USED_CARTRIDGE_CHECK_STATE , Used Cartridge self-test state. - STATE ( bool , selfTestDry_cartridgeLoaded , false ) ///< DRY_SELF_TESTS_CARTRIDGE_LOADED_CHECK_STATE , Cartridge loaded check dry self-test state. - - STATE ( bool , selfTestDry_pressureSensorsNormalSetup , false ) ///< DRY_SELF_TESTS_PRESSURE_SENSORS_NORMAL_SETUP_STATE , Pressure sensor setup state. - STATE ( bool , selfTestDry_pressureSensorsVenousSetup , false ) ///< DRY_SELF_TESTS_PRESSURE_SENSORS_VENOUS_SETUP_STATE , Venous pressure sensor dry self-test setup valves and pump state - STATE ( bool , selfTestDry_pressureSensorsVenous , false ) ///< DRY_SELF_TESTS_PRESSURE_SENSORS_VENOUS , Venous pressure sensor dry self-test - STATE ( bool , selfTestDry_pressureSensorsArterialSetup , false ) ///< DRY_SELF_TESTS_PRESSURE_SENSORS_ARTERIAL_SETUP_STATE , Arterial pressure sensor dry self-test setup valves and pump state - STATE ( bool , selfTestDry_pressureSensorsArterial , false ) ///< DRY_SELF_TESTS_PRESSURE_SENSORS_ARTERIAL , Arterial pressure sensor dry self-test - - STATE ( bool , selfTestDry_pressureSensorsDecay , false ) ///< DRY_SELF_TESTS_PRESSURE_SENSORS_DECAY_STATE , Pressure sensors verify pressure loss state - STATE ( bool , selfTestDry_pressureSensorsStability , false ) ///< DRY_SELF_TESTS_PRESSURE_SENSORS_STABILITY_STATE , Pressure sensors verify pressure stability state - STATE ( bool , selfTestDry_pressureSensorsNormal , false ) ///< DRY_SELF_TESTS_PRESSURE_SENSORS_NORMAL_STATE , Pressure sensors verify normal pressure readings state. + STATE ( bool , selfTestDry_usedTubeSetCheck , false ) ///< DRY_SELF_TESTS_USED_TUBE_SET_CHECK_STATE + STATE ( bool , selfTestDry_tubeSetLoadedCheck , false ) ///< DRY_SELF_TESTS_TUBE_SET_LOADED_CHECK_STATE + STATE ( bool , selfTestDry_tubeSetAuthentication , false ) ///< DRY_SELF_TESTS_TUBE_SET_AUTHENTICATION_STATE + STATE ( bool , selfTestDry_syringePumpSeek , false ) ///< DRY_SELF_TESTS_SYRINGE_PUMP_SEEK_STATE + STATE ( bool , selfTestDry_pressureSensorNormalSetup , false ) ///< DRY_SELF_TESTS_PRESSURE_SENSOR_NORMAL_SETUP_STATE + STATE ( bool , selfTestDry_pressureSensorVenousSetup , false ) ///< DRY_SELF_TESTS_PRESSURE_VENOUS_SETUP_STATE + STATE ( bool , selfTestDry_venousPressureStabilization , false ) ///< DRY_SELF_TESTS_VENOUS_PRESSURE_STABILIZATION_STATE + STATE ( bool , selfTestDry_venousPressureLeakCheck , false ) ///< DRY_SELF_TESTS_VENOUS_PRESSURE_LEAK_CHECK_STATE + STATE ( bool , selfTestDry_venousPressureRelief , false ) ///< DRY_SELF_TESTS_VENOUS_PRESSURE_RELIEF_STATE + STATE ( bool , selfTestDry_pressureArterialSetup , false ) ///< DRY_SELF_TESTS_PRESSURE_ARTERIAL_SETUP_STATE + STATE ( bool , selfTestDry_arterialPressureStabilization, false ) ///< DRY_SELF_TESTS_ARTERIAL_PRESSURE_STABILIZATION_STATE + STATE ( bool , selfTestDry_arterialPressureLeakCheck , false ) ///< DRY_SELF_TESTS_ARTERIAL_PRESSURE_LEAK_CHECK_STATE + STATE ( bool , selfTestDry_arterialPressureRelief , false ) ///< DRY_SELF_TESTS_ARTERIAL_PRESSURE_RELIEF_STATE STATE ( bool , selfTestDry_syringePump , false ) ///< DRY_SELF_TESTS_SYRINGE_PUMP_PRIME_STATE , Prime syringe pump state - STATE ( bool , selfTestDry_syringePumpOcclusionDetection, false ) ///< DRY_SELF_TESTS_SYRINGE_PUMP_OCCLUSION_DETECTION_STATE , Occlusion detection state - STATE ( bool , selfTestDry_stopped , false ) ///< DRY_SELF_TESTS_STOPPED_STATE , Dry self-test stopped state. + STATE ( bool , selfTestDry_syringePumpOcclusionCheck , false ) ///< DRY_SELF_TESTS_SYRINGE_PUMP_OCCLUSION_CHECK_STATE, Occlusion check state STATE ( bool , selfTestDry_complete , false ) ///< DRY_SELF_TESTS_COMPLETE_STATE , Dry self-test complete state. + STATE ( bool , selfTestDry_stopped , false ) ///< DRY_SELF_TESTS_STOPPED_STATE , Dry self-test stopped state. // Prime blood and dialysate circuits and run wet self-tests state STATE ( bool , prime_waitUserStart , false ) ///< HD_PRIME_WAIT_FOR_USER_START_STATE , Wait for user to start prime state Index: sources/view/td/data/VWaterSampleData.cpp =================================================================== diff -u -rfb1185f1c17778a9f8b300170d8d635a1532f6b4 -r0bb5f08eb3570de6bff3ce67ca502db129b59096 --- sources/view/td/data/VWaterSampleData.cpp (.../VWaterSampleData.cpp) (revision fb1185f1c17778a9f8b300170d8d635a1532f6b4) +++ sources/view/td/data/VWaterSampleData.cpp (.../VWaterSampleData.cpp) (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -8,6 +8,6 @@ void VWaterSample::onActionReceive(const WaterSampleData &vData) { - Valve (vData.mValve ); - Timeout (vData.mTimeout ); + valve (vData.mValve ); + timeout (vData.mTimeout ); } Index: sources/view/td/data/VWaterSampleData.h =================================================================== diff -u -r9403146058e7c4cef17bd542bbd39bbf032be9f3 -r0bb5f08eb3570de6bff3ce67ca502db129b59096 --- sources/view/td/data/VWaterSampleData.h (.../VWaterSampleData.h) (revision 9403146058e7c4cef17bd542bbd39bbf032be9f3) +++ sources/view/td/data/VWaterSampleData.h (.../VWaterSampleData.h) (revision 0bb5f08eb3570de6bff3ce67ca502db129b59096) @@ -23,8 +23,8 @@ { Q_OBJECT - PROPERTY( quint32 , Valve , 0) - PROPERTY( quint32 , Timeout , 0) + PROPERTY( quint32 , valve , 0) + PROPERTY( quint32 , timeout , 0) VIEW_DEC(VWaterSample, WaterSampleData) };