summaryrefslogtreecommitdiff
path: root/src/modlistsortproxy.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/modlistsortproxy.h')
-rw-r--r--src/modlistsortproxy.h12
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;
};