summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
authorJared Adams <jaxad0127@gmail.com>2010-05-09 18:21:14 -0600
committerJared Adams <jaxad0127@gmail.com>2010-06-29 15:48:52 -0600
commitf1cab9c5ab1d36586ae1e0d1dae3f3d1483522b5 (patch)
treea0146a49c90bd15bb65e8bbae94883b189037a40 /src/gui
parenta2bb244ea72fefdb60d8ef5b037dfbc5b6ac842d (diff)
downloadMana-f1cab9c5ab1d36586ae1e0d1dae3f3d1483522b5.tar.gz
Mana-f1cab9c5ab1d36586ae1e0d1dae3f3d1483522b5.tar.bz2
Mana-f1cab9c5ab1d36586ae1e0d1dae3f3d1483522b5.tar.xz
Mana-f1cab9c5ab1d36586ae1e0d1dae3f3d1483522b5.zip
Make whisper responses from tmwAthena show up in correct tabs
Reviewed-by: Bertram
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/chat.cpp8
-rw-r--r--src/gui/chat.h18
-rw-r--r--src/gui/widgets/chattab.cpp2
-rw-r--r--src/gui/widgets/chattab.h15
4 files changed, 24 insertions, 19 deletions
diff --git a/src/gui/chat.cpp b/src/gui/chat.cpp
index da1bd600..9842e1f4 100644
--- a/src/gui/chat.cpp
+++ b/src/gui/chat.cpp
@@ -431,7 +431,7 @@ void ChatWindow::setRecordingFile(const std::string &msg)
}
void ChatWindow::whisper(const std::string &nick,
- const std::string &mes, bool own)
+ const std::string &mes, Own own)
{
if (mes.empty())
return;
@@ -455,10 +455,14 @@ void ChatWindow::whisper(const std::string &nick,
if (tab)
{
- if (own)
+ if (own == BY_PLAYER)
{
tab->chatInput(mes);
}
+ else if (own == BY_SERVER)
+ {
+ tab->chatLog(mes);
+ }
else
{
tab->chatLog(nick, mes);
diff --git a/src/gui/chat.h b/src/gui/chat.h
index 3de2b146..aeba2ece 100644
--- a/src/gui/chat.h
+++ b/src/gui/chat.h
@@ -35,8 +35,8 @@
#include <vector>
class BrowserBox;
-class Channel;
class ChatTab;
+class Channel;
class ChatInput;
class Recorder;
class ScrollArea;
@@ -47,12 +47,24 @@ class WhisperTab;
#define DEFAULT_CHAT_WINDOW_SCROLL 7 // 1 means `1/8th of the window size'.
+enum Own
+{
+ BY_GM,
+ BY_PLAYER,
+ BY_OTHER,
+ BY_SERVER,
+ BY_CHANNEL,
+ ACT_WHISPER, // getting whispered at
+ ACT_IS, // equivalent to "/me" on IRC
+ BY_LOGGER
+};
+
/** One item in the chat log */
struct CHATLOG
{
std::string nick;
std::string text;
- int own;
+ Own own;
};
/**
@@ -170,7 +182,7 @@ class ChatWindow : public Window,
void doPresent();
void whisper(const std::string &nick, const std::string &mes,
- bool own = false);
+ Own own = BY_OTHER);
ChatTab *addWhisperTab(const std::string &nick, bool switchTo = false);
diff --git a/src/gui/widgets/chattab.cpp b/src/gui/widgets/chattab.cpp
index 8c300eca..03ff79d9 100644
--- a/src/gui/widgets/chattab.cpp
+++ b/src/gui/widgets/chattab.cpp
@@ -72,7 +72,7 @@ ChatTab::~ChatTab()
delete mScrollArea;
}
-void ChatTab::chatLog(std::string line, int own, bool ignoreRecord)
+void ChatTab::chatLog(std::string line, Own own, bool ignoreRecord)
{
// Trim whitespace
trim(line);
diff --git a/src/gui/widgets/chattab.h b/src/gui/widgets/chattab.h
index 2189a780..f5682668 100644
--- a/src/gui/widgets/chattab.h
+++ b/src/gui/widgets/chattab.h
@@ -30,18 +30,6 @@ class BrowserBox;
class Recorder;
class ScrollArea;
-enum
-{
- BY_GM,
- BY_PLAYER,
- BY_OTHER,
- BY_SERVER,
- BY_CHANNEL,
- ACT_WHISPER, // getting whispered at
- ACT_IS, // equivalent to "/me" on IRC
- BY_LOGGER
-};
-
/**
* A tab for the chat window. This is special to ease chat handling.
*/
@@ -62,7 +50,8 @@ class ChatTab : public Tab
* @param channelName which channel to send the message to.
* @param ignoreRecord should this not be recorded?
*/
- void chatLog(std::string line, int own = BY_SERVER, bool ignoreRecord = false);
+ void chatLog(std::string line, Own own = BY_SERVER,
+ bool ignoreRecord = false);
/**
* Adds the text to the message list