public bool IsBannedFile(string filePath)
        {
            // Check if Option set to Enable Filtering
            if (mSettings.GetConfig().EnabledFiltering)
            {
                // Establish an FileInfo, we need for the checks below
                FileAttributesEx fi = new FileAttributesEx(filePath);

                // If Options says to filter protected OS files
                if (mSettings.GetConfig().HideProtectedOperatingSystemFilesFolders)
                {
                    return fi.isHiddenSystemFile();
                }

                // If Config says to filter Hidden Files
                if (mSettings.GetConfig().IgnoreHiddenFiles)
                {
                    return fi.isHidden();
                }

                // If Config says to filter System Files
                if (mSettings.GetConfig().IgnoreSystemFiles)
                {
                    return fi.isSystem();
                }

                // If Config says to filter following files
                if (mSettings.GetConfig().IgnoreFollowingFiles)
                {
                    foreach (string item in mBannedFilter)
                    {
                        if (Path.GetFileName(filePath).ToLower() == item.ToLower())
                        {
                            return true;
                        }
                        if (item.IndexOf("*.") != -1 && item.IndexOf(Path.GetExtension(filePath)) != -1)
                        {
                            return true;
                        }
                    }
                }
            }

            return false;
        }
        public bool isBannedFolder(TreeDir dir)
        {
            // Check if Option set to Enable Filtering
            if (mSettings.GetConfig().EnabledFiltering)
            {
                DirectoryInfo di = new DirectoryInfo(dir.DirectoryPath());
                FileAttributesEx dirAttrib = new FileAttributesEx(dir.DirectoryPath());

                string[] c = dir.DirectoryPath().Split(Path.DirectorySeparatorChar);
                // If Options says to filter protected OS folders
                if (mSettings.GetConfig().HideProtectedOperatingSystemFilesFolders)
                {
                    return c[1].Length != 0 && dirAttrib.isReadOnlyDirectory() && mSettings.GetConfig().HideProtectedOperatingSystemFilesFolders;
                }

                // If Config says to filter Hidden Folders
                if (mSettings.GetConfig().IgnoreHiddenFolders)
                {
                    return dirAttrib.isHidden();
                }

                // If Config says to filter System Folders
                if (mSettings.GetConfig().IgnoreSystemFolders)
                {
                    return dirAttrib.isSystem();
                }

                //war59312: If Config says to filter Empty Folders
                if (mSettings.GetConfig().IgnoreEmptyFolders && dir.DirectorySize() == 0.0)
                {
                    return true;
                }
            }

            return false;
        }