/***************************************************************************
-* 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 *
#include "message.h"
#include "networkmodel.h"
-class AbstractMessageProcessor : public QObject {
- Q_OBJECT
+class AbstractMessageProcessor : public QObject
+{
+ Q_OBJECT
- public:
+public:
AbstractMessageProcessor(QObject *parent);
virtual void reset() = 0;
- public slots:
+public slots:
virtual void process(Message &msg) = 0;
virtual void process(QList<Message> &msgs) = 0;
- signals:
- void progressUpdated(int value, int maximum);
-
- protected:
- inline void postProcess(Message &msg) { Client::networkModel()->updateBufferActivity(msg); }
-
+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