bool CommandCollection::ImportConfig(const wxString &filename) { wxFile file(filename, wxFile::read); if(!file.IsOpened()) return false; wxString import=cbReadFileContents(file); import.Replace(_T("\r\n"),_T("\n")); import.Replace(_T("\r"),_T("\n")); import=import.AfterFirst('\n'); while(!import.IsEmpty()) { ShellCommand s; import=import.AfterFirst('\n'); s.name=readconfigdata(import); s.command=readconfigdata(import); s.wdir=readconfigdata(import); s.wildcards=readconfigdata(import); s.menu=readconfigdata(import); long i; readconfigdata(import).ToLong(&i); s.menupriority=i; s.cmenu=readconfigdata(import); readconfigdata(import).ToLong(&i); s.cmenupriority=i; s.envvarset=readconfigdata(import); s.mode=readconfigdata(import); interps.Add(s); } return true; }
wxString ReadFileContents(const wxString& filename) { wxFileName fname(Manager::Get()->GetMacrosManager()->ReplaceMacros(filename)); NormalizePath(fname, wxEmptyString); wxFile f(fname.GetFullPath()); return cbReadFileContents(f); }
bool ScriptingManager::LoadScript(const wxString& filename) { // wxCriticalSectionLocker c(cs); wxLogNull ln; // own error checking implemented -> avoid debug warnings wxString fname(filename); wxFile f(fname); // try to open if (!f.IsOpened()) { bool found = false; // check in same dir as currently running script (if any) if (!m_CurrentlyRunningScriptFile.IsEmpty()) { fname = wxFileName(m_CurrentlyRunningScriptFile).GetPath() + _T('/') + filename; f.Open(fname); found = f.IsOpened(); } if (!found) { // check in standard script dirs fname = ConfigManager::LocateDataFile(filename, sdScriptsUser | sdScriptsGlobal); f.Open(fname); if (!f.IsOpened()) { Manager::Get()->GetLogManager()->DebugLog(_T("Can't open script ") + filename); return false; } } } // read file wxString contents = cbReadFileContents(f); m_CurrentlyRunningScriptFile = fname; bool ret = LoadBuffer(contents, fname); m_CurrentlyRunningScriptFile.Clear(); return ret; }