예제 #1
0
 public void ClearControls()
 {
     TXT_namedescription.Clear();
     TXT_source.Clear();
     TXT_target.Clear();
     CLB_ignoreFiles.Items.Clear();
     FilesIgnore = null;
 }
예제 #2
0
        private void LoadDirectory(object sender, EventArgs e)
        {
            folderBrowserDialog1.SelectedPath = SelectedPath((Button)sender);
            if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
            {
                if (!Directory.Exists(folderBrowserDialog1.SelectedPath))
                {
                    if (MessageBox.Show("directory not found, please choose a valid path", string.Empty, MessageBoxButtons.RetryCancel, MessageBoxIcon.Warning) == DialogResult.Retry)
                    {
                        LoadDirectory(sender, e);
                    }
                }
                else
                {
                    if ((Button)sender == BTN_newsource)
                    {
                        var frm = (FrmBackup)Application.OpenForms[nameof(FrmBackup)];
                        frm.ucLoading1.BringToFront();
                        CLB_ignoreFiles.Items.Clear();
                        frm.StartProgressBar("Selecting files", new Action(() =>
                        {
                            frm.ucLoading1.UpdateProgressBar(0, $"selecting directory {folderBrowserDialog1.SelectedPath}");
                            System.Threading.Thread.Sleep(1000);

                            TXT_source.Invoke(new Action(() => TXT_source.Text = folderBrowserDialog1.SelectedPath));

                            Properties.SettingsModel.User.RememberUser.LastDirectorySource = folderBrowserDialog1.SelectedPath;
                            frm.ucLoading1.UpdateProgressBar(0, "adding directory path in user memory");
                            System.Threading.Thread.Sleep(1000);

                            FilesIgnore = new DirectoryInfo(folderBrowserDialog1.SelectedPath).GetFiles("*.*", SearchOption.AllDirectories);

                            frm.ucLoading1.UpdateProgressBar(0, $"selecting {FilesIgnore.Length} files");
                            System.Threading.Thread.Sleep(1000);

                            for (int i = 0; i < FilesIgnore.Length; i++)
                            {
                                string fileName = $"{i}-{FilesIgnore[i].Directory.Name} / {FilesIgnore[i].Name}";
                                frm.ucLoading1.UpdateProgressBar(SelectPercentToProgress(i, FilesIgnore.Length), $"checking file {fileName }");
                                CLB_ignoreFiles.Invoke(new Action(() => CLB_ignoreFiles.Items.Add(fileName)));
                            }

                            frm.ucLoading1.UpdateProgressBar(100, $"successfull");

                            System.Threading.Thread.Sleep(1000);
                            frm.Invoke(new Action(() => frm.ucNewBackup1.BringToFront()));
                            frm.Invoke(new Action(() => frm.BTN_save.BringToFront()));
                        }));
                    }
                    else
                    {
                        TXT_target.Text = folderBrowserDialog1.SelectedPath;
                        Properties.SettingsModel.User.RememberUser.LastDirectoryTarget = folderBrowserDialog1.SelectedPath;
                    }
                }
            }
        }