// 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 Pcsx2App::EstablishAppUserMode() { ScopedPtr<wxConfigBase> conf_install; conf_install = TestForPortableInstall(); if (!conf_install) conf_install = OpenInstallSettingsFile(); conf_install->SetRecordDefaults(false); // Run the First Time Wizard! // ---------------------------- // Wizard is only run once. The status of the wizard having been run is stored in // the installation ini file, which can be either the portable install (useful for admins) // or the registry/user local documents position. bool runWiz; conf_install->Read( L"RunWizard", &runWiz, true ); App_LoadInstallSettings( conf_install ); if( !Startup.ForceWizard && !runWiz ) { AppConfig_OnChangedSettingsFolder( false ); return; } DoFirstTimeWizard(); // Save user's new settings App_SaveInstallSettings( conf_install ); AppConfig_OnChangedSettingsFolder( true ); AppSaveSettings(); // Wizard completed successfully, so let's not torture the user with this crap again! conf_install->Write( L"RunWizard", false ); }