Index: sources/gui/qml/pages/MainStack.qml =================================================================== diff -u -rf93fd4a2a09a2c6d4db43196b9005f324ae7fa82 -r4f8cbe0045e2a06a67a44894bb02b41a02eca5dd --- sources/gui/qml/pages/MainStack.qml (.../MainStack.qml) (revision f93fd4a2a09a2c6d4db43196b9005f324ae7fa82) +++ sources/gui/qml/pages/MainStack.qml (.../MainStack.qml) (revision 4f8cbe0045e2a06a67a44894bb02b41a02eca5dd) @@ -34,26 +34,21 @@ * is selected from the main menu. */ StackItem { id : _root - stackView.initialItem : _mainHome + stackView.initialItem : _initialModeScreen function doSettingsDisinfect() { _mainMenu.currentIndex = 0 - _disinfectStack.doSettingsDisinfect() page( _disinfectStack ) + _disinfectStack.doSettingsDisinfect() } // Standby / Disinfection DisinfectStack { id: _disinfectStack } // Pre Treatment PreTreatmentCreateStack { id: _preTreatmentCreateStack } - PreTreatmentMainStack { id: _preTreatmentMainStack } + PreTreatmentStack { id: _preTreatmentStack } // In TreatmentStack - TreatmentStack { id: _treatmentStack - // please be careful about the _root.pop. - // since TreatmentStack is a stack, just calling a pop will call the pop function of the TreatmentStack not MainStack. - // but _mainHome belongs to MainStack. - onBackClicked: _root.pop ( _mainHome ) - } + TreatmentStack { id: _treatmentStack } // End Treatment EndTreatmentRinsebackStack { id: _endTreatmentRinsebackStack } @@ -64,6 +59,7 @@ PostTreatmentStack { id: _postTreatmentStack } ScreenItem { id: _faultModeScreen + // we recently decided to not change the screen on fault and stay on current(whatever are we on currently) screen. PlaceHolderText { screenName: qsTr("FAULT MODE") } onVisibleChanged: if (visible) _mainMenu.hidden = true } @@ -74,19 +70,65 @@ } ScreenItem { id: _initialModeScreen - PlaceHolderText { screenName: qsTr("INITIAL MODE") } - onVisibleChanged: if (visible) _mainMenu.hidden = true + onVisibleChanged: + if (visible) { + _mainMenu.hidden = true + } + Image { id: _dialityLogo + Behavior on opacity { OpacityAnimator { duration: 1000 } } + opacity : _initialModeScreen.visible ? 1 : 0 + anchors.centerIn: parent + source : "qrc:/images/iLogoDiality" + } + + ProgressBar { + minimum : 0 + maximum : vHDPOSTData.itemCount + value : vHDPOSTData.itemIndex + width : _dialityLogo.width + 50 + height : 3 + minText .visible: false + maxText .visible: false + marker .visible: false + anchors { + top: _dialityLogo.bottom + topMargin : 15 + horizontalCenter: parent.horizontalCenter + } + } + + 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 : ! _initialModeScreen.visible + } } MainHome { id: _mainHome onStartTreatment : { page( _treatmentStack )} onCreateTreatment : { vPreTreatmentAdjustmentInitTreatment.doInitiate() } + onVisibleChanged: { + if (visible) { + _mainMenu.hidden = false // initially our landing screen is _initialModeScreen which should not have the Main menu. + } + } } Connections { target: vHDOperationMode - // onFaultChanged : { page( _faultModeScreen , vfault )} // may needed later. + // onFaultChanged : { page( _faultModeScreen , vfault )} // may needed later. onServiceChanged : { page( _serviceModeScreen , vservice )} - onInitChanged : { page( _initialModeScreen , vinit )} + onInitChanged : { page( _initialModeScreen , vinit ) + if ( vinit ) vHDPOSTData.reset() // better to reset on vinit = true because the rest makes the screen animation to run + } onHomeChanged : { page( _mainHome , vhome )} onStandbyChanged : { /* It depends on the subModes of the standBy. Handled by onHome. */ } @@ -95,7 +137,7 @@ onStandbyWaitDisinfectChanged : { page( _disinfectStack , vstandbyWaitDisinfect )} onValidateParametersChanged : { page( _preTreatmentCreateStack , vvalidateParameters )} - onPreTreatmentChanged : { page( _preTreatmentMainStack , vpreTreatment )} + onPreTreatmentChanged : { page( _preTreatmentStack , vpreTreatment )} onInTreatmentChanged : { page( _treatmentStack , vinTreatment )} onPostTreatmentChanged : { page( _postTreatmentStack , vpostTreatment )} onInvalidModeChanged : { page( null , vinvalidMode )} @@ -129,13 +171,4 @@ // _mainHome.reasonText = vPreTreatmentAdjustmentInitTreatment.text() } } - - onVisibleChanged: { - if (visible) { - _mainMenu.hidden = false - } - else { - stackView.initialItem = null - } - } }