X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Feventstringifier.h;h=0ff417d305c8aba22ad62f0fc08547b9b0f1d89a;hp=e87ce65858b319bc50729561a57b39dadd3ded9d;hb=d60c5028b49a95d3c27c35b2ea1d74cdd7bb0e46;hpb=f9c4ee168a794add5261a7f1b6abb518f5987f8c diff --git a/src/core/eventstringifier.h b/src/core/eventstringifier.h index e87ce658..0ff417d3 100644 --- a/src/core/eventstringifier.h +++ b/src/core/eventstringifier.h @@ -24,6 +24,10 @@ #include #include "ircevent.h" +#include "message.h" + +class CoreSession; +class MessageEvent; //! Generates user-visible MessageEvents from incoming IrcEvents @@ -32,9 +36,38 @@ class EventStringifier : public QObject { 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); + //! Handle generic numeric events + Q_INVOKABLE void processIrcEventNumeric(IrcEventNumeric *event); + + Q_INVOKABLE void processIrcEventInvite(IrcEvent *event); + Q_INVOKABLE void earlyProcessIrcEventKick(IrcEvent *event); + Q_INVOKABLE void earlyProcessIrcEventNick(IrcEvent *event); + Q_INVOKABLE void earlyProcessIrcEventPart(IrcEvent *event); + +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; };