Cleaning up the closet... or at least the code. Tried to reduce the number of #includ...
[quassel.git] / src / qtgui / qtgui.h
similarity index 60%
rename from src/qtgui/bufferviewwidget.h
rename to src/qtgui/qtgui.h
index 8de2035..429127a 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-07 by The Quassel Team                             *
+ *   Copyright (C) 2005-07 by The Quassel IRC Development Team             *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
 
-#ifndef _BUFFERVIEWWIDGET_H_
-#define _BUFFERVIEWWIDGET_H_
+#ifndef _QTGUI_H_
+#define _QTGUI_H_
 
-#include <QtGui>
-#include <QtCore>
+#include "quasselui.h"
+class MainWin;
 
-#include "bufferviewfilter.h"
-#include "bufferview.h"
-#include "ui_bufferviewwidget.h"
-
-
-/*****************************************
- * This Widget Contains the BufferView
- *****************************************/
-class BufferViewWidget : public QWidget {
+//! This class encapsulates Quassel's Qt-based GUI.
+/** This is basically a wrapper around MainWin, which is necessary because we cannot derive MainWin
+ *  from both QMainWindow and AbstractUi (because of multiple inheritance of QObject).
+ */
+class QtGui : public AbstractUi {
   Q_OBJECT
 
-public:
-  BufferViewWidget(QWidget *parent = 0);
-  virtual QSize sizeHint () const;
-  BufferView *treeView(){ return ui.treeView; }  
-
-private:
-  Ui::BufferViewWidget ui;
-};
+  public:
+    QtGui();
+    ~QtGui();
+    void init();
+    AbstractUiMsg *layoutMsg(const Message &);
 
+  protected slots:
+    void connectedToCore();
+    void disconnectedFromCore();
 
-/*****************************************
- * Dock and API for the BufferViews
- *****************************************/
-class BufferViewDock : public QDockWidget {
-  Q_OBJECT
-
-public:
-  BufferViewDock(QAbstractItemModel *model, const QString &name, const BufferViewFilter::Modes &mode, const QStringList &nets = QStringList(), QWidget *parent = 0);
+  private:
+    MainWin *mainWin;
 };
 
-
 #endif