Index: denali.pro =================================================================== diff -u -r7077e38c74db9cccb5496ffefcf8936c0916de76 -rcdf80193148db0831cf2c1067732ddc6f6dac5fb --- denali.pro (.../denali.pro) (revision 7077e38c74db9cccb5496ffefcf8936c0916de76) +++ denali.pro (.../denali.pro) (revision cdf80193148db0831cf2c1067732ddc6f6dac5fb) @@ -101,6 +101,7 @@ sources/ApplicationController.h \ sources/storage/Settings.h \ sources/storage/TreatmentLog.h \ + sources/view/dg/data/VDGPostSingleResultData.h \ sources/wifi/WifiInterface.h \ \ # ---------- Models ---------- sources/model/MModel.h \ @@ -175,6 +176,7 @@ sources/model/hd/data/treatment/MTreatmentRinsebackData.h \ sources/model/hd/data/treatment/MTreatmentRecirculateData.h \ sources/model/hd/data/treatment/MTreatmentBloodPrimeData.h \ + sources/model/hd/data/MHDPostFinalResultData.h \ \ # ---------- Models - DG - Adjustment sources/model/dg/adjustment/settings/MAdjustDGRequests.h \ \ # ---------- Models - DG - Adjustment - Settings @@ -198,6 +200,8 @@ sources/model/dg/data/MDGTemperaturesData.h \ sources/model/dg/data/MDGValvesStatesData.h \ sources/model/dg/data/MDGAccelerometerData.h \ + sources/model/dg/data/MDGPostSingleResultData.h \ + sources/model/dg/data/MDGPostFinalResultData.h \ \ # CANBus sources/canbus/CanInterface.h \ sources/canbus/FrameInterface.h \ @@ -277,6 +281,8 @@ sources/view/hd/data/treatment/VTreatmentRinsebackData.h \ sources/view/hd/data/treatment/VTreatmentRecirculateData.h \ sources/view/hd/data/treatment/VTreatmentBloodPrimeData.h \ + sources/view/hd/data/VHDPostSingleResultData.h \ + sources/view/hd/data/VHDPostFinalResultData.h \ \ # ---------- Views - DG - Data - Pre-Treatment - Progress sources/view/dg/data/pretreatment/VDGFilterFlushData.h \ \ # ---------- Views - DG - Data - Disinfection - Progress @@ -294,6 +300,7 @@ sources/view/dg/data/VDGTemperaturesData.h \ sources/view/dg/data/VDGValvesStatesData.h \ sources/view/dg/data/VDGAccelerometerData.h \ + sources/view/dg/data/VDGPostFinalResultData.h \ \ # Storage sources/storage/StorageGlobals.h \ sources/storage/Logger.h \ @@ -385,6 +392,8 @@ sources/model/hd/data/treatment/MTreatmentRinsebackData.cpp \ sources/model/hd/data/treatment/MTreatmentRecirculateData.cpp \ sources/model/hd/data/treatment/MTreatmentBloodPrimeData.cpp \ + sources/model/hd/data/MHDPostSingleResultData.cpp \ + sources/model/hd/data/MHDPostFinalResultData.cpp \ \ # ---------- Models - DG - Adjustment \ # ---------- Models - DG - Adjustment - Settings sources/model/dg/adjustment/settings/MAdjustDGVersionsResponse.cpp \ @@ -407,6 +416,8 @@ sources/model/dg/data/MDGTemperaturesData.cpp \ sources/model/dg/data/MDGValvesStatesData.cpp \ sources/model/dg/data/MDGAccelerometerData.cpp \ + sources/model/dg/data/MDGPostSingleResultData.cpp \ + sources/model/dg/data/MDGPostFinalResultData.cpp \ \ # CANBus sources/canbus/CanInterface.cpp \ sources/canbus/FrameInterface.cpp \ @@ -469,6 +480,8 @@ sources/view/hd/data/posttreatment/VPostTreatmentStatesData.cpp \ \ # ---------- Views - HD - Data sources/view/hd/data/VHDAccelerometerData.cpp \ + sources/view/hd/data/VHDPostSingleResultData.cpp \ + sources/view/hd/data/VHDPostFinalResultData.cpp \ \ # ---------- Views - HD - Data - Pre-Treatment sources/view/hd/data/pretreatment/VPreTreatmentSelfTestNoCartridgeData.cpp \ sources/view/hd/data/pretreatment/VPreTreatmentSelfTestDryData.cpp \ @@ -503,6 +516,8 @@ sources/view/dg/data/VDGTemperaturesData.cpp \ sources/view/dg/data/VDGValvesStatesData.cpp \ sources/view/dg/data/VDGAccelerometerData.cpp \ + sources/view/dg/data/VDGPostSingleResultData.cpp \ + sources/view/dg/data/VDGPostFinalResultData.cpp \ \ # Storage sources/storage/StorageGlobals.cpp \ sources/storage/FileHandler.cpp \ Index: denali.qrc =================================================================== diff -u -r8f83b92860a33498ea7856e63afef0a10ee11923 -rcdf80193148db0831cf2c1067732ddc6f6dac5fb --- denali.qrc (.../denali.qrc) (revision 8f83b92860a33498ea7856e63afef0a10ee11923) +++ denali.qrc (.../denali.qrc) (revision cdf80193148db0831cf2c1067732ddc6f6dac5fb) @@ -51,6 +51,7 @@ resources/images/chevron-up.png resources/images/list.png resources/images/End.png + resources/images/RedCross.png resources/images/Accelerate.png resources/images/Decelerate.png resources/images/Busy.png @@ -117,6 +118,7 @@ sources/gui/qml/compounds/StepNavigationTitleBar.qml sources/gui/qml/compounds/InstructionView.qml sources/gui/qml/compounds/CheckListView.qml + sources/gui/qml/compounds/CheckListScrollView.qml sources/gui/qml/compounds/TouchGrid.qml @@ -138,6 +140,9 @@ sources/gui/qml/pages/disinfect/DisinfectBase.qml sources/gui/qml/pages/disinfect/DisinfectStack.qml + + sources/gui/qml/pages/post/PostInProgress.qml + sources/gui/qml/pages/pretreatment/PreTreatmentBase.qml sources/gui/qml/pages/pretreatment/PreTreatmentMainStack.qml Index: resources/images/RedCross.png =================================================================== diff -u Binary files differ Index: sources/gui/qml/components/WaitDone.qml =================================================================== diff -u -r22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb -rcdf80193148db0831cf2c1067732ddc6f6dac5fb --- sources/gui/qml/components/WaitDone.qml (.../WaitDone.qml) (revision 22bd5aba8d60c1cfda0e0b3bdcb0f54cdc27dafb) +++ sources/gui/qml/components/WaitDone.qml (.../WaitDone.qml) (revision cdf80193148db0831cf2c1067732ddc6f6dac5fb) @@ -26,6 +26,7 @@ Item { id: _root property int diameter: 50 property bool done : false + property bool failed : false Image { id: _busyIndicator visible : true @@ -51,10 +52,19 @@ Image { id: _checkIndicator anchors.centerIn: _root - opacity : _root.done ? 1 : 0 + opacity : _root.done && !_root.failed? 1 : 0 width : _root.diameter + 15 height : _root.diameter + 15 source : "qrc:/images/iBusyDone" Behavior on opacity { OpacityAnimator { duration: 1200 } } } + + Image { id: _failureIndicator + anchors.centerIn: _root + opacity : _root.done && _root.failed? 1 : 0 + width : _root.diameter + 15 + height : _root.diameter + 15 + source : "qrc:/images/iRedCross" + Behavior on opacity { OpacityAnimator { duration: 1200 } } + } } Index: sources/gui/qml/compounds/CheckListScrollView.qml =================================================================== diff -u --- sources/gui/qml/compounds/CheckListScrollView.qml (revision 0) +++ sources/gui/qml/compounds/CheckListScrollView.qml (revision cdf80193148db0831cf2c1067732ddc6f6dac5fb) @@ -0,0 +1,84 @@ +/*! + * + * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. + * \copyright + * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN + * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. + * + * \file CheckListScrollView.qml + * \author (last) Peter Lucia + * \date (last) 19-May-2021 + * \author (original) Peter Lucia + * \date (original) 19-May-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" + +/*! + * \brief The Check list scroll view provides a scrollable checklist view + * \details It dynamically creates list of items which can be later set as started/done/failed + * indicated by a busy scrolling wheel, checkmark, or red cross. + */ +Item { id: _root + + ScrollBar { + backColor: Colors.backgroundMain + flickable: _listView + anchors.fill: _listView + anchors.rightMargin : 10 + } + + ListView { id: _listView + model: ["Step 1", "Step 2", "Step 3", "Step 4"] + clip: true + spacing: 7 + width: _root.width + height: _root.height + + delegate: Rectangle { id : _delegate + clip: true + width: _listView.width - Variables.minVGap + height: 75 + radius: Variables.dialogRadius + color: "transparent" + + Text { + anchors { + verticalCenter: _delegate.verticalCenter + } + + color: Colors.textMain + text: qsTr("Test Description") + elide: Text.ElideLeft + font.pixelSize: 24 + } + + Line { + anchors { + bottom: parent.bottom + } + color: Colors.borderButton + length: parent.width + thickness: 2 + } + WaitDone { + anchors { + verticalCenter: _delegate.verticalCenter + right: _delegate.right + rightMargin: _delegate.height * 0.5 + } + diameter: _delegate.height * 0.5 + visible : true + done : true + failed : true + } + } + } +} Index: sources/gui/qml/compounds/CheckListView.qml =================================================================== diff -u -rc6cfb5043fc9c29cc039e36915368bcd3a63baa6 -rcdf80193148db0831cf2c1067732ddc6f6dac5fb --- sources/gui/qml/compounds/CheckListView.qml (.../CheckListView.qml) (revision c6cfb5043fc9c29cc039e36915368bcd3a63baa6) +++ sources/gui/qml/compounds/CheckListView.qml (.../CheckListView.qml) (revision cdf80193148db0831cf2c1067732ddc6f6dac5fb) @@ -34,6 +34,7 @@ property alias completeText : _completeText.text property int delegateWidth : Variables.checkListViewItemWidth property int delegateHeight : Variables.checkListViewItemHeight + property bool centerInRoot : true function resetItems() { if ( visible ) { @@ -54,7 +55,7 @@ height : _root.delegateHeight * _root.stepNames.length Column { - anchors.centerIn: _root + anchors.centerIn: centerInRoot ? _root : undefined Repeater { id: _listView model : _root.stepNames Index: sources/gui/qml/main.qml =================================================================== diff -u -r4e708c6e93443b01ac26c71a466708916ede4abf -rcdf80193148db0831cf2c1067732ddc6f6dac5fb --- sources/gui/qml/main.qml (.../main.qml) (revision 4e708c6e93443b01ac26c71a466708916ede4abf) +++ sources/gui/qml/main.qml (.../main.qml) (revision cdf80193148db0831cf2c1067732ddc6f6dac5fb) @@ -103,6 +103,7 @@ import "qrc:/pages" import "qrc:/pages/treatment" import "qrc:/pages/settings" +import "qrc:/pages/post" import "qrc:/components" import "qrc:/dialogs" @@ -217,6 +218,8 @@ // 9 - Others + PostInProgress { id: _postInProgress } + Text { // TEST : Application version should be moved into the information screen later. color : Colors.textMain anchors { @@ -253,4 +256,10 @@ timeout : _alarmItem.timeout backgroundFading : vHDOperationMode.fault } + + Component.onCompleted: { + // TODO: Re-show the main menu when re-entering the start screen + _mainMenu.visible = false + _mainStack.push(_postInProgress) + } } Index: sources/gui/qml/pages/post/PostInProgress.qml =================================================================== diff -u --- sources/gui/qml/pages/post/PostInProgress.qml (revision 0) +++ sources/gui/qml/pages/post/PostInProgress.qml (revision cdf80193148db0831cf2c1067732ddc6f6dac5fb) @@ -0,0 +1,117 @@ +/*! + * + * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. + * \copyright + * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN + * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. + * + * \file TreatmentHome.qml + * \author (last) Peter Lucia + * \date (last) 19-May-2021 + * \author (original) Peter Lucia + * \date (original) 19-May-2020 + * + */ + +// Qt +import QtQuick 2.12 + +// Project + +// Qml imports +import "qrc:/globals" +import "qrc:/components" +import "qrc:/compounds" + +/*! + * \brief PostInProgress is the screen + * which is shown while the power on self test is in progress. + */ +ScreenItem { id: _root + + property int topMarginTitle: 50 + + Text { id: _titleText + anchors { + top : _root.top + topMargin : topMarginTitle + horizontalCenter: parent.horizontalCenter + } + horizontalAlignment : Text.AlignHCenter + text : qsTr("Power on self-test") + color : Colors.textMain + font.pixelSize : Fonts.fontPixelSection + } + + Rectangle { id: _rectangle + color: "transparent" + anchors { + top: _titleText.bottom + left: _root.left + bottom: _root.bottom + right: _root.right + leftMargin: 75 + rightMargin: 75 + bottomMargin: 75 + } + + Text { id: _hdTestsTitle + anchors { + top: parent.top + horizontalCenter: _hdListView.horizontalCenter + } + color: Colors.textMain + text: qsTr("HD") + font.pixelSize: Fonts.fontPixelSection + } + + CheckListScrollView { id: _hdListView + width: _rectangle.width / 3 + anchors { + top: _hdTestsTitle.bottom + topMargin: 10 + bottom: parent.bottom + } + } + + Text { id: _dgTestsTitle + anchors { + top: parent.top + horizontalCenter: _dgListView.horizontalCenter + } + color: Colors.textMain + text: qsTr("DG") + font.pixelSize: Fonts.fontPixelSection + } + + CheckListScrollView { id: _dgListView + width: _rectangle.width / 3 + anchors { + top: _dgTestsTitle.bottom + left: _hdListView.right + topMargin: 10 + bottom: parent.bottom + } + } + + Text { id: _uiTestsTitle + anchors { + top: parent.top + horizontalCenter: _uiListView.horizontalCenter + } + color: Colors.textMain + text: qsTr("UI") + font.pixelSize: Fonts.fontPixelSection + } + + CheckListScrollView { id: _uiListView + width: _rectangle.width / 3 + anchors { + top: _uiTestsTitle.bottom + left: _dgListView.right + topMargin: 10 + bottom: parent.bottom + } + } + } +}