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;
                }
            }
        }