Index: sources/device/DeviceController.cpp =================================================================== diff -u -rf0ffeb8c9ec7a838f039b904ce253b001561b5db -rc849da4382b19f1e0cf36c39e7975b337bf6bec0 --- sources/device/DeviceController.cpp (.../DeviceController.cpp) (revision f0ffeb8c9ec7a838f039b904ce253b001561b5db) +++ sources/device/DeviceController.cpp (.../DeviceController.cpp) (revision c849da4382b19f1e0cf36c39e7975b337bf6bec0) @@ -748,8 +748,8 @@ // ----- run the process - int timeout = 10000; - TimedProcess *timedProcess = new TimedProcess(&_processFactoryReset, script, timeout); + int timeout_ms = 30000; + TimedProcess *timedProcess = new TimedProcess(&_processFactoryReset, script, timeout_ms); timedProcess->start(); MDeviceFactoryResetResponse model; @@ -773,7 +773,7 @@ if ( vStatus ) vExitCode = Device::DeviceError::eDevice_Scripts_Error_Status; else deviceInfo = _processFactoryReset.readAll(); model.fromByteArray( deviceInfo, &vExitCode ); - // DEBUG: qDebug() << model._data.mEchoInfo; + // DEBUG: qDebug() << model._data.mMessage << deviceInfo; didAttributeResponse(model.data()); LOG_APPED_UI(model.data().mMessage); } Index: sources/device/DeviceView.cpp =================================================================== diff -u -rf0ffeb8c9ec7a838f039b904ce253b001561b5db -rc849da4382b19f1e0cf36c39e7975b337bf6bec0 --- sources/device/DeviceView.cpp (.../DeviceView.cpp) (revision f0ffeb8c9ec7a838f039b904ce253b001561b5db) +++ sources/device/DeviceView.cpp (.../DeviceView.cpp) (revision c849da4382b19f1e0cf36c39e7975b337bf6bec0) @@ -151,7 +151,7 @@ } void VDevice::onAttributeResponse(const DeviceFactoryResetResponseData &vData) { - // DEBUG : qDebug() << "HERE Response " << Q_FUNCT_INFO ; + // QDEBUG : qDebug() << "HERE Response " << Q_FUNC_INFO << " accepted: " vData.mAccepted; // this has to be called to let Gui to set to old value that device controller provided. status(vData.mMessage); factoryResetEnabled(vData.mAccepted); Index: sources/gui/qml/pages/settings/SettingsFactoryReset.qml =================================================================== diff -u -rf0ffeb8c9ec7a838f039b904ce253b001561b5db -rc849da4382b19f1e0cf36c39e7975b337bf6bec0 --- sources/gui/qml/pages/settings/SettingsFactoryReset.qml (.../SettingsFactoryReset.qml) (revision f0ffeb8c9ec7a838f039b904ce253b001561b5db) +++ sources/gui/qml/pages/settings/SettingsFactoryReset.qml (.../SettingsFactoryReset.qml) (revision c849da4382b19f1e0cf36c39e7975b337bf6bec0) @@ -26,12 +26,22 @@ * which asks for confirmation of performing a factory reset and doing it if confirmed */ UserConfirmation{ id: _root + title : qsTr("Factory Reset") + message : vDevice.factoryResetEnabled ? qsTr("Do you want to perform a factory reset?") + : qsTr("Resetting...") + itemIndex : SettingsStack.FactoryReset + notificationText : vDevice.status + confirmVisible : true confirmEnabled : vDevice.factoryResetEnabled - itemIndex : SettingsStack.FactoryReset + onConfirmClicked : { + vDevice.factoryReset = "start" + + // restore the binding; notificationText will now be bind to vDevice.status and correctly update + _root.notificationText = Qt.binding(function(){return vDevice.status}) + } + backVisible : true backEnabled : vDevice.factoryResetEnabled - title : qsTr("Factory Reset") - onBackClicked : _settingsHome.notificationText = "" - onConfirmClicked : vDevice.factoryReset = "start" + onBackClicked : _root.notificationText = "" // Note: breaks binding of notificationText property }