Enable plain old QTimer-based asynchronous message processing. More fancy stuff will...
[quassel.git] / src / client / buffer.h
index def01bd..72a30f1 100644 (file)
@@ -32,7 +32,6 @@ struct BufferState;
 #include "message.h"
 #include "bufferinfo.h"
 
-/// Encapsulates the contents of a single channel, query or server status context.
 /**
  */
 class Buffer : public QObject {
@@ -50,34 +49,23 @@ public:
   Buffer(BufferInfo, QObject *parent = 0);
 
   BufferInfo bufferInfo() const;
-  QList<AbstractUiMsg *> contents() const;
   inline bool isVisible() const { return _isVisible; }
-  inline QDateTime lastSeen() const { return _lastSeen; }
+  inline MsgId lastSeenMsg() const { return _lastSeenMsg; }
   inline ActivityLevel activityLevel() const { return _activityLevel; }
 
-signals:
-  void msgAppended(AbstractUiMsg *);
-  void msgPrepended(AbstractUiMsg *);
-  void layoutQueueEmpty();
-
 public slots:
-  void appendMsg(const Message &);
-  void prependMsg(const Message &);
-  bool layoutMsg();
   void setVisible(bool visible);
-  void setLastSeen(const QDateTime &);
+  void setLastSeenMsg(const MsgId &msgId);
   void setActivityLevel(ActivityLevel level);
+  void updateActivityLevel(const Message &msg);
 
 private:
   BufferInfo _bufferInfo;
   bool _isVisible;
-  QDateTime _lastSeen;
+  MsgId _lastSeenMsg;
+  Message _lastRcvdMsg;
   ActivityLevel _activityLevel;
 
-  QList<Message> layoutQueue;
-  QList<AbstractUiMsg *> layoutedMsgs;
-
-  void updateActivityLevel(const Message &msg);
 };
 
 Q_DECLARE_OPERATORS_FOR_FLAGS(Buffer::ActivityLevel)