Index: denali.pro.user =================================================================== diff -u -r8f83b92860a33498ea7856e63afef0a10ee11923 -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- denali.pro.user (.../denali.pro.user) (revision 8f83b92860a33498ea7856e63afef0a10ee11923) +++ denali.pro.user (.../denali.pro.user) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -1,6 +1,6 @@ - + EnvironmentId Index: denali.qrc =================================================================== diff -u -r8f83b92860a33498ea7856e63afef0a10ee11923 -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- denali.qrc (.../denali.qrc) (revision 8f83b92860a33498ea7856e63afef0a10ee11923) +++ denali.qrc (.../denali.qrc) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -4,6 +4,7 @@ sources/gui/qml/pages/MainHome.qml sources/gui/qml/pages/ManagerStack.qml sources/gui/qml/pages/UserConfirmation.qml + sources/gui/qml/pages/TreatmentFlowBase.qml sources/gui/qml/pages/settings/SettingsBase.qml @@ -111,6 +112,7 @@ sources/gui/qml/components/TextEntry.qml sources/gui/qml/components/ScrollBar.qml sources/gui/qml/compounds/Fader.qml + sources/gui/qml/components/FooterStatic.qml sources/gui/qml/compounds/PressureRangeSlider.qml @@ -185,21 +187,16 @@ sources/gui/qml/pages/endtreatment/EndTreatmentRinsebackStack.qml sources/gui/qml/pages/endtreatment/EndTreatmentRecirculateStack.qml sources/gui/qml/pages/endtreatment/EndTreatmentEndStack.qml + sources/gui/qml/pages/endtreatment/EndTreatmentBase.qml sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentRinsebackInit.qml sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentRinseback.qml sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentRinsebackComplete.qml sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentAdditional.qml - - sources/gui/qml/pages/endtreatment/recirculate/EndTreatmentRecirculate.qml - sources/gui/qml/pages/endtreatment/recirculate/EndTreatmentReconnect.qml - - - sources/gui/qml/pages/endtreatment/end/EndTreatmentEnd.qml - sources/gui/qml/pages/endtreatment/end/EndTreatmentEndPause.qml - + + sources/gui/qml/pages/posttreatment/PostTreatmentBase.qml sources/gui/qml/pages/posttreatment/PostTreatmentStack.qml Index: resources/settings/Instructions/Instructions.conf =================================================================== diff -u -r7077e38c74db9cccb5496ffefcf8936c0916de76 -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- resources/settings/Instructions/Instructions.conf (.../Instructions.conf) (revision 7077e38c74db9cccb5496ffefcf8936c0916de76) +++ resources/settings/Instructions/Instructions.conf (.../Instructions.conf) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -56,6 +56,17 @@ [Chemical Disinfect^Chemical Disinfect] Disinfection1=logo.png +[^Rinseback Setup] +Rinseback Setup1=logo.png +[^Rinseback Complete] +Rinseback Complete 1 =logo.png +Rinseback Complete 2 =logo.png +[^Recirculate] +Recirculate 0 =logo.png +Recirculate 1 =logo.png +Recirculate 2 =logo.png + + Index: sources/gui/qml/components/ConfirmTreatmentTable.qml =================================================================== diff -u -r2230a5b1b891f47b64165164710aa680ddfc7040 -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/components/ConfirmTreatmentTable.qml (.../ConfirmTreatmentTable.qml) (revision 2230a5b1b891f47b64165164710aa680ddfc7040) +++ sources/gui/qml/components/ConfirmTreatmentTable.qml (.../ConfirmTreatmentTable.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -30,7 +30,7 @@ id: _header width: parent.width height: Variables.createTreatmentHeaderHeight - color: "transparent" + color: Colors.transparent radius: Variables.dialogRadius Rectangle { @@ -63,18 +63,18 @@ anchors.left: _treatment_profile_id.right anchors.topMargin: Variables.createTreatmentMargin anchors.leftMargin: 20 - text: "New Treatment" - color: "white" + text: qsTr("New Treatment") + color: Colors.textMain font.pixelSize: Fonts.fontPixelCreateTreatment } } Text { id: _prescription objectName: _root.objectName + "_prescription" - text: "PRESCRIPTION" + text: qsTr("PRESCRIPTION") font.pixelSize: Fonts.fontPixelCreateTreatmentTable - color: "white" + color: Colors.textMain anchors.left: parent.left anchors.top: _header.bottom anchors.leftMargin: Variables.createTreatmentMargin @@ -83,9 +83,9 @@ Text { id: _operating_parameters objectName: _root.objectName + "_operating_parameters" - text: "OPERATING PARAMETERS" + text: qsTr("OPERATING PARAMETERS") font.pixelSize: Fonts.fontPixelCreateTreatmentTable - color: "white" + color: Colors.textMain anchors.top: _header.bottom anchors.left: _root.horizontalCenter } Index: sources/gui/qml/components/Footer.qml =================================================================== diff -u -r4afc91856c00e01dfb5d84bc54d2d92faefec0db -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/components/Footer.qml (.../Footer.qml) (revision 4afc91856c00e01dfb5d84bc54d2d92faefec0db) +++ sources/gui/qml/components/Footer.qml (.../Footer.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -40,7 +40,6 @@ let count = childrenCount if ( ! count ) return - let width = childrenWidth let spacing = (_root.width - (width * count)) / (count + 1) Index: sources/gui/qml/components/FooterStatic.qml =================================================================== diff -u --- sources/gui/qml/components/FooterStatic.qml (revision 0) +++ sources/gui/qml/components/FooterStatic.qml (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -0,0 +1,63 @@ +/*! + * + * 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 FooterStatic.qml + * \author (last) Behrouz NematiPour + * \date (last) 14-May-2021 + * \author (original) Behrouz NematiPour + * \date (original) 14-May-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" + +/*! + * \brief Denali project Footer section which gives all the children same width with same spacing, aligned in center + */ +Item { id: _root + property int childrenWidth : _root.width / (childrenCount * 2 + 1 ) + property int childrenCount : children.length + property real spacing : _private.spacing + + QtObject { id: _private + property int spacing : 0 + } + + // this code will run once and will not run for each child, + // that's becuase the available property to add children is the children property + // and that property can only change by assigning a list to it. + // so it happens once with no performance issue of multiple redundant call. + onVisibleChanged: { + // check there is a child + let count = childrenCount + if ( ! count ) return + + let width = childrenWidth + let spacing = (_root.width - (width * count)) / (count + 1) + + for (let i = 0; i < count; i++) { + let child = children[i] + if (child.width !== width) { + child.width = width + } + child.x = ( spacing * (i+1)) + (childrenWidth * i) + } + + _private.spacing = spacing + } + + height : childrenCount ? Variables.touchRectHeight : 0 + anchors.left : parent.left + anchors.right : parent.right + anchors.bottom : parent.bottom + anchors.bottomMargin : Variables.notificationHeight + Variables.minVGap +} Index: sources/gui/qml/components/RangeSlider.qml =================================================================== diff -u -r2230a5b1b891f47b64165164710aa680ddfc7040 -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/components/RangeSlider.qml (.../RangeSlider.qml) (revision 2230a5b1b891f47b64165164710aa680ddfc7040) +++ sources/gui/qml/components/RangeSlider.qml (.../RangeSlider.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -334,7 +334,7 @@ color : Colors.highlightProgressBar border { width : 4 - color : "white" + color : Colors.textMain } } @@ -351,7 +351,7 @@ color : Colors.highlightProgressBar border { width : 4 - color : "white" + color : Colors.textMain } } } Index: sources/gui/qml/components/Slider.qml =================================================================== diff -u -rccb91da4becded9a7ad409b758bba96784d9feba -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/components/Slider.qml (.../Slider.qml) (revision ccb91da4becded9a7ad409b758bba96784d9feba) +++ sources/gui/qml/components/Slider.qml (.../Slider.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -185,7 +185,7 @@ color : Colors.highlightProgressBar border { width: 4 - color: "white" + color: Colors.textMain } } } Index: sources/gui/qml/components/TickMarks.qml =================================================================== diff -u -rccb91da4becded9a7ad409b758bba96784d9feba -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/components/TickMarks.qml (.../TickMarks.qml) (revision ccb91da4becded9a7ad409b758bba96784d9feba) +++ sources/gui/qml/components/TickMarks.qml (.../TickMarks.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -40,7 +40,7 @@ property int thickness : 1 property bool textVisible : false - property color textColor : "white" + property color textColor : Colors.textMain anchors.fill: parent Index: sources/gui/qml/components/TimeText.qml =================================================================== diff -u -r741b1c70f851810f2c265cdd38dfa158b7ee0c37 -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/components/TimeText.qml (.../TimeText.qml) (revision 741b1c70f851810f2c265cdd38dfa158b7ee0c37) +++ sources/gui/qml/components/TimeText.qml (.../TimeText.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -33,7 +33,7 @@ property bool minuteZero : true property bool secondZero : true - property color textColor : "white" + property color textColor : Colors.textMain property int textPixelSize : 90 property int textWeight : Font.ExtraLight property int secsPixelSize : 16 Index: sources/gui/qml/components/UltrafiltrationButton.qml =================================================================== diff -u -r6cad9b004e904200b71de7431c745795256080df -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/components/UltrafiltrationButton.qml (.../UltrafiltrationButton.qml) (revision 6cad9b004e904200b71de7431c745795256080df) +++ sources/gui/qml/components/UltrafiltrationButton.qml (.../UltrafiltrationButton.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -39,7 +39,7 @@ property string descriptionString : "" property string valueText : "" - property color textColor : "white" + property color textColor : Colors.textMain property int buttonType : UltrafiltrationButton.ButtonType.UltrafiltrationRate property bool isIncrease : true property bool selected : false Index: sources/gui/qml/compounds/PressureRangeSlider.qml =================================================================== diff -u -r9327fae7b109203ca698d361b113a81d139a0cf9 -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/compounds/PressureRangeSlider.qml (.../PressureRangeSlider.qml) (revision 9327fae7b109203ca698d361b113a81d139a0cf9) +++ sources/gui/qml/compounds/PressureRangeSlider.qml (.../PressureRangeSlider.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -162,15 +162,15 @@ font.pixelSize: Fonts.fontPixelPresseuresText anchors.leftMargin: - minText.width - 20 anchors.topMargin : - minText.height / 2 - 5 - color: "white" + color: Colors.textMain } maxText { text : qsTr("HIGH") font.bold: true font.pixelSize: Fonts.fontPixelPresseuresText anchors.rightMargin: - minText.width - 20 anchors.topMargin : - minText.height / 2 - 5 - color: "white" + color: Colors.textMain } // **** Ranges vvvv Index: sources/gui/qml/pages/TreatmentFlowBase.qml =================================================================== diff -u --- sources/gui/qml/pages/TreatmentFlowBase.qml (revision 0) +++ sources/gui/qml/pages/TreatmentFlowBase.qml (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -0,0 +1,181 @@ +/*! + * + * 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 PreTreatmentBase.qml + * \author (last) Behrouz NematiPour + * \date (last) 01-Mar-2021 + * \author (original) Behrouz NematiPour + * \date (original) 12-Jan-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" +import "qrc:/compounds" + +/*! + * \brief the parent page of the treatment flow screens + */ +ScreenItem { id: _root + objectName: "_TreatmentFlowBase" + + property alias reasonText : _notification.text + property alias header : _titleBar + property alias title : _titleText + property alias footer : _footer + + property bool instructionBased : false + readonly property alias instruction : _instructionLoader.item + property string instructionlocation : "" + property var instructionStepNames : [] + property var instructionStepImages : [] + + property bool hasTimeCircle : false + readonly property alias timeCircle : _timeCircleLoader.item + property bool timeCircleIsChecked : false + property int timeCircleMinimum : 0 + property int timeCircleMaximum : 0 + property int timeCircleProgressValue : 0 + property int timeCircleTimeTextValue : 0 + + property bool hasCheckList : false + readonly property alias checkList : _checkListLoader.item + property var checkListStepNames : [] + property int checkListCompleteMargin : 50 + property string completeText : "" + + property bool isComplete : false + + readonly property int titleTopMargin: 110 + + signal backClicked() + signal confirmClicked() + + // vvvvvvvvvvvvvvvvvvvvvvvvv HEADER vvvvvvvvvvvvvvvvvvvvvvvvv // + StepNavigationTitleBar { id: _titleBar + stepIndex : stackStepIndex // shall have a definition in the parent stack + anchors.top : _root.top + anchors.horizontalCenter : parent.horizontalCenter + width : _root.width + confirmEnabled : instruction ? instruction.lastStep : true + stepNames : [ ] + onBackClicked : _root.backClicked() + onConfirmClicked: _root.confirmClicked() + } + + Text { id: _titleText + anchors { + top : _root.top + topMargin : titleTopMargin + horizontalCenter: parent.horizontalCenter + } + text : qsTr("TreatmentFlowBase") + color : Colors.textMain + font.pixelSize : Fonts.fontPixelTitle + } + + // ^^^^^^^^^^^^^^^^^^^^^^^^^ HEADER ^^^^^^^^^^^^^^^^^^^^^^^^^ // + + // vvvvvvvvvvvvvvvvvvvv Optional Components vvvvvvvvvvvvvvvvvvvv // + Loader { id: _instructionLoader + readonly property int outerHMargin : 30 + readonly property int outerVMargin : 15 + active : _root.instructionBased + anchors { + top : title.bottom + bottom : footer.top + left : parent.left + right : parent.right + leftMargin : outerHMargin + rightMargin : outerHMargin + topMargin : outerVMargin + bottomMargin : outerVMargin + } + sourceComponent : InstructionView { id: _instructionView + location : _root.instructionlocation + stepNames : _root.instructionStepNames + stepImages : _root.instructionStepImages + } + } + + Loader { id : _timeCircleLoader + active : _root.hasTimeCircle + + anchors.top : _root.hasCheckList ? title.bottom : undefined + anchors.topMargin : _root.hasCheckList ? 25 : 0 + anchors.horizontalCenter: _root.horizontalCenter + anchors.centerIn : ! _root.hasCheckList ? parent : undefined + sourceComponent : TimeCircle { id: _timeCircle + isChecked : _root.isComplete + minimum : _root.timeCircleMinimum + maximum : _root.timeCircleMaximum + progressValue : _root.timeCircleProgressValue + timeTextValue : _root.timeCircleTimeTextValue + thickness : _root.hasCheckList ? 1 : 2 + diameter : _root.hasCheckList ? Variables.progressCircleDiameterSmall : Variables.progressCircleDiameterNormal + timeTextPixelSize : _root.hasCheckList ? Fonts.fontPixelCirclProgressTimeSmall : Fonts.fontPixelCirclProgressTimeNormal + } + } + + Loader { id: _checkListLoader + active : _root.hasCheckList + anchors.top : _root.hasTimeCircle ? _timeCircleLoader.bottom : undefined + anchors.topMargin : _root.hasTimeCircle ? 25 : 0 + anchors.horizontalCenter: _root.horizontalCenter + anchors.centerIn : ! _root.hasTimeCircle ? parent : undefined + width : Variables.checkListViewItemWidth + height : Variables.checkListViewItemHeight * _root.checkListStepNames.length + sourceComponent : CheckListView { id: _checkListView + completeVisible : _root.isComplete + completeText : _root.completeText + stepNames : _root.checkListStepNames + completeMargin : _root.checkListCompleteMargin + } + } + + // ^^^^^^^^^^^^^^^^^^^^ Optional Components ^^^^^^^^^^^^^^^^^^^^ // + + Footer { id: _footer } + + NotificationBar { id: _notification + iconVisible: false + } + + Connections { target: vSettings + onSettingsChanged : { + if ( instructionBased ) { + let stepName = header.stepNames[stackStepIndex] + if ( stepName === undefined ) stepName = "" + let group = vSettings.groupFormat.arg(stepName).arg(title.text) + let settingsGroup = vSettings.settings[group] + // DEBUG : var settingsCategory = vSettings.category["Instructions/Instructions"] + if ( settingsGroup !== undefined ) { + // DEBUG : console.debug(" 00000 ", group, settingsGroup, settingsCategory.groups) + _root.instructionlocation = settingsGroup.location + _root.instructionStepNames = settingsGroup.keys + _root.instructionStepImages = settingsGroup.values + } + } + } + } + + onVisibleChanged: { + if (checkList) + checkList.resetItems() + if (instruction) + instruction.currentStepIndex = 0 + _notification.text = "" + if (visible) { + _mainMenu.hidden = true + } + } +} Index: sources/gui/qml/pages/disinfect/DisinfectBase.qml =================================================================== diff -u -r2216ac6ac7f77437a7c29ac8b4043be01bc4609e -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/pages/disinfect/DisinfectBase.qml (.../DisinfectBase.qml) (revision 2216ac6ac7f77437a7c29ac8b4043be01bc4609e) +++ sources/gui/qml/pages/disinfect/DisinfectBase.qml (.../DisinfectBase.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -20,160 +20,12 @@ // Qml imports import "qrc:/globals" import "qrc:/components" -import "qrc:/compounds" +import "qrc:/pages" /*! * \brief the parent page of the post-treatment screens */ -ScreenItem { id: _root +TreatmentFlowBase { id: _root objectName: "_DisinfectBase" - - property alias reasonText : _notification.text - property alias header : _titleBar - property alias title : _titleText - property alias footer : _footer - - property bool instructionBased : false - readonly property alias instruction : _instructionLoader.item - property string instructionlocation : "" - property var instructionStepNames : [] - property var instructionStepImages : [] - - property bool hasTimeCircle : false - readonly property alias timeCircle : _timeCircleLoader.item - property bool timeCircleIsChecked : false - property int timeCircleMinimum : 0 - property int timeCircleMaximum : 0 - property int timeCircleProgressValue : 0 - property int timeCircleTimeTextValue : 0 - - property bool hasCheckList : false - readonly property alias checkList : _checkListLoader.item - property var checkListStepNames : [] - property int checkListCompleteMargin : 50 - property string completeText : "" - - property bool isComplete : false - - readonly property int titleTopMargin: 110 - - signal backClicked() - signal confirmClicked() - - // vvvvvvvvvvvvvvvvvvvvvvvvv HEADER vvvvvvvvvvvvvvvvvvvvvvvvv // - StepNavigationTitleBar { id: _titleBar - stepIndex : stackStepIndex // shall have a definition in the parent stack - anchors.top : _root.top - anchors.horizontalCenter : parent.horizontalCenter - width : _root.width - confirmEnabled : instruction ? instruction.lastStep : true - stepNames : [] - stepLineLength : 120 - onBackClicked : _root.backClicked() - onConfirmClicked: _root.confirmClicked() - } - - Text { id: _titleText - anchors { - top : _root.top - topMargin : titleTopMargin - horizontalCenter: parent.horizontalCenter - } - text : qsTr("PostTreatmentBase") - color : Colors.textMain - font.pixelSize : Fonts.fontPixelTitle - } - - // ^^^^^^^^^^^^^^^^^^^^^^^^^ HEADER ^^^^^^^^^^^^^^^^^^^^^^^^^ // - - // vvvvvvvvvvvvvvvvvvvv Optional Components vvvvvvvvvvvvvvvvvvvv // - Loader { id: _instructionLoader - readonly property int outerHMargin : 30 - readonly property int outerVMargin : 15 - active : _root.instructionBased - anchors { - top : title.bottom - bottom : footer.top - left : parent.left - right : parent.right - leftMargin : outerHMargin - rightMargin : outerHMargin - topMargin : outerVMargin - bottomMargin : outerVMargin - } - sourceComponent : InstructionView { id: _instructionView - location : _root.instructionlocation - stepNames : _root.instructionStepNames - stepImages : _root.instructionStepImages - } - } - - Loader { id : _timeCircleLoader - active : _root.hasTimeCircle - - anchors.top : _root.hasCheckList ? title.bottom : undefined - anchors.topMargin : _root.hasCheckList ? 25 : 0 - anchors.horizontalCenter: _root.horizontalCenter - anchors.centerIn : ! _root.hasCheckList ? parent : undefined - sourceComponent : TimeCircle { id: _timeCircle - isChecked : _root.isComplete - minimum : _root.timeCircleMinimum - maximum : _root.timeCircleMaximum - progressValue : _root.timeCircleProgressValue - timeTextValue : _root.timeCircleTimeTextValue - thickness : _root.hasCheckList ? 1 : 2 - diameter : _root.hasCheckList ? Variables.progressCircleDiameterSmall : Variables.progressCircleDiameterNormal - timeTextPixelSize : _root.hasCheckList ? Fonts.fontPixelCirclProgressTimeSmall : Fonts.fontPixelCirclProgressTimeNormal - } - } - - Loader { id: _checkListLoader - active : _root.hasCheckList - anchors.top : _root.hasTimeCircle ? _timeCircleLoader.bottom : undefined - anchors.topMargin : _root.hasTimeCircle ? 25 : 0 - anchors.horizontalCenter: _root.horizontalCenter - anchors.centerIn : ! _root.hasTimeCircle ? parent : undefined - width : Variables.checkListViewItemWidth - height : Variables.checkListViewItemHeight * _root.checkListStepNames.length - sourceComponent : CheckListView { id: _checkListView - completeVisible : _root.isComplete - completeText : _root.completeText - stepNames : _root.checkListStepNames - completeMargin : _root.checkListCompleteMargin - } - } - - // ^^^^^^^^^^^^^^^^^^^^ Optional Components ^^^^^^^^^^^^^^^^^^^^ // - - Footer { id: _footer } - - NotificationBar { id: _notification - iconVisible: false - } - - Connections { target: vSettings - onSettingsChanged : { - if ( instructionBased ) { - var group = vSettings.groupFormat.arg(header.stepNames[stackStepIndex]).arg(title.text) - var settingsGroup = vSettings.settings[group] - // DEBUG : console.debug(" 22222 ", group) - if ( settingsGroup !== undefined ) { - _root.instructionlocation = settingsGroup.location - _root.instructionStepNames = settingsGroup.keys - _root.instructionStepImages = settingsGroup.values - } - } - } - } - - onVisibleChanged: { - if (checkList) - checkList.resetItems() - if (instruction) - instruction.currentStepIndex = 0 - _notification.text = "" - if (visible) { - _mainMenu.hidden = true - } - } + header.stepLineLength: 100 } Index: sources/gui/qml/pages/disinfect/DisinfectStack.qml =================================================================== diff -u -re125bd5cf13750eaf241d518b9c846139afaa81c -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/pages/disinfect/DisinfectStack.qml (.../DisinfectStack.qml) (revision e125bd5cf13750eaf241d518b9c846139afaa81c) +++ sources/gui/qml/pages/disinfect/DisinfectStack.qml (.../DisinfectStack.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -29,6 +29,8 @@ stackView.initialItem : null + property int stackStepIndex : 1 + signal disinfectSkip () signal disinfectHeatClicked () signal disinfectChemicalClicked () @@ -63,7 +65,6 @@ DisinfectBase { id : _disinfectHeat objectName : "_disinfectHeat" - property int stackStepIndex : 1 header.stepNames : [ _root.disinfectTitle , _root.heatTitle ] title.text : _root.heatTitle hasTimeCircle : true @@ -86,7 +87,6 @@ DisinfectBase { id : _disinfectChemicalInstruction objectName : "_disinfectChemicalInstruction" - property int stackStepIndex : 1 header.stepNames : [ _root.disinfectTitle , _root.chemicalTitle ] title.text : _root.chemicalTitle header.confirmVisible : true @@ -96,7 +96,6 @@ DisinfectBase { id : _disinfectChemicalProgress objectName : "_disinfectChemicalProgress" - property int stackStepIndex : 1 header.stepNames : [ _root.disinfectTitle , _root.chemicalTitle ] title.text : _root.chemicalTitle hasTimeCircle : true @@ -115,7 +114,6 @@ DisinfectBase { id : _flush objectName : "_flush" - property int stackStepIndex : 1 header.stepNames : [ _root.disinfectTitle , _root.flushTitle ] title.text : _root.flushTitle hasTimeCircle : true Index: sources/gui/qml/pages/endtreatment/EndTreatmentBase.qml =================================================================== diff -u --- sources/gui/qml/pages/endtreatment/EndTreatmentBase.qml (revision 0) +++ sources/gui/qml/pages/endtreatment/EndTreatmentBase.qml (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -0,0 +1,50 @@ +/*! + * + * 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 EndTreatmentBase.qml + * \author (last) Behrouz NematiPour + * \date (last) 13-May-2021 + * \author (original) Behrouz NematiPour + * \date (original) 13-May-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" +import "qrc:/pages" + +/*! + * \brief the parent page of the End-treatment screens + */ +TreatmentFlowBase { id: _root + objectName: "_EndTreatmentBase" + + property bool hasTimeout : false + property alias timeout : _timeoutLoader.item + property int timeoutValue : 0 + + + Loader { id: _timeoutLoader + active : _root.hasTimeout + anchors { + horizontalCenter: parent.horizontalCenter + bottom : title.top + bottomMargin : Variables.minVGap + } + sourceComponent : TimeText { id: _timeout + textPixelSize : 30 + textWeight : Font.Normal + secondsVisible : false + seconds : _root.timeoutValue + } + } +} Index: sources/gui/qml/pages/endtreatment/EndTreatmentEndStack.qml =================================================================== diff -u -r88563177f10f20ced98750b2e40036201728131d -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/pages/endtreatment/EndTreatmentEndStack.qml (.../EndTreatmentEndStack.qml) (revision 88563177f10f20ced98750b2e40036201728131d) +++ sources/gui/qml/pages/endtreatment/EndTreatmentEndStack.qml (.../EndTreatmentEndStack.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -20,7 +20,7 @@ // Qml imports import "qrc:/globals" import "qrc:/components" -import "qrc:/pages/endtreatment/end" + /*! * \brief the post treatment end stack screen */ @@ -29,20 +29,38 @@ stackView.initialItem : null - // Treatment Complete - EndTreatmentEnd { id: _endTreatmentEnd - onRinsebackClicked : vTreatmentAdjustmentEnd.doEnd () //87.0 + property int stackStepIndex : 0 + + signal rinsebackClicked() + + EndTreatmentBase { id : _endTreatmentEnd + title.text : qsTr("Treatment Complete") + instructionBased : true + footer { + childrenWidth : 300 + children: TouchRect { + text.text : qsTr("START RINSEBACK") + isDefault : true + onClicked : rinsebackClicked() + } + } } - EndTreatmentEndPaused { id: _endTreatmentEndPaused } - Connections { target: vHDTreatmentStates + EndTreatmentBase { id : _endTreatmentEndPaused + title.text : qsTr("Treatment Complete Paused") + instructionBased : true + } + + Connections { target : vHDTreatmentStates onTeWaitRinsebackChanged : { page( _endTreatmentEnd , vteWaitRinseback )} onTePausedChanged : { page( _endTreatmentEndPaused , vtePaused )} } - Connections { target: vTreatmentAdjustmentEnd - onAdjustmentTriggered: { + Connections { target : vTreatmentAdjustmentEnd + onAdjustmentTriggered : { _endTreatmentEnd.reasonText = vTreatmentAdjustmentEnd.text(); } } + + onRinsebackClicked : vTreatmentAdjustmentEnd.doEnd () //87.0 } Index: sources/gui/qml/pages/endtreatment/EndTreatmentRecirculateStack.qml =================================================================== diff -u -r88563177f10f20ced98750b2e40036201728131d -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/pages/endtreatment/EndTreatmentRecirculateStack.qml (.../EndTreatmentRecirculateStack.qml) (revision 88563177f10f20ced98750b2e40036201728131d) +++ sources/gui/qml/pages/endtreatment/EndTreatmentRecirculateStack.qml (.../EndTreatmentRecirculateStack.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -20,25 +20,75 @@ // Qml imports import "qrc:/globals" import "qrc:/components" -import "qrc:/pages/endtreatment/recirculate" + /*! * \brief the end treatment recirculate stack screen */ StackItem { id: _root objectName: "_EndTreatmentRecirculateStack" - stackView.initialItem : null + stackView.initialItem : null + property int stackStepIndex : 0 + + signal reconnectClicked () + signal reconnectConfirmClicked () + signal recirculateBackClicked () + signal treatmentEndClicked () + // Recirculate - EndTreatmentRecirculate { id: _endTreatmentRecirculate - onReconnectClicked : vTreatmentAdjustmentRecirculate.doReconnect () //84.0 - onTreatmentEndClicked : vTreatmentAdjustmentRecirculate.doTreatmentEnd() //84.3 + EndTreatmentBase { id : _endTreatmentRecirculate + title.text : qsTr("Recirculate") + instructionBased : true + hasTimeout : vTreatmentRecirculate .timeoutTotal + timeoutValue : vTreatmentRecirculate .timeoutCountDown * 60 + + footer { + width : parent.width + height : Variables.touchRectHeight + } + + FooterStatic { + childrenWidth : 300 + anchors.fill : parent.footer + children : [ + Item { }, + TouchRect { + text.text : qsTr("RECONNECT") + isDefault : true + onClicked : reconnectClicked() + }, + TouchRect { + visible : vTreatmentTime .time_IsLeft + text.text : qsTr("END TREATMENT") + onClicked : treatmentEndClicked() + } + ] + } } - EndTreatmentReconnect { id: _endTreatmentReconnect - onConfirmClicked : vTreatmentAdjustmentRecirculate.doConfirm () //84.1 - onRecirculateBackClicked : vTreatmentAdjustmentRecirculate.doResume () //84.2 + + EndTreatmentBase { id : _endTreatmentReconnect + title.text : qsTr("Reconnect") + instructionBased : true + header.confirmVisible : vTreatmentTime .time_IsLeft + hasTimeout : vTreatmentRecirculate .timeoutTotal + timeoutValue : vTreatmentRecirculate .timeoutCountDown * 60 + onConfirmClicked : recirculateConfirmClicked() + footer { + childrenWidth : 300 + children : TouchRect { + visible : vTreatmentTime .time_IsLeft + text.text : qsTr("BACK TO RECIRCULATE") + onClicked : recirculateBackClicked() + } + } } + onReconnectClicked : vTreatmentAdjustmentRecirculate.doReconnect () //84.0 + onReconnectConfirmClicked : vTreatmentAdjustmentRecirculate.doConfirm () //84.1 + onRecirculateBackClicked : vTreatmentAdjustmentRecirculate.doResume () //84.2 + onTreatmentEndClicked : vTreatmentAdjustmentRecirculate.doTreatmentEnd() //84.3 + Connections { target: vHDTreatmentStates onRcStartedChanged : { page( _endTreatmentRecirculate , vrcStarted )} onRcStoppedChanged : { page( _endTreatmentReconnect , vrcStopped )} Index: sources/gui/qml/pages/endtreatment/EndTreatmentRinsebackStack.qml =================================================================== diff -u -r7077e38c74db9cccb5496ffefcf8936c0916de76 -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/pages/endtreatment/EndTreatmentRinsebackStack.qml (.../EndTreatmentRinsebackStack.qml) (revision 7077e38c74db9cccb5496ffefcf8936c0916de76) +++ sources/gui/qml/pages/endtreatment/EndTreatmentRinsebackStack.qml (.../EndTreatmentRinsebackStack.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -21,6 +21,7 @@ import "qrc:/globals" import "qrc:/components" import "qrc:/pages/endtreatment/rinseback" + /*! * \brief the end treatment rinseback stack screen */ @@ -29,6 +30,8 @@ stackView.initialItem : null + property int stackStepIndex : 0 + // Rinseback EndTreatmentRinsebackInit { id: _endTreatmentRinsebackInit onRinsebackClicked : vTreatmentAdjustmentRinseback.doStart () //82.0 Fisheye: Tag 8a5dbf556a66524fbe4b60ac1573182a0bd27617 refers to a dead (removed) revision in file `sources/gui/qml/pages/endtreatment/end/EndTreatmentEnd.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 8a5dbf556a66524fbe4b60ac1573182a0bd27617 refers to a dead (removed) revision in file `sources/gui/qml/pages/endtreatment/end/EndTreatmentEndPause.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 8a5dbf556a66524fbe4b60ac1573182a0bd27617 refers to a dead (removed) revision in file `sources/gui/qml/pages/endtreatment/recirculate/EndTreatmentRecirculate.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 8a5dbf556a66524fbe4b60ac1573182a0bd27617 refers to a dead (removed) revision in file `sources/gui/qml/pages/endtreatment/recirculate/EndTreatmentReconnect.qml'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentAdditional.qml =================================================================== diff -u -r88563177f10f20ced98750b2e40036201728131d -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentAdditional.qml (.../EndTreatmentAdditional.qml) (revision 88563177f10f20ced98750b2e40036201728131d) +++ sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentAdditional.qml (.../EndTreatmentAdditional.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -20,38 +20,18 @@ // Qml imports import "qrc:/globals" import "qrc:/components" +import "qrc:/pages/endtreatment" /*! * \brief the end treatment additional rinseback screen */ -ScreenItem { id: _root +EndTreatmentBase { id: _root objectName: "_EndTreatmentAdditional" - Text { id: _title - anchors { - top: parent.top - topMargin: 65 - horizontalCenter: parent.horizontalCenter - } - color: "white" - text: qsTr("Additional Rinseback") - font.pixelSize: Fonts.fontPixelTitle - } + title.text: qsTr("Additional Rinseback") - TimeText { id: timeout - visible : vTreatmentRinseback.timeoutTotal - anchors { - horizontalCenter: parent.horizontalCenter - top : _title.bottom - topMargin : 15 - } - textPixelSize : 30 - textWeight : Font.Normal - // the TimeText component works with hour and minute mainly - // so changing the seconds to minuts was easier than changing the component - secondsVisible : false - seconds : vTreatmentRinseback.timeoutCountDown * 60 - } + hasTimeout : vTreatmentRinseback.timeoutTotal + timeoutValue: vTreatmentRinseback.timeoutCountDown * 60 ProgressCircle { id: _circle diameter: 335 @@ -63,7 +43,7 @@ Text { id: _textVolume anchors.centerIn: parent - color: "white" + color: Colors.textMain text: vTreatmentRinseback.current.toFixed(0) + " " + qsTr(Variables.unitTextFluid) font.pixelSize: 76 font.weight: Font.ExtraLight @@ -76,15 +56,9 @@ topMargin: 20 horizontalCenter: parent.horizontalCenter } - color: "white" + color: Colors.textMain text: vTreatmentRinseback.rate.toFixed(0) + " " + qsTr(Variables.unitTextFlowRate) font.pixelSize: 23 } } - - onVisibleChanged: { - if (visible) { - _mainMenu.hidden = true - } - } } Index: sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentRinseback.qml =================================================================== diff -u -r88563177f10f20ced98750b2e40036201728131d -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentRinseback.qml (.../EndTreatmentRinseback.qml) (revision 88563177f10f20ced98750b2e40036201728131d) +++ sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentRinseback.qml (.../EndTreatmentRinseback.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -20,47 +20,23 @@ // Qml imports import "qrc:/globals" import "qrc:/components" +import "qrc:/pages/endtreatment" /*! * \brief the end treatment rinseback screen */ -ScreenItem { id: _root +EndTreatmentBase { id: _root objectName: "_EndTreatmentRinseback" - property alias reasonText : _notification.text - signal pauseClicked () signal resumeClicked () signal endClicked () signal accelerateClicked () signal deccelerateClicked () - Text { id: _title - anchors { - top: parent.top - topMargin: 65 - horizontalCenter: parent.horizontalCenter - } - color: "white" - text: qsTr("Rinseback") - font.pixelSize: Fonts.fontPixelTitle - } - TimeText { id: timeout - visible : false // has been removed for now // vTreatmentRinseback.timeoutTotal - anchors { - horizontalCenter: parent.horizontalCenter - top : _title.bottom - topMargin : 15 - } - textPixelSize : 30 - textWeight : Font.Normal - // the TimeText component works with hour and minute mainly - // so changing the seconds to minuts was easier than changing the component - secondsVisible : false - seconds : vTreatmentRinseback.timeoutCountDown * 60 - } + title.text: qsTr("Rinseback") ImageText { id: _imageEnd visible: ! vHDTreatmentStates.rbAdditional @@ -93,7 +69,7 @@ Text { id: _textVolume anchors.centerIn: parent - color: "white" + color: Colors.textMain text: vTreatmentRinseback.current.toFixed(0) + " " + qsTr(Variables.unitTextFluid) font.pixelSize: 76 font.weight: Font.ExtraLight @@ -106,7 +82,7 @@ topMargin: 20 horizontalCenter: parent.horizontalCenter } - color: "white" + color: Colors.textMain text: vTreatmentRinseback.rate.toFixed(0) + " " + qsTr(Variables.unitTextFlowRate) font.pixelSize: 23 } @@ -162,15 +138,4 @@ onClicked : accelerateClicked() } } - - NotificationBar { id: _notification - iconVisible: false - } - - onVisibleChanged: { - _notification.text = "" - if (visible) { - _mainMenu.hidden = true - } - } } Index: sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentRinsebackComplete.qml =================================================================== diff -u -r2230a5b1b891f47b64165164710aa680ddfc7040 -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentRinsebackComplete.qml (.../EndTreatmentRinsebackComplete.qml) (revision 2230a5b1b891f47b64165164710aa680ddfc7040) +++ sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentRinsebackComplete.qml (.../EndTreatmentRinsebackComplete.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -20,165 +20,51 @@ // Qml imports import "qrc:/globals" import "qrc:/components" +import "qrc:/pages/endtreatment" /*! * \brief the end treatment rinseback complete screen */ -ScreenItem { id: _root +EndTreatmentBase { id: _root objectName: "_EndTreatmentRinsebackComplete" - property alias reasonText : _notification.text signal additionalClicked () signal treatmentBackClicked () - signal confirmClicked () signal treatmentEndClicked () - QtObject { id: _private - property int sectionSpace : 30 - property int sectionWidth : _root.width * 2/3 - sectionSpace * 1.5 - property int sectionHeight : _root.width * 1/3 - sectionSpace * 1.5 - property bool treatmentIncomplete : vTreatmentTime.time_Total > 0 - } + title.text : qsTr("Rinseback Complete") + instructionBased : true + header.confirmVisible : vTreatmentTime .time_IsLeft + hasTimeout : vTreatmentRinseback .timeoutTotal + timeoutValue : vTreatmentRinseback .timeoutCountDown * 60 - Text { id: _title - anchors { - top: parent.top - topMargin: 65 - horizontalCenter: parent.horizontalCenter - } - color: Colors.white - text: qsTr("Rinseback Complete") - font.pixelSize: Fonts.fontPixelTitle + footer { + width : parent.width + height : Variables.touchRectHeight } - TouchRect { id : _touchAdditional - width : 155 - height : 50 - text { - text: qsTr("ADDITIONAL") - font.bold : true - font.pixelSize: Fonts.fontPixelConfirm - } - anchors { - verticalCenter : _title.verticalCenter - right : parent.right - rightMargin : 30 - } - onClicked : additionalClicked() - } + FooterStatic { + childrenWidth : 300 + anchors.fill : footer + children : [ + TouchRect { id : _backTreatmentTouchRect + visible : vTreatmentTime .time_IsLeft + text.text : qsTr("BACK TO TREATMENT") + onClicked : treatmentBackClicked() + }, - TimeText { id: timeout - visible : vTreatmentRinseback.timeoutTotal - anchors { - horizontalCenter: parent.horizontalCenter - top : _title.bottom - topMargin : 15 - } - textPixelSize : 30 - textWeight : Font.Normal - // the TimeText component works with hour and minute mainly - // so changing the seconds to minuts was easier than changing the component - secondsVisible : false - seconds : vTreatmentRinseback.timeoutCountDown * 60 - } + TouchRect { id : _endTreatmentTouchRect + visible : true // after the rinseback complete user can always end the treatment, regardless of incomplete or compeleted treatment + text.text : qsTr("END TREATMENT") + isDefault : ! vTreatmentTime .time_IsLeft + onClicked : treatmentEndClicked() + }, - Rectangle { - color : Colors.backgroundDialog - width : _private.sectionWidth - height : _private.sectionHeight - border.width: 2 - border.color: Colors.borderDisableButton - radius : Variables.dialogRadius - anchors { - verticalCenter: parent.verticalCenter - left: parent.left - leftMargin: _private.sectionSpace - } - Column { - spacing : 10 - anchors.fill: parent - anchors.margins: _private.sectionSpace - Text { id: _titleSteps - anchors.left: parent.left - color: Colors.white - text: qsTr("Please Disconnet") - font.pixelSize: Fonts.fontPixelButton + TouchRect { id : _beginRinsebackTouchRect + visible : true + text.text : qsTr("ADDITIONAL") + onClicked : additionalClicked() } - - Text { id: _steps - anchors.left: parent.left - anchors.leftMargin: _private.sectionSpace - color: Colors.white - text: qsTr("First Step\nSecond Step\nThird Step\n") - font.pixelSize: Fonts.fontPixelButton - } - } + ] } - - Rectangle { - color : Colors.backgroundDialog - width : _private.sectionHeight - height : _private.sectionHeight - border.width: 2 - border.color: Colors.borderDisableButton - radius : Variables.dialogRadius - anchors { - verticalCenter: parent.verticalCenter - right: parent.right - rightMargin: _private.sectionSpace - } - Text { id: _visualAID - anchors.centerIn: parent - color: Colors.white - text: qsTr("Visual AID\nplaceholder") - font.pixelSize: Fonts.fontPixelButton - } - } - - Row { id: _buttonGroup - property int buttonsWidth : 300 - spacing: 75 - - anchors { - bottom : parent.bottom - horizontalCenter: parent.horizontalCenter - rightMargin : spacing - leftMargin : spacing - bottomMargin : spacing - } - - TouchRect { id : _backTreatmentTouchRect - visible : _private.treatmentIncomplete - text.text : qsTr("BACK TO TREATMENT") - width : _buttonGroup.buttonsWidth - onClicked : treatmentBackClicked() - } - - TouchRect { id : _beginRinsebackTouchRect - visible : _private.treatmentIncomplete - text.text : qsTr("CONFIRM") - width : _buttonGroup.buttonsWidth - color : borderColor - onClicked : confirmClicked() - } - - TouchRect { id : _endTreatmentTouchRect - visible : true // after the rinseback complete user can always end the treatment, regardless of incomplete or compeleted treatment - text.text : qsTr("END TREATMENT") - width : _buttonGroup.buttonsWidth - color : _private.treatmentIncomplete ? backgroundColor : borderColor - onClicked : treatmentEndClicked() - } - } - - NotificationBar { id: _notification - iconVisible: false - } - - onVisibleChanged: { - _notification.text = "" - if (visible) { - _mainMenu.hidden = true - } - } } Index: sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentRinsebackInit.qml =================================================================== diff -u -r2230a5b1b891f47b64165164710aa680ddfc7040 -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentRinsebackInit.qml (.../EndTreatmentRinsebackInit.qml) (revision 2230a5b1b891f47b64165164710aa680ddfc7040) +++ sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentRinsebackInit.qml (.../EndTreatmentRinsebackInit.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -20,146 +20,48 @@ // Qml imports import "qrc:/globals" import "qrc:/components" +import "qrc:/pages/endtreatment" /*! * \brief the end treatment rinseback setup screen */ -ScreenItem { id: _root +EndTreatmentBase { id: _root objectName: "_EndTreatmentRinsebackInit" - property alias reasonText : _notification.text - signal treatmentBackClicked () signal rinsebackClicked () signal treatmentEndClicked () - QtObject { id: _private - property int sectionSpace : 30 - property int sectionWidth : _root.width * 2/3 - sectionSpace * 1.5 - property int sectionHeight: _root.width * 1/3 - sectionSpace * 1.5 - } - Text { id: _title - anchors { - top: parent.top - topMargin: 65 - horizontalCenter: parent.horizontalCenter - } - color: Colors.white - text: qsTr("Rinseback Setup") - font.pixelSize: Fonts.fontPixelTitle - } + title.text : qsTr("Rinseback Setup") + instructionBased : true - TimeText { id: timeout - visible : vTreatmentRinseback.timeoutTotal - anchors { - horizontalCenter: parent.horizontalCenter - top : _title.bottom - topMargin : 15 - } - textPixelSize : 30 - textWeight : Font.Normal - // the TimeText component works with hour and minute mainly - // so changing the seconds to minuts was easier than changing the component - secondsVisible : false - seconds : vTreatmentRinseback.timeoutCountDown * 60 - } + hasTimeout : vTreatmentRinseback .timeoutTotal + timeoutValue : vTreatmentRinseback .timeoutCountDown * 60 - Rectangle { - color : Colors.backgroundDialog - width : _private.sectionWidth - height : _private.sectionHeight - border.width: 2 - border.color: Colors.borderDisableButton - radius : Variables.dialogRadius - anchors { - verticalCenter: parent.verticalCenter - left: parent.left - leftMargin: _private.sectionSpace - } - Column { - spacing : 10 - anchors.fill: parent - anchors.margins: _private.sectionSpace - Text { id: _titleSteps - anchors.left: parent.left - color: Colors.white - text: qsTr("Please Follow The Steps") - font.pixelSize: Fonts.fontPixelButton + footer { + width : parent.width + height : Variables.touchRectHeight + } + FooterStatic { + childrenWidth : 300 + anchors.fill : footer + children : [ + TouchRect { id : _backTreatmentTouchRect + visible : vTreatmentTime .time_IsLeft + text.text : qsTr("BACK TO TREATMENT") + onClicked : treatmentBackClicked() + }, + TouchRect { id : _beginRinsebackTouchRect + visible : true + isDefault : true + text.text : qsTr("START RINSEBACK") + onClicked : rinsebackClicked() + }, + TouchRect { id : _endTreatmentTouchRect + visible : vTreatmentTime .time_IsLeft + text.text : qsTr("END TREATMENT") + onClicked : treatmentEndClicked() } - - Text { id: _steps - anchors.left: parent.left - anchors.leftMargin: _private.sectionSpace - color: Colors.white - text: qsTr("First Step\nSecond Step\nThird Step\n") - font.pixelSize: Fonts.fontPixelButton - } - } + ] } - - Rectangle { - color : Colors.backgroundDialog - width : _private.sectionHeight - height : _private.sectionHeight - border.width: 2 - border.color: Colors.borderDisableButton - radius : Variables.dialogRadius - anchors { - verticalCenter: parent.verticalCenter - right: parent.right - rightMargin: _private.sectionSpace - } - Text { id: _visualAID - anchors.centerIn: parent - color: Colors.white - text: qsTr("Visual AID\nplaceholder") - font.pixelSize: Fonts.fontPixelButton - } - } - - Row { id: _buttonGroup - property int buttonsWidth : 300 - spacing: 75 - - anchors { - bottom : parent.bottom - horizontalCenter: parent.horizontalCenter - rightMargin : spacing - leftMargin : spacing - bottomMargin : spacing - } - - TouchRect { id : _backTreatmentTouchRect - visible : vTreatmentTime.time_Total > 0 - text.text : qsTr("BACK TO TREATMENT") - width : _buttonGroup.buttonsWidth - onClicked : treatmentBackClicked() - } - - TouchRect { id : _beginRinsebackTouchRect - visible : true - text.text : qsTr("START RINSEBACK") - width : _buttonGroup.buttonsWidth - isDefault : true - onClicked : rinsebackClicked() - } - - TouchRect { id : _endTreatmentTouchRect - visible : vTreatmentTime.time_Total > 0 - text.text : qsTr("END TREATMENT") - width : _buttonGroup.buttonsWidth - onClicked : treatmentEndClicked() - } - } - - NotificationBar { id: _notification - iconVisible: false - } - - onVisibleChanged: { - _notification.text = "" - if (visible) { - _mainMenu.hidden = true - } - } } Index: sources/gui/qml/pages/posttreatment/PostTreatmentBase.qml =================================================================== diff -u -r2216ac6ac7f77437a7c29ac8b4043be01bc4609e -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/pages/posttreatment/PostTreatmentBase.qml (.../PostTreatmentBase.qml) (revision 2216ac6ac7f77437a7c29ac8b4043be01bc4609e) +++ sources/gui/qml/pages/posttreatment/PostTreatmentBase.qml (.../PostTreatmentBase.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -20,165 +20,17 @@ // Qml imports import "qrc:/globals" import "qrc:/components" -import "qrc:/compounds" +import "qrc:/pages" /*! * \brief the parent page of the post-treatment screens */ -ScreenItem { id: _root +TreatmentFlowBase { id: _root objectName: "_PostTreatmentBase" - - property alias reasonText : _notification.text - property alias header : _titleBar - property alias title : _titleText - property alias footer : _footer - - property bool instructionBased : false - readonly property alias instruction : _instructionLoader.item - property string instructionlocation : "" - property var instructionStepNames : [] - property var instructionStepImages : [] - - property bool hasTimeCircle : false - readonly property alias timeCircle : _timeCircleLoader.item - property bool timeCircleIsChecked : false - property int timeCircleMinimum : 0 - property int timeCircleMaximum : 0 - property int timeCircleProgressValue : 0 - property int timeCircleTimeTextValue : 0 - - property bool hasCheckList : false - readonly property alias checkList : _checkListLoader.item - property var checkListStepNames : [] - property int checkListCompleteMargin : 50 - property string completeText : "" - - property bool isComplete : false - - readonly property int titleTopMargin: 110 - - signal backClicked() - signal confirmClicked() - - // vvvvvvvvvvvvvvvvvvvvvvvvv HEADER vvvvvvvvvvvvvvvvvvvvvvvvv // - StepNavigationTitleBar { id: _titleBar - stepIndex : stackStepIndex // shall have a definition in the parent stack - stepLineLength : 120 - anchors.top : _root.top - anchors.horizontalCenter : parent.horizontalCenter - width : _root.width - confirmEnabled : instruction ? instruction.lastStep : true - stepNames: [ - qsTr("Disconnection"), - qsTr("Review" ), - qsTr("Disposables" ), - qsTr("Disinfection" ), - ] - onBackClicked : _root.backClicked() - onConfirmClicked: _root.confirmClicked() - } - - Text { id: _titleText - anchors { - top : _root.top - topMargin : titleTopMargin - horizontalCenter: parent.horizontalCenter - } - text : qsTr("PostTreatmentBase") - color : Colors.textMain - font.pixelSize : Fonts.fontPixelTitle - } - - // ^^^^^^^^^^^^^^^^^^^^^^^^^ HEADER ^^^^^^^^^^^^^^^^^^^^^^^^^ // - - // vvvvvvvvvvvvvvvvvvvv Optional Components vvvvvvvvvvvvvvvvvvvv // - Loader { id: _instructionLoader - readonly property int outerHMargin : 30 - readonly property int outerVMargin : 15 - active : _root.instructionBased - anchors { - top : title.bottom - bottom : footer.top - left : parent.left - right : parent.right - leftMargin : outerHMargin - rightMargin : outerHMargin - topMargin : outerVMargin - bottomMargin : outerVMargin - } - sourceComponent : InstructionView { id: _instructionView - location : _root.instructionlocation - stepNames : _root.instructionStepNames - stepImages : _root.instructionStepImages - } - } - - Loader { id : _timeCircleLoader - active : _root.hasTimeCircle - - anchors.top : _root.hasCheckList ? title.bottom : undefined - anchors.topMargin : _root.hasCheckList ? 25 : 0 - anchors.horizontalCenter: _root.horizontalCenter - anchors.centerIn : ! _root.hasCheckList ? parent : undefined - sourceComponent : TimeCircle { id: _timeCircle - isChecked : _root.isComplete - minimum : _root.timeCircleMinimum - maximum : _root.timeCircleMaximum - progressValue : _root.timeCircleProgressValue - timeTextValue : _root.timeCircleTimeTextValue - thickness : _root.hasCheckList ? 1 : 2 - diameter : _root.hasCheckList ? Variables.progressCircleDiameterSmall : Variables.progressCircleDiameterNormal - timeTextPixelSize : _root.hasCheckList ? Fonts.fontPixelCirclProgressTimeSmall : Fonts.fontPixelCirclProgressTimeNormal - } - } - - Loader { id: _checkListLoader - active : _root.hasCheckList - anchors.top : _root.hasTimeCircle ? _timeCircleLoader.bottom : undefined - anchors.topMargin : _root.hasTimeCircle ? 25 : 0 - anchors.horizontalCenter: _root.horizontalCenter - anchors.centerIn : ! _root.hasTimeCircle ? parent : undefined - width : Variables.checkListViewItemWidth - height : Variables.checkListViewItemHeight * _root.checkListStepNames.length - sourceComponent : CheckListView { id: _checkListView - completeVisible : _root.isComplete - completeText : _root.completeText - stepNames : _root.checkListStepNames - completeMargin : _root.checkListCompleteMargin - } - } - - // ^^^^^^^^^^^^^^^^^^^^ Optional Components ^^^^^^^^^^^^^^^^^^^^ // - - Footer { id: _footer } - - NotificationBar { id: _notification - iconVisible: false - } - - Connections { target: vSettings - onSettingsChanged : { - if ( instructionBased ) { - var group = vSettings.groupFormat.arg(header.stepNames[stackStepIndex]).arg(title.text) - var settingsGroup = vSettings.settings[group] - // DEBUG : console.debug(" 11111 ", group, settingsGroup) - if ( settingsGroup !== undefined ) { - _root.instructionlocation = settingsGroup.location - _root.instructionStepNames = settingsGroup.keys - _root.instructionStepImages = settingsGroup.values - } - } - } - } - - onVisibleChanged: { - if (checkList) - checkList.resetItems() - if (instruction) - instruction.currentStepIndex = 0 - _notification.text = "" - if (visible) { - _mainMenu.hidden = true - } - } + header.stepNames: [ + qsTr("Disconnection"), + qsTr("Review" ), + qsTr("Disposables" ), + qsTr("Disinfection" ), + ] } Index: sources/gui/qml/pages/posttreatment/PostTreatmentStack.qml =================================================================== diff -u -r2216ac6ac7f77437a7c29ac8b4043be01bc4609e -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/pages/posttreatment/PostTreatmentStack.qml (.../PostTreatmentStack.qml) (revision 2216ac6ac7f77437a7c29ac8b4043be01bc4609e) +++ sources/gui/qml/pages/posttreatment/PostTreatmentStack.qml (.../PostTreatmentStack.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -36,15 +36,15 @@ signal disposablesRemovalBack () PostTreatmentBase { id: _patientDisconnectionConfirm - property int stackStepIndex : 0 + property int stackStepIndex : 0 header.confirmVisible : true title.text : qsTr("Patient Disconnection") instructionBased : true onConfirmClicked : _root.patientDisconnectionConfirm() } PostTreatmentReview { id: _treatmentReviewConfirm - property int stackStepIndex : 1 + property int stackStepIndex : 1 header.confirmVisible : true title.text : qsTr("Treatment Review") instructionBased : false @@ -56,14 +56,14 @@ } PostTreatmentBase { id: _detailTest - property int stackStepIndex : 1 - onBackClicked: pop() - header.backVisible: true - header.confirmVisible: false + property int stackStepIndex : 1 + onBackClicked : pop() + header.backVisible : true + header.confirmVisible : false } PostTreatmentBase { id: _disposablesRemovalConfirm - property int stackStepIndex : 2 + property int stackStepIndex : 2 header. backVisible : true header.confirmVisible : true title.text : qsTr("Disposables Removal") Index: sources/gui/qml/pages/pretreatment/PreTreatmentBase.qml =================================================================== diff -u -r2216ac6ac7f77437a7c29ac8b4043be01bc4609e -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/pages/pretreatment/PreTreatmentBase.qml (.../PreTreatmentBase.qml) (revision 2216ac6ac7f77437a7c29ac8b4043be01bc4609e) +++ sources/gui/qml/pages/pretreatment/PreTreatmentBase.qml (.../PreTreatmentBase.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -20,54 +20,14 @@ // Qml imports import "qrc:/globals" import "qrc:/components" -import "qrc:/compounds" +import "qrc:/pages" /*! * \brief the parent page of the pre-treatment screens */ -ScreenItem { id: _root +TreatmentFlowBase { id: _root objectName: "_PreTreatmentBase" - - property alias reasonText : _notification.text - property alias header : _titleBar - property alias title : _titleText - property alias footer : _footer - - property bool instructionBased : false - readonly property alias instruction : _instructionLoader.item - property string instructionlocation : "" - property var instructionStepNames : [] - property var instructionStepImages : [] - - property bool hasTimeCircle : false - readonly property alias timeCircle : _timeCircleLoader.item - property bool timeCircleIsChecked : false - property int timeCircleMinimum : 0 - property int timeCircleMaximum : 0 - property int timeCircleProgressValue : 0 - property int timeCircleTimeTextValue : 0 - - property bool hasCheckList : false - readonly property alias checkList : _checkListLoader.item - property var checkListStepNames : [] - property int checkListCompleteMargin : 50 - property string completeText : "" - - property bool isComplete : false - - readonly property int titleTopMargin: 110 - - signal backClicked() - signal confirmClicked() - - // vvvvvvvvvvvvvvvvvvvvvvvvv HEADER vvvvvvvvvvvvvvvvvvvvvvvvv // - StepNavigationTitleBar { id: _titleBar - stepIndex : stackStepIndex // shall have a definition in the parent stack - anchors.top : _root.top - anchors.horizontalCenter : parent.horizontalCenter - width : _root.width - confirmEnabled : instruction ? instruction.lastStep : true - stepNames: [ + header.stepNames: [ qsTr("Create" ), qsTr("Sample" ), qsTr("Consumables" ), @@ -78,112 +38,4 @@ qsTr("Connection" ), qsTr("Start" ), ] - onBackClicked : _root.backClicked() - onConfirmClicked: _root.confirmClicked() - } - - Text { id: _titleText - anchors { - top : _root.top - topMargin : titleTopMargin - horizontalCenter: parent.horizontalCenter - } - text : qsTr("PreTreatmentBase") - color : Colors.textMain - font.pixelSize : Fonts.fontPixelTitle - } - - // ^^^^^^^^^^^^^^^^^^^^^^^^^ HEADER ^^^^^^^^^^^^^^^^^^^^^^^^^ // - - // vvvvvvvvvvvvvvvvvvvv Optional Components vvvvvvvvvvvvvvvvvvvv // - Loader { id: _instructionLoader - readonly property int outerHMargin : 30 - readonly property int outerVMargin : 15 - active : _root.instructionBased - anchors { - top : title.bottom - bottom : footer.top - left : parent.left - right : parent.right - leftMargin : outerHMargin - rightMargin : outerHMargin - topMargin : outerVMargin - bottomMargin : outerVMargin - } - sourceComponent : InstructionView { id: _instructionView - location : _root.instructionlocation - stepNames : _root.instructionStepNames - stepImages : _root.instructionStepImages - } - } - - Loader { id : _timeCircleLoader - active : _root.hasTimeCircle - - anchors.top : _root.hasCheckList ? title.bottom : undefined - anchors.topMargin : _root.hasCheckList ? 25 : 0 - anchors.horizontalCenter: _root.horizontalCenter - anchors.centerIn : ! _root.hasCheckList ? parent : undefined - sourceComponent : TimeCircle { id: _timeCircle - isChecked : _root.isComplete - minimum : _root.timeCircleMinimum - maximum : _root.timeCircleMaximum - progressValue : _root.timeCircleProgressValue - timeTextValue : _root.timeCircleTimeTextValue - thickness : _root.hasCheckList ? 1 : 2 - diameter : _root.hasCheckList ? Variables.progressCircleDiameterSmall : Variables.progressCircleDiameterNormal - timeTextPixelSize : _root.hasCheckList ? Fonts.fontPixelCirclProgressTimeSmall : Fonts.fontPixelCirclProgressTimeNormal - } - } - - Loader { id: _checkListLoader - active : _root.hasCheckList - anchors.top : _root.hasTimeCircle ? _timeCircleLoader.bottom : undefined - anchors.topMargin : _root.hasTimeCircle ? 25 : 0 - anchors.horizontalCenter: _root.horizontalCenter - anchors.centerIn : ! _root.hasTimeCircle ? parent : undefined - width : Variables.checkListViewItemWidth - height : Variables.checkListViewItemHeight * _root.checkListStepNames.length - sourceComponent : CheckListView { id: _checkListView - completeVisible : _root.isComplete - completeText : _root.completeText - stepNames : _root.checkListStepNames - completeMargin : _root.checkListCompleteMargin - } - } - - // ^^^^^^^^^^^^^^^^^^^^ Optional Components ^^^^^^^^^^^^^^^^^^^^ // - - Footer { id: _footer } - - NotificationBar { id: _notification - iconVisible: false - } - - Connections { target: vSettings - onSettingsChanged : { - if ( instructionBased ) { - var group = vSettings.groupFormat.arg(header.stepNames[stackStepIndex]).arg(title.text) - var settingsGroup = vSettings.settings[group] - // DEBUG : var settingsCategory = vSettings.category["Instructions/Instructions"] - if ( settingsGroup !== undefined ) { - // DEBUG : console.debug(" 00000 ", group, settingsGroup, settingsCategory.groups) - _root.instructionlocation = settingsGroup.location - _root.instructionStepNames = settingsGroup.keys - _root.instructionStepImages = settingsGroup.values - } - } - } - } - - onVisibleChanged: { - if (checkList) - checkList.resetItems() - if (instruction) - instruction.currentStepIndex = 0 - _notification.text = "" - if (visible) { - _mainMenu.hidden = true - } - } } Index: sources/gui/qml/pages/pretreatment/PreTreatmentMainStack.qml =================================================================== diff -u -r821bf955d0ba7e028bccfee7c04ca77cf80a0bd4 -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/pages/pretreatment/PreTreatmentMainStack.qml (.../PreTreatmentMainStack.qml) (revision 821bf955d0ba7e028bccfee7c04ca77cf80a0bd4) +++ sources/gui/qml/pages/pretreatment/PreTreatmentMainStack.qml (.../PreTreatmentMainStack.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -30,6 +30,8 @@ stackView.initialItem : null + property int stackStepIndex : 0 + PreTreatmentWaterSampleStack{ id: _preTreatmentWaterSampleStack } PreTreatmentConsumablesStack{ id: _preTreatmentConsumablesStack } PreTreatmentDisposablesStack{ id: _preTreatmentDisposablesStack } Index: sources/gui/qml/pages/pretreatment/PreTreatmentWaterSampleStack.qml =================================================================== diff -u -r98581b325c24eb5ef0ce0ce475ad15320d659140 -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/pages/pretreatment/PreTreatmentWaterSampleStack.qml (.../PreTreatmentWaterSampleStack.qml) (revision 98581b325c24eb5ef0ce0ce475ad15320d659140) +++ sources/gui/qml/pages/pretreatment/PreTreatmentWaterSampleStack.qml (.../PreTreatmentWaterSampleStack.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -66,6 +66,7 @@ header.backVisible : true title.text : qsTr("Water Sample Result") instructionBased : true + footer.childrenWidth : 300 footer.children: [ TouchRect { text.text: qsTr("FAIL") Index: sources/gui/qml/pages/pretreatment/connection/PreTreatmentUltrafiltration.qml =================================================================== diff -u -r99a56ec30f1ca4f401e744766bde4f6fac291752 -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/pages/pretreatment/connection/PreTreatmentUltrafiltration.qml (.../PreTreatmentUltrafiltration.qml) (revision 99a56ec30f1ca4f401e744766bde4f6fac291752) +++ sources/gui/qml/pages/pretreatment/connection/PreTreatmentUltrafiltration.qml (.../PreTreatmentUltrafiltration.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -35,7 +35,7 @@ Text { id: _textLabel visible : true - color : "white" + color : Colors.textMain text : qsTr("Ultrafiltration Volume") + " " + Variables.unitTextUltrafiltrationVolume font { pixelSize : Fonts.fontPixelCreateTreatment @@ -49,7 +49,7 @@ Text { id: _textValue visible : true - color : "white" + color : Colors.textMain text : _root.ufVolume.toFixed(Variables.ultrafiltrationPrecision) font { pixelSize : Fonts.fontPixelCreateTreatment Index: sources/gui/qml/pages/pretreatment/create/PreTreatmentCreate.qml =================================================================== diff -u -r577ab4647b2584d4e32b26797281ec1543d2e1aa -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/pages/pretreatment/create/PreTreatmentCreate.qml (.../PreTreatmentCreate.qml) (revision 577ab4647b2584d4e32b26797281ec1543d2e1aa) +++ sources/gui/qml/pages/pretreatment/create/PreTreatmentCreate.qml (.../PreTreatmentCreate.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -258,7 +258,7 @@ anchors.horizontalCenter: parent.horizontalCenter Text { id: _arterialLabel visible : true - color : "white" + color : Colors.textMain text: qsTr("Arterial Pressure Limits") + " " + "(" + Variables.unitTextBloodPressure + ")" font.pixelSize : Fonts.fontPixelFluidText anchors.left : _arterialPressureLimits.left @@ -324,7 +324,7 @@ anchors.horizontalCenter: parent.horizontalCenter Text { id: _venousLabel visible : true - color : "white" + color : Colors.textMain text: qsTr("Venous Pressure Limits") + " " + "(" + Variables.unitTextBloodPressure + ")" font.pixelSize : Fonts.fontPixelFluidText anchors.left : _venousPressureLimits.left Index: sources/gui/qml/pages/treatment/TreatmentBloodPrime.qml =================================================================== diff -u -r88563177f10f20ced98750b2e40036201728131d -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/pages/treatment/TreatmentBloodPrime.qml (.../TreatmentBloodPrime.qml) (revision 88563177f10f20ced98750b2e40036201728131d) +++ sources/gui/qml/pages/treatment/TreatmentBloodPrime.qml (.../TreatmentBloodPrime.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -33,7 +33,7 @@ topMargin: 65 horizontalCenter: parent.horizontalCenter } - color: "white" + color: Colors.textMain text: qsTr("Blood Priming") font.pixelSize: Fonts.fontPixelTitle } @@ -47,7 +47,7 @@ Text { id: _textVolume anchors.centerIn: parent - color: "white" + color: Colors.textMain text: vTreatmentBloodPrime.current.toFixed(0) + " " + qsTr(Variables.unitTextFluid) font.pixelSize: 76 font.weight: Font.ExtraLight Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationEdit.qml =================================================================== diff -u -r73091a6f5717c0fc88e236c06c618ad361f30a3c -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationEdit.qml (.../TreatmentAdjustmentUltrafiltrationEdit.qml) (revision 73091a6f5717c0fc88e236c06c618ad361f30a3c) +++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationEdit.qml (.../TreatmentAdjustmentUltrafiltrationEdit.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -102,7 +102,7 @@ Text { id: _textVolume visible : true - color : "white" + color : Colors.textMain text : _private.valAdjust.toFixed(_private.decimal) font { pixelSize : Fonts.fontPixelUltrafiltrationAdjustmentEditValue Index: sources/gui/qml/pages/treatment/sections/TreatmentTime.qml =================================================================== diff -u -rbd01334f257c35b96b7b232beacbcd7fae60c852 -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/gui/qml/pages/treatment/sections/TreatmentTime.qml (.../TreatmentTime.qml) (revision bd01334f257c35b96b7b232beacbcd7fae60c852) +++ sources/gui/qml/pages/treatment/sections/TreatmentTime.qml (.../TreatmentTime.qml) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -68,7 +68,7 @@ text: qsTr("Time Remaining") font.pixelSize: 26 - color: "white" + color: Colors.textMain anchors.left: parent.left Image { id: _arrowImage Index: sources/storage/Logger.h =================================================================== diff -u -r2216ac6ac7f77437a7c29ac8b4043be01bc4609e -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/storage/Logger.h (.../Logger.h) (revision 2216ac6ac7f77437a7c29ac8b4043be01bc4609e) +++ sources/storage/Logger.h (.../Logger.h) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -135,8 +135,8 @@ { LogType::eLogTrtmt, 100}, // in percent // No Remove for now }; - const char *_dateFormat = "yyyy_MM_dd"; - const char *_timeFormat = "HH:mm:ss"; + const char *_dateFormat = "yyyy_MM_dd" ; // date used in the file name + const char *_timeFormat = "HH:mm:ss.zzz"; // timestamp in the file const char *_dateSeparator = "_"; // used in filename const char *_separator = ","; Index: sources/view/hd/data/treatment/VTreatmentTime.cpp =================================================================== diff -u -r88563177f10f20ced98750b2e40036201728131d -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/view/hd/data/treatment/VTreatmentTime.cpp (.../VTreatmentTime.cpp) (revision 88563177f10f20ced98750b2e40036201728131d) +++ sources/view/hd/data/treatment/VTreatmentTime.cpp (.../VTreatmentTime.cpp) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -21,7 +21,8 @@ void VTreatmentTime::onActionReceive(const TreatmentTimeData &vData) { - time_Total (vData.mTotal ); - time_Elapsed (vData.mElapsed ); - time_Remaining (vData.mRemaining ); + time_Total ( vData.mTotal ); + time_Elapsed ( vData.mElapsed ); + time_Remaining ( vData.mRemaining ); + time_IsLeft ( vData.mTotal > 0 ); } Index: sources/view/hd/data/treatment/VTreatmentTime.h =================================================================== diff -u -r88563177f10f20ced98750b2e40036201728131d -r8a5dbf556a66524fbe4b60ac1573182a0bd27617 --- sources/view/hd/data/treatment/VTreatmentTime.h (.../VTreatmentTime.h) (revision 88563177f10f20ced98750b2e40036201728131d) +++ sources/view/hd/data/treatment/VTreatmentTime.h (.../VTreatmentTime.h) (revision 8a5dbf556a66524fbe4b60ac1573182a0bd27617) @@ -39,6 +39,7 @@ PROPERTY( quint32 , time_Total , 0) PROPERTY( quint32 , time_Elapsed , 0) PROPERTY( quint32 , time_Remaining , 0) + PROPERTY( bool , time_IsLeft , 0) VIEW_DEC(VTreatmentTime, TreatmentTimeData) };