diff options
author | Andrei Karas <akaras@inbox.ru> | 2012-08-09 12:43:10 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2012-08-09 21:37:15 +0300 |
commit | 7de8936d864564b2a9fafaa74af84ec10e755388 (patch) | |
tree | aaae9812510121cdc894e375b387b9f4b1a77c28 | |
parent | 39172957623e0b91343e51e2694c78d9c3b1a5fe (diff) | |
download | mv-7de8936d864564b2a9fafaa74af84ec10e755388.tar.gz mv-7de8936d864564b2a9fafaa74af84ec10e755388.tar.bz2 mv-7de8936d864564b2a9fafaa74af84ec10e755388.tar.xz mv-7de8936d864564b2a9fafaa74af84ec10e755388.zip |
Hightlight gms in online list with "friends" color and letters (GM).
-rw-r--r-- | src/gui/whoisonline.cpp | 15 | ||||
-rw-r--r-- | src/gui/whoisonline.h | 8 |
2 files changed, 22 insertions, 1 deletions
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); diff --git a/src/gui/whoisonline.h b/src/gui/whoisonline.h index 4f70b24f9..1158ce03c 100644 --- a/src/gui/whoisonline.h +++ b/src/gui/whoisonline.h @@ -56,7 +56,8 @@ class OnlinePlayer mStatus(status), mLevel(level), mVersion(version), - mGender(gender) + mGender(gender), + mIsGM(false) { } @@ -66,6 +67,9 @@ class OnlinePlayer unsigned char getStaus() const { return mStatus; } + void setIsGM(bool b) + { mIsGM = b; } + char getVersion() const { return mVersion; } @@ -92,6 +96,8 @@ class OnlinePlayer char mVersion; unsigned char mGender; + + bool mIsGM; }; /** |