diff options
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/chatwindow.cpp | 6 | ||||
-rw-r--r-- | src/gui/whoisonline.cpp | 7 | ||||
-rw-r--r-- | src/gui/whoisonline.h | 2 |
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(); |