From 0afd913a5fa29fa44f6119df86aa7574b3274e51 Mon Sep 17 00:00:00 2001 From: Manuel Nickschas Date: Sat, 25 Sep 2010 17:38:24 +0200 Subject: [PATCH 1/1] 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. --- src/core/coresession.cpp | 7 +++++++ src/core/coresession.h | 4 ++++ 2 files changed, 11 insertions(+) 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; -- 2.20.1