summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
authorBjørn Lindeijer <bjorn@lindeijer.nl>2009-05-24 21:38:28 +0200
committerBjørn Lindeijer <bjorn@lindeijer.nl>2009-05-24 21:38:28 +0200
commit18b6856aa416473019bc36ead2c0e9cda3719a44 (patch)
treeb08f3ed09378dd288f3e4605ad9160d901640dc4 /src/gui
parent768f3d93019b262ce6aa9f913aed0f45d5e4c929 (diff)
parent4e18e7619e9a8c909dea3374a2a7aa39befe0c16 (diff)
downloadmana-client-18b6856aa416473019bc36ead2c0e9cda3719a44.tar.gz
mana-client-18b6856aa416473019bc36ead2c0e9cda3719a44.tar.bz2
mana-client-18b6856aa416473019bc36ead2c0e9cda3719a44.tar.xz
mana-client-18b6856aa416473019bc36ead2c0e9cda3719a44.zip
Merge branch '0.0.29'
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/chat.cpp26
-rw-r--r--src/gui/chat.h4
-rw-r--r--src/gui/widgets/chattab.cpp3
-rw-r--r--src/gui/widgets/chattab.h2
4 files changed, 22 insertions, 13 deletions
diff --git a/src/gui/chat.cpp b/src/gui/chat.cpp
index 414d1e02..1ce1b77c 100644
--- a/src/gui/chat.cpp
+++ b/src/gui/chat.cpp
@@ -292,10 +292,12 @@ void ChatWindow::addTab(ChatTab *tab)
void ChatWindow::removeWhisper(const std::string &nick)
{
- mWhispers.erase(nick);
+ std::string tempNick = nick;
+ toLower(tempNick);
+ mWhispers.erase(tempNick);
}
-void ChatWindow::chatInput(std::string &msg)
+void ChatWindow::chatInput(const std::string &msg)
{
ChatTab *tab = getFocused();
tab->chatInput(msg);
@@ -430,7 +432,8 @@ void ChatWindow::setRecordingFile(const std::string &msg)
mRecorder->setRecordingFile(msg);
}
-void ChatWindow::whisper(const std::string &nick, std::string mes, bool own)
+void ChatWindow::whisper(const std::string &nick,
+ const std::string &mes, bool own)
{
if (mes.empty())
return;
@@ -444,12 +447,13 @@ void ChatWindow::whisper(const std::string &nick, std::string mes, bool own)
if (tempNick.compare(playerName) == 0)
return;
- ChatTab *tab = mWhispers[tempNick];
+ ChatTab *tab = 0;
+ TabMap::const_iterator i = mWhispers.find(tempNick);
- if (!tab && config.getValue("whispertab", false))
- {
+ if (i != mWhispers.end())
+ tab = i->second;
+ else if (config.getValue("whispertab", false))
tab = addWhisperTab(nick);
- }
if (tab)
{
@@ -468,7 +472,9 @@ void ChatWindow::whisper(const std::string &nick, std::string mes, bool own)
nick.c_str(), mes.c_str()), BY_PLAYER);
}
else
+ {
localChatTab->chatLog(nick + " : " + mes, ACT_WHISPER, false);
+ }
}
}
@@ -480,10 +486,12 @@ ChatTab *ChatWindow::addWhisperTab(const std::string &nick, bool switchTo)
toLower(playerName);
toLower(tempNick);
- if (mWhispers[tempNick] || tempNick.compare(playerName) == 0)
+ if (mWhispers.find(tempNick) != mWhispers.end()
+ || tempNick.compare(playerName) == 0)
return NULL;
- ChatTab *ret = mWhispers[tempNick] = new WhisperTab(nick);
+ ChatTab *ret = new WhisperTab(nick);
+ mWhispers[tempNick] = ret;
if (switchTo)
mChatTabs->setSelectedTab(ret);
diff --git a/src/gui/chat.h b/src/gui/chat.h
index c6e8e326..7080392e 100644
--- a/src/gui/chat.h
+++ b/src/gui/chat.h
@@ -136,7 +136,7 @@ class ChatWindow : public Window,
*
* @param msg The message text which is to be sent.
*/
- void chatInput(std::string &msg);
+ void chatInput(const std::string &msg);
/** Called when key is pressed */
void keyPressed(gcn::KeyEvent &event);
@@ -171,7 +171,7 @@ class ChatWindow : public Window,
void doPresent();
- void whisper(const std::string &nick, std::string mes,
+ void whisper(const std::string &nick, const std::string &mes,
bool own = false);
ChatTab *addWhisperTab(const std::string &nick, bool switchTo = false);
diff --git a/src/gui/widgets/chattab.cpp b/src/gui/widgets/chattab.cpp
index ad0911c9..d2fa33b8 100644
--- a/src/gui/widgets/chattab.cpp
+++ b/src/gui/widgets/chattab.cpp
@@ -203,8 +203,9 @@ void ChatTab::chatLog(const std::string &nick, const std::string &msg)
false);
}
-void ChatTab::chatInput(std::string &msg)
+void ChatTab::chatInput(const std::string &message)
{
+ std::string msg = message;
trim(msg);
if (msg.empty())
diff --git a/src/gui/widgets/chattab.h b/src/gui/widgets/chattab.h
index dc0d3047..4cb6a58f 100644
--- a/src/gui/widgets/chattab.h
+++ b/src/gui/widgets/chattab.h
@@ -77,7 +77,7 @@ class ChatTab : public Tab
*
* @param msg The message text which is to be sent.
*/
- void chatInput(std::string &msg);
+ void chatInput(const std::string &msg);
/**
* Scrolls the chat window