Fixing the Bug where a clear of the BufferTreeModel would not result in cleard hashlists.
[quassel.git] / src / client / buffertreemodel.h
index 0848c8f..3f4e597 100644 (file)
 
 #include "treemodel.h"
 #include "buffer.h"
-#include "clientproxy.h"
 
 /*****************************************
  *  Fancy Buffer Items
  *****************************************/
-class BufferTreeItem : public TreeItem{
+class BufferTreeItem : public TreeItem {
   Q_OBJECT
   
 public:
   BufferTreeItem(Buffer *, TreeItem *parent = 0);
+
+  virtual uint id() const;
+  
   QVariant data(int column, int role) const;
   Buffer *buffer() const { return buf; }
   void setActivity(const Buffer::ActivityLevel &);
@@ -47,6 +49,21 @@ protected:
   Buffer::ActivityLevel activity;
 };
 
+/*****************************************
+ *  Network Items
+ *****************************************/
+class NetworkTreeItem : public TreeItem {
+  Q_OBJECT
+  
+public:
+  NetworkTreeItem(const QString &, TreeItem *parent = 0);
+
+  virtual uint id() const;
+  
+private:
+  QString net;
+  
+};
 
 /*****************************************
  * BufferTreeModel
@@ -57,17 +74,16 @@ class BufferTreeModel : public TreeModel {
 public:
   enum  myRoles {
     BufferTypeRole = Qt::UserRole,
-    BufferActiveRole
+    BufferActiveRole,
+    BufferNameRole,
+    BufferIdRole
   };
   
-  //BufferTreeModel(const QList<QVariant> &, QObject *parent = 0);
   BufferTreeModel(QObject *parent = 0);
   static QList<QVariant> defaultHeader();
 
   virtual Qt::ItemFlags flags(const QModelIndex &index) const;
   
-//  void clearActivity(Buffer *buffer);
-  
 public slots:
   void bufferUpdated(Buffer *);    
   void changeCurrent(const QModelIndex &, const QModelIndex &);
@@ -79,7 +95,7 @@ signals:
   void bufferSelected(Buffer *);
   void invalidateFilter();
   void fakeUserInput(BufferId, QString);
-  void updateSelection(const QModelIndex &, QItemSelectionModel::SelectionFlags);
+  void selectionChanged(const QModelIndex &);
     
 private:
   bool isBufferIndex(const QModelIndex &) const;
@@ -91,8 +107,6 @@ private:
   QMimeData *mimeData(const QModelIndexList &) const;
   bool dropMimeData(const QMimeData *, Qt::DropAction, int, int, const QModelIndex &);
   
-  QHash<QString, TreeItem*> networkItem;
-  QHash<Buffer *, BufferTreeItem*> bufferItem;
   Buffer *currentBuffer;
 };