From 29207d73150cf6306dedca2c591c42cef500708a Mon Sep 17 00:00:00 2001 From: Aline Gondim Santos <aline.gondimsantos@savoirfairelinux.com> Date: Wed, 30 Nov 2022 09:57:08 -0300 Subject: [PATCH] language: reload theme and layout options Change-Id: Id33ae495260ff1e9ea58624a440a80aab23ad6a1 GitLab: #886 --- .../settingsview/components/ChatviewSettings.qml | 13 +++++++++++++ src/app/settingsview/components/SystemSettings.qml | 12 +++++++++++- src/app/utilsadapter.cpp | 5 +++-- src/app/utilsadapter.h | 1 + 4 files changed, 28 insertions(+), 3 deletions(-) diff --git a/src/app/settingsview/components/ChatviewSettings.qml b/src/app/settingsview/components/ChatviewSettings.qml index 0b635c2ed..4d385666a 100644 --- a/src/app/settingsview/components/ChatviewSettings.qml +++ b/src/app/settingsview/components/ChatviewSettings.qml @@ -90,6 +90,7 @@ ColumnLayout { tipText: JamiStrings.layout fontPointSize: JamiTheme.settingsFontSize comboModel: ListModel { + id: layoutModel Component.onCompleted: { append({ textDisplay: JamiStrings.horizontalViewOpt }) append({ textDisplay: JamiStrings.verticalViewOpt }) @@ -106,5 +107,17 @@ ColumnLayout { comboModel.get(modelIndex).textDisplay === JamiStrings.verticalViewOpt ) } + + Connections { + target: UtilsAdapter + + function onChangeLanguage() { + var idx = outputComboBoxSetting.modelIndex + layoutModel.clear() + layoutModel.append({ textDisplay: JamiStrings.horizontalViewOpt }) + layoutModel.append({ textDisplay: JamiStrings.verticalViewOpt }) + outputComboBoxSetting.modelIndex = idx + } + } } } diff --git a/src/app/settingsview/components/SystemSettings.qml b/src/app/settingsview/components/SystemSettings.qml index 9871f730f..a1d75222a 100644 --- a/src/app/settingsview/components/SystemSettings.qml +++ b/src/app/settingsview/components/SystemSettings.qml @@ -76,6 +76,7 @@ ColumnLayout { fontPointSize: JamiTheme.settingsFontSize comboModel: ListModel { + id: themeModel Component.onCompleted: { append({ textDisplay: JamiStrings.dark }) append({ textDisplay: JamiStrings.light }) @@ -223,13 +224,22 @@ ColumnLayout { } } - Connections { target: UtilsAdapter function onChangeFontSize() { zoomSpinBox.valueField = Math.round(UtilsAdapter.getAppValue(Settings.BaseZoom) * 100.0) } + + function onChangeLanguage() { + var idx = themeComboBoxSettings.modelIndex + themeModel.clear() + themeModel.append({ textDisplay: JamiStrings.dark }) + themeModel.append({ textDisplay: JamiStrings.light }) + if (UtilsAdapter.hasNativeDarkTheme()) + themeModel.append({ textDisplay: JamiStrings.system }) + themeComboBoxSettings.modelIndex = idx + } } SettingSpinBox { diff --git a/src/app/utilsadapter.cpp b/src/app/utilsadapter.cpp index bb9d4937c..f3cc9fa14 100644 --- a/src/app/utilsadapter.cpp +++ b/src/app/utilsadapter.cpp @@ -367,9 +367,10 @@ UtilsAdapter::setAppValue(const Settings::Key key, const QVariant& value) } settingsManager_->setValue(key, value); // If we change the lang preference, reload the translations - if (key == Settings::Key::LANG) + if (key == Settings::Key::LANG) { settingsManager_->loadTranslations(); - else if (key == Settings::Key::BaseZoom) + Q_EMIT changeLanguage(); + } else if (key == Settings::Key::BaseZoom) Q_EMIT changeFontSize(); else if (key == Settings::Key::EnableExperimentalSwarm) Q_EMIT showExperimentalCallSwarm(); diff --git a/src/app/utilsadapter.h b/src/app/utilsadapter.h index dd2b2ac92..cd8aae2ec 100644 --- a/src/app/utilsadapter.h +++ b/src/app/utilsadapter.h @@ -127,6 +127,7 @@ Q_SIGNALS: void chatviewPositionChanged(); void appThemeChanged(); void showExperimentalCallSwarm(); + void changeLanguage(); private: QClipboard* clipboard_; -- GitLab