From cec75e8567ad706465b04d3d4ab5c045afefc2f5 Mon Sep 17 00:00:00 2001 From: Nekotekina Date: Mon, 27 Mar 2017 13:08:00 +0300 Subject: [PATCH] OpenConfigFolder --- rpcs3/Gui/GameViewer.cpp | 22 +++++++++++++++++----- rpcs3/Gui/GameViewer.h | 3 ++- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/rpcs3/Gui/GameViewer.cpp b/rpcs3/Gui/GameViewer.cpp index 83e91db4cc..abc933fe92 100644 --- a/rpcs3/Gui/GameViewer.cpp +++ b/rpcs3/Gui/GameViewer.cpp @@ -59,7 +59,7 @@ GameViewer::~GameViewer() void GameViewer::InitPopupMenu() { - wxMenuItem* boot_item = new wxMenuItem(m_popup, 0, _T("Boot")); + wxMenuItem* boot_item = new wxMenuItem(m_popup, 0, "Boot"); #if defined (_WIN32) // wxMenuItem::Set(Get)Font only available for the wxMSW port wxFont font = GetFont(); @@ -67,17 +67,19 @@ void GameViewer::InitPopupMenu() boot_item->SetFont(font); #endif m_popup->Append(boot_item); - m_popup->Append(1, _T("Configure")); + m_popup->Append(1, "Configure"); m_popup->AppendSeparator(); - m_popup->Append(2, _T("Remove Game")); - m_popup->Append(3, _T("Remove Custom Configuration")); + m_popup->Append(2, "Remove Game"); + m_popup->Append(3, "Remove Custom Configuration"); m_popup->AppendSeparator(); - m_popup->Append(4, _T("Open Game Folder")); + m_popup->Append(4, "Open Game Folder"); + m_popup->Append(5, "Open Config Folder"); Bind(wxEVT_MENU, &GameViewer::BootGame, this, 0); Bind(wxEVT_MENU, &GameViewer::ConfigureGame, this, 1); Bind(wxEVT_MENU, &GameViewer::RemoveGame, this, 2); Bind(wxEVT_MENU, &GameViewer::RemoveGameConfig, this, 3); Bind(wxEVT_MENU, &GameViewer::OpenGameFolder, this, 4); + Bind(wxEVT_MENU, &GameViewer::OpenConfigFolder, this, 5); } void GameViewer::DoResize(wxSize size) @@ -264,6 +266,8 @@ void GameViewer::RemoveGameConfig(wxCommandEvent& event) static void open_dir(const std::string& spath) { + fs::create_dir(spath); + #ifdef _WIN32 std::string command = "explorer " + spath; std::replace(command.begin(), command.end(), '/', '\\'); @@ -283,6 +287,14 @@ void GameViewer::OpenGameFolder(wxCommandEvent& event) open_dir(Emu.GetGameDir() + m_game_data[i].root); } +void GameViewer::OpenConfigFolder(wxCommandEvent& event) +{ + long i = GetFirstSelected(); + if (i < 0) return; + + open_dir(fs::get_config_dir() + "data/" + m_game_data[i].serial); +} + ColumnsArr::ColumnsArr() { Init(); diff --git a/rpcs3/Gui/GameViewer.h b/rpcs3/Gui/GameViewer.h index 23e4af48ab..1c4827227a 100644 --- a/rpcs3/Gui/GameViewer.h +++ b/rpcs3/Gui/GameViewer.h @@ -88,7 +88,8 @@ public: void ConfigureGame(wxCommandEvent& event); void RemoveGame(wxCommandEvent& event); void RemoveGameConfig(wxCommandEvent& event); - void OpenGameFolder(wxCommandEvent & event); + void OpenGameFolder(wxCommandEvent& event); + void OpenConfigFolder(wxCommandEvent& event); private: virtual void DClick(wxListEvent& event);