Index: leahi.qrc =================================================================== diff -u -rd66feb12d37023f6f67672ff4acdb5abebdbff15 -r39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26 --- leahi.qrc (.../leahi.qrc) (revision d66feb12d37023f6f67672ff4acdb5abebdbff15) +++ leahi.qrc (.../leahi.qrc) (revision 39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26) @@ -5,6 +5,7 @@ sources/gui/qml/pages/ManagerStack.qml sources/gui/qml/pages/UserConfirmation.qml sources/gui/qml/pages/TreatmentFlowBase.qml + sources/gui/qml/pages/MainInitialization.qml sources/gui/qml/pages/settings/SettingsBase.qml Index: sources/gui/qml/components/HeaderBar.qml =================================================================== diff -u -r1286d74bd015276aab604808be2766136091c125 -r39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26 --- sources/gui/qml/components/HeaderBar.qml (.../HeaderBar.qml) (revision 1286d74bd015276aab604808be2766136091c125) +++ sources/gui/qml/components/HeaderBar.qml (.../HeaderBar.qml) (revision 39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26) @@ -8,7 +8,7 @@ property alias menuHidden : _headerMenu.hidden property alias headerMenuIndex : _headerMenu.index - property alias loggedUser : _loggedInUser.text + property alias userMode : _loggedInUser.text readonly property int currentScreen : _headerMenu.currentScreen property bool isCreateRx : false // This is to hide in the create rx icon in the screen only property bool isHeparinFeatured : vSettings.heparinSyringePump Index: sources/gui/qml/components/TouchRect.qml =================================================================== diff -u -r29331d6ae2d7af814a0f4a7a37390877a54f516d -r39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26 --- sources/gui/qml/components/TouchRect.qml (.../TouchRect.qml) (revision 29331d6ae2d7af814a0f4a7a37390877a54f516d) +++ sources/gui/qml/components/TouchRect.qml (.../TouchRect.qml) (revision 39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26) @@ -110,11 +110,11 @@ property int touchExpanding : 0 - signal pressed - signal released - signal clicked - signal pressAndHold - signal canceled + signal pressed () + signal released () + signal clicked () + signal pressAndHold () + signal canceled () width : Variables.touchRectWidth height : Variables.touchRectHeight Index: sources/gui/qml/compounds/InstructionView.qml =================================================================== diff -u -rd66feb12d37023f6f67672ff4acdb5abebdbff15 -r39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26 --- sources/gui/qml/compounds/InstructionView.qml (.../InstructionView.qml) (revision d66feb12d37023f6f67672ff4acdb5abebdbff15) +++ sources/gui/qml/compounds/InstructionView.qml (.../InstructionView.qml) (revision 39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26) @@ -32,7 +32,7 @@ radius : Variables.alarmDialogRadius clip : true - onVisibleChanged: if (visible) { _autoStepController.isPlaying = false } + onVisibleChanged: if (visible) { _autoStepController.isPlaying = true } Text { id: _title anchors { @@ -129,15 +129,23 @@ } } - InteractiveImage { id: _image - anchors { - bottom : parent.bottom - right : parent.right + Image { id: _image + anchors{ + right : parent.right + bottom : parent.bottom } - width : parent.width / 2 - height : _root.height - source : _root.stepImages.length && _root.stepImages[_root.currentIndex] ? _root.stepImages[_root.currentIndex] : "" } + // TODO TEST ON NEW DISPLAY AND ADD BACK IN +// InteractiveImage { id: _image +// anchors { +// bottom : parent.bottom +// right : parent.right +// } +// width : parent.width / 2 +// height : _root.height + +// source : _root.stepImages.length && _root.stepImages[_root.currentIndex] ? _root.stepImages[_root.currentIndex] : "" +// } } } Index: sources/gui/qml/dialogs/NotificationDialog.qml =================================================================== diff -u -rd66feb12d37023f6f67672ff4acdb5abebdbff15 -r39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26 --- sources/gui/qml/dialogs/NotificationDialog.qml (.../NotificationDialog.qml) (revision d66feb12d37023f6f67672ff4acdb5abebdbff15) +++ sources/gui/qml/dialogs/NotificationDialog.qml (.../NotificationDialog.qml) (revision 39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26) @@ -213,17 +213,24 @@ } } - InteractiveImage { id: _figureImage - anchors { - right : parent.right - bottom : parent.bottom - bottomMargin : Variables.defaultMargin * 3 - + Image { id: _figureImage + anchors{ + right : parent.right + bottom : parent.bottom + bottomMargin: Variables.defaultMargin * 3 } - width : parent.width / 2 - height : _listView.height - } + // TODO TEST ON NEW DISPLAY AND ADD BACK IN +// InteractiveImage { id: _figureImage +// anchors { +// right : parent.right +// bottom : parent.bottom +// bottomMargin : Variables.defaultMargin * 3 + +// } +// width : parent.width / 2 +// height : _listView.height +// } } Rectangle { id: _timerRect Index: sources/gui/qml/pages/MainHome.qml =================================================================== diff -u -r9d19afe7963673863456c676ba79236234e9e9e0 -r39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26 --- sources/gui/qml/pages/MainHome.qml (.../MainHome.qml) (revision 9d19afe7963673863456c676ba79236234e9e9e0) +++ sources/gui/qml/pages/MainHome.qml (.../MainHome.qml) (revision 39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26) @@ -88,7 +88,11 @@ onVisibleChanged: { if (visible) { - _mainMenu.hidden = false + _headerBar.activeStack = null + _mainMenu.hidden = false // initially our landing screen is _initialModeScreen which should not have the Main menu. } + else { + reasonText = "" + } } } Index: sources/gui/qml/pages/MainInitialization.qml =================================================================== diff -u --- sources/gui/qml/pages/MainInitialization.qml (revision 0) +++ sources/gui/qml/pages/MainInitialization.qml (revision 39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26) @@ -0,0 +1,59 @@ +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" + + +ScreenItem { id: _postModeScreen + onVisibleChanged: { + if (visible) { + _headerBar.activeStack = null + _mainMenu.hidden = true + } + } + + Image { id: _dialityLogo + Behavior on opacity { OpacityAnimator { duration: 1000 } } + opacity : _postModeScreen.visible ? 1 : 0 + anchors.centerIn: parent + anchors.verticalCenterOffset: Variables.notificationHeight * -1 + source : "qrc:/images/iLogoDiality" + } + + ProgressBar { + minimum : 0 + maximum : vHDPOSTData.itemCount + value : _GuiView.useLogUnhandledOnly ? maximum : vHDPOSTData.itemIndex + width : _dialityLogo.width + 50 + height : 3 + progress.border.width: 0 + border.width: 0 + minText .visible: false + maxText .visible: false + marker .visible: false + anchors { + top: _dialityLogo.bottom + topMargin : 15 + horizontalCenter: parent.horizontalCenter + } + color : _GuiView.useLogUnhandledOnly ? "red": Colors.highlightProgressBar + } + + WaitDone { id: _hdWaitdone + diameter: 100 + anchors { + top: _dialityLogo.bottom + topMargin: 100 + horizontalCenter: parent.horizontalCenter + } + visible : true + // HD will pause for a few seconds before changing to stand-by mode + // So we can show that POST has completed + fail : ! vHDPOSTData.doneResult + done : vHDPOSTData.done + pause : ! _postModeScreen.visible + } +} Index: sources/gui/qml/pages/MainStack.qml =================================================================== diff -u -r1286d74bd015276aab604808be2766136091c125 -r39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26 --- sources/gui/qml/pages/MainStack.qml (.../MainStack.qml) (revision 1286d74bd015276aab604808be2766136091c125) +++ sources/gui/qml/pages/MainStack.qml (.../MainStack.qml) (revision 39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26) @@ -61,67 +61,13 @@ onVisibleChanged: if (visible) _mainMenu.hidden = true } - ScreenItem { id: _postModeScreen - onVisibleChanged: if (visible) { - _headerBar.activeStack = null - _mainMenu.hidden = true - } - Image { id: _dialityLogo - Behavior on opacity { OpacityAnimator { duration: 1000 } } - opacity : _postModeScreen.visible ? 1 : 0 - anchors.centerIn: parent - anchors.verticalCenterOffset: Variables.notificationHeight * -1 - source : "qrc:/images/iLogoDiality" - } + MainInitialization { id: _postModeScreen } - ProgressBar { - minimum : 0 - maximum : vHDPOSTData.itemCount - value : _GuiView.useLogUnhandledOnly ? maximum : vHDPOSTData.itemIndex - width : _dialityLogo.width + 50 - height : 3 - progress.border.width: 0 - border.width: 0 - minText .visible: false - maxText .visible: false - marker .visible: false - anchors { - top: _dialityLogo.bottom - topMargin : 15 - horizontalCenter: parent.horizontalCenter - } - color : _GuiView.useLogUnhandledOnly ? "red": Colors.highlightProgressBar - } - WaitDone { id: _hdWaitdone - diameter: 100 - anchors { - top: _dialityLogo.bottom - topMargin: 100 - horizontalCenter: parent.horizontalCenter - } - visible : true - // HD will pause for a few seconds before changing to stand-by mode - // So we can show that POST has completed - fail : ! vHDPOSTData.doneResult - done : vHDPOSTData.done - pause : ! _postModeScreen.visible - } + MainHome { id: _mainHome + onCreateTreatment : { vPreTreatmentAdjustmentInitTreatment.doInitiate( )} } - MainHome { id: _mainHome - onCreateTreatment : { vPreTreatmentAdjustmentInitTreatment.doInitiate( )} - onVisibleChanged: { - if (visible) { - _headerBar.activeStack = null - _mainMenu.hidden = false // initially our landing screen is _initialModeScreen which should not have the Main menu. - } - else { - _mainHome.reasonText = "" - } - } - } - Connections { target: vTDOpMode function onIsTreatmentChanged ( vValue ) { if( vValue ) _mainMenu.isTreatment() } function onIsManagerChanged ( vValue ) { if( vValue ) _mainMenu.isManager () } Index: sources/gui/qml/pages/endtreatment/EndTreatmentRecirculateStack.qml =================================================================== diff -u -r1286d74bd015276aab604808be2766136091c125 -r39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26 --- sources/gui/qml/pages/endtreatment/EndTreatmentRecirculateStack.qml (.../EndTreatmentRecirculateStack.qml) (revision 1286d74bd015276aab604808be2766136091c125) +++ sources/gui/qml/pages/endtreatment/EndTreatmentRecirculateStack.qml (.../EndTreatmentRecirculateStack.qml) (revision 39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26) @@ -50,6 +50,7 @@ onVisibleChanged: { if (visible) { _headerBar.activeStack = stackView + _headerBar.menuHidden = true } else { stackView.initialItem = null Index: sources/gui/qml/pages/endtreatment/EndTreatmentRinsebackStack.qml =================================================================== diff -u -r1286d74bd015276aab604808be2766136091c125 -r39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26 --- sources/gui/qml/pages/endtreatment/EndTreatmentRinsebackStack.qml (.../EndTreatmentRinsebackStack.qml) (revision 1286d74bd015276aab604808be2766136091c125) +++ sources/gui/qml/pages/endtreatment/EndTreatmentRinsebackStack.qml (.../EndTreatmentRinsebackStack.qml) (revision 39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26) @@ -36,6 +36,7 @@ onVisibleChanged: { if (visible) { _headerBar.activeStack = stackView + _headerBar.menuHidden = true } else { stackView.initialItem = null Index: sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml =================================================================== diff -u -r1286d74bd015276aab604808be2766136091c125 -r39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26 --- sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml (.../PreTreatmentStack.qml) (revision 1286d74bd015276aab604808be2766136091c125) +++ sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml (.../PreTreatmentStack.qml) (revision 39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26) @@ -52,11 +52,11 @@ _mainMenu.hidden = true _headerBar.activeStack = stackView _root.stackStepIndex = 0 - _headerBar.loggedUser = vSettings.advancedMode ? qsTr("[Advanced]") : "" + _headerBar.userMode = vSettings.advancedMode ? qsTr("[Advanced]") : "" } else { stackView.initialItem = null - _headerBar.loggedUser = "" + _headerBar.userMode = "" } } Index: sources/gui/qml/pages/settings/SettingsStack.qml =================================================================== diff -u -r1286d74bd015276aab604808be2766136091c125 -r39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26 --- sources/gui/qml/pages/settings/SettingsStack.qml (.../SettingsStack.qml) (revision 1286d74bd015276aab604808be2766136091c125) +++ sources/gui/qml/pages/settings/SettingsStack.qml (.../SettingsStack.qml) (revision 39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26) @@ -153,7 +153,7 @@ ] // TODO: SRS 405/406 Test Mode instead add Q_PROPERTY to monitor state??? - onServiceModeChanged: _headerBar.loggedUser = serviceMode ? "[Service]" : "" + onServiceModeChanged: _headerBar.userMode = serviceMode ? "[Service]" : "" SettingsHome { id : _settingsHome itemIndex : SettingsStack.Home Index: sources/gui/qml/pages/treatment/TreatmentBloodPrime.qml =================================================================== diff -u -r0bc5c7e5752e76707f92b9ef1ecfe54b0c5ead29 -r39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26 --- sources/gui/qml/pages/treatment/TreatmentBloodPrime.qml (.../TreatmentBloodPrime.qml) (revision 0bc5c7e5752e76707f92b9ef1ecfe54b0c5ead29) +++ sources/gui/qml/pages/treatment/TreatmentBloodPrime.qml (.../TreatmentBloodPrime.qml) (revision 39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26) @@ -31,6 +31,12 @@ property alias notification : _notification headerTitle : qsTr("Blood Priming") + onVisibleChanged: { + if (visible) { + _headerBar.menuHidden = true + } + } + signal incrementRate (real newValue) signal decrementRate (real newValue) signal pause () Index: sources/gui/qml/pages/treatment/TreatmentHome.qml =================================================================== diff -u -r628b49d35ec2f39863c4de4956a05f662f6e046a -r39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26 --- sources/gui/qml/pages/treatment/TreatmentHome.qml (.../TreatmentHome.qml) (revision 628b49d35ec2f39863c4de4956a05f662f6e046a) +++ sources/gui/qml/pages/treatment/TreatmentHome.qml (.../TreatmentHome.qml) (revision 39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26) @@ -32,6 +32,13 @@ property int bloodFlow_MeasuredFlow_Precision: 0 property int dialysateInletFlow_MeasuredFlow_Precision: 0 + onVisibleChanged: { + if (visible) { + _mainMenu.hidden = true + _headerBar.menuHidden = false + } + } + signal backClicked() signal sectionFlowClicked() @@ -43,6 +50,7 @@ readonly property int cellWidth : Variables.treatmentCellWidth readonly property int cellHeight: Variables.treatmentCellHeight + Column { id: _column objectName: "column" Index: sources/gui/qml/pages/treatment/TreatmentStack.qml =================================================================== diff -u -rd66feb12d37023f6f67672ff4acdb5abebdbff15 -r39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26 --- sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision d66feb12d37023f6f67672ff4acdb5abebdbff15) +++ sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision 39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26) @@ -86,28 +86,24 @@ onResume : { vTreatmentAdjustmentBloodPrime.doResume() } } - Connections { target: vTreatmentAdjustmentBloodPrime - function onAdjustmentTriggered ( vValue ) { - if (vTreatmentAdjustmentBloodPrime.adjustment_Accepted) { - _treatmentBloodPrime.notification.text = "" - } - else { - _treatmentBloodPrime.notification.text = vTreatmentAdjustmentBloodPrime.text() - } - } - } - Connections { target: vTreatmentAdjustmentBloodFlowRate - function onAdjustmentTriggered ( vValue ) { - if (vTreatmentAdjustmentBloodPrime.adjustment_Accepted) { - _treatmentBloodPrime.notification.text = "" - } - else { - _treatmentBloodPrime.notification.text = vTreatmentAdjustmentBloodFlowRate.text() - } - } - } - TreatmentHome { id: _treatmentHome } + ScreenItem { id: _treatmentTrends } // TODO: make me! + TreatmentHeparin { id: _treatmentHeparin } + TreatmentHDF { id: _treatmentHDF } + + // End Treatment + EndTreatmentRinsebackStack { id: _endTreatmentRinsebackStack } + EndTreatmentRecirculateStack { id: _endTreatmentRecirculateStack } + + //// Treatment Adjustment Dialogs + TreatmentAdjustmentSetPoints { id: _treatmentAdjustmentSetPoints } + TreatmentAdjustmentPressuresLimits { id: _treatmentAdjustmentPressuresLimits } + TreatmentAdjustmentBolusVolume { id: _treatmentAdjustmentBolusVolume } + TreatmentAdjustmentUltrafiltrationStack { id: _treatmentAdjustmentUltrafiltration } + TreatmentAdjustmentHDF { id: _treatmentAdjustmentHDF } + TreatmentAdjustmentDurationStack { id: _treatmentAdjustmentDuration } + TreatmentAdjustmentVitalsInterval { id: _treatmentAdjustmentVitalsInterval } + Connections { target: _treatmentHome function onSectionFlowClicked ( vValue ) { _treatmentAdjustmentSetPoints.open() @@ -129,15 +125,6 @@ } } - ScreenItem { id: _treatmentTrends } // TODO: make me! - TreatmentHeparin { id: _treatmentHeparin } - Connections { target: _treatmentHeparin - function onIdleTimeout ( ) { - _headerBar.headerMenuIndex = HeaderBar.Treatment // on heparin idle timeout go to main treatment - } - } - - TreatmentHDF { id: _treatmentHDF } Connections { target: _treatmentHDF function onSectionPressuresClicked ( ) { _treatmentAdjustmentPressuresLimits.open() @@ -149,19 +136,12 @@ } } - // End Treatment - EndTreatmentRinsebackStack { id: _endTreatmentRinsebackStack } - EndTreatmentRecirculateStack { id: _endTreatmentRecirculateStack } + Connections { target: _treatmentHeparin + function onIdleTimeout ( ) { + _headerBar.headerMenuIndex = HeaderBar.Treatment // on heparin idle timeout go to main treatment + } + } - //// Treatment Adjustment Dialogs - TreatmentAdjustmentSetPoints { id: _treatmentAdjustmentSetPoints } - TreatmentAdjustmentPressuresLimits { id: _treatmentAdjustmentPressuresLimits } - TreatmentAdjustmentBolusVolume { id: _treatmentAdjustmentBolusVolume } - TreatmentAdjustmentUltrafiltrationStack { id: _treatmentAdjustmentUltrafiltration } - TreatmentAdjustmentHDF { id: _treatmentAdjustmentHDF } - TreatmentAdjustmentDurationStack { id: _treatmentAdjustmentDuration } - TreatmentAdjustmentVitalsInterval { id: _treatmentAdjustmentVitalsInterval } - Connections { target: _treatmentAdjustmentSetPoints function onConfirmClicked ( vValue ) { vTreatmentAdjustmentSetPoints.doAdjustment( @@ -229,43 +209,32 @@ } } - Connections { target: vTDOpMode - // The initail screen should be the Blood Prime, since that one is the earlier state in the list. - // also since it is being used in two stacks In-Treatment and also in End-Treatmet is has been defined in the MainStack. - function onInTreatmentChanged ( vValue ) { page( _treatmentBloodPrime , vValue )} - } - - Connections { target: _treatmentHome - function onVisibleChanged ( vValue ) { - if (_treatmentHome.visible) { - _mainMenu.hidden = true - _headerBar.menuHidden = false + Connections { target: vTreatmentAdjustmentBloodPrime + function onAdjustmentTriggered ( vValue ) { + if (vTreatmentAdjustmentBloodPrime.adjustment_Accepted) { + _treatmentBloodPrime.notification.text = "" } - } - } - - Connections { target: _treatmentBloodPrime - function onVisibleChanged ( vValue ) { - if (_treatmentBloodPrime.visible) { - _headerBar.menuHidden = true + else { + _treatmentBloodPrime.notification.text = vTreatmentAdjustmentBloodPrime.text() } } } - Connections { target: _endTreatmentRinsebackStack - function onVisibleChanged ( vValue ) { - if (_endTreatmentRinsebackStack.visible) { - _headerBar.menuHidden = true + Connections { target: vTreatmentAdjustmentBloodFlowRate + function onAdjustmentTriggered ( vValue ) { + if (vTreatmentAdjustmentBloodPrime.adjustment_Accepted) { + _treatmentBloodPrime.notification.text = "" } + else { + _treatmentBloodPrime.notification.text = vTreatmentAdjustmentBloodFlowRate.text() + } } } - Connections { target: _endTreatmentRecirculateStack - function onVisibleChanged ( vValue ) { - if (_endTreatmentRecirculateStack.visible) { - _headerBar.menuHidden = true - } - } + Connections { target: vTDOpMode + // The initail screen should be the Blood Prime, since that one is the earlier state in the list. + // also since it is being used in two stacks In-Treatment and also in End-Treatmet is has been defined in the MainStack. + function onInTreatmentChanged ( vValue ) { page( _treatmentBloodPrime , vValue )} } Connections { target: vTDTreatmentStates Index: sources/storage/Settings.cpp =================================================================== diff -u -rff2fa0d776798aeab1a600bad55484d4870eec7e -r39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26 --- sources/storage/Settings.cpp (.../Settings.cpp) (revision ff2fa0d776798aeab1a600bad55484d4870eec7e) +++ sources/storage/Settings.cpp (.../Settings.cpp) (revision 39a514158384c0ad4bfcfb90bafbaa4ca8dc5a26) @@ -158,6 +158,7 @@ value = keyValue[1].trimmed().replace("\\n","\n"); key = convertToRichText(key); + value = convertToRichText(value); } else { key = line;