// MODIFIED BY Lkb - 21/jul/2001 - savestate support FileNameHandler::FileNameHandler(LPCTSTR szSectionName, LPCTSTR szFilter, int nFilterIndex, LPCTSTR szDefExt, LPCTSTR pszDefaultDir) { // Try and get default dir from registry entry... lstrcpy(m_szFile, ""); lstrcpy(m_szFileTitle, ""); lstrcpy(m_szSectionName, szSectionName); if(pszDefaultDir) strcpy(m_szCurrentDirectory, pszDefaultDir); else GetDefaultDirectory(m_szCurrentDirectory); ZeroMemory(&m_OFN, sizeof(OPENFILENAME)); m_OFN.lStructSize = sizeof(OPENFILENAME); m_OFN.nFilterIndex = nFilterIndex; m_OFN.lpstrFile = m_szFile; m_OFN.nMaxFile = 300; m_OFN.lpstrFileTitle = m_szFileTitle; m_OFN.nMaxFileTitle = 300; m_OFN.lpstrInitialDir = m_szCurrentDirectory; m_OFN.lpstrFilter = szFilter; m_OFN.lpstrDefExt = szDefExt; m_OFN.Flags = OFN_EXPLORER | OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY; m_OFN.hInstance = g_hInstance; }
int EView::DirOpen(ExState &State) { char Path[MAXPATH]; if (State.GetStrParam(this, Path, sizeof(Path)) == 0) if (GetDefaultDirectory(Model, Path, sizeof(Path)) == 0) return 0; return OpenDir(Path); }
int EView::FileOpen(ExState &State) { char FName[MAXPATH]; if (State.GetStrParam(this, FName, sizeof(FName)) == 0) { if (GetDefaultDirectory(Model, FName, sizeof(FName)) == 0) return 0; if (MView->Win->GetFile("Open file", sizeof(FName), FName, HIST_PATH, GF_OPEN) == 0) return 0; } if (strlen(FName) == 0) return 0; if (IsDirectory(FName)) return OpenDir(FName); return MultiFileLoad(0, FName, NULL, this); }
int EView::Compile(char *Command) { char Dir[MAXPATH] = ""; EMessages *msgs; if (CompilerMsgs != 0) { strcpy(Dir, CompilerMsgs->Directory); CompilerMsgs->RunPipe(Dir, Command); msgs = CompilerMsgs; } else { if (GetDefaultDirectory(Model, Dir, sizeof(Dir)) == 0) return 0; msgs = new EMessages(0, &ActiveModel, Dir, Command); } SwitchToModel(msgs); return 1; }
int EView::CvsDiff(char *Options) { char Dir[MAXPATH] = ""; char Command[256] = ""; char buf[1024] = ""; char *OnFiles = buf; ECvsDiff *diffs; if (GetDefaultDirectory(Model, Dir, sizeof(Dir)) == 0) return 0; strcpy(Command, CvsCommand); strcat(Command, " diff -c "); if (Options[0] != 0) { strcat(Command, Options); strcat(Command, " "); } switch (Model->GetContext()) { case CONTEXT_FILE: if (JustFileName(((EBuffer *)Model)->FileName, OnFiles, sizeof(buf)) != 0) return 0; // OnFiles points to buf break; case CONTEXT_CVSDIFF: OnFiles = strdup(CvsDiffView->OnFiles); break; case CONTEXT_CVS: OnFiles = ((ECvs *)Model)->MarkedAsList(); if (!OnFiles) OnFiles = strdup(((ECvs *)Model)->OnFiles); break; } if (CvsDiffView != 0) { CvsDiffView->RunPipe(Dir, Command, OnFiles); diffs = CvsDiffView; } else { diffs = new ECvsDiff(0, &ActiveModel, Dir, Command, OnFiles); } if (OnFiles != buf) free(OnFiles); SwitchToModel(diffs); return 1; }
int EView::Svn(char *Options) { char Dir[MAXPATH] = ""; char Command[256] = ""; char buf[1024] = ""; char *OnFiles = buf; ESvn *svn; if (GetDefaultDirectory(Model, Dir, sizeof(Dir)) == 0) return 0; strcpy(Command, SvnCommand); strcat(Command, " "); if (Options[0] != 0) { strcat(Command, Options); strcat(Command, " "); } switch (Model->GetContext()) { case CONTEXT_FILE: if (JustFileName(((EBuffer *)Model)->FileName, OnFiles, sizeof(buf)) != 0) return 0; // OnFiles points to buf break; case CONTEXT_SVNDIFF: OnFiles = strdup(SvnDiffView->OnFiles); break; case CONTEXT_SVN: OnFiles = ((ESvn *)Model)->MarkedAsList(); if (!OnFiles) OnFiles = strdup(((ESvn *)Model)->OnFiles); break; } if (SvnView != 0) { SvnView->RunPipe(Dir, Command, OnFiles); svn = SvnView; } else { svn = new ESvn(0, &ActiveModel, Dir, Command, OnFiles); } if (OnFiles != buf) free(OnFiles); SwitchToModel(svn); return 1; }
int EView::FileOpenInMode(ExState &State) { char Mode[32] = ""; char FName[MAXPATH]; if (State.GetStrParam(this, Mode, sizeof(Mode)) == 0) if (MView->Win->GetStr("Mode", sizeof(Mode), Mode, HIST_SETUP) != 1) return 0; if (FindMode(Mode) == 0) { MView->Win->Choice(GPC_ERROR, "Error", 1, "O&K", "Invalid mode '%s'", Mode); return 0; } if (GetDefaultDirectory(Model, FName, sizeof(FName)) == 0) return 0; if (State.GetStrParam(this, FName, sizeof(FName)) == 0) if (MView->Win->GetFile("Open file", sizeof(FName), FName, HIST_PATH, GF_OPEN) == 0) return 0; if (IsDirectory(FName)) return OpenDir(FName); if (strlen(FName) == 0) return 0; return MultiFileLoad(0, FName, Mode, this); }
/* static */ wxString AutoCaptureMechanism::GetDefaultDirectoryAbsPath() { wxFileName output = wxFileName::DirName(GetDefaultDirectory()); output.MakeAbsolute(); return output.GetFullPath(); }