diff options
| author | LostDragonist <lost.dragonist@gmail.com> | 2018-12-20 14:33:08 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-12-20 14:33:08 -0600 |
| commit | ed67ac211306bee2067178ace1a0a7fbcd0bea1b (patch) | |
| tree | 8fe31503ba20a436457c8c94d61f953b4aa067b4 /src/modlistsortproxy.cpp | |
| parent | 2232bdfc779b8575c8374a723d4d02a2b41fb352 (diff) | |
| parent | 9a33dc148054443cb0efd5916ff758fca5bc09e3 (diff) | |
Merge pull request #586 from ModOrganizer2/Develop
Release 2.1.6
Diffstat (limited to 'src/modlistsortproxy.cpp')
| -rw-r--r-- | src/modlistsortproxy.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/modlistsortproxy.cpp b/src/modlistsortproxy.cpp index 88084ae1..9adaa511 100644 --- a/src/modlistsortproxy.cpp +++ b/src/modlistsortproxy.cpp @@ -253,7 +253,7 @@ bool ModListSortProxy::filterMatchesModAnd(ModInfo::Ptr info, bool enabled) cons for (auto iter = m_CategoryFilter.begin(); iter != m_CategoryFilter.end(); ++iter) {
switch (*iter) {
case CategoryFactory::CATEGORY_SPECIAL_CHECKED: {
- if (!enabled && !info->alwaysEnabled()) return false;
+ if (!enabled && !info->alwaysEnabled() && !info->hasFlag(ModInfo::FLAG_SEPARATOR)) return false;
} break;
case CategoryFactory::CATEGORY_SPECIAL_UNCHECKED: {
if (enabled || info->alwaysEnabled()) return false;
@@ -271,6 +271,9 @@ bool ModListSortProxy::filterMatchesModAnd(ModInfo::Ptr info, bool enabled) cons ModInfo::EEndorsedState state = info->endorsedState();
if (state != ModInfo::ENDORSED_FALSE) return false;
} break;
+ case CategoryFactory::CATEGORY_SPECIAL_BACKUP: {
+ if (!info->hasFlag(ModInfo::FLAG_BACKUP)) return false;
+ } break;
case CategoryFactory::CATEGORY_SPECIAL_MANAGED: {
if (info->hasFlag(ModInfo::FLAG_FOREIGN)) return false;
} break;
@@ -313,6 +316,9 @@ bool ModListSortProxy::filterMatchesModOr(ModInfo::Ptr info, bool enabled) const ModInfo::EEndorsedState state = info->endorsedState();
if ((state == ModInfo::ENDORSED_FALSE) || (state == ModInfo::ENDORSED_NEVER)) return true;
} break;
+ case CategoryFactory::CATEGORY_SPECIAL_BACKUP: {
+ if (info->hasFlag(ModInfo::FLAG_BACKUP)) return true;
+ } break;
case CategoryFactory::CATEGORY_SPECIAL_MANAGED: {
if (!info->hasFlag(ModInfo::FLAG_FOREIGN)) return true;
} break;
|
