diff options
author | Andrei Karas <akaras@inbox.ru> | 2018-03-04 01:39:30 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2018-03-04 01:39:30 +0300 |
commit | 44ef6547161dd3cd2e1bb4053bb5e8619e6dc0d0 (patch) | |
tree | 16ef6000be72c8959672d1210e89f595a55925a5 /src/resources | |
parent | b889e7fe2d2b1162bad9cf39831e1becf3d9e480 (diff) | |
download | manaplus-44ef6547161dd3cd2e1bb4053bb5e8619e6dc0d0.tar.gz manaplus-44ef6547161dd3cd2e1bb4053bb5e8619e6dc0d0.tar.bz2 manaplus-44ef6547161dd3cd2e1bb4053bb5e8619e6dc0d0.tar.xz manaplus-44ef6547161dd3cd2e1bb4053bb5e8619e6dc0d0.zip |
Add support for hightlight attribute in groups.xml
This attribute allow to highlight gm groups based on groups.xml
Diffstat (limited to 'src/resources')
-rw-r--r-- | src/resources/db/groupdb.cpp | 14 | ||||
-rw-r--r-- | src/resources/db/groupdb.h | 1 | ||||
-rw-r--r-- | src/resources/groupinfo.cpp | 3 | ||||
-rw-r--r-- | src/resources/groupinfo.h | 1 |
4 files changed, 18 insertions, 1 deletions
diff --git a/src/resources/db/groupdb.cpp b/src/resources/db/groupdb.cpp index e09e773aa..1d1d1bffa 100644 --- a/src/resources/db/groupdb.cpp +++ b/src/resources/db/groupdb.cpp @@ -314,6 +314,9 @@ void GroupDb::loadXmlFile(const std::string &fileName, group->showBadge = XML::getBoolProperty(node, "showBadge", false); + group->highlightName = XML::getBoolProperty(node, + "highlightName", + false); loadSubNodes(node, id, group); parseInherit(node, id, group); } @@ -364,6 +367,17 @@ bool GroupDb::getShowBadge(const int id) return (*it).second->showBadge; } +bool GroupDb::getHighlightName(const int id) +{ + GroupInfos::const_iterator it = mGroups.find(id); + if (it == mGroups.end()) + { + reportAlways("Unknown group id requested: %d", id); + return mEmptyGroup.highlightName; + } + return (*it).second->highlightName; +} + const std::string &GroupDb::getBadge(const int id) { GroupInfos::const_iterator it = mGroups.find(id); diff --git a/src/resources/db/groupdb.h b/src/resources/db/groupdb.h index a8fd1dcf3..f447baa96 100644 --- a/src/resources/db/groupdb.h +++ b/src/resources/db/groupdb.h @@ -41,6 +41,7 @@ namespace GroupDb 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; + bool getHighlightName(const int id) A_WARN_UNUSED; const std::string &getBadge(const int id) A_WARN_UNUSED; const GroupInfo *getGroup(const int id) A_WARN_UNUSED RETURNS_NONNULL; diff --git a/src/resources/groupinfo.cpp b/src/resources/groupinfo.cpp index 1f0198723..e951330a3 100644 --- a/src/resources/groupinfo.cpp +++ b/src/resources/groupinfo.cpp @@ -28,7 +28,8 @@ GroupInfo::GroupInfo() : name(), longName(), badge(), - showBadge(false) + showBadge(false), + highlightName(false) { for (size_t f = 0; f < CAST_SIZE(ServerCommandType::Max); f ++) mCommands[f] = ServerCommandEnable::No; diff --git a/src/resources/groupinfo.h b/src/resources/groupinfo.h index 7ef72000f..1162b71e5 100644 --- a/src/resources/groupinfo.h +++ b/src/resources/groupinfo.h @@ -45,6 +45,7 @@ struct GroupInfo final std::string longName; std::string badge; bool showBadge; + bool highlightName; }; #endif // RESOURCES_GROUPINFO_H |