CDialogPromptNewerFile::CDialogPromptNewerFile( wxWindow *parent, const SET_FILE_NAMES &setFileNames, const wxString &sNewest) : wxDialog( parent,wxID_ANY,"Newer file available", wxDefaultPosition, wxDefaultSize, mainApp::DIALOG_STYLE) { wxFileName fnNew(sNewest); wxString sPrompt; sPrompt.Alloc(1024); const wxChar *ButtonText[4] = { wxS("Open the newer file, also"), wxS("Open the selected files"), wxS("Do not open any of the above files"), wxS("View folder before deciding") }; SetupURL(fnNew); sPrompt = "The folder containing the selected files:\n"; for(SET_FILE_NAMES::const_iterator itr = setFileNames.begin(); itr != setFileNames.end(); ++itr) { wxFileName fn(*itr); sPrompt.Append(" "); sPrompt.Append(fn.GetFullName()); sPrompt.Append("\n"); } AFTER_FILE_NAMES(sPrompt,fnNew.GetFullName()); Setup(sPrompt,ButtonText); }
bool PHPFolder::RenameFile(const wxString& old_filename, const wxString& new_filename) { wxFileName fnOld(old_filename); wxFileName fnNew(new_filename); fnNew.SetPath(fnOld.GetPath()); int where = m_files.Index(fnOld.GetFullName()); if(where == wxNOT_FOUND) { return false; } // a file with this name already exists if(fnNew.Exists()) { return false; } m_files.RemoveAt(where); m_files.Add(fnNew.GetFullName()); m_files.Sort(); // Step: 2 // Notify the plugins, maybe they want to override the // default behavior (e.g. Subversion plugin) wxArrayString f; f.Add(fnOld.GetFullPath()); f.Add(fnNew.GetFullPath()); if(!::SendCmdEvent(wxEVT_FILE_RENAMED, (void*)&f)) { // rename the file on filesystem wxRenameFile(fnOld.GetFullPath(), fnNew.GetFullPath()); } PHPEvent eventFileRenamed(wxEVT_PHP_FILE_RENAMED); eventFileRenamed.SetOldFilename(fnOld.GetFullPath()); eventFileRenamed.SetFileName(fnNew.GetFullPath()); EventNotifier::Get()->AddPendingEvent(eventFileRenamed); return true; }