From 2fd5b1b4beaebe987621bcbbc96dd4fb737b14d9 Mon Sep 17 00:00:00 2001 From: kd-11 Date: Sun, 15 Mar 2026 23:24:24 +0300 Subject: [PATCH] overlays/home: Add icons to settings page --- .../HomeMenu/overlay_home_menu_settings.cpp | 44 +++++++++++++++---- rpcs3/Emu/RSX/Overlays/overlay_tabs.h | 8 ++++ 2 files changed, 43 insertions(+), 9 deletions(-) diff --git a/rpcs3/Emu/RSX/Overlays/HomeMenu/overlay_home_menu_settings.cpp b/rpcs3/Emu/RSX/Overlays/HomeMenu/overlay_home_menu_settings.cpp index 0eabc1668a..3bdc0ef05b 100644 --- a/rpcs3/Emu/RSX/Overlays/HomeMenu/overlay_home_menu_settings.cpp +++ b/rpcs3/Emu/RSX/Overlays/HomeMenu/overlay_home_menu_settings.cpp @@ -13,24 +13,50 @@ namespace rsx m_tabs->set_pos(x, y); m_tabs->set_headers_background_color({ 0.25f, 0.25f, 0.25f, 0.95f }); - add_page(home_menu::fa_icon::none, std::make_shared(x, y, width, height, use_separators, nullptr)); - add_page(home_menu::fa_icon::none, std::make_shared(x, y, width, height, use_separators, nullptr)); - add_page(home_menu::fa_icon::none, std::make_shared(x, y, width, height, use_separators, nullptr)); - add_page(home_menu::fa_icon::none, std::make_shared(x, y, width, height, use_separators, nullptr)); - add_page(home_menu::fa_icon::none, std::make_shared(x, y, width, height, use_separators, nullptr)); - add_page(home_menu::fa_icon::none, std::make_shared(x, y, width, height, use_separators, nullptr)); - add_page(home_menu::fa_icon::none, std::make_shared(x, y, width, height, use_separators, nullptr)); + add_page(home_menu::fa_icon::audio, std::make_shared(x, y, width, height, use_separators, nullptr)); + add_page(home_menu::fa_icon::video, std::make_shared(x, y, width, height, use_separators, nullptr)); + add_page(home_menu::fa_icon::gamepad, std::make_shared(x, y, width, height, use_separators, nullptr)); + add_page(home_menu::fa_icon::settings, std::make_shared(x, y, width, height, use_separators, nullptr)); + add_page(home_menu::fa_icon::settings_sliders, std::make_shared(x, y, width, height, use_separators, nullptr)); + add_page(home_menu::fa_icon::settings_gauge, std::make_shared(x, y, width, height, use_separators, nullptr)); + add_page(home_menu::fa_icon::bug, std::make_shared(x, y, width, height, use_separators, nullptr)); // Select the first item m_tabs->set_selected_tab(0); } - void home_menu_settings::add_page(home_menu::fa_icon /*icon*/, std::shared_ptr page) + void home_menu_settings::add_page(home_menu::fa_icon icon, std::shared_ptr page) { auto panel = std::static_pointer_cast(page); page->on_deactivate(); page->hide_prompt_buttons(); - m_tabs->add_tab(page->title, panel); + + if (icon == home_menu::fa_icon::none) + { + m_tabs->add_tab(page->title, panel); + return; + } + + // Custom tab header. Matches the main menu style + std::unique_ptr label_widget = std::make_unique