From 6303e605ef23003aabace85cde3f04574f1fb05c Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Mon, 8 Dec 2014 18:01:40 +0300 Subject: In whisper constructor allow separatly set nick and caption. --- src/gui/widgets/avatarlistbox.cpp | 3 ++- src/gui/widgets/tabs/chat/whispertab.cpp | 3 ++- src/gui/widgets/tabs/chat/whispertab.h | 1 + src/gui/windows/chatwindow.cpp | 9 +++++---- src/gui/windows/chatwindow.h | 3 ++- 5 files changed, 12 insertions(+), 7 deletions(-) (limited to 'src/gui') diff --git a/src/gui/widgets/avatarlistbox.cpp b/src/gui/widgets/avatarlistbox.cpp index a351c7199..53e4684d4 100644 --- a/src/gui/widgets/avatarlistbox.cpp +++ b/src/gui/widgets/avatarlistbox.cpp @@ -470,8 +470,9 @@ void AvatarListBox::mousePressed(MouseEvent &event) { if (type == MapItemType::EMPTY && chatWindow) { + const std::string &name = model->getAvatarAt(selected)->getName(); const WhisperTab *const tab = chatWindow->addWhisperTab( - model->getAvatarAt(selected)->getName(), true); + name, name, true); if (tab) chatWindow->saveState(); } diff --git a/src/gui/widgets/tabs/chat/whispertab.cpp b/src/gui/widgets/tabs/chat/whispertab.cpp index 53712c6b2..5ca65f580 100644 --- a/src/gui/widgets/tabs/chat/whispertab.cpp +++ b/src/gui/widgets/tabs/chat/whispertab.cpp @@ -35,8 +35,9 @@ #include "debug.h" WhisperTab::WhisperTab(const Widget2 *const widget, + const std::string &caption, const std::string &nick) : - ChatTab(widget, nick, nick, nick, ChatTabType::WHISPER), + ChatTab(widget, caption, nick, nick, ChatTabType::WHISPER), mNick(nick) { setWhisperTabColors(); diff --git a/src/gui/widgets/tabs/chat/whispertab.h b/src/gui/widgets/tabs/chat/whispertab.h index 24fc2abe0..677e8b470 100644 --- a/src/gui/widgets/tabs/chat/whispertab.h +++ b/src/gui/widgets/tabs/chat/whispertab.h @@ -57,6 +57,7 @@ class WhisperTab final : public ChatTab * @param nick the name of the player this tab is whispering to */ WhisperTab(const Widget2 *const widget, + const std::string &caption, const std::string &nick); ~WhisperTab(); diff --git a/src/gui/windows/chatwindow.cpp b/src/gui/windows/chatwindow.cpp index dae1c86b2..524256dd4 100644 --- a/src/gui/windows/chatwindow.cpp +++ b/src/gui/windows/chatwindow.cpp @@ -1047,7 +1047,7 @@ void ChatWindow::addWhisper(const std::string &restrict nick, } else if (config.getBoolValue("whispertab")) { - tab = addWhisperTab(nick); + tab = addWhisperTab(nick, nick); if (tab) saveState(); } @@ -1113,7 +1113,8 @@ void ChatWindow::addWhisper(const std::string &restrict nick, } } -WhisperTab *ChatWindow::addWhisperTab(const std::string &nick, +WhisperTab *ChatWindow::addWhisperTab(const std::string &caption, + const std::string &nick, const bool switchTo) { if (!localPlayer) @@ -1137,7 +1138,7 @@ WhisperTab *ChatWindow::addWhisperTab(const std::string &nick, } else { - ret = new WhisperTab(this, nick); + ret = new WhisperTab(this, caption, nick); if (gui && !player_relations.isGoodName(nick)) ret->setLabelFont(gui->getSecureFont()); mWhispers[tempNick] = ret; @@ -1216,7 +1217,7 @@ ChatTab *ChatWindow::addChatTab(const std::string &name, } else { - return addWhisperTab(name, switchTo); + return addWhisperTab(name, name, switchTo); } } diff --git a/src/gui/windows/chatwindow.h b/src/gui/windows/chatwindow.h index a2b1781bf..a6bf15384 100644 --- a/src/gui/windows/chatwindow.h +++ b/src/gui/windows/chatwindow.h @@ -194,7 +194,8 @@ class ChatWindow final : public Window, const std::string &restrict mes, const ChatMsgType::Type own = ChatMsgType::BY_OTHER); - WhisperTab *addWhisperTab(const std::string &nick, + WhisperTab *addWhisperTab(const std::string &caption, + const std::string &nick, const bool switchTo = false) A_WARN_UNUSED; WhisperTab *getWhisperTab(const std::string &nick) const A_WARN_UNUSED; -- cgit v1.2.3-70-g09d2