wxString wxSTEditorOptions::GetConfigPath(size_t path_option_n) const { wxString basePath = GetOption(STE_OPTION_CFGPATH_BASE); wxString optionPath = GetOption(path_option_n); // the optionPath is absolute if (optionPath.Length() && (optionPath[0] == wxT('/'))) return optionPath; return FixConfigPath(basePath, true) + optionPath; }
void wxSTEditorOptions::SaveFileConfig(wxConfigBase &config) { wxFileHistory *fileHistory = GetFileHistory(); if (!fileHistory) return; wxString configPath = FixConfigPath(GetConfigPath(STE_OPTION_CFGPATH_FILEHISTORY), false); config.Write(configPath+wxT("/LastDir"), GetDefaultFilePath()); int n, count = fileHistory->GetCount(); for (n = 0; n < count; n++) config.Write(configPath + wxString::Format(wxT("/file%d"), n+1), fileHistory->GetHistoryFile(n)); }
void wxSTEditorOptions::SaveFileConfig(wxConfigBase &config) { const wxString oldpath = config.GetPath(); wxFileHistory *fileHistory = GetFileHistory(); if (!fileHistory) return; wxString configPath = FixConfigPath(GetConfigPath(STE_OPTION_CFGPATH_FILEHISTORY), false); config.Write(configPath+wxT("/LastDir"), GetDefaultFilePath()); config.SetPath(configPath); fileHistory->Save(config); config.SetPath(oldpath); }
void wxSTEditorOptions::LoadFileConfig( wxConfigBase &config) { const wxString oldpath = config.GetPath(); wxFileHistory *fileHistory = GetFileHistory(); if (!fileHistory) return; wxString configPath = FixConfigPath(GetConfigPath(STE_OPTION_CFGPATH_FILEHISTORY), false); wxString value, key = configPath+wxT("/LastDir"); if (config.Read(key, &value) && wxDirExists(value)) SetDefaultFilePath(value); config.SetPath(configPath); fileHistory->Load(config); config.SetPath(oldpath); }
void wxSTEditorOptions::LoadFileConfig( wxConfigBase &config) { wxFileHistory *fileHistory = GetFileHistory(); if (!fileHistory) return; wxString configPath = FixConfigPath(GetConfigPath(STE_OPTION_CFGPATH_FILEHISTORY), false); wxString value, key = configPath+wxT("/LastDir"); if (config.Read(key, &value) && wxDirExists(value)) SetDefaultFilePath(value); int n = 1; key = configPath + wxString::Format(wxT("/file%d"), n); while ((int(n-1) < fileHistory->GetMaxFiles()) && config.Read(key, &value) && (!value.IsEmpty())) { //value.Trim(false).Trim(true); if (!value.IsEmpty() && wxFileExists(value)) fileHistory->AddFileToHistory(value); key = configPath + wxString::Format(wxT("/file%d"), ++n); value.Clear(); } }