From 979206228d6bcfd71fb22c6a9b8dd4f54f7b5a75 Mon Sep 17 00:00:00 2001 From: Al12rs Date: Fri, 7 Sep 2018 20:53:42 +0200 Subject: Added Mod Backups filter for modlist. --- src/categories.h | 6 ++++-- src/mainwindow.cpp | 1 + src/modlistsortproxy.cpp | 6 ++++++ 3 files changed, 11 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/categories.h b/src/categories.h index 474a1440..48e0b44b 100644 --- a/src/categories.h +++ b/src/categories.h @@ -47,8 +47,10 @@ public: static const int CATEGORY_SPECIAL_NOCATEGORY = 10003; static const int CATEGORY_SPECIAL_CONFLICT = 10004; static const int CATEGORY_SPECIAL_NOTENDORSED = 10005; - static const int CATEGORY_SPECIAL_MANAGED = 10006; - static const int CATEGORY_SPECIAL_UNMANAGED = 10007; + static const int CATEGORY_SPECIAL_BACKUP = 10006; + static const int CATEGORY_SPECIAL_MANAGED = 10007; + static const int CATEGORY_SPECIAL_UNMANAGED = 10008; + public: diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index dd8b1447..28d561b9 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -2223,6 +2223,7 @@ void MainWindow::refreshFilters() addFilterItem(nullptr, tr(""), CategoryFactory::CATEGORY_SPECIAL_CHECKED, ModListSortProxy::TYPE_SPECIAL); addFilterItem(nullptr, tr(""), CategoryFactory::CATEGORY_SPECIAL_UNCHECKED, ModListSortProxy::TYPE_SPECIAL); addFilterItem(nullptr, tr(""), CategoryFactory::CATEGORY_SPECIAL_UPDATEAVAILABLE, ModListSortProxy::TYPE_SPECIAL); + addFilterItem(nullptr, tr(""), CategoryFactory::CATEGORY_SPECIAL_BACKUP, ModListSortProxy::TYPE_SPECIAL); addFilterItem(nullptr, tr(""), CategoryFactory::CATEGORY_SPECIAL_MANAGED, ModListSortProxy::TYPE_SPECIAL); addFilterItem(nullptr, tr(""), CategoryFactory::CATEGORY_SPECIAL_UNMANAGED, ModListSortProxy::TYPE_SPECIAL); addFilterItem(nullptr, tr(""), CategoryFactory::CATEGORY_SPECIAL_NOCATEGORY, ModListSortProxy::TYPE_SPECIAL); diff --git a/src/modlistsortproxy.cpp b/src/modlistsortproxy.cpp index 88084ae1..59784642 100644 --- a/src/modlistsortproxy.cpp +++ b/src/modlistsortproxy.cpp @@ -270,6 +270,9 @@ bool ModListSortProxy::filterMatchesModAnd(ModInfo::Ptr info, bool enabled) cons case CategoryFactory::CATEGORY_SPECIAL_NOTENDORSED: { 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; @@ -312,6 +315,9 @@ bool ModListSortProxy::filterMatchesModOr(ModInfo::Ptr info, bool enabled) const case CategoryFactory::CATEGORY_SPECIAL_NOTENDORSED: { 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; -- cgit v1.3.1