diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/commandhandler.cpp | 2 | ||||
-rw-r--r-- | src/gui/chat.cpp | 8 | ||||
-rw-r--r-- | src/gui/chat.h | 2 |
3 files changed, 8 insertions, 4 deletions
diff --git a/src/commandhandler.cpp b/src/commandhandler.cpp index 81507791..ea0094c3 100644 --- a/src/commandhandler.cpp +++ b/src/commandhandler.cpp @@ -337,7 +337,7 @@ void CommandHandler::handleMsg(const std::string &args, ChatTab *tab) } void CommandHandler::handleQuery(const std::string &args, ChatTab *tab) { - if (chatWindow->addWhisperTab(args)) + if (chatWindow->addWhisperTab(args, true)) return; tab->chatLog(strprintf(_("Cannont create a whisper tab for nick '%s'!" diff --git a/src/gui/chat.cpp b/src/gui/chat.cpp index 7faf9bda..54b388db 100644 --- a/src/gui/chat.cpp +++ b/src/gui/chat.cpp @@ -454,7 +454,7 @@ void ChatWindow::whisper(const std::string &nick, std::string mes, bool own) } } -ChatTab *ChatWindow::addWhisperTab(const std::string &nick) +ChatTab *ChatWindow::addWhisperTab(const std::string &nick, bool switchTo) { std::string playerName = player_node->getName(); std::string tempNick = nick; @@ -465,5 +465,9 @@ ChatTab *ChatWindow::addWhisperTab(const std::string &nick) if (mWhispers[tempNick] || tempNick.compare(playerName) == 0) return NULL; - return mWhispers[tempNick] = new WhisperTab(nick); + ChatTab *ret = mWhispers[tempNick] = new WhisperTab(nick); + + mChatTabs->setSelectedTab(ret); + + return ret; } diff --git a/src/gui/chat.h b/src/gui/chat.h index 21f80f13..88dabb89 100644 --- a/src/gui/chat.h +++ b/src/gui/chat.h @@ -174,7 +174,7 @@ class ChatWindow : public Window, void whisper(const std::string &nick, std::string mes, bool own = false); - ChatTab *addWhisperTab(const std::string &nick); + ChatTab *addWhisperTab(const std::string &nick, bool switchTo = false); protected: friend class ChatTab; |