private void Folder_PropertyChanged(object sender, PropertyChangedEventArgs e) { FolderExclude folder = sender as FolderExclude; if (folder == null) { return; } switch (folder.Exclude) { case true: if (!ExcludedDirectorys.Contains(folder.FullPath)) { ExcludedDirectorys.Add(folder.FullPath); } SetTemporaryStatusMessage("Folder excluded"); break; case false: if (ExcludedDirectorys.Contains(folder.FullPath)) { ExcludedDirectorys.Remove(folder.FullPath); } SetTemporaryStatusMessage("Folder no longer excluded"); break; } }
/// <summary> /// Selects the folder to Filter. /// </summary> internal void SelectFolder() { using (WF.FolderBrowserDialog fbd = new WF.FolderBrowserDialog()) { if (!string.IsNullOrEmpty(Properties.Settings.Default.LastTracked)) { if (Directory.Exists(Properties.Settings.Default.LastTracked)) { fbd.SelectedPath = Properties.Settings.Default.LastTracked; } } fbd.ShowNewFolderButton = false; var dr = fbd.ShowDialog(); switch (dr) { case WF.DialogResult.OK: case WF.DialogResult.Yes: WatchedFolder = fbd.SelectedPath; if (Directory.Exists(WatchedFolder)) { Status = _normalStates[1]; DirectoryInfo dInf = new DirectoryInfo(WatchedFolder); foreach (var subDir in dInf.GetDirectories("*", SearchOption.TopDirectoryOnly)) { var folder = new FolderExclude(subDir.Name, subDir.FullName) { Exclude = false }; folder.PropertyChanged += Folder_PropertyChanged; SubFolders.Add(folder); } Properties.Settings.Default.LastTracked = WatchedFolder; Properties.Settings.Default.Save(); BorderColor = Brushes.Green; } else { BorderColor = Brushes.Red; } break; default: break; } } }
/// <summary> /// Selects the folder to Filter. /// </summary> internal void SelectFolder() { using (WF.FolderBrowserDialog fbd = new WF.FolderBrowserDialog()) { if (!string.IsNullOrEmpty(Properties.Settings.Default.LastTracked)) { if (Directory.Exists(Properties.Settings.Default.LastTracked)) fbd.SelectedPath = Properties.Settings.Default.LastTracked; } fbd.ShowNewFolderButton = false; var dr = fbd.ShowDialog(); switch (dr) { case WF.DialogResult.OK: case WF.DialogResult.Yes: WatchedFolder = fbd.SelectedPath; if (Directory.Exists(WatchedFolder)) { Status = _normalStates[1]; DirectoryInfo dInf = new DirectoryInfo(WatchedFolder); foreach (var subDir in dInf.GetDirectories("*", SearchOption.TopDirectoryOnly)) { var folder = new FolderExclude(subDir.Name, subDir.FullName) { Exclude = false }; folder.PropertyChanged += Folder_PropertyChanged; SubFolders.Add(folder); } Properties.Settings.Default.LastTracked = WatchedFolder; Properties.Settings.Default.Save(); BorderColor = Brushes.Green; } else { BorderColor = Brushes.Red; } break; default: break; } } }