private string[] DownloadFTPFiles(bool loadToEditor = true) { try { //Check if items are selected if (fileList.SelectedItems.Count > 0) { //Create directory if doesn't exist string downloadDir = webFilesPath + ftpBox.Text.Replace("ftp://", "").Replace("/", "\\"); if (!Directory.Exists(downloadDir)) { Directory.CreateDirectory(downloadDir); } //Download FTP files List<string> filesToLoad = new List<string>(); FTPLibrary ftpLib = new FTPLibrary(userNameBox.Text, passwordBox.Password, isSecureConnection); for (int i = 0; i < fileList.SelectedItems.Count; i++) { // Make backup if already exist (conflict) if (File.Exists(downloadDir + "\\" + fileList.SelectedItems[i].ToString())) { if (File.Exists(downloadDir + "\\" + fileList.SelectedItems[i].ToString() + "~")) File.Delete(downloadDir + "\\" + fileList.SelectedItems[i].ToString() + "~"); File.Move(downloadDir + "\\" + fileList.SelectedItems[i].ToString(), downloadDir + "\\" + fileList.SelectedItems[i].ToString() + "~"); } //Download FTP file ftpLib.Download(ftpBox.Text + "\\" + fileList.SelectedItems[i].ToString(), downloadDir + "\\" + fileList.SelectedItems[i].ToString()); filesToLoad.Add(downloadDir + "\\" + fileList.SelectedItems[i].ToString()); } //Load file into editor if (loadToEditor) Load(filesToLoad.ToArray()); //Return file list return filesToLoad.ToArray(); } return null; } catch (Exception ex) { ShowStatus(ex.Message); return null; } }