fix: fixed language restore after backup

This commit is contained in:
vkamn
2026-06-03 17:26:24 +08:00
parent 7aa22227b5
commit 5eed8a735c
4 changed files with 7 additions and 11 deletions
+1 -1
View File
@@ -191,7 +191,7 @@ void CoreController::initControllers()
m_languageUiController = new LanguageUiController(m_settingsController, m_languageModel, this); m_languageUiController = new LanguageUiController(m_settingsController, m_languageModel, this);
setQmlContextProperty("LanguageUiController", m_languageUiController); setQmlContextProperty("LanguageUiController", m_languageUiController);
m_settingsUiController = new SettingsUiController(m_settingsController, m_serversController, m_languageUiController, this); m_settingsUiController = new SettingsUiController(m_settingsController, m_serversController, this);
setQmlContextProperty("SettingsController", m_settingsUiController); setQmlContextProperty("SettingsController", m_settingsUiController);
m_pageController = new PageController(m_serversController, m_settingsController, this); m_pageController = new PageController(m_serversController, m_settingsController, this);
@@ -235,6 +235,9 @@ void CoreSignalHandlers::initLanguageHandler()
connect(m_coreController->m_settingsUiController, &SettingsUiController::resetLanguageToSystem, m_coreController->m_languageUiController, [this]() { connect(m_coreController->m_settingsUiController, &SettingsUiController::resetLanguageToSystem, m_coreController->m_languageUiController, [this]() {
m_coreController->m_languageUiController->changeLanguage(m_coreController->m_languageUiController->getSystemLanguageEnum()); m_coreController->m_languageUiController->changeLanguage(m_coreController->m_languageUiController->getSystemLanguageEnum());
}); });
connect(m_coreController->m_settingsUiController, &SettingsUiController::appLanguageChanged, m_coreController->m_languageUiController, [this]() {
m_coreController->m_languageUiController->onAppLanguageChanged(m_coreController->m_settingsController->getAppLanguage());
});
} }
void CoreSignalHandlers::initAutoConnectHandler() void CoreSignalHandlers::initAutoConnectHandler()
@@ -22,12 +22,10 @@
SettingsUiController::SettingsUiController(SettingsController* settingsController, SettingsUiController::SettingsUiController(SettingsController* settingsController,
ServersController* serversController, ServersController* serversController,
LanguageUiController* languageUiController,
QObject *parent) QObject *parent)
: QObject(parent), : QObject(parent),
m_settingsController(settingsController), m_settingsController(settingsController),
m_serversController(serversController), m_serversController(serversController)
m_languageUiController(languageUiController)
{ {
#ifdef Q_OS_ANDROID #ifdef Q_OS_ANDROID
connect(AndroidController::instance(), &AndroidController::notificationStateChanged, this, &SettingsUiController::onNotificationStateChanged); connect(AndroidController::instance(), &AndroidController::notificationStateChanged, this, &SettingsUiController::onNotificationStateChanged);
@@ -157,8 +155,7 @@ void SettingsUiController::restoreAppConfigFromData(const QByteArray &data)
{ {
ErrorCode errorCode = m_settingsController->restoreAppConfigFromData(data); ErrorCode errorCode = m_settingsController->restoreAppConfigFromData(data);
if (errorCode == ErrorCode::NoError) { if (errorCode == ErrorCode::NoError) {
emit appLanguageChanged( emit appLanguageChanged();
static_cast<LanguageSettings::AvailableLanguageEnum>(m_languageUiController->getCurrentLanguageIndex()));
bool amneziaDnsEnabled = m_settingsController->isAmneziaDnsEnabled(); bool amneziaDnsEnabled = m_settingsController->isAmneziaDnsEnabled();
emit amneziaDnsToggled(amneziaDnsEnabled); emit amneziaDnsToggled(amneziaDnsEnabled);
+1 -5
View File
@@ -5,8 +5,6 @@
#include "core/controllers/settingsController.h" #include "core/controllers/settingsController.h"
#include "core/controllers/serversController.h" #include "core/controllers/serversController.h"
#include "ui/controllers/languageUiController.h"
#include "ui/models/languageModel.h"
#include "core/utils/errorCodes.h" #include "core/utils/errorCodes.h"
#include "core/utils/routeModes.h" #include "core/utils/routeModes.h"
#include "core/utils/commonStructs.h" #include "core/utils/commonStructs.h"
@@ -17,7 +15,6 @@ class SettingsUiController : public QObject
public: public:
explicit SettingsUiController(SettingsController* settingsController, explicit SettingsUiController(SettingsController* settingsController,
ServersController* serversController, ServersController* serversController,
LanguageUiController* languageUiController,
QObject *parent = nullptr); QObject *parent = nullptr);
Q_PROPERTY(QString primaryDns READ getPrimaryDns WRITE setPrimaryDns NOTIFY primaryDnsChanged) Q_PROPERTY(QString primaryDns READ getPrimaryDns WRITE setPrimaryDns NOTIFY primaryDnsChanged)
@@ -123,7 +120,7 @@ signals:
void loggingDisableByWatcher(); void loggingDisableByWatcher();
void appLanguageChanged(const LanguageSettings::AvailableLanguageEnum language); void appLanguageChanged();
void resetLanguageToSystem(); void resetLanguageToSystem();
void onNotificationStateChanged(); void onNotificationStateChanged();
@@ -142,7 +139,6 @@ signals:
private: private:
SettingsController* m_settingsController; SettingsController* m_settingsController;
ServersController* m_serversController; ServersController* m_serversController;
LanguageUiController* m_languageUiController;
}; };
#endif #endif