Skip to content
Snippets Groups Projects
Commit e89c22c1 authored by Lioncash's avatar Lioncash
Browse files

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.
parent a9b953e6
No related branches found
No related tags found
No related merge requests found
......@@ -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));
}
}
......@@ -23,6 +23,9 @@ public:
private:
void setConfiguration();
void changeEvent(QEvent*) override;
void RetranslateUI();
void InitializeIconSizeComboBox();
void InitializeRowComboBoxes();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment