From 3163cd135bcbedc29bb284ce9a624f6097bf2d6e Mon Sep 17 00:00:00 2001 From: Dzmitry Dubrova Date: Fri, 9 Aug 2024 18:19:35 +0300 Subject: [PATCH] gui: Add console language to settings --- src/common/config.cpp | 5 + src/common/config.h | 1 + src/qt_gui/settings_dialog.cpp | 8 + src/qt_gui/settings_dialog.ui | 288 +++++++++++++++++++++++++++++++-- 4 files changed, 289 insertions(+), 13 deletions(-) diff --git a/src/common/config.cpp b/src/common/config.cpp index c105650b..ebdd9c32 100644 --- a/src/common/config.cpp +++ b/src/common/config.cpp @@ -162,6 +162,10 @@ void setFullscreenMode(bool enable) { isFullscreen = enable; } +void setLanguage(u32 language) { + m_language = language; +} + void setNeoMode(bool enable) { isNeo = enable; } @@ -432,6 +436,7 @@ void setDefaultValues() { vblankDivider = 1; vkValidation = false; rdocEnable = false; + m_language = 1; } } // namespace Config diff --git a/src/common/config.h b/src/common/config.h index 6174b1e1..ad0aad22 100644 --- a/src/common/config.h +++ b/src/common/config.h @@ -38,6 +38,7 @@ void setVblankDiv(u32 value); void setScreenWidth(u32 width); void setScreenHeight(u32 height); void setFullscreenMode(bool enable); +void setLanguage(u32 language); void setNeoMode(bool enable); void setLogType(std::string type); diff --git a/src/qt_gui/settings_dialog.cpp b/src/qt_gui/settings_dialog.cpp index 88c91ef6..722abe7e 100644 --- a/src/qt_gui/settings_dialog.cpp +++ b/src/qt_gui/settings_dialog.cpp @@ -32,6 +32,12 @@ SettingsDialog::SettingsDialog(QWidget* parent) : QDialog(parent), ui(new Ui::Se ui->buttonBox->button(QDialogButtonBox::StandardButton::Close)->setFocus(); }); + // EMULATOR TAB + { + connect(ui->consoleLanguageComboBox, &QComboBox::currentIndexChanged, this, + [](int index) { Config::setLanguage(index); }); + } + // GPU TAB { // TODO: Implement graphics device changing @@ -90,6 +96,8 @@ SettingsDialog::SettingsDialog(QWidget* parent) : QDialog(parent), ui(new Ui::Se } void SettingsDialog::LoadValuesFromConfig() { + ui->consoleLanguageComboBox->setCurrentIndex(Config::GetLanguage()); + ui->widthSpinBox->setValue(Config::getScreenWidth()); ui->heightSpinBox->setValue(Config::getScreenHeight()); ui->vblankSpinBox->setValue(Config::vblankDiv()); diff --git a/src/qt_gui/settings_dialog.ui b/src/qt_gui/settings_dialog.ui index 507980eb..4893bd61 100644 --- a/src/qt_gui/settings_dialog.ui +++ b/src/qt_gui/settings_dialog.ui @@ -1,4 +1,7 @@ + + SettingsDialog @@ -54,31 +57,182 @@ - 1 + 0 - + - GPU + Emulator - + - + - + - + - Graphics Device + Console Language - + - + + + + Japanese + + + + + English (United States) + + + + + French (France) + + + + + Spanish (Spain) + + + + + German + + + + + Italian + + + + + Dutch + + + + + Portuguese (Portugal) + + + + + Russian + + + + + Korean + + + + + Traditional Chinese + + + + + Simplified Chinese + + + + + Finnish + + + + + Swedish + + + + + Danish + + + + + Norwegian + + + + + Polish + + + + + Portuguese (Brazil) + + + + + English (United Kingdom) + + + + + Turkish + + + + + Spanish (Latin America) + + + + + Arabic + + + + + French (Canada) + + + + + Czech + + + + + Hungarian + + + + + Greek + + + + + Romanian + + + + + Thai + + + + + Vietnamese + + + + + Indonesian + + + - + 0 @@ -96,7 +250,7 @@ - + 0 @@ -113,6 +267,114 @@ + + + + Qt::Orientation::Vertical + + + QSizePolicy::Policy::MinimumExpanding + + + + 0 + 0 + + + + + + + + + + + + + 12 + + + 12 + + + + + + + + + Qt::Orientation::Vertical + + + QSizePolicy::Policy::MinimumExpanding + + + + 0 + 0 + + + + + + + + + GPU + + + + + + + + + + Graphics Device + + + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + @@ -294,7 +556,7 @@ Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter - +