From 2e2d351e235c60f3eb9096fb2519cbf89a9023a3 Mon Sep 17 00:00:00 2001 From: neebyA <126654084+neebyA@users.noreply.github.com> Date: Sat, 26 Apr 2025 23:05:42 -0700 Subject: [PATCH] Fix browsing of directory paths with spaces Open directories through default file handler rather than file URI scheme --- src/gui/TitleManager.cpp | 2 +- src/gui/components/wxGameList.cpp | 8 ++++---- src/gui/components/wxTitleManagerList.cpp | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/gui/TitleManager.cpp b/src/gui/TitleManager.cpp index 4a4f7f56..1dd41b3b 100644 --- a/src/gui/TitleManager.cpp +++ b/src/gui/TitleManager.cpp @@ -491,7 +491,7 @@ void TitleManager::OnSaveOpenDirectory(wxCommandEvent& event) if (!fs::exists(target) || !fs::is_directory(target)) return; - wxLaunchDefaultBrowser(wxHelper::FromUtf8(fmt::format("file:{}", _pathToUtf8(target)))); + wxLaunchDefaultApplication(wxHelper::FromPath(target)); } void TitleManager::OnSaveDelete(wxCommandEvent& event) diff --git a/src/gui/components/wxGameList.cpp b/src/gui/components/wxGameList.cpp index 6cbb5859..e418ca0a 100644 --- a/src/gui/components/wxGameList.cpp +++ b/src/gui/components/wxGameList.cpp @@ -668,7 +668,7 @@ void wxGameList::OnContextMenuSelected(wxCommandEvent& event) { fs::path path(gameInfo.GetBase().GetPath()); _stripPathFilename(path); - wxLaunchDefaultBrowser(wxHelper::FromUtf8(fmt::format("file:{}", _pathToUtf8(path)))); + wxLaunchDefaultApplication(wxHelper::FromPath(path)); break; } case kWikiPage: @@ -689,21 +689,21 @@ void wxGameList::OnContextMenuSelected(wxCommandEvent& event) case kContextMenuSaveFolder: { - wxLaunchDefaultBrowser(wxHelper::FromUtf8(fmt::format("file:{}", _pathToUtf8(gameInfo.GetSaveFolder())))); + wxLaunchDefaultApplication(wxHelper::FromPath(gameInfo.GetSaveFolder())); break; } case kContextMenuUpdateFolder: { fs::path path(gameInfo.GetUpdate().GetPath()); _stripPathFilename(path); - wxLaunchDefaultBrowser(wxHelper::FromUtf8(fmt::format("file:{}", _pathToUtf8(path)))); + wxLaunchDefaultApplication(wxHelper::FromPath(path)); break; } case kContextMenuDLCFolder: { fs::path path(gameInfo.GetAOC().front().GetPath()); _stripPathFilename(path); - wxLaunchDefaultBrowser(wxHelper::FromUtf8(fmt::format("file:{}", _pathToUtf8(path)))); + wxLaunchDefaultApplication(wxHelper::FromPath(path)); break; } case kContextMenuRemoveCache: diff --git a/src/gui/components/wxTitleManagerList.cpp b/src/gui/components/wxTitleManagerList.cpp index e8efb060..c0bf5778 100644 --- a/src/gui/components/wxTitleManagerList.cpp +++ b/src/gui/components/wxTitleManagerList.cpp @@ -869,7 +869,7 @@ void wxTitleManagerList::OnContextMenuSelected(wxCommandEvent& event) case kContextMenuOpenDirectory: { const auto path = fs::is_directory(entry->path) ? entry->path : entry->path.parent_path(); - wxLaunchDefaultBrowser(wxHelper::FromUtf8(fmt::format("file:{}", _pathToUtf8(path)))); + wxLaunchDefaultApplication(wxHelper::FromPath(path)); } break; case kContextMenuDelete: