mirror of
https://github.com/amnezia-vpn/amnezia-client.git
synced 2026-05-08 14:33:23 +00:00
fix: fixed language load after settings reset (#1735)
This commit is contained in:
@@ -185,8 +185,7 @@ void SettingsController::clearSettings()
|
||||
{
|
||||
m_settings->clearSettings();
|
||||
m_serversModel->resetModel();
|
||||
m_languageModel->changeLanguage(
|
||||
static_cast<LanguageSettings::AvailableLanguageEnum>(m_languageModel->getCurrentLanguageIndex()));
|
||||
m_languageModel->changeLanguage(m_languageModel->getSystemLanguageEnum());
|
||||
|
||||
m_sitesModel->setRouteMode(Settings::RouteMode::VpnOnlyForwardSites);
|
||||
m_sitesModel->toggleSplitTunneling(false);
|
||||
|
||||
@@ -101,6 +101,23 @@ QString LanguageModel::getCurrentLanguageName()
|
||||
return m_availableLanguages[getCurrentLanguageIndex()].name;
|
||||
}
|
||||
|
||||
LanguageSettings::AvailableLanguageEnum LanguageModel::getSystemLanguageEnum()
|
||||
{
|
||||
QLocale locale = QLocale::system();
|
||||
switch (locale.language()) {
|
||||
case QLocale::Russian: return LanguageSettings::AvailableLanguageEnum::Russian;
|
||||
case QLocale::Chinese: return LanguageSettings::AvailableLanguageEnum::China_cn;
|
||||
case QLocale::Ukrainian: return LanguageSettings::AvailableLanguageEnum::Ukrainian;
|
||||
case QLocale::Persian: return LanguageSettings::AvailableLanguageEnum::Persian;
|
||||
case QLocale::Arabic: return LanguageSettings::AvailableLanguageEnum::Arabic;
|
||||
case QLocale::Burmese: return LanguageSettings::AvailableLanguageEnum::Burmese;
|
||||
case QLocale::Urdu: return LanguageSettings::AvailableLanguageEnum::Urdu;
|
||||
case QLocale::Hindi: return LanguageSettings::AvailableLanguageEnum::Hindi;
|
||||
case QLocale::English: return LanguageSettings::AvailableLanguageEnum::English;
|
||||
default: return LanguageSettings::AvailableLanguageEnum::English;
|
||||
}
|
||||
}
|
||||
|
||||
QString LanguageModel::getCurrentSiteUrl(const QString &path)
|
||||
{
|
||||
auto language = static_cast<LanguageSettings::AvailableLanguageEnum>(getCurrentLanguageIndex());
|
||||
|
||||
@@ -46,6 +46,7 @@ public:
|
||||
};
|
||||
|
||||
LanguageModel(std::shared_ptr<Settings> settings, QObject *parent = nullptr);
|
||||
LanguageSettings::AvailableLanguageEnum getSystemLanguageEnum();
|
||||
|
||||
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
||||
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
||||
|
||||
Reference in New Issue
Block a user