#include "eventstringifier.h"
-EventStringifier::EventStringifier(QObject *parent) : QObject(parent) {
+#include "coresession.h"
+#include "messageevent.h"
+EventStringifier::EventStringifier(CoreSession *parent) : QObject(parent),
+ _coreSession(parent),
+ _whois(false)
+{
+
+}
+
+void EventStringifier::displayMsg(NetworkEvent *event, Message::Type msgType, const QString &msg, const QString &sender,
+ const QString &target, Message::Flags msgFlags) {
+ MessageEvent *msgEvent = createMessageEvent(event, msgType, msg, sender, target, msgFlags);
+ sendMessageEvent(msgEvent);
+}
+
+MessageEvent *EventStringifier::createMessageEvent(NetworkEvent *event, Message::Type msgType, const QString &msg, const QString &sender,
+ const QString &target, Message::Flags msgFlags) {
+ MessageEvent *msgEvent = new MessageEvent(msgType, event->network(), msg, sender, target, msgFlags);
+ return msgEvent;
+}
+
+void EventStringifier::sendMessageEvent(MessageEvent *event) { qDebug() << event->text();
+ coreSession()->eventManager()->sendEvent(event);
}
#include <QObject>
#include "ircevent.h"
+#include "message.h"
+
+class CoreSession;
+class MessageEvent;
//! Generates user-visible MessageEvents from incoming IrcEvents
Q_OBJECT
public:
- EventStringifier(QObject *parent = 0);
+ explicit EventStringifier(CoreSession *parent);
+
+ inline CoreSession *coreSession() const { return _coreSession; }
+ MessageEvent *createMessageEvent(NetworkEvent *event,
+ Message::Type msgType,
+ const QString &msg,
+ const QString &sender = QString(),
+ const QString &target = QString(),
+ Message::Flags msgFlags = Message::None);
+
+public slots:
+ //! Creates and sends a MessageEvent
+ void displayMsg(NetworkEvent *event,
+ Message::Type msgType,
+ const QString &msg,
+ const QString &sender = QString(),
+ const QString &target = QString(),
+ Message::Flags msgFlags = Message::None);
private:
+ void sendMessageEvent(MessageEvent *event);
+
+ CoreSession *_coreSession;
+ bool _whois;
};