Checking in WiP on the MessageModel. More cleanly separated code and compiling of...
[quassel.git] / src / qtopia / mainwidget.h
index affa544..0c83ea0 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-07 by the Quassel IRC Team                         *
+ *   Copyright (C) 2005-08 by the Quassel Project                          *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
 
 #include "ui_mainwidget.h"
 
+#include "abstractbuffercontainer.h"
+#include "bufferinfo.h"
+
 class Buffer;
 class ChatWidget;
 
-class MainWidget : public QWidget {
+class MainWidget : public AbstractBufferContainer {
   Q_OBJECT
 
   public:
-    MainWidget(QWidget *parent = 0);
+    MainWidget(QWidget *parent);
     ~MainWidget();
 
-  public slots:
-    void setTopic(QString topic);
-    void setBuffer(Buffer *);
+  signals:
+    void userInput(const BufferInfo &, const QString &);
+
+  protected:
+    virtual AbstractChatView *createChatView(BufferId);
+    virtual void removeChatView(BufferId);
+
+  protected slots:
+    virtual void showChatView(BufferId);
 
   private slots:
-    void enterPressed();
+    void userInput(const QString &);
 
   private:
     Ui::MainWidget ui;
-    QHash<Buffer *, ChatWidget *> chatWidgets;
-
-    Buffer *currentBuffer;
+    QHash<BufferId, ChatWidget *> _chatViews;
+    BufferInfo currentBufferInfo;
 
 };