Update title manager when clearing MLC path in settings (#319)

This commit is contained in:
goeiecool9999 2022-10-20 13:18:44 +02:00 committed by GitHub
parent 9df1325d14
commit dd1cb1cccf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 34 additions and 18 deletions

View file

@ -376,6 +376,24 @@ void CemuApp::CreateDefaultFiles(bool first_start)
}
bool CemuApp::TrySelectMLCPath(std::wstring path)
{
if (path.empty())
path = ActiveSettings::GetDefaultMLCPath().wstring();
if (!TestWriteAccess(fs::path{ path }))
return false;
GetConfig().SetMLCPath(path);
CemuApp::CreateDefaultFiles();
// update TitleList and SaveList scanner with new MLC path
CafeTitleList::SetMLCPath(path);
CafeTitleList::Refresh();
CafeSaveList::SetMLCPath(path);
CafeSaveList::Refresh();
return true;
}
bool CemuApp::SelectMLCPath(wxWindow* parent)
{
@ -394,21 +412,15 @@ bool CemuApp::SelectMLCPath(wxWindow* parent)
const auto path = path_dialog.GetPath().ToStdWstring();
if (!TestWriteAccess(fs::path{ path }))
if (!TrySelectMLCPath(path))
{
const auto result = wxMessageBox(_("Cemu can't write to the selected mlc path!\nDo you want to select another path?"), _("Error"), wxYES_NO | wxCENTRE | wxICON_ERROR);
if (result == wxYES)
continue;
break;
}
config.SetMLCPath(path);
// update TitleList and SaveList scanner with new MLC path
CafeTitleList::SetMLCPath(path);
CafeTitleList::Refresh();
CafeSaveList::SetMLCPath(path);
CafeSaveList::Refresh();
return true;
}