From d38d0988820a402903a2e98f5a6e8acc0465675b Mon Sep 17 00:00:00 2001 From: Observer KRypt0n_ Date: Thu, 19 Jan 2023 14:03:11 +0200 Subject: [PATCH] General settings: added wine & dxvk selection UI --- assets/locales/en/general.ftl | 9 +++++++++ assets/locales/ru/general.ftl | 9 +++++++++ src/i18n.rs | 3 ++- src/ui/preferences/general.rs | 36 ++++++++++++++++++++++++++++++++++- 4 files changed, 55 insertions(+), 2 deletions(-) diff --git a/assets/locales/en/general.ftl b/assets/locales/en/general.ftl index 9e0fc09..570cdc3 100644 --- a/assets/locales/en/general.ftl +++ b/assets/locales/en/general.ftl @@ -13,3 +13,12 @@ status = Status game-version = Game version patch-version = Patch version + +selected-version = Selected version +recommended-only = Recommended only + +wine-version = Wine version +wine-recommended-description = Show only recommended wine versions + +dxvk-version = DXVK version +dxvk-recommended-description = Show only recommended dxvk versions diff --git a/assets/locales/ru/general.ftl b/assets/locales/ru/general.ftl index c79e6d3..a5308ce 100644 --- a/assets/locales/ru/general.ftl +++ b/assets/locales/ru/general.ftl @@ -13,3 +13,12 @@ status = Статус game-version = Версия игры patch-version = Версия патча + +selected-version = Выбранная версия +recommended-only = Только рекомендуемое + +wine-version = Версия Wine +wine-recommended-description = Показывать только рекомендуемые версии Wine + +dxvk-version = Версия DXVK +dxvk-recommended-description = Показывать только рекомендуемые версии DXVK diff --git a/src/i18n.rs b/src/i18n.rs index 53ac62e..937f087 100644 --- a/src/i18n.rs +++ b/src/i18n.rs @@ -10,10 +10,11 @@ fluent_templates::static_loader! { pub static mut LANG: LanguageIdentifier = langid!("en"); +#[allow(clippy::expect_fun_call)] pub fn tr(id: &str) -> String { unsafe { LOCALES .lookup(&LANG, id) - .expect("Failed to get message with given id") + .expect(&format!("Failed to find message with a given id: {id}")) } } diff --git a/src/ui/preferences/general.rs b/src/ui/preferences/general.rs index 6be5050..1105a69 100644 --- a/src/ui/preferences/general.rs +++ b/src/ui/preferences/general.rs @@ -129,7 +129,41 @@ impl WidgetTemplate for General { add_css_class: "success" } } - } + }, + + add = &adw::PreferencesGroup { + set_title: &tr("wine-version"), + + adw::ComboRow { + set_title: &tr("selected-version") + }, + + adw::ActionRow { + set_title: &tr("recommended-only"), + set_subtitle: &tr("wine-recommended-description"), + + add_suffix = >k::Switch { + set_valign: gtk::Align::Center + } + } + }, + + add = &adw::PreferencesGroup { + set_title: &tr("dxvk-version"), + + adw::ComboRow { + set_title: &tr("selected-version") + }, + + adw::ActionRow { + set_title: &tr("recommended-only"), + set_subtitle: &tr("dxvk-recommended-description"), + + add_suffix = >k::Switch { + set_valign: gtk::Align::Center + } + } + }, } } }