mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-15 13:57:57 -07:00
ISOProperties: Don't block when opening default INI in text editor
The purpose of blocking is to reload user INIs after they have been edited. However, ISOProperties never reloads default INIs, because they aren't meant to be edited. Blocking on default INIs is thus useless, and it's rather annoying for games that have two default INIs, because it makes it impossible to see both at once.
This commit is contained in:
parent
645aa5af8b
commit
db1d81ebf8
@ -1180,7 +1180,7 @@ bool CISOProperties::SaveGameConfig()
|
||||
return success;
|
||||
}
|
||||
|
||||
void CISOProperties::LaunchExternalEditor(const std::string& filename)
|
||||
void CISOProperties::LaunchExternalEditor(const std::string& filename, bool wait_until_closed)
|
||||
{
|
||||
#ifdef __APPLE__
|
||||
// wxTheMimeTypesManager is not yet implemented for wxCocoa
|
||||
@ -1203,18 +1203,25 @@ void CISOProperties::LaunchExternalEditor(const std::string& filename)
|
||||
if (OpenCommand.IsEmpty())
|
||||
{
|
||||
WxUtils::ShowErrorDialog(_("Couldn't find open command for extension 'ini'!"));
|
||||
return;
|
||||
}
|
||||
|
||||
long result;
|
||||
|
||||
if (wait_until_closed)
|
||||
result = wxExecute(OpenCommand, wxEXEC_SYNC);
|
||||
else
|
||||
result = wxExecute(OpenCommand);
|
||||
|
||||
if (result == -1)
|
||||
{
|
||||
if (wxExecute(OpenCommand, wxEXEC_SYNC) == -1)
|
||||
WxUtils::ShowErrorDialog(_("wxExecute returned -1 on application run!"));
|
||||
WxUtils::ShowErrorDialog(_("wxExecute returned -1 on application run!"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (wait_until_closed)
|
||||
bRefreshList = true; // Just in case
|
||||
#endif
|
||||
|
||||
bRefreshList = true; // Just in case
|
||||
|
||||
// Once we're done with the ini edit, give the focus back to Dolphin
|
||||
SetFocus();
|
||||
}
|
||||
|
||||
void CISOProperties::OnEditConfig(wxCommandEvent& WXUNUSED (event))
|
||||
@ -1226,7 +1233,7 @@ void CISOProperties::OnEditConfig(wxCommandEvent& WXUNUSED (event))
|
||||
std::fstream blankFile(GameIniFileLocal, std::ios::out);
|
||||
blankFile.close();
|
||||
}
|
||||
LaunchExternalEditor(GameIniFileLocal);
|
||||
LaunchExternalEditor(GameIniFileLocal, true);
|
||||
GameIniLocal.Load(GameIniFileLocal);
|
||||
LoadGameConfig();
|
||||
}
|
||||
@ -1283,7 +1290,7 @@ void CISOProperties::OnShowDefaultConfig(wxCommandEvent& WXUNUSED (event))
|
||||
{
|
||||
std::string path = File::GetSysDirectory() + GAMESETTINGS_DIR DIR_SEP + filename;
|
||||
if (File::Exists(path))
|
||||
LaunchExternalEditor(path);
|
||||
LaunchExternalEditor(path, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -195,7 +195,7 @@ private:
|
||||
IDM_BNRSAVEAS
|
||||
};
|
||||
|
||||
void LaunchExternalEditor(const std::string& filename);
|
||||
void LaunchExternalEditor(const std::string& filename, bool wait_until_closed);
|
||||
|
||||
void CreateGUIControls(bool);
|
||||
void OnClose(wxCloseEvent& event);
|
||||
|
Loading…
Reference in New Issue
Block a user