From 7de8936d864564b2a9fafaa74af84ec10e755388 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 9 Aug 2012 12:43:10 +0300 Subject: Hightlight gms in online list with "friends" color and letters (GM). --- src/gui/whoisonline.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/gui/whoisonline.cpp') diff --git a/src/gui/whoisonline.cpp b/src/gui/whoisonline.cpp index 503ce3758..8c2bfa6c9 100644 --- a/src/gui/whoisonline.cpp +++ b/src/gui/whoisonline.cpp @@ -375,9 +375,13 @@ void WhoIsOnline::loadWebList() } trim(nick); + bool isGM(false); pos = lineStr.find(gmText, 0); if (pos != std::string::npos) + { lineStr = lineStr.substr(pos + gmText.length()); + isGM = true; + } trim(lineStr); pos = lineStr.find("/", 0); @@ -416,6 +420,9 @@ void WhoIsOnline::loadWebList() mOnlinePlayers.insert(player); mOnlineNicks.insert(nick); + if (isGM) + player->setIsGM(true); + numOnline++; switch (player_relations.getRelation(nick)) { @@ -747,6 +754,9 @@ void OnlinePlayer::setText(std::string color) } } + if ((mStatus != 255 && mStatus & Being::FLAG_GM) || mIsGM) + mText += "(GM) "; + if (mLevel > 0) mText += strprintf("%d", mLevel); @@ -769,9 +779,14 @@ void OnlinePlayer::setText(std::string color) // TRANSLATORS: this inactive status writed in player nick mText += _("I"); } + if (mStatus & Being::FLAG_GM && color == "0") color = "2"; } + else if (mIsGM && color == "0") + { + color = "2"; + } if (mVersion > 0) mText += strprintf(" - %d", mVersion); -- cgit v1.2.3-70-g09d2