summaryrefslogtreecommitdiff
path: root/src/modlistsortproxy.cpp
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2019-11-30 02:20:18 -0500
committerisanae <14251494+isanae@users.noreply.github.com>2019-11-30 02:20:18 -0500
commited14d5510d932362f8e232496b824729e096d3cf (patch)
tree2883e9bb2a3ab9a9163109d80fb29f254c80f939 /src/modlistsortproxy.cpp
parente99dfe153c62f914ada0605430305fca81a332a9 (diff)
implemented not flag
moved stuff to CriteriaItem fixed jumbled names in getSpecialCategoryName()
Diffstat (limited to 'src/modlistsortproxy.cpp')
-rw-r--r--src/modlistsortproxy.cpp23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/modlistsortproxy.cpp b/src/modlistsortproxy.cpp
index 646401b9..3bb02c0f 100644
--- a/src/modlistsortproxy.cpp
+++ b/src/modlistsortproxy.cpp
@@ -305,18 +305,35 @@ bool ModListSortProxy::filterMatchesModOr(ModInfo::Ptr info, bool enabled) const
bool ModListSortProxy::criteriaMatchesMod(
ModInfo::Ptr info, bool enabled, const Criteria& c) const
{
+ bool b = false;
+
switch (c.type)
{
case TYPE_SPECIAL: // fall-through
case TYPE_CATEGORY:
- return categoryMatchesMod(info, enabled, c.id);
+ {
+ b = categoryMatchesMod(info, enabled, c.id);
+ break;
+ }
case TYPE_CONTENT:
- return contentMatchesMod(info, enabled, c.id);
+ {
+ b = contentMatchesMod(info, enabled, c.id);
+ break;
+ }
default:
- return false;
+ {
+ log::error("bad criteria type {}", c.type);
+ break;
+ }
}
+
+ if (c.inverse) {
+ b = !b;
+ }
+
+ return b;
}
bool ModListSortProxy::categoryMatchesMod(