summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2018-09-12 01:11:25 -0400
committerLioncash <mathew1800@gmail.com>2018-09-12 02:34:53 -0400
commite89c22c1471d02e5e9c3fe3f5fd4e6cb7800f6cc (patch)
tree4910043f0cd8f9dc01bcde8615025b7e46d625b4 /src
parenta9b953e6d41e7fd0c5d4c9de7c353d7a0204a784 (diff)
yuzu/configure_gamelist: Make combo box strings translatable
Given these are shown to the user, they should be translatable. While we're at it, also set up the dialog to automatically retranslate the dialog along with the combo boxes if it receives a LanguageChange event.
Diffstat (limited to 'src')
-rw-r--r--src/yuzu/configuration/configure_gamelist.cpp65
-rw-r--r--src/yuzu/configuration/configure_gamelist.h3
2 files changed, 47 insertions, 21 deletions
diff --git a/src/yuzu/configuration/configure_gamelist.cpp b/src/yuzu/configuration/configure_gamelist.cpp
index 20090ed29..0be030434 100644
--- a/src/yuzu/configuration/configure_gamelist.cpp
+++ b/src/yuzu/configuration/configure_gamelist.cpp
@@ -11,6 +11,23 @@
#include "yuzu/configuration/configure_gamelist.h"
#include "yuzu/ui_settings.h"
+namespace {
+constexpr std::array<std::pair<u32, const char*>, 5> default_icon_sizes{{
+ std::make_pair(0, QT_TR_NOOP("None")),
+ std::make_pair(32, QT_TR_NOOP("Small (32x32)")),
+ std::make_pair(64, QT_TR_NOOP("Standard (64x64)")),
+ std::make_pair(128, QT_TR_NOOP("Large (128x128)")),
+ std::make_pair(256, QT_TR_NOOP("Full Size (256x256)")),
+}};
+
+constexpr std::array<const char*, 4> row_text_names{{
+ QT_TR_NOOP("Filename"),
+ QT_TR_NOOP("Filetype"),
+ QT_TR_NOOP("Title ID"),
+ QT_TR_NOOP("Title Name"),
+}};
+} // Anonymous namespace
+
ConfigureGameList::ConfigureGameList(QWidget* parent)
: QWidget(parent), ui(new Ui::ConfigureGameList) {
ui->setupUi(this);
@@ -41,33 +58,39 @@ void ConfigureGameList::setConfiguration() {
ui->row_2_text_combobox->findData(UISettings::values.row_2_text_id));
}
-void ConfigureGameList::InitializeIconSizeComboBox() {
- static const std::array<std::pair<u32, std::string>, 5> default_icon_sizes{{
- std::make_pair(0, "None"), std::make_pair(32, "Small"),
- std::make_pair(64, "Standard"), std::make_pair(128, "Large"),
- std::make_pair(256, "Full Size"),
- }};
+void ConfigureGameList::changeEvent(QEvent* event) {
+ if (event->type() == QEvent::LanguageChange) {
+ RetranslateUI();
+ return;
+ }
+ QWidget::changeEvent(event);
+}
+
+void ConfigureGameList::RetranslateUI() {
+ ui->retranslateUi(this);
+
+ for (int i = 0; i < ui->icon_size_combobox->count(); i++) {
+ ui->icon_size_combobox->setItemText(i, tr(default_icon_sizes[i].second));
+ }
+
+ for (int i = 0; i < ui->row_1_text_combobox->count(); i++) {
+ const QString name = tr(row_text_names[i]);
+
+ ui->row_1_text_combobox->setItemText(i, name);
+ ui->row_2_text_combobox->setItemText(i, name);
+ }
+}
+
+void ConfigureGameList::InitializeIconSizeComboBox() {
for (const auto& size : default_icon_sizes) {
- ui->icon_size_combobox->addItem(QString::fromStdString(size.second + " (" +
- std::to_string(size.first) + "x" +
- std::to_string(size.first) + ")"),
- size.first);
+ ui->icon_size_combobox->addItem(size.second, size.first);
}
}
void ConfigureGameList::InitializeRowComboBoxes() {
- static const std::array<std::string, 4> row_text_names{{
- "Filename",
- "Filetype",
- "Title ID",
- "Title Name",
- }};
-
for (size_t i = 0; i < row_text_names.size(); ++i) {
- ui->row_1_text_combobox->addItem(QString::fromStdString(row_text_names[i]),
- QVariant::fromValue(i));
- ui->row_2_text_combobox->addItem(QString::fromStdString(row_text_names[i]),
- QVariant::fromValue(i));
+ ui->row_1_text_combobox->addItem(row_text_names[i], QVariant::fromValue(i));
+ ui->row_2_text_combobox->addItem(row_text_names[i], QVariant::fromValue(i));
}
}
diff --git a/src/yuzu/configuration/configure_gamelist.h b/src/yuzu/configuration/configure_gamelist.h
index 71fd67e99..ff7406c60 100644
--- a/src/yuzu/configuration/configure_gamelist.h
+++ b/src/yuzu/configuration/configure_gamelist.h
@@ -23,6 +23,9 @@ public:
private:
void setConfiguration();
+ void changeEvent(QEvent*) override;
+ void RetranslateUI();
+
void InitializeIconSizeComboBox();
void InitializeRowComboBoxes();