From: Manuel Nickschas Date: Sat, 25 Sep 2010 15:38:24 +0000 (+0200) Subject: Hook up the event system to CoreSession's legacy displayMsg() processing X-Git-Tag: 0.8-beta1~114 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=0afd913a5fa29fa44f6119df86aa7574b3274e51 Hook up the event system to CoreSession's legacy displayMsg() processing Now MessageEvents are handled the same way as displayMsg() calls, and we can start gradually replacing the latter with the former. --- diff --git a/src/core/coresession.cpp b/src/core/coresession.cpp index 2e138bbe..52cab60b 100644 --- a/src/core/coresession.cpp +++ b/src/core/coresession.cpp @@ -39,6 +39,7 @@ #include "ircparser.h" #include "ircuser.h" #include "logger.h" +#include "messageevent.h" #include "signalproxy.h" #include "storage.h" #include "util.h" @@ -94,6 +95,7 @@ CoreSession::CoreSession(UserId uid, bool restoreState, QObject *parent) eventManager()->registerObject(ircParser(), EventManager::NormalPriority, "process"); eventManager()->registerObject(eventProcessor(), EventManager::HighPriority, "process"); + eventManager()->registerObject(this, EventManager::LowPriority, "process"); // for sending MessageEvents to the client // periodically save our session state connect(&(Core::instance()->syncTimer()), SIGNAL(timeout()), this, SLOT(saveSessionState())); @@ -248,6 +250,11 @@ void CoreSession::recvStatusMsgFromServer(QString msg) { emit displayStatusMsg(net->networkName(), msg); } +void CoreSession::processMessageEvent(MessageEvent *event) { + recvMessageFromServer(event->networkId(), event->msgType(), event->bufferType(), event->target(), + event->text(), event->sender(), event->msgFlags()); +} + QList CoreSession::buffers() const { return Core::requestBuffers(user()); } diff --git a/src/core/coresession.h b/src/core/coresession.h index 3f36497b..20a2374e 100644 --- a/src/core/coresession.h +++ b/src/core/coresession.h @@ -40,6 +40,7 @@ class CoreNetworkConfig; class CoreSessionEventProcessor; class EventManager; class IrcParser; +class MessageEvent; class NetworkConnection; class SignalProxy; @@ -169,6 +170,9 @@ private: void initScriptEngine(); void processMessages(); + /// Hook for converting events to the old displayMsg() handlers + Q_INVOKABLE void processMessageEvent(MessageEvent *event); + UserId _user; SignalProxy *_signalProxy;