summaryrefslogtreecommitdiff
path: root/src/categories.cpp
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2019-12-02 10:43:52 -0500
committerGitHub <noreply@github.com>2019-12-02 10:43:52 -0500
commiteabca00c35d7af3b6822bb7857ef1e073807ca0a (patch)
treea2a48759382677373bb1d23c5473e85c6ec0dd0e /src/categories.cpp
parentfb3c15094fded829b120274189b0b331a68b2afa (diff)
parent3c25117fe163f7fab7afa22ba171ea2d41112f23 (diff)
Merge pull request #913 from isanae/negative-filters
Negative filters
Diffstat (limited to 'src/categories.cpp')
-rw-r--r--src/categories.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/categories.cpp b/src/categories.cpp
index 12b18998..5c9a4d55 100644
--- a/src/categories.cpp
+++ b/src/categories.cpp
@@ -320,6 +320,38 @@ QString CategoryFactory::getCategoryName(unsigned int index) const
return m_Categories[index].m_Name;
}
+QString CategoryFactory::getSpecialCategoryName(SpecialCategories type) const
+{
+ switch (type)
+ {
+ case Checked: return QObject::tr("<Active>");
+ case UpdateAvailable: return QObject::tr("<Update available>");
+ case HasCategory: return QObject::tr("<Has category>");
+ case Conflict: return QObject::tr("<Conflicted>");
+ case Endorsed: return QObject::tr("<Endorsed>");
+ case Backup: return QObject::tr("<Has backup>");
+ case Managed: return QObject::tr("<Managed>");
+ case HasGameData: return QObject::tr("<Has valid game data>");
+ case HasNexusID: return QObject::tr("<Has Nexus ID>");
+ default: return {};
+ }
+}
+
+QString CategoryFactory::getCategoryNameByID(int id) const
+{
+ auto itor = m_IDMap.find(id);
+
+ if (itor == m_IDMap.end()) {
+ return getSpecialCategoryName(static_cast<SpecialCategories>(id));
+ } else {
+ const auto index = itor->second;
+ if (index >= m_Categories.size()) {
+ return {};
+ }
+
+ return m_Categories[index].m_Name;
+ }
+}
int CategoryFactory::getCategoryID(unsigned int index) const
{