From 88e3e2bcb45eeae45f34077d0fed8f1f22b1c2df Mon Sep 17 00:00:00 2001 From: NickVs2015 Date: Thu, 26 Feb 2026 16:24:34 +0300 Subject: [PATCH] fix backup restore --- client/ui/controllers/settingsController.cpp | 11 +++++----- client/ui/qml/Pages2/PageSettingsBackup.qml | 23 +++++++++++++++++++- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/client/ui/controllers/settingsController.cpp b/client/ui/controllers/settingsController.cpp index 6a3726828..8b456f3a6 100644 --- a/client/ui/controllers/settingsController.cpp +++ b/client/ui/controllers/settingsController.cpp @@ -178,12 +178,11 @@ void SettingsController::backupAppConfig(const QString &fileName) void SettingsController::restoreAppConfig(const QString &fileName) { - QFile file(fileName); - - file.open(QIODevice::ReadOnly); - - QByteArray data = file.readAll(); - + QByteArray data; + if (!SystemController::readFile(fileName, data)) { + emit changeSettingsErrorOccurred(tr("Can't open file: %1").arg(fileName)); + return; + } restoreAppConfigFromData(data); } diff --git a/client/ui/qml/Pages2/PageSettingsBackup.qml b/client/ui/qml/Pages2/PageSettingsBackup.qml index 20056dce5..906d136a1 100644 --- a/client/ui/qml/Pages2/PageSettingsBackup.qml +++ b/client/ui/qml/Pages2/PageSettingsBackup.qml @@ -169,6 +169,27 @@ PageType { var noButtonFunction = function() { } - showQuestionDrawer(headerText, descriptionText, yesButtonText, noButtonText, yesButtonFunction, noButtonFunction) + var showDialog = function() { + showQuestionDrawer(headerText, descriptionText, yesButtonText, noButtonText, yesButtonFunction, noButtonFunction) + } + + if (GC.isMobile() && Qt.platform.os === "android") { + restoreBackupDelayTimer.dialogCallback = showDialog + restoreBackupDelayTimer.restart() + } else { + showDialog() + } + } + + Timer { + id: restoreBackupDelayTimer + interval: 500 + repeat: false + property var dialogCallback + onTriggered: { + if (dialogCallback && typeof dialogCallback === "function") { + dialogCallback() + } + } } }