diff options
author | FearlessTobi <thm.frey@gmail.com> | 2020-01-24 00:15:51 +0100 |
---|---|---|
committer | FearlessTobi <thm.frey@gmail.com> | 2020-01-24 00:15:51 +0100 |
commit | d0e4f1c6f43f51df8fdc8a056801a297c2706d56 (patch) | |
tree | ef6ada4ab6f44ce4e1203b9b5450bd71d82cbf04 /src/yuzu/configuration/configure_gamelist.cpp | |
parent | a167da4278df6d864a8990f846cf3ede1158f3db (diff) |
yuzu/configuration: create UI tab and move gamelist settings there
Diffstat (limited to 'src/yuzu/configuration/configure_gamelist.cpp')
-rw-r--r-- | src/yuzu/configuration/configure_gamelist.cpp | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/src/yuzu/configuration/configure_gamelist.cpp b/src/yuzu/configuration/configure_gamelist.cpp deleted file mode 100644 index e43e84d39..000000000 --- a/src/yuzu/configuration/configure_gamelist.cpp +++ /dev/null @@ -1,146 +0,0 @@ -// Copyright 2016 Citra Emulator Project -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. - -#include <array> -#include <utility> - -#include "common/common_types.h" -#include "core/settings.h" -#include "ui_configure_gamelist.h" -#include "yuzu/configuration/configure_gamelist.h" -#include "yuzu/uisettings.h" - -namespace { -constexpr std::array 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 row_text_names{ - QT_TR_NOOP("Filename"), QT_TR_NOOP("Filetype"), QT_TR_NOOP("Title ID"), - QT_TR_NOOP("Title Name"), QT_TR_NOOP("None"), -}; -} // Anonymous namespace - -ConfigureGameList::ConfigureGameList(QWidget* parent) - : QWidget(parent), ui(new Ui::ConfigureGameList) { - ui->setupUi(this); - - InitializeIconSizeComboBox(); - InitializeRowComboBoxes(); - - SetConfiguration(); - - // Force game list reload if any of the relevant settings are changed. - connect(ui->show_unknown, &QCheckBox::stateChanged, this, - &ConfigureGameList::RequestGameListUpdate); - connect(ui->icon_size_combobox, QOverload<int>::of(&QComboBox::currentIndexChanged), this, - &ConfigureGameList::RequestGameListUpdate); - connect(ui->row_1_text_combobox, QOverload<int>::of(&QComboBox::currentIndexChanged), this, - &ConfigureGameList::RequestGameListUpdate); - connect(ui->row_2_text_combobox, QOverload<int>::of(&QComboBox::currentIndexChanged), this, - &ConfigureGameList::RequestGameListUpdate); - - // Update text ComboBoxes after user interaction. - connect(ui->row_1_text_combobox, QOverload<int>::of(&QComboBox::activated), - [=]() { ConfigureGameList::UpdateSecondRowComboBox(); }); - connect(ui->row_2_text_combobox, QOverload<int>::of(&QComboBox::activated), - [=]() { ConfigureGameList::UpdateFirstRowComboBox(); }); -} - -ConfigureGameList::~ConfigureGameList() = default; - -void ConfigureGameList::ApplyConfiguration() { - UISettings::values.show_unknown = ui->show_unknown->isChecked(); - UISettings::values.show_add_ons = ui->show_add_ons->isChecked(); - UISettings::values.icon_size = ui->icon_size_combobox->currentData().toUInt(); - UISettings::values.row_1_text_id = ui->row_1_text_combobox->currentData().toUInt(); - UISettings::values.row_2_text_id = ui->row_2_text_combobox->currentData().toUInt(); - Settings::Apply(); -} - -void ConfigureGameList::RequestGameListUpdate() { - UISettings::values.is_game_list_reload_pending.exchange(true); -} - -void ConfigureGameList::SetConfiguration() { - ui->show_unknown->setChecked(UISettings::values.show_unknown); - ui->show_add_ons->setChecked(UISettings::values.show_add_ons); - ui->icon_size_combobox->setCurrentIndex( - ui->icon_size_combobox->findData(UISettings::values.icon_size)); -} - -void ConfigureGameList::changeEvent(QEvent* event) { - if (event->type() == QEvent::LanguageChange) { - RetranslateUI(); - } - - 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::fromUtf8(size.second), size.first); - } -} - -void ConfigureGameList::InitializeRowComboBoxes() { - UpdateFirstRowComboBox(true); - UpdateSecondRowComboBox(true); -} - -void ConfigureGameList::UpdateFirstRowComboBox(bool init) { - const int currentIndex = - init ? UISettings::values.row_1_text_id - : ui->row_1_text_combobox->findData(ui->row_1_text_combobox->currentData()); - - ui->row_1_text_combobox->clear(); - - for (std::size_t i = 0; i < row_text_names.size(); i++) { - const QString row_text_name = QString::fromUtf8(row_text_names[i]); - ui->row_1_text_combobox->addItem(row_text_name, QVariant::fromValue(i)); - } - - ui->row_1_text_combobox->setCurrentIndex(ui->row_1_text_combobox->findData(currentIndex)); - - ui->row_1_text_combobox->removeItem(4); // None - ui->row_1_text_combobox->removeItem( - ui->row_1_text_combobox->findData(ui->row_2_text_combobox->currentData())); -} - -void ConfigureGameList::UpdateSecondRowComboBox(bool init) { - const int currentIndex = - init ? UISettings::values.row_2_text_id - : ui->row_2_text_combobox->findData(ui->row_2_text_combobox->currentData()); - - ui->row_2_text_combobox->clear(); - - for (std::size_t i = 0; i < row_text_names.size(); ++i) { - const QString row_text_name = QString::fromUtf8(row_text_names[i]); - ui->row_2_text_combobox->addItem(row_text_name, QVariant::fromValue(i)); - } - - ui->row_2_text_combobox->setCurrentIndex(ui->row_2_text_combobox->findData(currentIndex)); - - ui->row_2_text_combobox->removeItem( - ui->row_2_text_combobox->findData(ui->row_1_text_combobox->currentData())); -} |