Index: sources/gui/qml/pages/settings/SettingsStack.qml =================================================================== diff -u -r69b3aa965cd8187c66114a9753c162cc526d9678 -ra7693f04e693294338aa9829d14f4ed7aa99a7a5 --- sources/gui/qml/pages/settings/SettingsStack.qml (.../SettingsStack.qml) (revision 69b3aa965cd8187c66114a9753c162cc526d9678) +++ sources/gui/qml/pages/settings/SettingsStack.qml (.../SettingsStack.qml) (revision a7693f04e693294338aa9829d14f4ed7aa99a7a5) @@ -15,7 +15,6 @@ // Qt import QtQuick 2.12 -import QtQuick.Controls 2.12 // Switch // Project import Gui.Actions 0.1 @@ -36,7 +35,7 @@ StackItem { id : _root objectName: "_SettingsStack" - stackView.initialItem : _settingsHome + stackView.initialItem : null property bool serviceMode : false @@ -46,67 +45,75 @@ WiFi , Bluetooth , DGSettings , - Services , + ServicePassword , SetDateTime , ExportLogs , RoInput , Language , Calibration , + DeviceConfiguration , DeviceRegistration , SWUpdate , - FactoryReset + FactoryReset , + Decommission } property var itemsText : [ qsTr("Information" ), // Information qsTr("Volume And Brightness" ), // VolumeBrightness qsTr("Wi-Fi" ), // WiFi qsTr("Bluetooth Cuff" ), // Bluetooth qsTr("DG Cleaning" ), // DGSettings - qsTr("Service" ), // Service + qsTr("Service" ), // servicePassword qsTr("Set Date And Time" ), // SetDateTime qsTr("Export Logs" ), // ExportLogs qsTr("Water Input Mode" ), // RoInput qsTr("Set Language" ), // Language qsTr("Calibration " ), // Calibration + qsTr("Device Configuration" ), // Device Configuration qsTr("Device Registration" ), // DeviceRegistration qsTr("Software Update" ), // SWUpdate qsTr("Factory Reset" ), // FactoryReset + qsTr("Decommission" ), // Decommission ] property var itemsEnabled : [ - true , // Information - true , // VolumeBrightness - true , // WiFi - true , // Bluetooth - true , // DGSettings - true , // Services - true , // SetDateTime - true , // ExportLogs - true , // RoInput - false , // Language - false , // Calibration - true , // DeviceRegistration - false , // SWUpdate - false , // FactoryReset + true , // Information + true , // VolumeBrightness + true , // WiFi + true , // Bluetooth + true , // DGSettings + true , // ServicePassword + true , // SetDateTime + true , // ExportLogs + true , // RoInput + false , // Language + false , // Calibration + _GuiView.manufactMode , // Device Configuration + true , // DeviceRegistration + false , // SWUpdate + serviceMode , // FactoryReset + serviceMode , // Decommission ] property var itemsVisible : [ - true , // Information - true , // VolumeBrightness - true , // WiFi - true , // Bluetooth - true , // DGSettings - ! serviceMode , // Services - serviceMode , // SetDateTime - true , // ExportLogs - true , // RoInput - false /* serviceMode phase 1 */ , // Language - false /* serviceMode phase 1 */ , // Calibration - true /* serviceMode */ , // DeviceRegistration // FIXME: On the normal setting menu for now for development. - false /* serviceMode phase 1 */ , // SWUpdate - false /* serviceMode phase 1 */ , // FactoryReset + true , // Information + true , // VolumeBrightness + true , // WiFi + true , // Bluetooth + ! _GuiView.manufactSetup , // DGSettings + ! serviceMode && ! _GuiView.manufactSetup , // ServicePassword + serviceMode , // SetDateTime + true , // ExportLogs + ! _GuiView.manufactSetup , // RoInput + false /* serviceMode phase 1 */ , // Language + false /* serviceMode phase 1 */ , // Calibration + _GuiView.manufactMode && serviceMode , // Device Configuration // && serviceMode added to make sure the service mode is confirmed by HD + _GuiView.manufactMode && serviceMode , // DeviceRegistration // && serviceMode added to make sure the service mode is confirmed by HD + false /* serviceMode phase 1 */ , // SWUpdate + serviceMode , // FactoryReset + serviceMode , // Decommission ] SettingsHome { id : _settingsHome - title : serviceMode ? qsTr("Service") : qsTr("Device Settings") + title : _GuiView.manufactSetup ? qsTr("Manufacturing Setup") : serviceMode ? qsTr("Service") : qsTr("Device Settings") backVisible : false confirmVisible : serviceMode confirmText.text: qsTr("SHUTDOWN") @@ -139,7 +146,7 @@ push( _settingsDGSettings ) break - case SettingsStack.Services: + case SettingsStack.ServicePassword: push(_servicePassword) _servicePassword.setFocus() break @@ -162,217 +169,47 @@ push( _settingsDeviceRegistration ) break - default: - console.debug("Unknown Index", vIndex) + case SettingsStack.DeviceConfiguration: + push( _settingsDeviceConfiguration ) break - } - } - } - SettingsBase { id: _settingsInformation - itemIndex : SettingsStack.Information - confirmVisible : false - onVisibleChanged: { - if ( visible ) { - vAdjustmentVersions .doAdjustment() - vAdjustmentServiceDates .doAdjustment() - } - } + case SettingsStack.FactoryReset: + push( _serviceFactoryReset ) + break - TouchGrid { - anchors.centerIn: parent - colCount : 2 - colSpacing : 50 - rowCount : 8 - rowSpacing : 0 - itemHeight : 50 - itemWidth : 550 - touchable : false - itemsHasLine: [ - 0, // title C1 - 1,1,1,1,1,1,1, - 0, // title C2 - 1,1,1,1, - ] - itemsValueLeftMargin: 300 - itemsValue : [ - "" , - Qt .application.version, - vAdjustmentVersions .hdVerDevice , - vAdjustmentVersions .hdVerFPGA , - vAdjustmentVersions .hdSerial , - vAdjustmentVersions .dgVerDevice , - vAdjustmentVersions .dgVerFPGA , - vAdjustmentVersions .dgSerial , - "", - vAdjustmentServiceDates .hdLastServiceDate , - vAdjustmentServiceDates .hdNextServiceDate , - vAdjustmentServiceDates .dgLastServiceDate , - vAdjustmentServiceDates .dgNextServiceDate , - ] - itemsText : [ - qsTr("Versions" ), // col1 title - qsTr("UI Version" ), - qsTr("HD Version" ), - qsTr("HD FPGA Version" ), - qsTr("HD Serial Number" ), - qsTr("DG Version" ), - qsTr("DG FPGA Version" ), - qsTr("DG Serial Number" ), + case SettingsStack.Decommission: + push( _serviceDecommission ) + break - qsTr("Service" ), // col2 title - qsTr("HD Last Service Date" ), - qsTr("HD Next Service Date" ), - qsTr("DG Last Service Date" ), - qsTr("DG Next Service Date" ), - - ] - } - } - - SettingsVolumeBrightness { id: _settingsVolumeBrightness - itemIndex : SettingsStack.VolumeBrightness - } - - SettingsDateTime { id: _settingsDateTime - itemIndex : SettingsStack.SetDateTime - } - - SettingsWiFi { id: _settingsWiFi - itemIndex : SettingsStack.WiFi - } - - SettingsBluetoothCuff { id: _settingsBluetooth - } - - SettingsDG { id: _settingsDGSettings - itemIndex : SettingsStack.DGSettings - } - - SettingsExportLogs { id: _settingsExportLogs - itemIndex : SettingsStack.ExportLogs - } - - SettingsBase { id: _settingsRoInput - confirmVisible : false - itemIndex : SettingsStack.RoInput - - - Row { id: _settingsRoInputRow - anchors.centerIn: parent - - Text { id : _settingsRoInputLabel - text : qsTr("Pure Water Mode") - width : 300 - height : _settingsRoInputSwitch.height - color : Colors.white - font.pixelSize: Fonts.fontPixelButton - verticalAlignment : Text.AlignVCenter - horizontalAlignment : Text.AlignLeft + default: + console.debug("Unknown Index", vIndex) + break } - - Switch { id: _settingsRoInputSwitch - property bool active: true - - checked : vDuetRoWaterDG.status - - width : 85 - height : 85 - - indicator: Rectangle { - implicitWidth : Variables.sliderCircleDiameter * 1.7 - implicitHeight : Variables.sliderCircleDiameter - ( Variables.progressbarHandlerBorderWidth * 2 ) - radius : implicitHeight - anchors.centerIn: parent - color : _settingsRoInputSwitch.checked ? Colors.backgroundButtonSelect : Colors.createTreatmentInactive - border.color : _settingsRoInputSwitch.checked ? Colors.borderButton : Colors.createTreatmentInactive - Rectangle { - property real diameter : Variables.sliderCircleDiameter - x: _settingsRoInputSwitch.checked ? parent.width - width : 0 - anchors.verticalCenter: parent.verticalCenter - width : diameter - height : diameter - radius : diameter - color : _settingsRoInputSwitch.active ? Colors.highlightProgressBar : Colors.createTreatmentInactive - border { - width: Variables.progressbarHandlerBorderWidth - color: Colors.textMain - } - } - } - - contentItem: Text { - width : parent.width - height : parent.height - text : _settingsRoInputSwitch.checked ? qsTr("ON") : qsTr("OFF") - font.pixelSize: Fonts.fontPixelButton - color : _settingsRoInputSwitch.active ? Colors.textMain : Colors.textDisableButton - verticalAlignment : Text.AlignTop - horizontalAlignment : Text.AlignHCenter - } - } } - - Connections { target: _settingsRoInputSwitch - function onClicked() { - vDuetRoWaterDG.doAdjustment ( _settingsRoInputSwitch.checked ) - } - } - Connections { target: vDuetRoWaterDG - function onAdjustmentTriggered(vValue) { - if ( vDuetRoWaterDG.adjustment_Accepted ) { - _settingsRoInput.notificationText = "" - } - else { - _settingsRoInput.notificationText = vDuetRoWaterDG.notification // adjustment_ReasonText - } - vSettings.roWaterMode = vDuetRoWaterDG.status - } - } } - SettingsDeviceRegistration { id: _settingsDeviceRegistration } + SettingsInformation { id: _settingsInformation } + SettingsVolumeBrightness { id: _settingsVolumeBrightness } + SettingsDateTime { id: _settingsDateTime } + SettingsWiFi { id: _settingsWiFi } + SettingsBluetoothCuff { id: _settingsBluetooth } + SettingsDG { id: _settingsDGSettings } + SettingsExportLogs { id: _settingsExportLogs } + SettingsROInput { id: _settingsRoInput } + SettingsManufacturingSetup { id: _settingsDeviceConfiguration } + SettingsDeviceRegistration { id: _settingsDeviceRegistration } + SettingsServicePassword { id: _servicePassword } + SettingsFactoryReset { id: _serviceFactoryReset } + SettingsDecommission { id: _serviceDecommission } - UserConfirmation { id: _servicePassword - property bool isPassword_Accepted : false - property bool isDefaultPasswordSet : (vSettings.servicePass != "") - - itemIndex : SettingsStack.Services - title : isDefaultPasswordSet ? qsTr("Service Password") : qsTr("Set Service Password") - isPassword: true - showPasswordReEntryField: !isDefaultPasswordSet - onBackClicked : { - clearPassword() - if(!isDefaultPasswordSet){ - clearPasswordReEntry() - } - _settingsHome.notificationText = "" - } - onConfirmClicked: { - isPassword_Accepted = false - let password = _servicePassword.password - if ( !isDefaultPasswordSet ) { - let passwordReEntry = _servicePassword.passwordReEntry - if ( password != passwordReEntry ) { _servicePassword.notificationText = qsTr("Mismatched Password Entry"); return } - if (!vSettings.isPasswordValid(password)) { _servicePassword.notificationText = qsTr("Malformed Password Entry" ); return } - - vSettings.updatePassword(password) - _servicePassword.isPassword_Accepted = true - _servicePassword.notificationText = "" - clearPasswordReEntry() - } else { - if (!vSettings.isPasswordMatch(password)) { _servicePassword.notificationText = qsTr("Incorrect service password"); return } - - _servicePassword.isPassword_Accepted = true - _servicePassword.notificationText = "" - vAdjustmentServiceMode.doAdjustment() - if ( vSettings.noCANBus ) { // if NoCANBus is set don't wait for HD and go to service mode. - gotoServiceMode(true) - } - } - clearPassword() - pop() // pop back to settings screen and wait for the HD-OpMode change to Service_Mode to update the settings screen. - } + function gotoServiceMode( vservice ) { + if ( ! _servicePassword.isPassword_Accepted ) return + serviceMode = vservice + if ( vservice ) + _mainMenu.hidden = true + else + if ( _settingsHome.visible ) + _mainMenu.hidden = false } Connections { target: vAdjustmentServiceMode @@ -386,25 +223,32 @@ } } - function gotoServiceMode( vservice ) { - if ( ! _servicePassword.isPassword_Accepted ) return - serviceMode = vservice - if ( vservice ) - _mainMenu.hidden = true - else - if ( _settingsHome.visible ) - _mainMenu.hidden = false - } - - Connections { target: vHDOperationMode function onServiceChanged ( vValue ) { gotoServiceMode( vValue )} function onStandbyWaitDisinfectChanged ( vValue ) { page( _settingsHome , vValue )} } + Connections { target: _GuiView + function onManufactModeChanged( vPass ) { + if ( _GuiView.manufactMode ) { + vSettings.checkServicePasswordSet() + stackView.initialItem = _servicePassword + } + else { + stackView.initialItem = _settingsHome + } + push(stackView.initialItem) + + //DEBUG console.log (" ----------",_GuiView.manufactMode, _GuiView.manufactSetup, vPass, stackView.initialItem, stackView.currentItem, stackView.depth) + if ( _GuiView.manufactSetup ) { + _settingsHome.notificationText = vPass ? "" : qsTr("Application POST Failed") + } + } + } + onVisibleChanged: { if (visible) { - _mainMenu.hidden = serviceMode + _mainMenu.hidden = serviceMode || _GuiView.manufactSetup } else { stackView.initialItem = null