Skip to content

Commit bf3da56

Browse files
committed
Sidebar option to reopen Qt interface
1 parent 4472eaf commit bf3da56

4 files changed

Lines changed: 28 additions & 2 deletions

File tree

rpcs3/Emu/RSX/Overlays/BigPicture/overlay_big_picture_main_menu.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#include "overlay_big_picture_main_menu.h"
33
#include "overlay_big_picture_game_grid.h"
44
#include "Emu/RSX/Overlays/HomeMenu/overlay_home_menu_settings.h"
5+
#include "Emu/System.h"
56

67
namespace rsx
78
{
@@ -16,6 +17,19 @@ namespace rsx
1617

1718
add_page(home_menu::fa_icon::settings, std::make_shared<home_menu_settings>(x, y, width, height, false, this));
1819

20+
add_item(home_menu::fa_icon::video, get_localized_string(localized_string_id::BIG_PICTURE_MENU_OPEN_INTERFACE), [](pad_button btn) -> page_navigation
21+
{
22+
if (btn != pad_button::cross) return page_navigation::stay;
23+
24+
// Just bring the Qt window back, Big Picture Mode itself keeps running underneath it.
25+
Emu.CallFromMainThread([]()
26+
{
27+
Emu.GetCallbacks().show_main_window(true);
28+
});
29+
30+
return page_navigation::stay;
31+
});
32+
1933
add_item(home_menu::fa_icon::poweroff, get_localized_string(localized_string_id::BIG_PICTURE_MENU_EXIT), [](pad_button btn) -> page_navigation
2034
{
2135
if (btn != pad_button::cross) return page_navigation::stay;

rpcs3/Emu/localized_string_id.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,7 @@ enum class localized_string_id
351351

352352
BIG_PICTURE_MODE_TITLE,
353353
BIG_PICTURE_MENU_GAMES,
354+
BIG_PICTURE_MENU_OPEN_INTERFACE,
354355
BIG_PICTURE_MENU_EXIT,
355356
BIG_PICTURE_NO_GAMES_FOUND,
356357
BIG_PICTURE_GAME_DETAILS_START,

rpcs3/rpcs3qt/gui_application.cpp

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -885,9 +885,19 @@ void gui_application::InitializeCallbacks()
885885
{
886886
Emu.CallFromMainThread([this, visible]()
887887
{
888-
if (m_main_window)
888+
if (!m_main_window)
889+
{
890+
return;
891+
}
892+
893+
m_main_window->setVisible(visible);
894+
895+
if (visible)
889896
{
890-
m_main_window->setVisible(visible);
897+
// Bring it above the Big Picture Mode / game render surface, best-effort:
898+
// a true exclusive-fullscreen render window can still occlude it on some platforms.
899+
m_main_window->raise();
900+
m_main_window->activateWindow();
891901
}
892902
});
893903
};

rpcs3/rpcs3qt/localized_emu.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -366,6 +366,7 @@ class localized_emu : public QObject
366366
case localized_string_id::SAVESTATE_FAILED_DUE_TO_SPU: return tr("SaveState failed: Failed to lock SPU state, using SPU ASMJIT will fix it.");
367367
case localized_string_id::BIG_PICTURE_MODE_TITLE: return tr("Big Picture Mode");
368368
case localized_string_id::BIG_PICTURE_MENU_GAMES: return tr("Games");
369+
case localized_string_id::BIG_PICTURE_MENU_OPEN_INTERFACE: return tr("Open QT Interface");
369370
case localized_string_id::BIG_PICTURE_MENU_EXIT: return tr("Exit Big Picture Mode");
370371
case localized_string_id::BIG_PICTURE_NO_GAMES_FOUND: return tr("No games found.\nAdd games in the main RPCS3 window.");
371372
case localized_string_id::BIG_PICTURE_GAME_DETAILS_START: return tr("Start");

0 commit comments

Comments
 (0)