diff options
Diffstat (limited to 'src/yuzu')
| -rw-r--r-- | src/yuzu/configuration/configure_gamelist.cpp | 53 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_gamelist.h | 3 | ||||
| -rw-r--r-- | src/yuzu/game_list_p.h | 11 | ||||
| -rw-r--r-- | src/yuzu/main.cpp | 16 | ||||
| -rw-r--r-- | src/yuzu/main.ui | 3 | 
5 files changed, 71 insertions, 15 deletions
| diff --git a/src/yuzu/configuration/configure_gamelist.cpp b/src/yuzu/configuration/configure_gamelist.cpp index daedbc33e..e43e84d39 100644 --- a/src/yuzu/configuration/configure_gamelist.cpp +++ b/src/yuzu/configuration/configure_gamelist.cpp @@ -21,10 +21,8 @@ constexpr std::array default_icon_sizes{  };  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("Filename"),   QT_TR_NOOP("Filetype"), QT_TR_NOOP("Title ID"), +    QT_TR_NOOP("Title Name"), QT_TR_NOOP("None"),  };  } // Anonymous namespace @@ -46,6 +44,12 @@ ConfigureGameList::ConfigureGameList(QWidget* parent)              &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; @@ -68,10 +72,6 @@ void ConfigureGameList::SetConfiguration() {      ui->show_add_ons->setChecked(UISettings::values.show_add_ons);      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::changeEvent(QEvent* event) { @@ -104,10 +104,43 @@ void ConfigureGameList::InitializeIconSizeComboBox() {  }  void ConfigureGameList::InitializeRowComboBoxes() { -    for (std::size_t i = 0; i < row_text_names.size(); ++i) { -        const QString row_text_name = QString::fromUtf8(row_text_names[i]); +    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 index e11822919..ecd3fa174 100644 --- a/src/yuzu/configuration/configure_gamelist.h +++ b/src/yuzu/configuration/configure_gamelist.h @@ -31,5 +31,8 @@ private:      void InitializeIconSizeComboBox();      void InitializeRowComboBoxes(); +    void UpdateFirstRowComboBox(bool init = false); +    void UpdateSecondRowComboBox(bool init = false); +      std::unique_ptr<Ui::ConfigureGameList> ui;  }; diff --git a/src/yuzu/game_list_p.h b/src/yuzu/game_list_p.h index 1c2b37afd..7cde72d1b 100644 --- a/src/yuzu/game_list_p.h +++ b/src/yuzu/game_list_p.h @@ -108,11 +108,14 @@ public:              }};              const auto& row1 = row_data.at(UISettings::values.row_1_text_id); -            const auto& row2 = row_data.at(UISettings::values.row_2_text_id); +            const int row2_id = UISettings::values.row_2_text_id; -            if (row1.isEmpty() || row1 == row2) -                return row2; -            if (row2.isEmpty()) +            if (row2_id == 4) // None +                return row1; + +            const auto& row2 = row_data.at(row2_id); + +            if (row1 == row2)                  return row1;              return QString(row1 + QStringLiteral("\n    ") + row2); diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index b21fbf826..b5dd3e0d6 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -526,19 +526,30 @@ void GMainWindow::InitializeHotkeys() {      const QString main_window = QStringLiteral("Main Window");      const QString load_file = QStringLiteral("Load File"); +    const QString load_amiibo = QStringLiteral("Load Amiibo");      const QString exit_yuzu = QStringLiteral("Exit yuzu"); +    const QString restart_emulation = QStringLiteral("Restart Emulation");      const QString stop_emulation = QStringLiteral("Stop Emulation");      const QString toggle_filter_bar = QStringLiteral("Toggle Filter Bar");      const QString toggle_status_bar = QStringLiteral("Toggle Status Bar");      const QString fullscreen = QStringLiteral("Fullscreen"); +    const QString capture_screenshot = QStringLiteral("Capture Screenshot");      ui.action_Load_File->setShortcut(hotkey_registry.GetKeySequence(main_window, load_file));      ui.action_Load_File->setShortcutContext(          hotkey_registry.GetShortcutContext(main_window, load_file)); +    ui.action_Load_Amiibo->setShortcut(hotkey_registry.GetKeySequence(main_window, load_amiibo)); +    ui.action_Load_Amiibo->setShortcutContext( +        hotkey_registry.GetShortcutContext(main_window, load_amiibo)); +      ui.action_Exit->setShortcut(hotkey_registry.GetKeySequence(main_window, exit_yuzu));      ui.action_Exit->setShortcutContext(hotkey_registry.GetShortcutContext(main_window, exit_yuzu)); +    ui.action_Restart->setShortcut(hotkey_registry.GetKeySequence(main_window, restart_emulation)); +    ui.action_Restart->setShortcutContext( +        hotkey_registry.GetShortcutContext(main_window, restart_emulation)); +      ui.action_Stop->setShortcut(hotkey_registry.GetKeySequence(main_window, stop_emulation));      ui.action_Stop->setShortcutContext(          hotkey_registry.GetShortcutContext(main_window, stop_emulation)); @@ -553,6 +564,11 @@ void GMainWindow::InitializeHotkeys() {      ui.action_Show_Status_Bar->setShortcutContext(          hotkey_registry.GetShortcutContext(main_window, toggle_status_bar)); +    ui.action_Capture_Screenshot->setShortcut( +        hotkey_registry.GetKeySequence(main_window, capture_screenshot)); +    ui.action_Capture_Screenshot->setShortcutContext( +        hotkey_registry.GetShortcutContext(main_window, capture_screenshot)); +      connect(hotkey_registry.GetHotkey(main_window, QStringLiteral("Load File"), this),              &QShortcut::activated, this, &GMainWindow::OnMenuLoadFile);      connect( diff --git a/src/yuzu/main.ui b/src/yuzu/main.ui index 21f422500..a2c9e4547 100644 --- a/src/yuzu/main.ui +++ b/src/yuzu/main.ui @@ -15,7 +15,7 @@    </property>    <property name="windowIcon">     <iconset> -    <normaloff>src/pcafe/res/icon3_64x64.ico</normaloff>src/pcafe/res/icon3_64x64.ico</iconset> +    <normaloff>../dist/yuzu.ico</normaloff>../dist/yuzu.ico</iconset>    </property>    <property name="tabShape">     <enum>QTabWidget::Rounded</enum> @@ -98,6 +98,7 @@      <addaction name="action_Display_Dock_Widget_Headers"/>      <addaction name="action_Show_Filter_Bar"/>      <addaction name="action_Show_Status_Bar"/> +    <addaction name="separator"/>      <addaction name="menu_View_Debugging"/>     </widget>     <widget class="QMenu" name="menu_Tools"> | 
