From d0e4f1c6f43f51df8fdc8a056801a297c2706d56 Mon Sep 17 00:00:00 2001
From: FearlessTobi
Date: Fri, 24 Jan 2020 00:15:51 +0100
Subject: yuzu/configuration: create UI tab and move gamelist settings there
---
src/yuzu/CMakeLists.txt | 6 +-
src/yuzu/configuration/configure.ui | 6 +-
src/yuzu/configuration/configure_dialog.cpp | 6 +-
src/yuzu/configuration/configure_gamelist.cpp | 146 -------------------------
src/yuzu/configuration/configure_gamelist.h | 38 -------
src/yuzu/configuration/configure_gamelist.ui | 133 ----------------------
src/yuzu/configuration/configure_general.cpp | 8 --
src/yuzu/configuration/configure_general.ui | 37 +------
src/yuzu/configuration/configure_ui.cpp | 152 ++++++++++++++++++++++++++
src/yuzu/configuration/configure_ui.h | 38 +++++++
src/yuzu/configuration/configure_ui.ui | 134 +++++++++++++++++++++++
11 files changed, 338 insertions(+), 366 deletions(-)
delete mode 100644 src/yuzu/configuration/configure_gamelist.cpp
delete mode 100644 src/yuzu/configuration/configure_gamelist.h
delete mode 100644 src/yuzu/configuration/configure_gamelist.ui
create mode 100644 src/yuzu/configuration/configure_ui.cpp
create mode 100644 src/yuzu/configuration/configure_ui.h
create mode 100644 src/yuzu/configuration/configure_ui.ui
(limited to 'src')
diff --git a/src/yuzu/CMakeLists.txt b/src/yuzu/CMakeLists.txt
index 11ae1e66e..a3fb91d29 100644
--- a/src/yuzu/CMakeLists.txt
+++ b/src/yuzu/CMakeLists.txt
@@ -36,9 +36,6 @@ add_executable(yuzu
configuration/configure_filesystem.cpp
configuration/configure_filesystem.h
configuration/configure_filesystem.ui
- configuration/configure_gamelist.cpp
- configuration/configure_gamelist.h
- configuration/configure_gamelist.ui
configuration/configure_general.cpp
configuration/configure_general.h
configuration/configure_general.ui
@@ -75,6 +72,9 @@ add_executable(yuzu
configuration/configure_touchscreen_advanced.cpp
configuration/configure_touchscreen_advanced.h
configuration/configure_touchscreen_advanced.ui
+ configuration/configure_ui.cpp
+ configuration/configure_ui.h
+ configuration/configure_ui.ui
configuration/configure_web.cpp
configuration/configure_web.h
configuration/configure_web.ui
diff --git a/src/yuzu/configuration/configure.ui b/src/yuzu/configuration/configure.ui
index 372427ae2..67b990f1a 100644
--- a/src/yuzu/configuration/configure.ui
+++ b/src/yuzu/configuration/configure.ui
@@ -48,7 +48,7 @@
General
-
+
Game List
@@ -166,9 +166,9 @@
1
- ConfigureGameList
+ ConfigureUi
QWidget
- configuration/configure_gamelist.h
+ configuration/configure_ui.h
1
diff --git a/src/yuzu/configuration/configure_dialog.cpp b/src/yuzu/configuration/configure_dialog.cpp
index 8497eaa14..db3b19352 100644
--- a/src/yuzu/configuration/configure_dialog.cpp
+++ b/src/yuzu/configuration/configure_dialog.cpp
@@ -34,7 +34,7 @@ void ConfigureDialog::SetConfiguration() {}
void ConfigureDialog::ApplyConfiguration() {
ui->generalTab->ApplyConfiguration();
- ui->gameListTab->ApplyConfiguration();
+ ui->uiTab->ApplyConfiguration();
ui->systemTab->ApplyConfiguration();
ui->profileManagerTab->ApplyConfiguration();
ui->filesystemTab->applyConfiguration();
@@ -74,7 +74,7 @@ Q_DECLARE_METATYPE(QList);
void ConfigureDialog::PopulateSelectionList() {
const std::array>, 5> items{
- {{tr("General"), {ui->generalTab, ui->webTab, ui->debugTab, ui->gameListTab}},
+ {{tr("General"), {ui->generalTab, ui->webTab, ui->debugTab, ui->uiTab}},
{tr("System"), {ui->systemTab, ui->profileManagerTab, ui->serviceTab, ui->filesystemTab}},
{tr("Graphics"), {ui->graphicsTab}},
{tr("Audio"), {ui->audioTab}},
@@ -108,7 +108,7 @@ void ConfigureDialog::UpdateVisibleTabs() {
{ui->audioTab, tr("Audio")},
{ui->debugTab, tr("Debug")},
{ui->webTab, tr("Web")},
- {ui->gameListTab, tr("Game List")},
+ {ui->uiTab, tr("UI")},
{ui->filesystemTab, tr("Filesystem")},
{ui->serviceTab, tr("Services")},
};
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
-#include
-
-#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::of(&QComboBox::currentIndexChanged), this,
- &ConfigureGameList::RequestGameListUpdate);
- connect(ui->row_1_text_combobox, QOverload::of(&QComboBox::currentIndexChanged), this,
- &ConfigureGameList::RequestGameListUpdate);
- connect(ui->row_2_text_combobox, QOverload::of(&QComboBox::currentIndexChanged), this,
- &ConfigureGameList::RequestGameListUpdate);
-
- // Update text ComboBoxes after user interaction.
- connect(ui->row_1_text_combobox, QOverload::of(&QComboBox::activated),
- [=]() { ConfigureGameList::UpdateSecondRowComboBox(); });
- connect(ui->row_2_text_combobox, QOverload::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()));
-}
diff --git a/src/yuzu/configuration/configure_gamelist.h b/src/yuzu/configuration/configure_gamelist.h
deleted file mode 100644
index ecd3fa174..000000000
--- a/src/yuzu/configuration/configure_gamelist.h
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2016 Citra Emulator Project
-// Licensed under GPLv2 or any later version
-// Refer to the license.txt file included.
-
-#pragma once
-
-#include
-#include
-
-namespace Ui {
-class ConfigureGameList;
-}
-
-class ConfigureGameList : public QWidget {
- Q_OBJECT
-
-public:
- explicit ConfigureGameList(QWidget* parent = nullptr);
- ~ConfigureGameList() override;
-
- void ApplyConfiguration();
-
-private:
- void RequestGameListUpdate();
-
- void SetConfiguration();
-
- void changeEvent(QEvent*) override;
- void RetranslateUI();
-
- void InitializeIconSizeComboBox();
- void InitializeRowComboBoxes();
-
- void UpdateFirstRowComboBox(bool init = false);
- void UpdateSecondRowComboBox(bool init = false);
-
- std::unique_ptr ui;
-};
diff --git a/src/yuzu/configuration/configure_gamelist.ui b/src/yuzu/configuration/configure_gamelist.ui
deleted file mode 100644
index 7a69377e7..000000000
--- a/src/yuzu/configuration/configure_gamelist.ui
+++ /dev/null
@@ -1,133 +0,0 @@
-
-
- ConfigureGameList
-
-
-
- 0
- 0
- 300
- 377
-
-
-
- Form
-
-
- -
-
-
-
-
-
- General
-
-
-
-
-
-
-
-
-
- Show files with type 'Unknown'
-
-
-
- -
-
-
- Show Add-Ons Column
-
-
-
-
-
-
-
-
- -
-
-
- Icon Size
-
-
-
-
-
-
-
-
-
-
-
-
- Icon Size:
-
-
-
- -
-
-
-
-
-
-
-
-
-
- -
-
-
- Row Text
-
-
-
-
-
-
-
-
-
-
-
-
- Row 1 Text:
-
-
-
- -
-
-
-
-
- -
-
-
-
-
-
- Row 2 Text:
-
-
-
- -
-
-
-
-
-
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/yuzu/configuration/configure_general.cpp b/src/yuzu/configuration/configure_general.cpp
index 34e1d7fea..5ef927114 100644
--- a/src/yuzu/configuration/configure_general.cpp
+++ b/src/yuzu/configuration/configure_general.cpp
@@ -15,11 +15,6 @@ ConfigureGeneral::ConfigureGeneral(QWidget* parent)
ui->setupUi(this);
- for (const auto& theme : UISettings::themes) {
- ui->theme_combobox->addItem(QString::fromUtf8(theme.first),
- QString::fromUtf8(theme.second));
- }
-
SetConfiguration();
connect(ui->toggle_frame_limit, &QCheckBox::toggled, ui->frame_limit, &QSpinBox::setEnabled);
@@ -30,7 +25,6 @@ ConfigureGeneral::~ConfigureGeneral() = default;
void ConfigureGeneral::SetConfiguration() {
ui->toggle_check_exit->setChecked(UISettings::values.confirm_before_closing);
ui->toggle_user_on_boot->setChecked(UISettings::values.select_user_on_boot);
- ui->theme_combobox->setCurrentIndex(ui->theme_combobox->findData(UISettings::values.theme));
ui->toggle_background_pause->setChecked(UISettings::values.pause_when_in_background);
ui->toggle_frame_limit->setChecked(Settings::values.use_frame_limit);
@@ -41,8 +35,6 @@ void ConfigureGeneral::SetConfiguration() {
void ConfigureGeneral::ApplyConfiguration() {
UISettings::values.confirm_before_closing = ui->toggle_check_exit->isChecked();
UISettings::values.select_user_on_boot = ui->toggle_user_on_boot->isChecked();
- UISettings::values.theme =
- ui->theme_combobox->itemData(ui->theme_combobox->currentIndex()).toString();
UISettings::values.pause_when_in_background = ui->toggle_background_pause->isChecked();
Settings::values.use_frame_limit = ui->toggle_frame_limit->isChecked();
diff --git a/src/yuzu/configuration/configure_general.ui b/src/yuzu/configuration/configure_general.ui
index 26b3486ff..857119bb3 100644
--- a/src/yuzu/configuration/configure_general.ui
+++ b/src/yuzu/configuration/configure_general.ui
@@ -65,39 +65,12 @@
- -
-
-
- Pause emulation when in background
-
-
-
-
-
-
-
-
- -
-
-
- Theme
-
-
-
-
-
-
-
-
-
-
-
- Theme:
-
-
-
- -
-
-
-
+
+
+ Pause emulation when in background
+
+
diff --git a/src/yuzu/configuration/configure_ui.cpp b/src/yuzu/configuration/configure_ui.cpp
new file mode 100644
index 000000000..c4a84cc67
--- /dev/null
+++ b/src/yuzu/configuration/configure_ui.cpp
@@ -0,0 +1,152 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include
+#include
+
+#include "common/common_types.h"
+#include "core/settings.h"
+#include "ui_configure_ui.h"
+#include "yuzu/configuration/configure_ui.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
+
+ConfigureUi::ConfigureUi(QWidget* parent) : QWidget(parent), ui(new Ui::ConfigureUi) {
+ ui->setupUi(this);
+
+ for (const auto& theme : UISettings::themes) {
+ ui->theme_combobox->addItem(QString::fromUtf8(theme.first),
+ QString::fromUtf8(theme.second));
+ }
+
+ InitializeIconSizeComboBox();
+ InitializeRowComboBoxes();
+
+ SetConfiguration();
+
+ // Force game list reload if any of the relevant settings are changed.
+ connect(ui->show_unknown, &QCheckBox::stateChanged, this, &ConfigureUi::RequestGameListUpdate);
+ connect(ui->icon_size_combobox, QOverload::of(&QComboBox::currentIndexChanged), this,
+ &ConfigureUi::RequestGameListUpdate);
+ connect(ui->row_1_text_combobox, QOverload::of(&QComboBox::currentIndexChanged), this,
+ &ConfigureUi::RequestGameListUpdate);
+ connect(ui->row_2_text_combobox, QOverload::of(&QComboBox::currentIndexChanged), this,
+ &ConfigureUi::RequestGameListUpdate);
+
+ // Update text ComboBoxes after user interaction.
+ connect(ui->row_1_text_combobox, QOverload::of(&QComboBox::activated),
+ [=]() { ConfigureUi::UpdateSecondRowComboBox(); });
+ connect(ui->row_2_text_combobox, QOverload::of(&QComboBox::activated),
+ [=]() { ConfigureUi::UpdateFirstRowComboBox(); });
+}
+
+ConfigureUi::~ConfigureUi() = default;
+
+void ConfigureUi::ApplyConfiguration() {
+ UISettings::values.theme =
+ ui->theme_combobox->itemData(ui->theme_combobox->currentIndex()).toString();
+ 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 ConfigureUi::RequestGameListUpdate() {
+ UISettings::values.is_game_list_reload_pending.exchange(true);
+}
+
+void ConfigureUi::SetConfiguration() {
+ ui->theme_combobox->setCurrentIndex(ui->theme_combobox->findData(UISettings::values.theme));
+ 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 ConfigureUi::changeEvent(QEvent* event) {
+ if (event->type() == QEvent::LanguageChange) {
+ RetranslateUI();
+ }
+
+ QWidget::changeEvent(event);
+}
+
+void ConfigureUi::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 ConfigureUi::InitializeIconSizeComboBox() {
+ for (const auto& size : default_icon_sizes) {
+ ui->icon_size_combobox->addItem(QString::fromUtf8(size.second), size.first);
+ }
+}
+
+void ConfigureUi::InitializeRowComboBoxes() {
+ UpdateFirstRowComboBox(true);
+ UpdateSecondRowComboBox(true);
+}
+
+void ConfigureUi::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 ConfigureUi::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()));
+}
diff --git a/src/yuzu/configuration/configure_ui.h b/src/yuzu/configuration/configure_ui.h
new file mode 100644
index 000000000..d471afe99
--- /dev/null
+++ b/src/yuzu/configuration/configure_ui.h
@@ -0,0 +1,38 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include
+#include
+
+namespace Ui {
+class ConfigureUi;
+}
+
+class ConfigureUi : public QWidget {
+ Q_OBJECT
+
+public:
+ explicit ConfigureUi(QWidget* parent = nullptr);
+ ~ConfigureUi() override;
+
+ void ApplyConfiguration();
+
+private:
+ void RequestGameListUpdate();
+
+ void SetConfiguration();
+
+ void changeEvent(QEvent*) override;
+ void RetranslateUI();
+
+ void InitializeIconSizeComboBox();
+ void InitializeRowComboBoxes();
+
+ void UpdateFirstRowComboBox(bool init = false);
+ void UpdateSecondRowComboBox(bool init = false);
+
+ std::unique_ptr ui;
+};
diff --git a/src/yuzu/configuration/configure_ui.ui b/src/yuzu/configuration/configure_ui.ui
new file mode 100644
index 000000000..aa36bd112
--- /dev/null
+++ b/src/yuzu/configuration/configure_ui.ui
@@ -0,0 +1,134 @@
+
+
+ ConfigureUi
+
+
+
+ 0
+ 0
+ 300
+ 377
+
+
+
+ Form
+
+
+ -
+
+
-
+
+
+ General
+
+
+
-
+
+
-
+
+
-
+
+
+ Theme:
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+ -
+
+
+ Game List
+
+
+
-
+
+
-
+
+
+ Show files with type 'Unknown'
+
+
+
+ -
+
+
+ Show Add-Ons Column
+
+
+
+ -
+
+
-
+
+
+ Icon Size:
+
+
+
+ -
+
+
+
+
+ -
+
+
-
+
+
+ Row 1 Text:
+
+
+
+ -
+
+
+
+
+ -
+
+
-
+
+
+ Row 2 Text:
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+
+
+
+
+
+
+
--
cgit v1.2.3