diff options
| author | Philipp David <pd@3b.pm> | 2022-01-13 09:41:51 +0100 | 
|---|---|---|
| committer | Philipp David <pd@3b.pm> | 2022-01-17 09:52:04 +0100 | 
| commit | 2dd2555a63a3098359e5a9873b748619b20b98ef (patch) | |
| tree | 971cb82d1f213f9d64012f3bf1b669fd227df228 /launcher/ui | |
| parent | 126e6d13aa59f5c09b4bb3956cbf85ed8ae72fa2 (diff) | |
| download | PrismLauncher-2dd2555a63a3098359e5a9873b748619b20b98ef.tar.gz PrismLauncher-2dd2555a63a3098359e5a9873b748619b20b98ef.tar.bz2 PrismLauncher-2dd2555a63a3098359e5a9873b748619b20b98ef.zip | |
Update selected language automatically
Diffstat (limited to 'launcher/ui')
| -rw-r--r-- | launcher/ui/widgets/LanguageSelectionWidget.cpp | 11 | ||||
| -rw-r--r-- | launcher/ui/widgets/LanguageSelectionWidget.h | 2 | 
2 files changed, 13 insertions, 0 deletions
| diff --git a/launcher/ui/widgets/LanguageSelectionWidget.cpp b/launcher/ui/widgets/LanguageSelectionWidget.cpp index cf70c7b4..964d2b7c 100644 --- a/launcher/ui/widgets/LanguageSelectionWidget.cpp +++ b/launcher/ui/widgets/LanguageSelectionWidget.cpp @@ -6,6 +6,7 @@  #include <QLabel>  #include "Application.h"  #include "translations/TranslationsModel.h" +#include "settings/Setting.h"  LanguageSelectionWidget::LanguageSelectionWidget(QWidget *parent) :      QWidget(parent) @@ -37,6 +38,9 @@ LanguageSelectionWidget::LanguageSelectionWidget(QWidget *parent) :      languageView->header()->setSectionResizeMode(0, QHeaderView::Stretch);      connect(languageView->selectionModel(), &QItemSelectionModel::currentRowChanged, this, &LanguageSelectionWidget::languageRowChanged);      verticalLayout->setContentsMargins(0,0,0,0); + +    auto language_setting = APPLICATION->settings()->getSetting("Language"); +    connect(language_setting.get(), &Setting::SettingChanged, this, &LanguageSelectionWidget::languageSettingChanged);  }  QString LanguageSelectionWidget::getSelectedLanguageKey() const @@ -64,3 +68,10 @@ void LanguageSelectionWidget::languageRowChanged(const QModelIndex& current, con      translations->selectLanguage(key);      translations->updateLanguage(key);  } + +void LanguageSelectionWidget::languageSettingChanged(const Setting &, const QVariant) +{ +    auto translations = APPLICATION->translations(); +    auto index = translations->selectedIndex(); +    languageView->setCurrentIndex(index); +} diff --git a/launcher/ui/widgets/LanguageSelectionWidget.h b/launcher/ui/widgets/LanguageSelectionWidget.h index e65936db..4a88924c 100644 --- a/launcher/ui/widgets/LanguageSelectionWidget.h +++ b/launcher/ui/widgets/LanguageSelectionWidget.h @@ -20,6 +20,7 @@  class QVBoxLayout;  class QTreeView;  class QLabel; +class Setting;  class LanguageSelectionWidget: public QWidget  { @@ -33,6 +34,7 @@ public:  protected slots:      void languageRowChanged(const QModelIndex ¤t, const QModelIndex &previous); +    void languageSettingChanged(const Setting &, const QVariant);  private:      QVBoxLayout *verticalLayout = nullptr; | 
