summaryrefslogtreecommitdiff
path: root/src/gui/chat.cpp
diff options
context:
space:
mode:
authorChuck Miller <shadowmil@gmail.com>2010-07-18 23:02:25 -0400
committerChuck Miller <shadowmil@gmail.com>2010-07-18 23:10:02 -0400
commit41a23cb4511e9ba3985990e2703fb3d680a23d14 (patch)
tree2bf03217e3c3b0f28aed5649e2e43cf2b965bd1d /src/gui/chat.cpp
parent782158dfd719fb6d196f79075f275fb8599d393c (diff)
downloadMana-41a23cb4511e9ba3985990e2703fb3d680a23d14.tar.gz
Mana-41a23cb4511e9ba3985990e2703fb3d680a23d14.tar.bz2
Mana-41a23cb4511e9ba3985990e2703fb3d680a23d14.tar.xz
Mana-41a23cb4511e9ba3985990e2703fb3d680a23d14.zip
Move the majority of the netcode's server messages to the event system
There is still a good way to go, but this should get us started Reviewed-by: Jared Adams
Diffstat (limited to 'src/gui/chat.cpp')
-rw-r--r--src/gui/chat.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/gui/chat.cpp b/src/gui/chat.cpp
index f11f23ef..31f6e279 100644
--- a/src/gui/chat.cpp
+++ b/src/gui/chat.cpp
@@ -23,6 +23,7 @@
#include "actorspritemanager.h"
#include "configuration.h"
+#include "event.h"
#include "localplayer.h"
#include "party.h"
@@ -77,6 +78,8 @@ ChatWindow::ChatWindow():
Window(_("Chat")),
mTmpVisible(false)
{
+ listen("Notices");
+
setWindowName("Chat");
setupWindow->registerWindowForReset(this);
@@ -393,6 +396,17 @@ void ChatWindow::keyPressed(gcn::KeyEvent &event)
}
}
+void ChatWindow::event(const std::string &channel, const Mana::Event &event)
+{
+ if (channel == "Notices")
+ {
+ if (event.getName() == "ServerNotice")
+ {
+ localChatTab->chatLog(event.getString("message"), BY_SERVER);
+ }
+ }
+}
+
void ChatWindow::addInputText(const std::string &text)
{
const int caretPos = mChatInput->getCaretPosition();