Index: sources/device/DeviceController.cpp =================================================================== diff -u -rc849da4382b19f1e0cf36c39e7975b337bf6bec0 -r2038a8a2dcec5a461868b0150ad6fbfc2bfd8707 --- sources/device/DeviceController.cpp (.../DeviceController.cpp) (revision c849da4382b19f1e0cf36c39e7975b337bf6bec0) +++ sources/device/DeviceController.cpp (.../DeviceController.cpp) (revision 2038a8a2dcec5a461868b0150ad6fbfc2bfd8707) @@ -748,7 +748,7 @@ // ----- run the process - int timeout_ms = 30000; + int timeout_ms = 10000; TimedProcess *timedProcess = new TimedProcess(&_processFactoryReset, script, timeout_ms); timedProcess->start(); Index: sources/gui/qml/pages/settings/SettingsFactoryReset.qml =================================================================== diff -u -rc849da4382b19f1e0cf36c39e7975b337bf6bec0 -r2038a8a2dcec5a461868b0150ad6fbfc2bfd8707 --- sources/gui/qml/pages/settings/SettingsFactoryReset.qml (.../SettingsFactoryReset.qml) (revision c849da4382b19f1e0cf36c39e7975b337bf6bec0) +++ sources/gui/qml/pages/settings/SettingsFactoryReset.qml (.../SettingsFactoryReset.qml) (revision 2038a8a2dcec5a461868b0150ad6fbfc2bfd8707) @@ -44,4 +44,14 @@ backVisible : true backEnabled : vDevice.factoryResetEnabled onBackClicked : _root.notificationText = "" // Note: breaks binding of notificationText property + + Connections{ target:vDevice + function onAcceptedChanged() { + if(_root.visible) { // indicate reset screen is shown + if(vDevice.accepted) { // indicate reset completed + vSettings.syncPasswordSettings() // update the copied default script to have the saved password + } + } + } + } } Index: sources/view/settings/VSettings.cpp =================================================================== diff -u -r99e5b87f73c3b849ba33a212ec84cf4bf6ef38f1 -r2038a8a2dcec5a461868b0150ad6fbfc2bfd8707 --- sources/view/settings/VSettings.cpp (.../VSettings.cpp) (revision 99e5b87f73c3b849ba33a212ec84cf4bf6ef38f1) +++ sources/view/settings/VSettings.cpp (.../VSettings.cpp) (revision 2038a8a2dcec5a461868b0150ad6fbfc2bfd8707) @@ -317,3 +317,14 @@ encryptionPass(ok); } +/*! + * \brief View::VSettings::syncPasswordSetting + * \details Updates the settings file with the last loaded password + */ +void View::VSettings::syncPasswordSetting() { + Storage::Settings settings; + if ( settings.save(servicePassCategory(), servicePassGroup(), servicePassKey(), servicePass()) != 0 ) { + servicePass(""); + // FIXME: Notify UI with a message + } +} Index: sources/view/settings/VSettings.h =================================================================== diff -u -r99e5b87f73c3b849ba33a212ec84cf4bf6ef38f1 -r2038a8a2dcec5a461868b0150ad6fbfc2bfd8707 --- sources/view/settings/VSettings.h (.../VSettings.h) (revision 99e5b87f73c3b849ba33a212ec84cf4bf6ef38f1) +++ sources/view/settings/VSettings.h (.../VSettings.h) (revision 2038a8a2dcec5a461868b0150ad6fbfc2bfd8707) @@ -91,6 +91,7 @@ bool isServicePasswordMatch (const QString &vPassword); void updateServicePassword (const QString &vPassword); void checkServicePasswordSet (); + void syncPasswordSetting(); private slots: void onActionReceive (GuiActionType vAction, const QVariantList &vData);