summaryrefslogtreecommitdiff
path: root/library/filter.h
diff options
context:
space:
mode:
Diffstat (limited to 'library/filter.h')
-rw-r--r--library/filter.h22
1 files changed, 19 insertions, 3 deletions
diff --git a/library/filter.h b/library/filter.h
index 3d0598e1..dd716680 100644
--- a/library/filter.h
+++ b/library/filter.h
@@ -6,9 +6,25 @@
namespace FreeFileSync
{
- void filterGridData(FolderComparison& folderCmp, const wxString& includeFilter, const wxString& excludeFilter);
- void includeAllRowsOnGrid(FolderComparison& folderCmp);
- void excludeAllRowsOnGrid(FolderComparison& folderCmp);
+ class FilterProcess //relative filtering
+ {
+ public:
+ FilterProcess(const wxString& includeFilter, const wxString& excludeFilter);
+
+ bool matchesFileFilter(const DefaultChar* relFilename) const;
+ bool matchesDirFilter(const DefaultChar* relDirname) const;
+
+ void filterGridData(FolderComparison& folderCmp) const;
+
+ static void includeAllRowsOnGrid(FolderComparison& folderCmp);
+ static void excludeAllRowsOnGrid(FolderComparison& folderCmp);
+
+ private:
+ std::set<Zstring> filterFileIn;
+ std::set<Zstring> filterFolderIn;
+ std::set<Zstring> filterFileEx;
+ std::set<Zstring> filterFolderEx;
+ };
}
bgstack15