// Parameters: // overwrite - this option forces the current settings to overwrite any existing settings // that might be saved to the configured ini/settings folder. // // Notes: // The overwrite option applies to PCSX2 options only. Plugin option behavior will depend // on the plugins. // void AppConfig_OnChangedSettingsFolder( bool overwrite ) { PathDefs::GetDocuments().Mkdir(); GetSettingsFolder().Mkdir(); const wxString iniFilename( GetUiSettingsFilename() ); if( overwrite ) { if( wxFileExists( iniFilename ) && !wxRemoveFile( iniFilename ) ) throw Exception::AccessDenied(iniFilename) .SetBothMsgs(pxL("Failed to overwrite existing settings file; permission was denied.")); const wxString vmIniFilename( GetVmSettingsFilename() ); if( wxFileExists( vmIniFilename ) && !wxRemoveFile( vmIniFilename ) ) throw Exception::AccessDenied(vmIniFilename) .SetBothMsgs(pxL("Failed to overwrite existing settings file; permission was denied.")); } // Bind into wxConfigBase to allow wx to use our config internally, and delete whatever // comes out (cleans up prev config, if one). delete wxConfigBase::Set( OpenFileConfig( iniFilename ) ); GetAppConfig()->SetRecordDefaults(true); if( !overwrite ) AppLoadSettings(); AppApplySettings(); AppSaveSettings();//Make sure both ini files are created if needed. }
void GSPanel::DirectKeyCommand( const KeyAcceleratorCode& kac ) { const GlobalCommandDescriptor* cmd = NULL; std::unordered_map<int, const GlobalCommandDescriptor*>::const_iterator iter(m_Accels->find(kac.val32)); if (iter == m_Accels->end()) return; cmd = iter->second; DbgCon.WriteLn( "(gsFrame) Invoking command: %s", cmd->Id ); cmd->Invoke(); if( cmd->AlsoApplyToGui && !g_ConfigPanelChanged) AppApplySettings(); }