Index: leahi.qrc
===================================================================
diff -u -rb0ad6789ac542b1c24db1d89af3d4e1411a4d4f1 -rb9739918c71a21c181c8401f17ed05fb14996fec
--- leahi.qrc (.../leahi.qrc) (revision b0ad6789ac542b1c24db1d89af3d4e1411a4d4f1)
+++ leahi.qrc (.../leahi.qrc) (revision b9739918c71a21c181c8401f17ed05fb14996fec)
@@ -43,6 +43,7 @@
sources/gui/qml/dialogs/UfVolumeAdjustment.qml
sources/gui/qml/dialogs/HeparinRxAdjustment.qml
sources/gui/qml/dialogs/AlarmDialog.qml
+ sources/gui/qml/dialogs/DryDemoDialog.qml
sources/gui/qml/dialogs/diagnostics/DiagnosticsDialog.qml
Index: sources/gui/qml/components/HeaderBar.qml
===================================================================
diff -u -rc70815ad2b3beadf61832f2e4d12eb90d476e020 -rb9739918c71a21c181c8401f17ed05fb14996fec
--- sources/gui/qml/components/HeaderBar.qml (.../HeaderBar.qml) (revision c70815ad2b3beadf61832f2e4d12eb90d476e020)
+++ sources/gui/qml/components/HeaderBar.qml (.../HeaderBar.qml) (revision b9739918c71a21c181c8401f17ed05fb14996fec)
@@ -60,6 +60,7 @@
vConfirm.id = dryDemoTempID
vConfirm.doConfirm( true )
vConfirm.id = id
+ _dryDemoDialog.open()
}
else {
_diagnosticsDialog.open()
Index: sources/gui/qml/dialogs/DryDemoDialog.qml
===================================================================
diff -u
--- sources/gui/qml/dialogs/DryDemoDialog.qml (revision 0)
+++ sources/gui/qml/dialogs/DryDemoDialog.qml (revision b9739918c71a21c181c8401f17ed05fb14996fec)
@@ -0,0 +1,82 @@
+// Qt
+import QtQuick 2.15
+
+
+// Qml imports
+import "qrc:/globals"
+import "qrc:/components"
+import "qrc:/compounds"
+
+/*!
+ * \brief Dry Demo menu
+ */
+ModalDialog { id: _root
+ width : Variables.adjustmentDialogWidth
+ height : Variables.adjustmentDialogHeight
+
+ enum Menu {
+ STANDBY ,
+ PRE_TREATMENT ,
+ BLOOD_PRIME ,
+ MAIN_TREATMENT ,
+ RINSEBACK ,
+ RECIRCULATE ,
+ POST_TREATMENT ,
+ DISINFECTION ,
+ COUNT
+ }
+
+ TitleText { id : _titleText
+ text: qsTr("Dry Demo")
+ font {
+ pixelSize : Fonts.fontPixelTitle
+ weight : Font.Medium
+ }
+ color : Colors.textMain
+ width : contentWidth
+ height : contentHeight
+ anchors {
+ top : parent.top
+ horizontalCenter : parent.horizontalCenter
+ margins : Variables.defaultMargin * 2
+ }
+ }
+
+ TouchGrid { id: _grid
+ anchors.centerIn : parent
+ rowCount : itemsText.count / 2 ?? 0
+ colCount : 2
+ colSpacing : Variables.defaultMargin
+ itemWidth : _root.width / 2.5
+ itemHeight : Variables.createRxLabelUnitContainerHeight
+ lineThickness : 0
+ arrowWidth : Variables.iconButtonSize
+ arrowHeight : Variables.iconButtonSize
+ arrowRightMargin : Variables.defaultMargin
+ delegateColor : Colors.panelBackgroundColor
+ delegateBorderWidth : 1
+ delegateBorderColor : Colors.panelBorderColor
+ itemsHasIndent : Array(itemsText.length).fill(true) // sets all to true
+
+ onItemClicked : vConfirm.doDryDemo(vIndex) // print(vIndex) //_root.itemClicked(vIndex)
+
+ Component.onCompleted: {
+ var model = new Array(DryDemoDialog.COUNT).fill("")
+ model[DryDemoDialog.STANDBY] = qsTr("Standby")
+ model[DryDemoDialog.PRE_TREATMENT] = qsTr("Pre-Treatment")
+ model[DryDemoDialog.BLOOD_PRIME] = qsTr("Blood Prime")
+ model[DryDemoDialog.MAIN_TREATMENT] = qsTr("Main Treatment")
+ model[DryDemoDialog.RINSEBACK] = qsTr("Rinseback")
+ model[DryDemoDialog.RECIRCULATE] = qsTr("Recirculate")
+ model[DryDemoDialog.POST_TREATMENT] = qsTr("Post-Treatment")
+ model[DryDemoDialog.DISINFECTION] = qsTr("Disinfection")
+ itemsText = model
+ }
+ }
+
+ CloseButton { id : _closeButton
+ onClicked : {
+ _root.close()
+ }
+ }
+}
Index: sources/gui/qml/main.qml
===================================================================
diff -u -rc70815ad2b3beadf61832f2e4d12eb90d476e020 -rb9739918c71a21c181c8401f17ed05fb14996fec
--- sources/gui/qml/main.qml (.../main.qml) (revision c70815ad2b3beadf61832f2e4d12eb90d476e020)
+++ sources/gui/qml/main.qml (.../main.qml) (revision b9739918c71a21c181c8401f17ed05fb14996fec)
@@ -434,6 +434,7 @@
AlarmItem { id: _alarmItem ; z: 996 }
PowerItem { id: _powerItem ; z: 997 }
ConfirmDialog { id: _confirmDialog ; z: 998 }
+ DryDemoDialog { id: _dryDemoDialog; z: 999 }
DiagnosticsDialog { id: _diagnosticsDialog; z: 999 }
// Note: NotificationBar has to be anchored to the main menu and if it is moved into the AlarmItem
Index: sources/view/confirm/VConfirm.cpp
===================================================================
diff -u -rbf57221d2e46597ae61607ee90272653c30b9a37 -rb9739918c71a21c181c8401f17ed05fb14996fec
--- sources/view/confirm/VConfirm.cpp (.../VConfirm.cpp) (revision bf57221d2e46597ae61607ee90272653c30b9a37)
+++ sources/view/confirm/VConfirm.cpp (.../VConfirm.cpp) (revision b9739918c71a21c181c8401f17ed05fb14996fec)
@@ -172,6 +172,17 @@
emit didAdjustment(data);
}
+/*!
+ * \brief View::VConfirm::doDryDemo
+ * \details the invocable slot to send user's Confirmation for Dry Demo only
+ */
+void View::VConfirm::doDryDemo(int vState) {
+ DuetConfirmUIrData data;
+ data.mId = dryDemoID;
+ data.mConfirm = vState;
+ emit didAdjustment(data);
+}
+
void View::VConfirm::onActionReceive(const SettingsData &) {
QStringList mCategorys = _Settings.categorys();
for (const QString &category : mCategorys) {
Index: sources/view/confirm/VConfirm.h
===================================================================
diff -u -rbf57221d2e46597ae61607ee90272653c30b9a37 -rb9739918c71a21c181c8401f17ed05fb14996fec
--- sources/view/confirm/VConfirm.h (.../VConfirm.h) (revision bf57221d2e46597ae61607ee90272653c30b9a37)
+++ sources/view/confirm/VConfirm.h (.../VConfirm.h) (revision b9739918c71a21c181c8401f17ed05fb14996fec)
@@ -48,6 +48,7 @@
};
QMap _confirms;
+ const int dryDemoID = 99;
// ********** DYNAMIC PROPERTIES: The properties which need to be updated by each confirm message received. ********** //
READONLY( bool , needConfirm , false)
@@ -87,6 +88,7 @@
public slots:
void doConfirm(bool vConfirm);
+ void doDryDemo(int vState);
signals:
/*!