コード例 #1
0
ファイル: Main.cs プロジェクト: gregorytapler/FileCopyProgram
        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.");
            }
        }
コード例 #2
0
ファイル: Main.cs プロジェクト: gregorytapler/FileCopyProgram
        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.");
                }
            }
        }
コード例 #3
0
ファイル: Main.cs プロジェクト: gregorytapler/FileCopyProgram
        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";
            }
        }