Index: leahi.qrc =================================================================== diff -u -r04fd28f30e37a09450ff5877ae2f805a92898b44 -r8457901952a1d732c4688da471ae98e1d4f3024f --- leahi.qrc (.../leahi.qrc) (revision 04fd28f30e37a09450ff5877ae2f805a92898b44) +++ leahi.qrc (.../leahi.qrc) (revision 8457901952a1d732c4688da471ae98e1d4f3024f) @@ -26,7 +26,7 @@ sources/gui/qml/pages/settings/SettingsDecommission.qml sources/gui/qml/pages/settings/SettingsInstitutionalRecord.qml sources/gui/qml/pages/settings/SettingsLocalization.qml - sources/gui/qml/pages/settings/SettingsUserMode.qml + sources/gui/qml/pages/settings/SettingsAdvancedMode.qml sources/gui/qml/dialogs/ConfirmDialog.qml Index: sources/gui/qml/pages/pretreatment/PreTreatmentBase.qml =================================================================== diff -u -ra8c7ca4936378f104565408a48127e9a8a90495f -r8457901952a1d732c4688da471ae98e1d4f3024f --- sources/gui/qml/pages/pretreatment/PreTreatmentBase.qml (.../PreTreatmentBase.qml) (revision a8c7ca4936378f104565408a48127e9a8a90495f) +++ sources/gui/qml/pages/pretreatment/PreTreatmentBase.qml (.../PreTreatmentBase.qml) (revision 8457901952a1d732c4688da471ae98e1d4f3024f) @@ -29,17 +29,13 @@ objectName: "_PreTreatmentBase" header.visible : false - onVisibleChanged: { - if (visible) { - _root.updateModel() - } - } + onVisibleChanged: if ( visible ) { _root.updateModel() } function updateModel () { let stepName = stepNames[stackStepIndex] if ( stepName === undefined ) stepName = "" - let group = vSettings.userMode ? vSettings.groupFormat.arg(stepName).arg("Advanced") : stepName + let group = vSettings.advancedMode ? vSettings.groupFormat.arg(stepName).arg("Advanced") : stepName let instructionsGroup = vSettings.instructions[group] if ( instructionsGroup !== undefined ) { Index: sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml =================================================================== diff -u -ra8c7ca4936378f104565408a48127e9a8a90495f -r8457901952a1d732c4688da471ae98e1d4f3024f --- sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml (.../PreTreatmentStack.qml) (revision a8c7ca4936378f104565408a48127e9a8a90495f) +++ sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml (.../PreTreatmentStack.qml) (revision 8457901952a1d732c4688da471ae98e1d4f3024f) @@ -28,8 +28,8 @@ * \brief the pre treatment stack screen */ StackItem { id: _root - stackView.initialItem : vSettings.userMode ? _pretreatmentInstallationAdv : _pretreatmentConcentrates - enum Step { // All pretreatment steps + stackView.initialItem : vSettings.advancedMode ? _pretreatmentInstallationAdv : _pretreatmentConcentrates + enum Step { // All pretreatment steps advanced and standard Concentrates , Installation , SelfTests , @@ -85,7 +85,7 @@ qsTr("Connect" ), ] - property var stepNames : vSettings.userMode ? stepNamesAdvanced : stepNamesStandard + property var stepNames : vSettings.advancedMode ? stepNamesAdvanced : stepNamesStandard property int stepLineLength : 100 property int stackStepIndex : 0 readonly property bool isCreateRx : mappedStep() === PreTreatmentStack.Step.CreateRx @@ -102,8 +102,10 @@ } } + // clear create rx parameters function clear(vValue) { if ( ! vValue ) return; _pretreatmentCreate.clear(vValue) } + // handle confirm clicked on any pretreatment page function confirmClicked() { switch ( mappedStep() ) { case PreTreatmentStack.Step.Concentrates: @@ -120,24 +122,26 @@ } } + // handle back clicked on any pretreatment page function backClicked() { switch ( mappedStep() ) { case PreTreatmentStack.Step.Concentrates: vPreTreatmentAdjustmentInitTreatment.doCancel() // request standby break case PreTreatmentStack.Step.Installation: - if ( vSettings.userMode ) { vPreTreatmentAdjustmentInitTreatment.doCancel() } - else { page ( _pretreatmentConcentrates ) } + if ( vSettings.advancedMode ) { vPreTreatmentAdjustmentInitTreatment.doCancel() } + else { page ( _pretreatmentConcentrates ) } break case PreTreatmentStack.Step.CreateRx: - if ( vSettings.userMode ) { page ( _pretreatmentInstallationAdv ) } - else { page ( _pretreatmentInstallation ) } + if ( vSettings.advancedMode ) { page ( _pretreatmentInstallationAdv ) } + else { page ( _pretreatmentInstallation ) } break default: break } } + // handle text for the confirm button on any pretreatment page function confirmButtonText() { switch ( mappedStep() ) { case PreTreatmentStack.Step.Concentrates: @@ -153,15 +157,25 @@ } } - // method to map stackstep to internal normalized step + // method to map each step advanced or standard to an internal normalized step function mappedStep() { - if ( vSettings.userMode ) { + if ( vSettings.advancedMode ) { // Advanced switch ( _root.stackStepIndex ) { case PreTreatmentStack.AdvancedSteps.Installation: return PreTreatmentStack.Step.Installation + case PreTreatmentStack.AdvancedSteps.SelfTests: + return PreTreatmentStack.Step.SelfTests + case PreTreatmentStack.AdvancedSteps.Saline: + return PreTreatmentStack.Step.Saline + case PreTreatmentStack.AdvancedSteps.Prime: + return PreTreatmentStack.Step.Prime case PreTreatmentStack.AdvancedSteps.CreateRx: return PreTreatmentStack.Step.CreateRx + case PreTreatmentStack.AdvancedSteps.UF: + return PreTreatmentStack.Step.UF + case PreTreatmentStack.AdvancedSteps.Connect: + return PreTreatmentStack.Step.Connect default: return -1 } @@ -172,8 +186,20 @@ return PreTreatmentStack.Step.Concentrates case PreTreatmentStack.StandardSteps.Installation: return PreTreatmentStack.Step.Installation + case PreTreatmentStack.StandardSteps.SelfTests: + return PreTreatmentStack.Step.SelfTests + case PreTreatmentStack.StandardSteps.Saline: + return PreTreatmentStack.Step.Saline + case PreTreatmentStack.StandardSteps.Prime: + return PreTreatmentStack.Step.Prime + case PreTreatmentStack.StandardSteps.WaterSample: + return PreTreatmentStack.Step.WaterSample case PreTreatmentStack.StandardSteps.CreateRx: return PreTreatmentStack.Step.CreateRx + case PreTreatmentStack.StandardSteps.UF: + return PreTreatmentStack.Step.UF + case PreTreatmentStack.StandardSteps.Connect: + return PreTreatmentStack.Step.Connect default: return -1 } @@ -199,11 +225,6 @@ onConfirmClicked: _root.confirmClicked() } - // TODO in pre treatment story -// PreTreatmentWaterSampleStack{ id: _preTreatmentWaterSampleStack ;objectName: "_preTreatmentWaterSampleStack" } -// PreTreatmentConsumablesStack{ id: _preTreatmentConsumablesStack ;objectName: "_preTreatmentConsumablesStack" } -// PreTreatmentPrimeStack { id: _pretreatmentPrimeStack ;objectName: "_pretreatmentPrimeStack" } -// PreTreatmentConnectionStack { id: _pretreatmentConnectionStack ;objectName: "_pretreatmentConnectionStack " } PreTreatmentBase { id: _pretreatmentConcentrates instructionBased : true onVisibleChanged : if (visible) { _root.stackStepIndex = PreTreatmentStack.StandardSteps.Concentrates; updateModel() } @@ -220,19 +241,25 @@ } PreTreatmentCreate { id: _pretreatmentCreate - onVisibleChanged : if (visible) { vSettings.userMode ? _root.stackStepIndex = PreTreatmentStack.AdvancedSteps.CreateRx : - _root.stackStepIndex = PreTreatmentStack.StandardSteps.CreateRx } + onVisibleChanged : if (visible) { vSettings.advancedMode ? _root.stackStepIndex = PreTreatmentStack.AdvancedSteps.CreateRx : + _root.stackStepIndex = PreTreatmentStack.StandardSteps.CreateRx } } + // TODO in pre treatment story +// PreTreatmentWaterSampleStack{ id: _preTreatmentWaterSampleStack ;objectName: "_preTreatmentWaterSampleStack" } +// PreTreatmentConsumablesStack{ id: _preTreatmentConsumablesStack ;objectName: "_preTreatmentConsumablesStack" } +// PreTreatmentPrimeStack { id: _pretreatmentPrimeStack ;objectName: "_pretreatmentPrimeStack" } +// PreTreatmentConnectionStack { id: _pretreatmentConnectionStack ;objectName: "_pretreatmentConnectionStack " } + Connections { target: vPreTreatmentAdjustmentDisposablesConfirm function onAdjustmentTriggered ( vValue ) { if ( vPreTreatmentAdjustmentDisposablesConfirm.adjustment_Accepted ) { - if ( vSettings.userMode ) { _pretreatmentInstallationAdv.informationText = "" } - else { _pretreatmentInstallation.informationText = "" } + if ( vSettings.advancedMode ) { _pretreatmentInstallationAdv.informationText = "" } + else { _pretreatmentInstallation.informationText = "" } page ( _pretreatmentCreate ) // TODO fix in pre treatment.. Skip to create for now } else { - if ( vSettings.userMode ) { _pretreatmentInstallationAdv.informationText = vPreTreatmentAdjustmentDisposablesConfirm.text() } - else { _pretreatmentInstallation.informationText = vPreTreatmentAdjustmentDisposablesConfirm.text() } + if ( vSettings.advancedMode ) { _pretreatmentInstallationAdv.informationText = vPreTreatmentAdjustmentDisposablesConfirm.text() } + else { _pretreatmentInstallation.informationText = vPreTreatmentAdjustmentDisposablesConfirm.text() } } } } Index: sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateContent.qml =================================================================== diff -u -r93b7d7da5dea9e0392e139b59117eb0315d6c343 -r8457901952a1d732c4688da471ae98e1d4f3024f --- sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateContent.qml (.../PreTreatmentCreateContent.qml) (revision 93b7d7da5dea9e0392e139b59117eb0315d6c343) +++ sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateContent.qml (.../PreTreatmentCreateContent.qml) (revision 8457901952a1d732c4688da471ae98e1d4f3024f) @@ -526,7 +526,7 @@ } LabelUnitContainer { id: _heparinStopTime - text : qsTr("Heparin Stop Time") + text : qsTr("Heparin Delivery Duration") unitText : Variables.unitTextDuration valid : ! vTreatmentCreate.heparinStopTimeRejectReason visible : _root.heparinFeatured Index: sources/gui/qml/pages/settings/SettingsAdvancedMode.qml =================================================================== diff -u --- sources/gui/qml/pages/settings/SettingsAdvancedMode.qml (revision 0) +++ sources/gui/qml/pages/settings/SettingsAdvancedMode.qml (revision 8457901952a1d732c4688da471ae98e1d4f3024f) @@ -0,0 +1,52 @@ +/*! + * + * Copyright (c) 2023-2025 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 SettingsAdvancedMode.qml + * \author (last) Nico Ramirez + * \date (last) 27-Oct-2025 + * \author (original) Nico Ramirez + * \date (original) 27-Oct-2025 + * + */ + +// Qt +import QtQuick 2.12 + +// Qml imports +import "qrc:/globals" +import "qrc:/components" +import "qrc:/compounds" + +/*! + * \brief SettingsAdvancedMode is the screen + * which enables the user advanced mode + */ +SettingsBase { id: _root + itemIndex : SettingsStack.AdvancedMode + + confirmVisible : false + + contentItem: Item { + LabelUnitContainer { id: _settingsAdvancedModeItem + anchors.horizontalCenter : parent.horizontalCenter + width : Variables.adjustmentLabelUnitContainerWidth + height : Variables.adjustmentLabelUnitContainerHeight + text : qsTr("Advanced Mode") + contentArea.anchors.leftMargin : width * 0.75 + + contentItem: BaseSwitch { id: _settingsAdvancedMode + checked : vSettings.advancedMode + + onClicked: { + vSettings.advancedMode = _settingsAdvancedMode.checked + } + } + } + } + +} + Index: sources/gui/qml/pages/settings/SettingsStack.qml =================================================================== diff -u -r1bc34c23575fe101b85c851cff245436394d7123 -r8457901952a1d732c4688da471ae98e1d4f3024f --- sources/gui/qml/pages/settings/SettingsStack.qml (.../SettingsStack.qml) (revision 1bc34c23575fe101b85c851cff245436394d7123) +++ sources/gui/qml/pages/settings/SettingsStack.qml (.../SettingsStack.qml) (revision 8457901952a1d732c4688da471ae98e1d4f3024f) @@ -71,7 +71,7 @@ readonly property bool visibleDeviceRegistration : onlyManufacturing && loggedIn readonly property bool visibleInstitutionalRecord : true readonly property bool visibleLocalization : loggedIn - readonly property bool visibleUserModes : loggedIn + readonly property bool visibleAdvancedModes : loggedIn readonly property string settingsTitle : _GuiView.manufactSetup ? qsTr("Manufacturing Setup") : _GuiView.updateSetup ? qsTr("Software Update") : qsTr("Device Settings") @@ -95,7 +95,7 @@ FactoryReset , Decommission , InstitutionalRecord , - UserMode + AdvancedMode } property var itemsText : [ qsTr("Device Information" ), // Device Information @@ -116,7 +116,7 @@ qsTr("Factory Reset" ), // FactoryReset qsTr("Decommissioning" ), // Decommission qsTr("Institutional Configurations" ), // Institutional Configurations - qsTr("User Modes" ), // User Modes + qsTr("Advanced Mode" ), // Advanced Modes ] property var itemsVisible : [ @@ -138,7 +138,7 @@ visibleFactoryReset , // FactoryReset visibleDecommission , // Decommission visibleInstitutionalRecord , // Institutional Record - visibleUserModes , // User Modes + visibleAdvancedModes , // Advanced Modes ] // TODO: SRS 405/406 Test Mode instead add Q_PROPERTY to monitor state??? @@ -240,8 +240,8 @@ push( _settingLocalization ) break - case SettingsStack.UserMode: - push( _settingUserMode ) + case SettingsStack.AdvancedMode: + push( _settingAdvancedMode ) break default: @@ -267,7 +267,7 @@ SettingsDecommission { id: _serviceDecommission } SettingsInstitutionalRecord { id: _settingsInstitutionalRecord } SettingsLocalization { id: _settingLocalization } - SettingsUserMode { id: _settingUserMode } + SettingsAdvancedMode { id: _settingAdvancedMode } function gotoServiceMode( vservice ) { //DEBUG console.log (" 0 ---------- ", _GuiView.manufactMode, _GuiView.manufactSetup, vservice, stackView.initialItem, stackView.currentItem, stackView.depth) Fisheye: Tag 8457901952a1d732c4688da471ae98e1d4f3024f refers to a dead (removed) revision in file `sources/gui/qml/pages/settings/SettingsUserMode.qml'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/view/settings/VSettings.cpp =================================================================== diff -u -rb59827b661a423b2b1ad2ca7b8611c2c0be7bd6a -r8457901952a1d732c4688da471ae98e1d4f3024f --- sources/view/settings/VSettings.cpp (.../VSettings.cpp) (revision b59827b661a423b2b1ad2ca7b8611c2c0be7bd6a) +++ sources/view/settings/VSettings.cpp (.../VSettings.cpp) (revision 8457901952a1d732c4688da471ae98e1d4f3024f) @@ -40,7 +40,7 @@ PROPERTY_POST_CONNECTION(VSettings, servicePass ); PROPERTY_POST_CONNECTION(VSettings, alarmVolume ); PROPERTY_POST_CONNECTION(VSettings, roWaterMode ); - PROPERTY_POST_CONNECTION(VSettings, userMode ); + PROPERTY_POST_CONNECTION(VSettings, advancedMode); init = true; } @@ -61,10 +61,10 @@ } } -void VSettings::userMode_post(const bool &vuserMode_post) { +void VSettings::advancedMode_post(const bool &vadvancedMode_post) { //TODO The Settings shall be the Singleton SettingsController and modify the MSettings like the others. - if ( Storage::Settings::save(userModeGroup(), userModeKey(), QString::number(vuserMode_post)) != 0 ) { - userMode(false); + if ( Storage::Settings::save(advancedModeGroup(), advancedModeKey(), QString::number(vadvancedMode_post)) != 0 ) { + advancedMode(false); // FIXME: Notify UI with a message } } @@ -120,11 +120,11 @@ keyValue[key] = mRoWaterMode ; roWaterMode ( mRoWaterMode); } - else if ( isuserMode (category, group, key) ) { - bool mUserMode; - mUserMode = _Settings.value(category, group, key).toBool (); - keyValue[key] = mUserMode ; - userMode ( mUserMode); + else if ( isadvancedMode(category, group, key) ) { + bool mAdvancedMode; + mAdvancedMode = _Settings.value(category, group, key).toBool (); + keyValue[key] = mAdvancedMode ; + advancedMode ( mAdvancedMode ); } else if ( isalarmVolume (category, group, key) ) { quint8 mAlarmVolume; @@ -148,7 +148,7 @@ servicePass ( _servicePass ); alarmVolume ( _alarmVolume ); roWaterMode ( _roWaterMode ); - userMode ( _userMode ); + advancedMode( _advancedMode ); //DEBUG qDebug() << servicePass() << roWaterMode() << alarmVolume(); adjustment(true); Index: sources/view/settings/VSettings.h =================================================================== diff -u -rb59827b661a423b2b1ad2ca7b8611c2c0be7bd6a -r8457901952a1d732c4688da471ae98e1d4f3024f --- sources/view/settings/VSettings.h (.../VSettings.h) (revision b59827b661a423b2b1ad2ca7b8611c2c0be7bd6a) +++ sources/view/settings/VSettings.h (.../VSettings.h) (revision 8457901952a1d732c4688da471ae98e1d4f3024f) @@ -68,7 +68,7 @@ SETTINGS(QString , servicePass , "" , Storage::Settings_Category_SettingsSystem , "Service" , "Password" ) SETTINGS(quint8 , alarmVolume , 5 , Storage::Settings_Category_SettingsSystem , "Alarm" , "Volume" ) SETTINGS(bool , roWaterMode , false , Storage::Settings_Category_SettingsSystem , "RoWaterMode" , "RoWaterMode" ) - SETTINGS(bool , userMode , false , Storage::Settings_Category_SettingsSystem , "UserMode" , "UserMode" ) + SETTINGS(bool , advancedMode , false , Storage::Settings_Category_SettingsSystem , "AdvancedMode", "AdvancedMode" ) TRIGGER (bool , encryptionPass, false )