mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 22:29:39 -06:00
DolphinWX: defer gamelist scanning and switch to single-file cache.
This commit is contained in:
@ -774,7 +774,7 @@ void CFrame::OnBootDrive(wxCommandEvent& event)
|
||||
|
||||
void CFrame::OnRefresh(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
UpdateGameList();
|
||||
GameListRescan();
|
||||
}
|
||||
|
||||
void CFrame::OnScreenshot(wxCommandEvent& WXUNUSED(event))
|
||||
@ -1097,12 +1097,17 @@ void CFrame::OnReloadThemeBitmaps(wxCommandEvent& WXUNUSED(event))
|
||||
reload_event.SetEventObject(this);
|
||||
wxPostEvent(GetToolBar(), reload_event);
|
||||
|
||||
UpdateGameList();
|
||||
GameListRefresh();
|
||||
}
|
||||
|
||||
void CFrame::OnReloadGameList(wxCommandEvent& WXUNUSED(event))
|
||||
void CFrame::OnRefreshGameList(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
UpdateGameList();
|
||||
GameListRefresh();
|
||||
}
|
||||
|
||||
void CFrame::OnRescanGameList(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
GameListRescan();
|
||||
}
|
||||
|
||||
void CFrame::OnUpdateInterpreterMenuItem(wxUpdateUIEvent& event)
|
||||
@ -1605,9 +1610,16 @@ void CFrame::UpdateGUI()
|
||||
}
|
||||
}
|
||||
|
||||
void CFrame::UpdateGameList()
|
||||
void CFrame::GameListRefresh()
|
||||
{
|
||||
wxCommandEvent event{DOLPHIN_EVT_RELOAD_GAMELIST, GetId()};
|
||||
wxCommandEvent event{DOLPHIN_EVT_REFRESH_GAMELIST, GetId()};
|
||||
event.SetEventObject(this);
|
||||
wxPostEvent(m_game_list_ctrl, event);
|
||||
}
|
||||
|
||||
void CFrame::GameListRescan()
|
||||
{
|
||||
wxCommandEvent event{DOLPHIN_EVT_RESCAN_GAMELIST, GetId()};
|
||||
event.SetEventObject(this);
|
||||
wxPostEvent(m_game_list_ctrl, event);
|
||||
}
|
||||
@ -1674,17 +1686,19 @@ void CFrame::GameListChanged(wxCommandEvent& event)
|
||||
SConfig::GetInstance().m_ListDrives = event.IsChecked();
|
||||
break;
|
||||
case IDM_PURGE_GAME_LIST_CACHE:
|
||||
std::vector<std::string> rFilenames =
|
||||
std::vector<std::string> filenames =
|
||||
Common::DoFileSearch({".cache"}, {File::GetUserPath(D_CACHE_IDX)});
|
||||
|
||||
for (const std::string& rFilename : rFilenames)
|
||||
for (const std::string& filename : filenames)
|
||||
{
|
||||
File::Delete(rFilename);
|
||||
File::Delete(filename);
|
||||
}
|
||||
break;
|
||||
// Do rescan after cache has been cleared
|
||||
GameListRescan();
|
||||
return;
|
||||
}
|
||||
|
||||
UpdateGameList();
|
||||
GameListRefresh();
|
||||
}
|
||||
|
||||
// Enable and disable the toolbar
|
||||
@ -1743,6 +1757,6 @@ void CFrame::OnChangeColumnsVisible(wxCommandEvent& event)
|
||||
default:
|
||||
return;
|
||||
}
|
||||
UpdateGameList();
|
||||
GameListRefresh();
|
||||
SConfig::GetInstance().SaveSettings();
|
||||
}
|
||||
|
Reference in New Issue
Block a user