Checking in WiP on the MessageModel. More cleanly separated code and compiling of...
[quassel.git] / src / qtopia / mainwidget.h
index 1893eb6..0c83ea0 100644 (file)
@@ -1,11 +1,11 @@
 /***************************************************************************
- *   Copyright (C) 2005-07 by The Quassel IRC Development 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  *
  *   it under the terms of the GNU General Public License as published by  *
  *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
+ *   (at your option) version 3.                                           *
  *                                                                         *
  *   This program is distributed in the hope that it will be useful,       *
  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 
 #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;
 
 };