diff options
Diffstat (limited to 'src/modlistsortproxy.h')
| -rw-r--r-- | src/modlistsortproxy.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/modlistsortproxy.h b/src/modlistsortproxy.h index f1b01c7e..c04ba28d 100644 --- a/src/modlistsortproxy.h +++ b/src/modlistsortproxy.h @@ -32,6 +32,13 @@ class ModListSortProxy : public QSortFilterProxyModel public: + enum FilterMode { + FILTER_AND, + FILTER_OR + }; + +public: + explicit ModListSortProxy(Profile *profile, QObject *parent = 0); void setProfile(Profile *profile); @@ -65,6 +72,8 @@ public: */ bool isFilterActive() const { return m_FilterActive; } + void setFilterMode(FilterMode mode); + /** * @brief tests if the specified index has child nodes * @param parent the node to test @@ -93,6 +102,8 @@ private: bool hasConflictFlag(const std::vector<ModInfo::EFlag> &flags) const; void updateFilterActive(); + bool filterMatchesModAnd(ModInfo::Ptr info, bool enabled) const; + bool filterMatchesModOr(ModInfo::Ptr info, bool enabled) const; private: @@ -103,6 +114,7 @@ private: QString m_CurrentFilter; bool m_FilterActive; + FilterMode m_FilterMode; }; |
