diff options
Diffstat (limited to 'library/filter.h')
-rw-r--r-- | library/filter.h | 22 |
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; + }; } |