Bring back dynamic backlog fetching (move scrollbar slider to the very top to get...
[quassel.git] / src / qtui / chatview.h
index ef9d923..b9c1892 100644 (file)
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
 
-#ifndef _CHATVIEW_H_
-#define _CHATVIEW_H_
+#ifndef CHATVIEW_H_
+#define CHATVIEW_H_
 
 #include <QGraphicsView>
 
+#include "abstractbuffercontainer.h"
+
 class AbstractUiMsg;
 class Buffer;
 class ChatLine;
 class ChatScene;
+class MessageFilter;
 
-class ChatView : public QGraphicsView {
+class ChatView : public QGraphicsView, public AbstractChatView {
   Q_OBJECT
 
   public:
+    ChatView(MessageFilter *, QWidget *parent = 0);
     ChatView(Buffer *, QWidget *parent = 0);
     ~ChatView();
 
@@ -41,18 +45,22 @@ class ChatView : public QGraphicsView {
 
     void clear();
 
-    void prependMsg(AbstractUiMsg *);
-    void appendMsg(AbstractUiMsg *);
+    void setBufferForBacklogFetching(BufferId buffer);
 
-    void prependChatLine(ChatLine *);
-    void appendChatLine(ChatLine *);
-    void prependChatLines(QList<ChatLine *>);
-    void appendChatLines(QList<ChatLine *>);
+  protected:
+    virtual void resizeEvent(QResizeEvent *event);
 
-    void setContents(QList<ChatLine *>);
+  protected slots:
+    virtual void sceneHeightChanged(qreal height);
+    virtual void verticalScrollbarChanged(int);
+    virtual void sliderPressed();
+    virtual void sliderReleased();
 
   private:
+    void init(MessageFilter *filter);
+
     ChatScene *_scene;
 };
 
+
 #endif