1
0
mirror of https://github.com/RPCS3/rpcs3.git synced 2024-11-22 10:42:36 +01:00

Qt: Option for Custom Icons

This commit is contained in:
Megamouse 2021-03-12 22:24:35 +01:00
parent 161d8ef47a
commit 8d0947f07f
5 changed files with 106 additions and 72 deletions

View File

@ -210,6 +210,7 @@ void game_list_frame::LoadSettings()
m_sort_column = m_gui_settings->GetValue(gui::gl_sortCol).toInt();
m_category_filters = m_gui_settings->GetGameListCategoryFilters();
m_draw_compat_status_to_grid = m_gui_settings->GetValue(gui::gl_draw_compat).toBool();
m_show_custom_icons = m_gui_settings->GetValue(gui::gl_custom_icon).toBool();
Refresh(true);
@ -570,9 +571,13 @@ void game_list_frame::Refresh(const bool from_drive, const bool scroll_after)
game.sound_format = psf::get_integer(psf, "SOUND_FORMAT", 0);
game.bootable = psf::get_integer(psf, "BOOTABLE", 0);
game.attr = psf::get_integer(psf, "ATTRIBUTE", 0);
game.icon_path = fs::get_config_dir() + "/Icons/game_icons/" + game.serial + "/ICON0.PNG";
if (!fs::is_file(game.icon_path))
if (m_show_custom_icons)
{
game.icon_path = fs::get_config_dir() + "/Icons/game_icons/" + game.serial + "/ICON0.PNG";
}
if (!m_show_custom_icons || !fs::is_file(game.icon_path))
{
game.icon_path = sfo_dir + "/ICON0.PNG";
}
@ -2311,6 +2316,16 @@ void game_list_frame::SetShowCompatibilityInGrid(bool show)
m_gui_settings->SetValue(gui::gl_draw_compat, show);
}
void game_list_frame::SetShowCustomIcons(bool show)
{
if (m_show_custom_icons != show)
{
m_show_custom_icons = show;
m_gui_settings->SetValue(gui::gl_custom_icon, show);
Refresh(true);
}
}
QList<game_info> game_list_frame::GetGameInfo() const
{
return m_game_data;

View File

@ -86,6 +86,7 @@ public Q_SLOTS:
void SetListMode(const bool& is_list);
void SetSearchText(const QString& text);
void SetShowCompatibilityInGrid(bool show);
void SetShowCustomIcons(bool show);
private Q_SLOTS:
void OnColClicked(int col);
@ -172,4 +173,5 @@ private:
qreal m_margin_factor;
qreal m_text_factor;
bool m_draw_compat_status_to_grid = false;
bool m_show_custom_icons = true;
};

View File

@ -163,6 +163,7 @@ namespace gui
const gui_save gl_show_hidden = gui_save(game_list, "show_hidden", false);
const gui_save gl_hidden_list = gui_save(game_list, "hidden_list", QStringList());
const gui_save gl_draw_compat = gui_save(game_list, "draw_compat", false);
const gui_save gl_custom_icon = gui_save(game_list, "custom_icon", true);
const gui_save fs_emulator_dir_list = gui_save(fs, "emulator_dir_list", QStringList());
const gui_save fs_dev_hdd0_list = gui_save(fs, "dev_hdd0_list", QStringList());

View File

@ -179,8 +179,8 @@ bool main_window::Init()
RepaintThumbnailIcons();
connect(m_thumb_stop, &QWinThumbnailToolButton::clicked, [this]() { Emu.Stop(); });
connect(m_thumb_restart, &QWinThumbnailToolButton::clicked, [this]() { Emu.Restart(); });
connect(m_thumb_stop, &QWinThumbnailToolButton::clicked, this, []() { Emu.Stop(); });
connect(m_thumb_restart, &QWinThumbnailToolButton::clicked, this, []() { Emu.Restart(); });
connect(m_thumb_playPause, &QWinThumbnailToolButton::clicked, this, &main_window::OnPlayOrPause);
#endif
@ -623,7 +623,7 @@ void main_window::HandlePackageInstallation(QStringList file_paths)
{
// Let the user choose the packages to install and select the order in which they shall be installed.
pkg_install_dialog dlg(file_paths, compat, this);
connect(&dlg, &QDialog::accepted, [&packages, &dlg]()
connect(&dlg, &QDialog::accepted, this, [&packages, &dlg]()
{
packages = dlg.GetPathsToInstall();
});
@ -1110,7 +1110,7 @@ void main_window::DecryptSPRXLibraries()
dlg.set_button_enabled(QDialogButtonBox::StandardButton::Ok, false);
dlg.set_validator(new QRegExpValidator(QRegExp("^[a-fA-F0-9]*$"))); // HEX only
connect(&dlg, &input_dialog::text_changed, [&](const QString& text)
connect(&dlg, &input_dialog::text_changed, &dlg, [&dlg](const QString& text)
{
dlg.set_button_enabled(QDialogButtonBox::StandardButton::Ok, text.size() == 32);
});
@ -1542,7 +1542,7 @@ QAction* main_window::CreateRecentAction(const q_string_pair& entry, const uint&
}
// connect boot
connect(act, &QAction::triggered, [act, this]() {BootRecentAction(act); });
connect(act, &QAction::triggered, this, [act, this]() {BootRecentAction(act); });
return act;
}
@ -1624,7 +1624,7 @@ void main_window::UpdateLanguageActions(const QStringList& language_codes, const
act->setChecked(code == language_code);
// connect to language changer
connect(act, &QAction::triggered, [this, code]()
connect(act, &QAction::triggered, this, [this, code]()
{
RequestLanguageChange(code);
});
@ -1710,13 +1710,13 @@ void main_window::CreateConnects()
{
connect(ui->bootElfAct, &QAction::triggered, this, &main_window::BootElf);
connect(ui->bootGameAct, &QAction::triggered, this, &main_window::BootGame);
connect(ui->actionopen_rsx_capture, &QAction::triggered, [this](){ BootRsxCapture(); });
connect(ui->actionCreate_RSX_Capture, &QAction::triggered, []()
connect(ui->actionopen_rsx_capture, &QAction::triggered, this, [this](){ BootRsxCapture(); });
connect(ui->actionCreate_RSX_Capture, &QAction::triggered, this, []()
{
g_user_asked_for_frame_capture = true;
});
connect(ui->addGamesAct, &QAction::triggered, [this]()
connect(ui->addGamesAct, &QAction::triggered, this, [this]()
{
QStringList paths;
@ -1733,7 +1733,7 @@ void main_window::CreateConnects()
}
});
connect(ui->bootRecentMenu, &QMenu::aboutToShow, [this]()
connect(ui->bootRecentMenu, &QMenu::aboutToShow, this, [this]()
{
// Enable/Disable Recent Games List
const bool stopped = Emu.IsStopped();
@ -1746,7 +1746,7 @@ void main_window::CreateConnects()
}
});
connect(ui->clearRecentAct, &QAction::triggered, [this]()
connect(ui->clearRecentAct, &QAction::triggered, this, [this]()
{
if (ui->freezeRecentAct->isChecked())
{
@ -1761,13 +1761,13 @@ void main_window::CreateConnects()
m_gui_settings->SetValue(gui::rg_entries, m_gui_settings->List2Var(q_pair_list()));
});
connect(ui->freezeRecentAct, &QAction::triggered, [this](bool checked)
connect(ui->freezeRecentAct, &QAction::triggered, this, [this](bool checked)
{
m_gui_settings->SetValue(gui::rg_freeze, checked);
});
connect(ui->bootInstallPkgAct, &QAction::triggered, [this] {InstallPackages(); });
connect(ui->bootInstallPupAct, &QAction::triggered, [this] {InstallPup(); });
connect(ui->bootInstallPkgAct, &QAction::triggered, this, [this] {InstallPackages(); });
connect(ui->bootInstallPupAct, &QAction::triggered, this, [this] {InstallPup(); });
connect(ui->exitAct, &QAction::triggered, this, &QWidget::close);
connect(ui->batchCreatePPUCachesAct, &QAction::triggered, m_game_list_frame, &game_list_frame::BatchCreatePPUCaches);
@ -1783,8 +1783,8 @@ void main_window::CreateConnects()
connect(ui->createFirmwareCacheAct, &QAction::triggered, this, &main_window::CreateFirmwareCache);
connect(ui->sysPauseAct, &QAction::triggered, this, &main_window::OnPlayOrPause);
connect(ui->sysStopAct, &QAction::triggered, [this]() { Emu.Stop(); });
connect(ui->sysRebootAct, &QAction::triggered, [this]() { Emu.Restart(); });
connect(ui->sysStopAct, &QAction::triggered, this, []() { Emu.Stop(); });
connect(ui->sysRebootAct, &QAction::triggered, this, []() { Emu.Restart(); });
connect(ui->sysSendOpenMenuAct, &QAction::triggered, this, [this]()
{
@ -1802,7 +1802,7 @@ void main_window::CreateConnects()
sysutil_send_system_cmd(0x0101 /* CELL_SYSUTIL_REQUEST_EXITGAME */, 0);
});
auto open_settings = [this](int tabIndex)
const auto open_settings = [this](int tabIndex)
{
settings_dialog dlg(m_gui_settings, m_emu_settings, tabIndex, this);
connect(&dlg, &settings_dialog::GuiSettingsSaveRequest, this, &main_window::SaveWindowState);
@ -1814,69 +1814,69 @@ void main_window::CreateConnects()
dlg.exec();
};
connect(ui->confCPUAct, &QAction::triggered, [=, this]() { open_settings(0); });
connect(ui->confGPUAct, &QAction::triggered, [=, this]() { open_settings(1); });
connect(ui->confAudioAct, &QAction::triggered, [=, this]() { open_settings(2); });
connect(ui->confIOAct, &QAction::triggered, [=, this]() { open_settings(3); });
connect(ui->confSystemAct, &QAction::triggered, [=, this]() { open_settings(4); });
connect(ui->confAdvAct, &QAction::triggered, [=, this]() { open_settings(6); });
connect(ui->confEmuAct, &QAction::triggered, [=, this]() { open_settings(7); });
connect(ui->confGuiAct, &QAction::triggered, [=, this]() { open_settings(8); });
connect(ui->confCPUAct, &QAction::triggered, this, [open_settings]() { open_settings(0); });
connect(ui->confGPUAct, &QAction::triggered, this, [open_settings]() { open_settings(1); });
connect(ui->confAudioAct, &QAction::triggered, this, [open_settings]() { open_settings(2); });
connect(ui->confIOAct, &QAction::triggered, this, [open_settings]() { open_settings(3); });
connect(ui->confSystemAct, &QAction::triggered, this, [open_settings]() { open_settings(4); });
connect(ui->confAdvAct, &QAction::triggered, this, [open_settings]() { open_settings(6); });
connect(ui->confEmuAct, &QAction::triggered, this, [open_settings]() { open_settings(7); });
connect(ui->confGuiAct, &QAction::triggered, this, [open_settings]() { open_settings(8); });
auto open_pad_settings = [this]
const auto open_pad_settings = [this]
{
pad_settings_dialog dlg(m_gui_settings, this);
dlg.exec();
};
connect(ui->confPadsAct, &QAction::triggered, open_pad_settings);
connect(ui->confPadsAct, &QAction::triggered, this, open_pad_settings);
connect(ui->confRPCNAct, &QAction::triggered, [this]()
connect(ui->confRPCNAct, &QAction::triggered, this, [this]()
{
rpcn_settings_dialog dlg(this);
dlg.exec();
});
connect(ui->confAutopauseManagerAct, &QAction::triggered, [this]()
connect(ui->confAutopauseManagerAct, &QAction::triggered, this, [this]()
{
auto_pause_settings_dialog dlg(this);
dlg.exec();
});
connect(ui->confVFSDialogAct, &QAction::triggered, [this]()
connect(ui->confVFSDialogAct, &QAction::triggered, this, [this]()
{
vfs_dialog dlg(m_gui_settings, m_emu_settings, this);
dlg.exec();
m_game_list_frame->Refresh(true); // dev-hdd0 may have changed. Refresh just in case.
});
connect(ui->confSavedataManagerAct, &QAction::triggered, [this]
connect(ui->confSavedataManagerAct, &QAction::triggered, this, [this]
{
save_manager_dialog* save_manager = new save_manager_dialog(m_gui_settings, m_persistent_settings);
connect(this, &main_window::RequestTrophyManagerRepaint, save_manager, &save_manager_dialog::HandleRepaintUiRequest);
save_manager->show();
});
connect(ui->actionManage_Trophy_Data, &QAction::triggered, [this]
connect(ui->actionManage_Trophy_Data, &QAction::triggered, this, [this]
{
trophy_manager_dialog* trop_manager = new trophy_manager_dialog(m_gui_settings);
connect(this, &main_window::RequestTrophyManagerRepaint, trop_manager, &trophy_manager_dialog::HandleRepaintUiRequest);
trop_manager->show();
});
connect(ui->actionManage_Skylanders_Portal, &QAction::triggered, [this]
connect(ui->actionManage_Skylanders_Portal, &QAction::triggered, this, [this]
{
skylander_dialog* sky_diag = skylander_dialog::get_dlg(this);
sky_diag->show();
});
connect(ui->actionManage_Cheats, &QAction::triggered, [this]
connect(ui->actionManage_Cheats, &QAction::triggered, this, [this]
{
cheat_manager_dialog* cheat_manager = cheat_manager_dialog::get_dlg(this);
cheat_manager->show();
});
connect(ui->actionManage_Game_Patches, &QAction::triggered, [this]
connect(ui->actionManage_Game_Patches, &QAction::triggered, this, [this]
{
std::unordered_map<std::string, std::set<std::string>> games;
if (m_game_list_frame)
@ -1893,32 +1893,32 @@ void main_window::CreateConnects()
patch_manager.exec();
});
connect(ui->actionManage_Users, &QAction::triggered, [this]
connect(ui->actionManage_Users, &QAction::triggered, this, [this]
{
user_manager_dialog user_manager(m_gui_settings, m_persistent_settings, this);
user_manager.exec();
m_game_list_frame->Refresh(true); // New user may have different games unlocked.
});
connect(ui->actionManage_Screenshots, &QAction::triggered, [this]
connect(ui->actionManage_Screenshots, &QAction::triggered, this, [this]
{
screenshot_manager_dialog* screenshot_manager = new screenshot_manager_dialog();
screenshot_manager->show();
});
connect(ui->toolsCgDisasmAct, &QAction::triggered, [this]
connect(ui->toolsCgDisasmAct, &QAction::triggered, this, [this]
{
cg_disasm_window* cgdw = new cg_disasm_window(m_gui_settings);
cgdw->show();
});
connect(ui->actionLog_Viewer, &QAction::triggered, [this]
connect(ui->actionLog_Viewer, &QAction::triggered, this, [this]
{
log_viewer* viewer = new log_viewer(m_gui_settings);
viewer->show();
});
connect(ui->toolskernel_explorerAct, &QAction::triggered, [this]
connect(ui->toolskernel_explorerAct, &QAction::triggered, this, [this]
{
if (!m_kernel_explorer)
{
@ -1929,19 +1929,19 @@ void main_window::CreateConnects()
m_kernel_explorer->show();
});
connect(ui->toolsmemory_viewerAct, &QAction::triggered, [this]
connect(ui->toolsmemory_viewerAct, &QAction::triggered, this, [this]
{
if (!Emu.IsStopped())
idm::make<memory_viewer_handle>(this);
});
connect(ui->toolsRsxDebuggerAct, &QAction::triggered, [this]
connect(ui->toolsRsxDebuggerAct, &QAction::triggered, this, [this]
{
rsx_debugger* rsx = new rsx_debugger(m_gui_settings);
rsx->show();
});
connect(ui->toolsStringSearchAct, &QAction::triggered, [this]
connect(ui->toolsStringSearchAct, &QAction::triggered, this, [this]
{
memory_string_searcher* mss = new memory_string_searcher(this);
mss->show();
@ -1951,37 +1951,37 @@ void main_window::CreateConnects()
connect(ui->toolsExtractMSELFAct, &QAction::triggered, this, &main_window::ExtractMSELF);
connect(ui->showDebuggerAct, &QAction::triggered, [this](bool checked)
connect(ui->showDebuggerAct, &QAction::triggered, this, [this](bool checked)
{
checked ? m_debugger_frame->show() : m_debugger_frame->hide();
m_gui_settings->SetValue(gui::mw_debugger, checked);
});
connect(ui->showLogAct, &QAction::triggered, [this](bool checked)
connect(ui->showLogAct, &QAction::triggered, this, [this](bool checked)
{
checked ? m_log_frame->show() : m_log_frame->hide();
m_gui_settings->SetValue(gui::mw_logger, checked);
});
connect(ui->showGameListAct, &QAction::triggered, [this](bool checked)
connect(ui->showGameListAct, &QAction::triggered, this, [this](bool checked)
{
checked ? m_game_list_frame->show() : m_game_list_frame->hide();
m_gui_settings->SetValue(gui::mw_gamelist, checked);
});
connect(ui->showTitleBarsAct, &QAction::triggered, [this](bool checked)
connect(ui->showTitleBarsAct, &QAction::triggered, this, [this](bool checked)
{
ShowTitleBars(checked);
m_gui_settings->SetValue(gui::mw_titleBarsVisible, checked);
});
connect(ui->showToolBarAct, &QAction::triggered, [this](bool checked)
connect(ui->showToolBarAct, &QAction::triggered, this, [this](bool checked)
{
ui->toolBar->setVisible(checked);
m_gui_settings->SetValue(gui::mw_toolBarVisible, checked);
});
connect(ui->showHiddenEntriesAct, &QAction::triggered, [this](bool checked)
connect(ui->showHiddenEntriesAct, &QAction::triggered, this, [this](bool checked)
{
m_gui_settings->SetValue(gui::gl_show_hidden, checked);
m_game_list_frame->SetShowHidden(checked);
@ -1990,12 +1990,12 @@ void main_window::CreateConnects()
connect(ui->showCompatibilityInGridAct, &QAction::triggered, m_game_list_frame, &game_list_frame::SetShowCompatibilityInGrid);
connect(ui->refreshGameListAct, &QAction::triggered, [this]
connect(ui->refreshGameListAct, &QAction::triggered, this, [this]
{
m_game_list_frame->Refresh(true);
});
connect(m_category_visible_act_group, &QActionGroup::triggered, [this](QAction* act)
connect(m_category_visible_act_group, &QActionGroup::triggered, this, [this](QAction* act)
{
QStringList categories;
int id = 0;
@ -2020,7 +2020,7 @@ void main_window::CreateConnects()
}
});
connect(ui->updateAct, &QAction::triggered, [this]()
connect(ui->updateAct, &QAction::triggered, this, [this]()
{
#if !defined(_WIN32) && !defined(__linux__)
QMessageBox::warning(this, tr("Auto-updater"), tr("The auto-updater currently isn't available for your os."));
@ -2029,7 +2029,7 @@ void main_window::CreateConnects()
m_updater.check_for_updates(false, false, this);
});
connect(ui->aboutAct, &QAction::triggered, [this]
connect(ui->aboutAct, &QAction::triggered, this, [this]
{
about_dialog dlg(this);
dlg.exec();
@ -2037,7 +2037,7 @@ void main_window::CreateConnects()
connect(ui->aboutQtAct, &QAction::triggered, qApp, &QApplication::aboutQt);
connect(m_icon_size_act_group, &QActionGroup::triggered, [this](QAction* act)
connect(m_icon_size_act_group, &QActionGroup::triggered, this, [this](QAction* act)
{
static const int index_small = gui::get_Index(gui::gl_icon_size_small);
static const int index_medium = gui::get_Index(gui::gl_icon_size_medium);
@ -2057,14 +2057,16 @@ void main_window::CreateConnects()
ResizeIcons(index);
});
connect(m_game_list_frame, &game_list_frame::RequestIconSizeChange, [this](const int& val)
connect(ui->showCustomIconsAct, &QAction::triggered, m_game_list_frame, &game_list_frame::SetShowCustomIcons);
connect(m_game_list_frame, &game_list_frame::RequestIconSizeChange, this, [this](const int& val)
{
const int idx = ui->sizeSlider->value() + val;
m_save_slider_pos = true;
ResizeIcons(idx);
});
connect(m_list_mode_act_group, &QActionGroup::triggered, [this](QAction* act)
connect(m_list_mode_act_group, &QActionGroup::triggered, this, [this](QAction* act)
{
const bool is_list_act = act == ui->setlistModeListAct;
if (is_list_act == m_is_list_mode)
@ -2081,11 +2083,11 @@ void main_window::CreateConnects()
});
connect(ui->toolbar_open, &QAction::triggered, this, &main_window::BootGame);
connect(ui->toolbar_refresh, &QAction::triggered, [this]() { m_game_list_frame->Refresh(true); });
connect(ui->toolbar_stop, &QAction::triggered, [this]() { Emu.Stop(); });
connect(ui->toolbar_refresh, &QAction::triggered, this, [this]() { m_game_list_frame->Refresh(true); });
connect(ui->toolbar_stop, &QAction::triggered, this, []() { Emu.Stop(); });
connect(ui->toolbar_start, &QAction::triggered, this, &main_window::OnPlayOrPause);
connect(ui->toolbar_fullscreen, &QAction::triggered, [this]
connect(ui->toolbar_fullscreen, &QAction::triggered, this, [this]
{
if (isFullScreen())
{
@ -2099,19 +2101,19 @@ void main_window::CreateConnects()
}
});
connect(ui->toolbar_controls, &QAction::triggered, open_pad_settings);
connect(ui->toolbar_config, &QAction::triggered, [=, this]() { open_settings(0); });
connect(ui->toolbar_list, &QAction::triggered, [this]() { ui->setlistModeListAct->trigger(); });
connect(ui->toolbar_grid, &QAction::triggered, [this]() { ui->setlistModeGridAct->trigger(); });
connect(ui->toolbar_controls, &QAction::triggered, this, open_pad_settings);
connect(ui->toolbar_config, &QAction::triggered, this, [=]() { open_settings(0); });
connect(ui->toolbar_list, &QAction::triggered, this, [this]() { ui->setlistModeListAct->trigger(); });
connect(ui->toolbar_grid, &QAction::triggered, this, [this]() { ui->setlistModeGridAct->trigger(); });
connect(ui->sizeSlider, &QSlider::valueChanged, this, &main_window::ResizeIcons);
connect(ui->sizeSlider, &QSlider::sliderReleased, this, [&]
connect(ui->sizeSlider, &QSlider::sliderReleased, this, [this]
{
const int index = ui->sizeSlider->value();
m_gui_settings->SetValue(m_is_list_mode ? gui::gl_iconSize : gui::gl_iconSizeGrid, index);
SetIconSizeActions(index);
});
connect(ui->sizeSlider, &QSlider::actionTriggered, [&](int action)
connect(ui->sizeSlider, &QSlider::actionTriggered, this, [this](int action)
{
if (action != QAbstractSlider::SliderNoAction && action != QAbstractSlider::SliderMove)
{ // we only want to save on mouseclicks or slider release (the other connect handles this)
@ -2142,7 +2144,7 @@ void main_window::CreateDockWindows()
m_mw->resizeDocks({ m_log_frame }, { m_mw->sizeHint().height() / 10 }, Qt::Orientation::Vertical);
setCentralWidget(m_mw);
connect(m_log_frame, &log_frame::LogFrameClosed, [this]()
connect(m_log_frame, &log_frame::LogFrameClosed, this, [this]()
{
if (ui->showLogAct->isChecked())
{
@ -2151,7 +2153,7 @@ void main_window::CreateDockWindows()
}
});
connect(m_debugger_frame, &debugger_frame::DebugFrameClosed, [this]()
connect(m_debugger_frame, &debugger_frame::DebugFrameClosed, this, [this]()
{
if (ui->showDebuggerAct->isChecked())
{
@ -2160,7 +2162,7 @@ void main_window::CreateDockWindows()
}
});
connect(m_game_list_frame, &game_list_frame::GameListFrameClosed, [this]()
connect(m_game_list_frame, &game_list_frame::GameListFrameClosed, this, [this]()
{
if (ui->showGameListAct->isChecked())
{
@ -2169,7 +2171,7 @@ void main_window::CreateDockWindows()
}
});
connect(m_game_list_frame, &game_list_frame::NotifyGameSelection, [this](const game_info& game)
connect(m_game_list_frame, &game_list_frame::NotifyGameSelection, this, [this](const game_info& game)
{
// Only change the button logic while the emulator is stopped.
if (Emu.IsStopped())
@ -2244,7 +2246,7 @@ void main_window::CreateDockWindows()
m_selected_game = game;
});
connect(m_game_list_frame, &game_list_frame::RequestBoot, [this](const game_info& game, bool force_global_config)
connect(m_game_list_frame, &game_list_frame::RequestBoot, this, [this](const game_info& game, bool force_global_config)
{
Boot(game->info.path, game->info.serial, false, false, force_global_config);
});
@ -2313,6 +2315,7 @@ void main_window::ConfigureGuiFromSettings(bool configure_all)
m_game_list_frame->SetShowHidden(ui->showHiddenEntriesAct->isChecked()); // prevent GetValue in m_game_list_frame->LoadSettings
ui->showCompatibilityInGridAct->setChecked(m_gui_settings->GetValue(gui::gl_draw_compat).toBool());
ui->showCustomIconsAct->setChecked(m_gui_settings->GetValue(gui::gl_custom_icon).toBool());
ui->showCatHDDGameAct->setChecked(m_gui_settings->GetCategoryVisibility(Category::HDD_Game));
ui->showCatDiscGameAct->setChecked(m_gui_settings->GetCategoryVisibility(Category::Disc_Game));

View File

@ -274,6 +274,8 @@
<addaction name="setIconSizeSmallAct"/>
<addaction name="setIconSizeMediumAct"/>
<addaction name="setIconSizeLargeAct"/>
<addaction name="separator"/>
<addaction name="showCustomIconsAct"/>
</widget>
<widget class="QMenu" name="menuGame_List_Mode">
<property name="title">
@ -1122,6 +1124,17 @@
<string>Log Viewer</string>
</property>
</action>
<action name="showCustomIconsAct">
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
<property name="text">
<string>Show Custom Icons</string>
</property>
</action>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources>