diff options
author | Andrei Karas <akaras@inbox.ru> | 2017-07-13 20:50:34 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2017-07-13 20:50:34 +0300 |
commit | 5525260f78c1fcab1887cdc95ebcc6790fb34b5b (patch) | |
tree | bd8ee201beef1fc3bbbe48890f9695b6c39c874b /src/resources/db | |
parent | 1f72c8a3f380325f5f4a82137f8bac02362916df (diff) | |
download | plus-5525260f78c1fcab1887cdc95ebcc6790fb34b5b.tar.gz plus-5525260f78c1fcab1887cdc95ebcc6790fb34b5b.tar.bz2 plus-5525260f78c1fcab1887cdc95ebcc6790fb34b5b.tar.xz plus-5525260f78c1fcab1887cdc95ebcc6790fb34b5b.zip |
Allow use different badges for each group in groups.xml
Diffstat (limited to 'src/resources/db')
-rw-r--r-- | src/resources/db/groupdb.cpp | 14 | ||||
-rw-r--r-- | src/resources/db/groupdb.h | 7 |
2 files changed, 18 insertions, 3 deletions
diff --git a/src/resources/db/groupdb.cpp b/src/resources/db/groupdb.cpp index c65406841..bd78e117c 100644 --- a/src/resources/db/groupdb.cpp +++ b/src/resources/db/groupdb.cpp @@ -96,6 +96,9 @@ void GroupDb::loadXmlFile(const std::string &fileName, mGroups[id].longName = XML::langProperty(node, "longName", ""); + mGroups[id].badge = XML::langProperty(node, + "badge", + paths.getStringValue("gmbadge")); mGroups[id].showBadge = XML::getBoolProperty(node, "showBadge", false); @@ -142,6 +145,17 @@ bool GroupDb::getShowBadge(const int id) return (*it).second.showBadge; } +const std::string &GroupDb::getBadge(const int id) +{ + GroupInfos::const_iterator it = mGroups.find(id); + if (it == mGroups.end()) + { + reportAlways("Unknown group id requested: %d", id); + return mEmptyGroup.badge; + } + return (*it).second.badge; +} + #ifdef UNITTESTS GroupDb::GroupInfos &GroupDb::getGroups() { diff --git a/src/resources/db/groupdb.h b/src/resources/db/groupdb.h index 4e687dea9..3db3b1921 100644 --- a/src/resources/db/groupdb.h +++ b/src/resources/db/groupdb.h @@ -38,9 +38,10 @@ namespace GroupDb void loadXmlFile(const std::string &fileName, const SkipError skipError); - const std::string &getName(const int id); - const std::string &getLongName(const int id); - bool getShowBadge(const int id); + const std::string &getName(const int id) A_WARN_UNUSED; + const std::string &getLongName(const int id) A_WARN_UNUSED; + bool getShowBadge(const int id) A_WARN_UNUSED; + const std::string &getBadge(const int id) A_WARN_UNUSED; typedef std::map<int, GroupInfo> GroupInfos; |