private void importToolStripMenuItem_Click(object sender, EventArgs e) { string msg = string.Empty; XMLDirectoryObject[] xmlDirList = null; if (XMLFileHandler.LoadXMLFile()) { stBar.Panels[0].Text = "Importing script..."; System.Threading.Thread.Sleep(100); this.Refresh(); System.Threading.Thread.Sleep(10); xmlDirList = XMLFileHandler.LoadXMLFile(XMLFileHandler.xmlFPNE, ref msg); if (xmlDirList == null || xmlDirList.Count() <= 0) { stBar.Panels[1].Text = msg; } else { BuildDirTree(xmlDirList); txtTargetDir.Text = Common.TargetFolder; CalculateRequiredSize(); ValidateRequiredSize(); stBar.Panels[1].Text = Common.Counter_FilesLoaded + " files loaded."; GoReadyState("Ready."); } } else { GoReadyState("Action Cancelled."); } }
private void saveToolStripMenuItem_Click(object sender, EventArgs e) { string msg = string.Empty; //xml file loaded, save existing if (XMLFileHandler.xmlFileLoaded) { DialogResult saveOver = MessageBox.Show("Save current xml file script: " + Path.GetFileName(XMLFileHandler.xmlFPNE) + "?", "FileCopy Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (saveOver == DialogResult.Yes) { if (!XMLFileHandler.WriteXMLFile(ref treeDirectory, ref msg)) { stBar.Panels[1].Text = msg; GoReadyState("Error in save."); } else { stBar.Panels[1].Text = "Script file saved."; GoReadyState("Ready."); } } else { GoReadyState("Script Save Cancelled."); } } else //xml file not loaded, select file to save { if (XMLFileHandler.SaveXMLFile()) { if (!XMLFileHandler.WriteXMLFile(ref treeDirectory, ref msg)) { stBar.Panels[1].Text = msg; GoReadyState("Error in save."); } else { stBar.Panels[1].Text = "Script file saved."; GoReadyState("Ready."); } } else { GoReadyState("Script Save Cancelled."); } } }
public void BuildDirTree(XMLDirectoryObject[] xmlDirectoryList) { TreeNode tndir = null; TreeNode tnfil = null; int fileCount = 0; if (xmlDirectoryList == null || xmlDirectoryList.Count() <= 0) { return; } string rootDirectory = xmlDirectoryList[0].fullpath; Common.RootFolder = rootDirectory; DirectoryInfo dInfo = null; FileInfo fInfo = null; //get the progress bar max value and set Common.ProgressBarMax = (int)XMLFileHandler.XMLFileItemCount(xmlDirectoryList); progress.Maximum = Common.ProgressBarMax; //clear tree if append not checked if (!chkAppend.Checked) { if (treeDirectory != null && treeDirectory.Nodes.Count > 0) { treeDirectory.Nodes.Clear(); } Common.BytesToCopy = 0; } try { // Add all files at this directory to the result List. foreach (XMLDirectoryObject xmlDirectoryItem in xmlDirectoryList) { dInfo = new DirectoryInfo(xmlDirectoryItem.fullpath); tndir = new TreeNode(); //add directory node to tree treeDirectory.Nodes.Add(tndir); tndir.Text = dInfo.FullName; tndir.Tag = dInfo; tndir.Checked = Convert.ToBoolean(xmlDirectoryItem.ischecked); foreach (XMLFileObject xmlFileItem in xmlDirectoryItem.fileItems) { fInfo = new FileInfo(xmlFileItem.fullpath); tnfil = new TreeNode(); //add file item to directory item tndir.Nodes.Add(tnfil); tnfil.Text = fInfo.Name; tnfil.Tag = fInfo; tnfil.Checked = Convert.ToBoolean(xmlFileItem.ischecked); fileCount++; Common.Counter_FilesLoaded++; //increment progress bar Common.ProgressBarValue++; progress.Value = Common.ProgressBarValue; } } //reset file counter fileCount = 0; } catch (Exception ex) { // Could not open the directory MessageBox.Show("Error in processing: " + ex.Message, "FileCopy Error", MessageBoxButtons.OK, MessageBoxIcon.Error); HandleControlsEnable(false); cmdCancel.Text = "Close"; } }