summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gui/chatwindow.cpp6
-rw-r--r--src/gui/whoisonline.cpp7
-rw-r--r--src/gui/whoisonline.h2
3 files changed, 15 insertions, 0 deletions
diff --git a/src/gui/chatwindow.cpp b/src/gui/chatwindow.cpp
index b33a14a0e..04c2a2d9a 100644
--- a/src/gui/chatwindow.cpp
+++ b/src/gui/chatwindow.cpp
@@ -43,6 +43,7 @@
#include "gui/sdlfont.h"
#include "gui/sdlinput.h"
#include "gui/viewport.h"
+#include "gui/whoisonline.h"
#include "gui/widgets/battletab.h"
#include "gui/widgets/dropdown.h"
@@ -1262,6 +1263,11 @@ void ChatWindow::autoComplete()
}
if (newName.empty())
newName = autoComplete(name, &mCustomWords);
+ if (newName.empty())
+ {
+ whoIsOnline->getPlayerNames(nameList);
+ newName = autoComplete(nameList, name);
+ }
if (!newName.empty())
{
diff --git a/src/gui/whoisonline.cpp b/src/gui/whoisonline.cpp
index e5eb90cd1..741e1e771 100644
--- a/src/gui/whoisonline.cpp
+++ b/src/gui/whoisonline.cpp
@@ -797,6 +797,13 @@ void WhoIsOnline::setNeutralColor(OnlinePlayer *const player)
player->setText("0");
}
+void WhoIsOnline::getPlayerNames(StringVect &names)
+{
+ names.clear();
+ FOR_EACH (std::set<std::string>::const_iterator, it, mOnlineNicks)
+ names.push_back(*it);
+}
+
void OnlinePlayer::setText(std::string color)
{
mText.clear();
diff --git a/src/gui/whoisonline.h b/src/gui/whoisonline.h
index 8301897cb..f3d299f41 100644
--- a/src/gui/whoisonline.h
+++ b/src/gui/whoisonline.h
@@ -154,6 +154,8 @@ public:
void setNeutralColor(OnlinePlayer *const player);
+ void getPlayerNames(StringVect &names);
+
private:
void download();