X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fabstractmessageprocessor.h;h=b38138e2235137b62f0127c819e1836bff5f2190;hp=b140ac19d311dbb30dc2bec383e8828002e6329a;hb=7e20c659f88e26ccdfdc65f4894ed6ecf61ca8a9;hpb=efa00e5a912c34c37bcc6dad7b8bc6e3a6f3e4fb diff --git a/src/client/abstractmessageprocessor.h b/src/client/abstractmessageprocessor.h index b140ac19..b38138e2 100644 --- a/src/client/abstractmessageprocessor.h +++ b/src/client/abstractmessageprocessor.h @@ -1,5 +1,5 @@ /*************************************************************************** -* Copyright (C) 2005-08 by the Quassel Project * +* Copyright (C) 2005-09 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -21,24 +21,26 @@ #ifndef ABSTRACTMESSAGEPROCESSOR_H_ #define ABSTRACTMESSAGEPROCESSOR_H_ +#include "client.h" #include "message.h" +#include "networkmodel.h" class AbstractMessageProcessor : public QObject { Q_OBJECT - public: - AbstractMessageProcessor(QObject *parent); +public: + AbstractMessageProcessor(QObject *parent); + virtual void reset() = 0; - public slots: - void process(Message &msg); - void process(QList &msgs); - - signals: - - protected: - virtual void processMessage(Message &msg) = 0; - virtual void processMessages(QList &msgs) = 0; +public slots: + virtual void process(Message &msg) = 0; + virtual void process(QList &msgs) = 0; +protected: + // updateBufferActivity also sets the Message::Redirected flag which is later used + // to determine where a message should be displayed. therefore it's crucial that it + // is called before inserting the message into the model + inline void preProcess(Message &msg) { Client::networkModel()->updateBufferActivity(msg); } }; #endif