diff options
Diffstat (limited to 'src/yuzu/configuration')
| -rw-r--r-- | src/yuzu/configuration/config.cpp | 14 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure.ui | 11 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_dialog.cpp | 1 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_gamelist.cpp | 63 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_gamelist.h | 28 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_gamelist.ui | 126 | 
6 files changed, 243 insertions, 0 deletions
| diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index bf469ee73..0bd46dbac 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp @@ -122,6 +122,13 @@ void Config::ReadValues() {      qt_config->beginGroup("UI");      UISettings::values.theme = qt_config->value("theme", UISettings::themes[0].second).toString(); +    qt_config->beginGroup("UIGameList"); +    UISettings::values.show_unknown = qt_config->value("show_unknown", true).toBool(); +    UISettings::values.icon_size = qt_config->value("icon_size", 48).toUInt(); +    UISettings::values.row_1_text_id = qt_config->value("row_1_text_id", 0).toUInt(); +    UISettings::values.row_2_text_id = qt_config->value("row_2_text_id", 3).toUInt(); +    qt_config->endGroup(); +      qt_config->beginGroup("UILayout");      UISettings::values.geometry = qt_config->value("geometry").toByteArray();      UISettings::values.state = qt_config->value("state").toByteArray(); @@ -234,6 +241,13 @@ void Config::SaveValues() {      qt_config->beginGroup("UI");      qt_config->setValue("theme", UISettings::values.theme); +    qt_config->beginGroup("UIGameList"); +    qt_config->setValue("show_unknown", UISettings::values.show_unknown); +    qt_config->setValue("icon_size", UISettings::values.icon_size); +    qt_config->setValue("row_1_text_id", UISettings::values.row_1_text_id); +    qt_config->setValue("row_2_text_id", UISettings::values.row_2_text_id); +    qt_config->endGroup(); +      qt_config->beginGroup("UILayout");      qt_config->setValue("geometry", UISettings::values.geometry);      qt_config->setValue("state", UISettings::values.state); diff --git a/src/yuzu/configuration/configure.ui b/src/yuzu/configuration/configure.ui index c8e0b88af..20f120134 100644 --- a/src/yuzu/configuration/configure.ui +++ b/src/yuzu/configuration/configure.ui @@ -24,6 +24,11 @@         <string>General</string>        </attribute>       </widget> +      <widget class="ConfigureGameList" name="gameListTab"> +        <attribute name="title"> +          <string>Game List</string> +        </attribute> +      </widget>       <widget class="ConfigureSystem" name="systemTab">        <attribute name="title">         <string>System</string> @@ -67,6 +72,12 @@     <header>configuration/configure_general.h</header>     <container>1</container>    </customwidget> +   <customwidget> +     <class>ConfigureGameList</class> +     <extends>QWidget</extends> +     <header>configuration/configure_gamelist.h</header> +     <container>1</container> +   </customwidget>    <customwidget>     <class>ConfigureSystem</class>     <extends>QWidget</extends> diff --git a/src/yuzu/configuration/configure_dialog.cpp b/src/yuzu/configuration/configure_dialog.cpp index cc4b326ae..daa4cc0d9 100644 --- a/src/yuzu/configuration/configure_dialog.cpp +++ b/src/yuzu/configuration/configure_dialog.cpp @@ -21,6 +21,7 @@ void ConfigureDialog::setConfiguration() {}  void ConfigureDialog::applyConfiguration() {      ui->generalTab->applyConfiguration(); +    ui->gameListTab->applyConfiguration();      ui->systemTab->applyConfiguration();      ui->inputTab->applyConfiguration();      ui->graphicsTab->applyConfiguration(); diff --git a/src/yuzu/configuration/configure_gamelist.cpp b/src/yuzu/configuration/configure_gamelist.cpp new file mode 100644 index 000000000..1ae3423cf --- /dev/null +++ b/src/yuzu/configuration/configure_gamelist.cpp @@ -0,0 +1,63 @@ +// Copyright 2016 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include "core/core.h" +#include "core/settings.h" +#include "ui_configure_gamelist.h" +#include "ui_settings.h" +#include "yuzu/configuration/configure_gamelist.h" + +ConfigureGameList::ConfigureGameList(QWidget* parent) +    : QWidget(parent), ui(new Ui::ConfigureGameList) { +    ui->setupUi(this); + +    static const std::vector<std::pair<u32, std::string>> 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"), +    }; + +    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); +    } + +    static const std::vector<std::string> 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)); +    } + +    this->setConfiguration(); +} + +ConfigureGameList::~ConfigureGameList() {} + +void ConfigureGameList::setConfiguration() { +    ui->show_unknown->setChecked(UISettings::values.show_unknown); +    ui->icon_size_combobox->setCurrentIndex( +        ui->icon_size_combobox->findData(UISettings::values.icon_size)); +    ui->row_1_text_combobox->setCurrentIndex( +        ui->row_1_text_combobox->findData(UISettings::values.row_1_text_id)); +    ui->row_2_text_combobox->setCurrentIndex( +        ui->row_2_text_combobox->findData(UISettings::values.row_2_text_id)); +} + +void ConfigureGameList::applyConfiguration() { +    UISettings::values.show_unknown = ui->show_unknown->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(); +} diff --git a/src/yuzu/configuration/configure_gamelist.h b/src/yuzu/configuration/configure_gamelist.h new file mode 100644 index 000000000..94fba6373 --- /dev/null +++ b/src/yuzu/configuration/configure_gamelist.h @@ -0,0 +1,28 @@ +// Copyright 2016 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include <memory> +#include <QWidget> + +namespace Ui { +class ConfigureGameList; +} + +class ConfigureGameList : public QWidget { +    Q_OBJECT + +public: +    explicit ConfigureGameList(QWidget* parent = nullptr); +    ~ConfigureGameList(); + +    void applyConfiguration(); + +private: +    void setConfiguration(); + +private: +    std::unique_ptr<Ui::ConfigureGameList> ui; +}; diff --git a/src/yuzu/configuration/configure_gamelist.ui b/src/yuzu/configuration/configure_gamelist.ui new file mode 100644 index 000000000..7471fdb60 --- /dev/null +++ b/src/yuzu/configuration/configure_gamelist.ui @@ -0,0 +1,126 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>ConfigureGameList</class> +  <widget class="QWidget" name="ConfigureGeneral"> +    <property name="geometry"> +      <rect> +        <x>0</x> +        <y>0</y> +        <width>300</width> +        <height>377</height> +      </rect> +    </property> +    <property name="windowTitle"> +      <string>Form</string> +    </property> +    <layout class="QHBoxLayout" name="HorizontalLayout"> +      <item> +        <layout class="QVBoxLayout" name="VerticalLayout"> +          <item> +            <widget class="QGroupBox" name="GeneralGroupBox"> +              <property name="title"> +                <string>General</string> +              </property> +              <layout class="QHBoxLayout" name="GeneralHorizontalLayout"> +                <item> +                  <layout class="QVBoxLayout" name="GeneralVerticalLayout"> +                    <item> +                      <widget class="QCheckBox" name="show_unknown"> +                        <property name="text"> +                          <string>Show files with type 'Unknown'</string> +                        </property> +                      </widget> +                    </item> +                  </layout> +                </item> +              </layout> +            </widget> +          </item> +          <item> +            <widget class="QGroupBox" name="IconSizeGroupBox"> +              <property name="title"> +                <string>Icon Size</string> +              </property> +              <layout class="QHBoxLayout" name="icon_size_qhbox_layout"> +                <item> +                  <layout class="QVBoxLayout" name="icon_size_qvbox_layout"> +                    <item> +                      <layout class="QHBoxLayout" name="icon_size_qhbox_layout_2"> +                        <item> +                          <widget class="QLabel" name="icon_size_label"> +                            <property name="text"> +                              <string>Icon Size:</string> +                            </property> +                          </widget> +                        </item> +                        <item> +                          <widget class="QComboBox" name="icon_size_combobox"/> +                        </item> +                      </layout> +                    </item> +                  </layout> +                </item> +              </layout> +            </widget> +          </item> +          <item> +            <widget class="QGroupBox" name="RowGroupBox"> +              <property name="title"> +                <string>Row Text</string> +              </property> +              <layout class="QHBoxLayout" name="RowHorizontalLayout"> +                <item> +                  <layout class="QVBoxLayout" name="RowVerticalLayout"> +                    <item> +                      <layout class="QHBoxLayout" name="row_1_qhbox_layout"> +                        <item> +                          <widget class="QLabel" name="row_1_label"> +                            <property name="text"> +                              <string>Row 1 Text:</string> +                            </property> +                          </widget> +                        </item> +                        <item> +                          <widget class="QComboBox" name="row_1_text_combobox"/> +                        </item> +                      </layout> +                    </item> +                    <item> +                      <layout class="QHBoxLayout" name="row_2_qhbox_layout"> +                        <item> +                          <widget class="QLabel" name="row_2_label"> +                            <property name="text"> +                              <string>Row 2 Text:</string> +                            </property> +                          </widget> +                        </item> +                        <item> +                          <widget class="QComboBox" name="row_2_text_combobox"/> +                        </item> +                      </layout> +                    </item> +                  </layout> +                </item> +              </layout> +            </widget> +          </item> +          <item> +            <spacer name="verticalSpacer"> +              <property name="orientation"> +                <enum>Qt::Vertical</enum> +              </property> +              <property name="sizeHint" stdset="0"> +                <size> +                  <width>20</width> +                  <height>40</height> +                </size> +              </property> +            </spacer> +          </item> +        </layout> +      </item> +    </layout> +  </widget> + <resources/> + <connections/> +</ui> | 
