summaryrefslogtreecommitdiff
path: root/src/gui/whoisonline.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2011-10-02 18:57:10 +0300
committerAndrei Karas <akaras@inbox.ru>2011-10-02 18:57:10 +0300
commitf1e92aca00a4859047e83fab76220767b9a2f814 (patch)
tree8aaa9d6853c6a8e0e8fc568c6f981cbd889b0cc3 /src/gui/whoisonline.cpp
parent70b520b1e876f9698bb95baa2d274ea289a0c6bd (diff)
parent99771a1fb50286fdb0b511f425312503e657eddc (diff)
downloadmanaverse-f1e92aca00a4859047e83fab76220767b9a2f814.tar.gz
manaverse-f1e92aca00a4859047e83fab76220767b9a2f814.tar.bz2
manaverse-f1e92aca00a4859047e83fab76220767b9a2f814.tar.xz
manaverse-f1e92aca00a4859047e83fab76220767b9a2f814.zip
Merge branch 'master' into strippedstripped1.1.10.2
Conflicts: packaging/debian/watch
Diffstat (limited to 'src/gui/whoisonline.cpp')
-rw-r--r--src/gui/whoisonline.cpp38
1 files changed, 21 insertions, 17 deletions
diff --git a/src/gui/whoisonline.cpp b/src/gui/whoisonline.cpp
index e1f69c2d7..a14e99afc 100644
--- a/src/gui/whoisonline.cpp
+++ b/src/gui/whoisonline.cpp
@@ -59,23 +59,27 @@
#undef malloc
#endif
-bool stringCompare(const std::string &left, const std::string &right);
-bool stringCompare(const std::string &left, const std::string &right )
+class NameFunctuator
{
- for (std::string::const_iterator lit = left.begin(),
- rit = right.begin();
- lit != left.end() && rit != right.end(); ++lit, ++rit)
- {
- if (tolower(*lit) < tolower(*rit))
- return true;
- else if (tolower(*lit) > tolower(*rit))
+ public:
+ bool operator()(const std::string &left,
+ const std::string &right) const
+ {
+ for (std::string::const_iterator lit = left.begin(),
+ rit = right.begin();
+ lit != left.end() && rit != right.end(); ++lit, ++rit)
+ {
+ if (tolower(*lit) < tolower(*rit))
+ return true;
+ else if (tolower(*lit) > tolower(*rit))
+ return false;
+ }
+ if (left.size() < right.size())
+ return true;
return false;
- }
- if (left.size() < right.size())
- return true;
- return false;
-}
+ }
+} nameCompare;
WhoIsOnline::WhoIsOnline():
Window(_("Who Is Online - Updating"), false, 0, "whoisonline.xml"),
@@ -297,9 +301,9 @@ void WhoIsOnline::loadList()
setCaption(_("Who Is Online - ") + toString(numOnline));
//List the online people
- sort(friends.begin(), friends.end(), stringCompare);
- sort(neutral.begin(), neutral.end(), stringCompare);
- sort(disregard.begin(), disregard.end(), stringCompare);
+ sort(friends.begin(), friends.end(), nameCompare);
+ sort(neutral.begin(), neutral.end(), nameCompare);
+ sort(disregard.begin(), disregard.end(), nameCompare);
bool addedFromSection(false);
for (int i = 0; i < static_cast<int>(friends.size()); i++)
{