FullscreenUI: Add "Open Containing Directory"

This commit is contained in:
Stenzek 2024-04-16 12:43:23 +10:00
parent 6e7a4c3909
commit 4e0c417add
No known key found for this signature in database
2 changed files with 12 additions and 7 deletions

View file

@ -6482,6 +6482,7 @@ void FullscreenUI::HandleGameListOptions(const GameList::Entry* entry)
{ {
ImGuiFullscreen::ChoiceDialogOptions options = { ImGuiFullscreen::ChoiceDialogOptions options = {
{FSUI_ICONSTR(ICON_FA_WRENCH, "Game Properties"), false}, {FSUI_ICONSTR(ICON_FA_WRENCH, "Game Properties"), false},
{FSUI_ICONSTR(ICON_FA_FOLDER_OPEN, "Open Containing Directory"), false},
{FSUI_ICONSTR(ICON_FA_PLAY, "Resume Game"), false}, {FSUI_ICONSTR(ICON_FA_PLAY, "Resume Game"), false},
{FSUI_ICONSTR(ICON_FA_UNDO, "Load State"), false}, {FSUI_ICONSTR(ICON_FA_UNDO, "Load State"), false},
{FSUI_ICONSTR(ICON_FA_COMPACT_DISC, "Default Boot"), false}, {FSUI_ICONSTR(ICON_FA_COMPACT_DISC, "Default Boot"), false},
@ -6499,22 +6500,25 @@ void FullscreenUI::HandleGameListOptions(const GameList::Entry* entry)
case 0: // Open Game Properties case 0: // Open Game Properties
SwitchToGameSettingsForPath(entry_path); SwitchToGameSettingsForPath(entry_path);
break; break;
case 1: // Resume Game case 1: // Open Containing Directory
ExitFullscreenAndOpenURL(Path::CreateFileURL(Path::GetDirectory(entry_path)));
break;
case 2: // Resume Game
DoStartPath(entry_path, System::GetGameSaveStateFileName(entry_serial, -1)); DoStartPath(entry_path, System::GetGameSaveStateFileName(entry_serial, -1));
break; break;
case 2: // Load State case 3: // Load State
OpenLoadStateSelectorForGame(entry_path); OpenLoadStateSelectorForGame(entry_path);
break; break;
case 3: // Default Boot case 4: // Default Boot
DoStartPath(entry_path); DoStartPath(entry_path);
break; break;
case 4: // Fast Boot case 5: // Fast Boot
DoStartPath(entry_path, {}, true); DoStartPath(entry_path, {}, true);
break; break;
case 5: // Slow Boot case 6: // Slow Boot
DoStartPath(entry_path, {}, false); DoStartPath(entry_path, {}, false);
break; break;
case 6: // Reset Play Time case 7: // Reset Play Time
GameList::ClearPlayedTimeForSerial(entry_serial); GameList::ClearPlayedTimeForSerial(entry_serial);
break; break;
default: default:
@ -7309,6 +7313,7 @@ TRANSLATE_NOOP("FullscreenUI", "Not Scanning Subdirectories");
TRANSLATE_NOOP("FullscreenUI", "OK"); TRANSLATE_NOOP("FullscreenUI", "OK");
TRANSLATE_NOOP("FullscreenUI", "OSD Scale"); TRANSLATE_NOOP("FullscreenUI", "OSD Scale");
TRANSLATE_NOOP("FullscreenUI", "On-Screen Display"); TRANSLATE_NOOP("FullscreenUI", "On-Screen Display");
TRANSLATE_NOOP("FullscreenUI", "Open Containing Directory");
TRANSLATE_NOOP("FullscreenUI", "Open in File Browser"); TRANSLATE_NOOP("FullscreenUI", "Open in File Browser");
TRANSLATE_NOOP("FullscreenUI", "Operations"); TRANSLATE_NOOP("FullscreenUI", "Operations");
TRANSLATE_NOOP("FullscreenUI", "Optimal Frame Pacing"); TRANSLATE_NOOP("FullscreenUI", "Optimal Frame Pacing");

View file

@ -2277,7 +2277,7 @@ void ImGuiFullscreen::DrawChoiceDialog()
const float title_height = const float title_height =
g_large_font->FontSize + ImGui::GetStyle().FramePadding.y * 2.0f + ImGui::GetStyle().WindowPadding.y * 2.0f; g_large_font->FontSize + ImGui::GetStyle().FramePadding.y * 2.0f + ImGui::GetStyle().WindowPadding.y * 2.0f;
const float height = const float height =
std::min(LayoutScale(450.0f), std::min(LayoutScale(480.0f),
title_height + LayoutScale(LAYOUT_MENU_BUTTON_HEIGHT_NO_SUMMARY + (LAYOUT_MENU_BUTTON_Y_PADDING * 2.0f)) * title_height + LayoutScale(LAYOUT_MENU_BUTTON_HEIGHT_NO_SUMMARY + (LAYOUT_MENU_BUTTON_Y_PADDING * 2.0f)) *
static_cast<float>(s_choice_dialog_options.size())); static_cast<float>(s_choice_dialog_options.size()));
ImGui::SetNextWindowSize(ImVec2(width, height)); ImGui::SetNextWindowSize(ImVec2(width, height));