mirror of
https://github.com/amnezia-vpn/amnezia-client.git
synced 2026-06-23 02:00:20 +07: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_settings->clearSettings();
|
||||||
m_serversModel->resetModel();
|
m_serversModel->resetModel();
|
||||||
m_languageModel->changeLanguage(
|
m_languageModel->changeLanguage(m_languageModel->getSystemLanguageEnum());
|
||||||
static_cast<LanguageSettings::AvailableLanguageEnum>(m_languageModel->getCurrentLanguageIndex()));
|
|
||||||
|
|
||||||
m_sitesModel->setRouteMode(Settings::RouteMode::VpnOnlyForwardSites);
|
m_sitesModel->setRouteMode(Settings::RouteMode::VpnOnlyForwardSites);
|
||||||
m_sitesModel->toggleSplitTunneling(false);
|
m_sitesModel->toggleSplitTunneling(false);
|
||||||
|
|||||||
@@ -101,6 +101,23 @@ QString LanguageModel::getCurrentLanguageName()
|
|||||||
return m_availableLanguages[getCurrentLanguageIndex()].name;
|
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)
|
QString LanguageModel::getCurrentSiteUrl(const QString &path)
|
||||||
{
|
{
|
||||||
auto language = static_cast<LanguageSettings::AvailableLanguageEnum>(getCurrentLanguageIndex());
|
auto language = static_cast<LanguageSettings::AvailableLanguageEnum>(getCurrentLanguageIndex());
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
LanguageModel(std::shared_ptr<Settings> settings, QObject *parent = nullptr);
|
LanguageModel(std::shared_ptr<Settings> settings, QObject *parent = nullptr);
|
||||||
|
LanguageSettings::AvailableLanguageEnum getSystemLanguageEnum();
|
||||||
|
|
||||||
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
||||||
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
||||||
|
|||||||
Reference in New Issue
Block a user