summaryrefslogtreecommitdiff
path: root/src/resources
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2018-03-04 01:39:30 +0300
committerAndrei Karas <akaras@inbox.ru>2018-03-04 01:39:30 +0300
commit44ef6547161dd3cd2e1bb4053bb5e8619e6dc0d0 (patch)
tree16ef6000be72c8959672d1210e89f595a55925a5 /src/resources
parentb889e7fe2d2b1162bad9cf39831e1becf3d9e480 (diff)
downloadmanaplus-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.cpp14
-rw-r--r--src/resources/db/groupdb.h1
-rw-r--r--src/resources/groupinfo.cpp3
-rw-r--r--src/resources/groupinfo.h1
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