Fixed formatting code %O (which should switch off all format codes, but accidentally
[quassel.git] / gui / networkview.h
index ac87077..f6842b6 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005/06 by The Quassel Team                             *
+ *   Copyright (C) 2005-07 by The Quassel Team                             *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -23,6 +23,7 @@
 
 #include <QtGui>
 #include "ui_networkview.h"
+#include "guiproxy.h"
 #include "buffer.h"
 
 typedef QHash<QString, QHash<QString, Buffer*> > BufferHash;
@@ -32,13 +33,11 @@ class NetworkViewWidget : public QWidget {
 
   public:
     NetworkViewWidget(QWidget *parent = 0);
+
     QTreeWidget *tree() { return ui.tree; }
 
     virtual QSize sizeHint () const;
 
-  public slots:
-
-
   signals:
     void bufferSelected(QString net, QString buf);
 
@@ -54,25 +53,43 @@ class NetworkView : public QDockWidget {
   Q_OBJECT
 
   public:
-    NetworkView(QString network, QWidget *parent = 0);
+    enum Mode {
+      NoActive = 0x01, NoInactive = 0x02,
+      SomeNets = 0x04, AllNets = 0x08,
+      NoChannels = 0x10, NoQueries = 0x20, NoServers = 0x40
+    };
+
+    NetworkView(QString name, int mode, QStringList nets = QStringList(), QWidget *parent = 0);
+    void setMode(int mode, QStringList nets = QStringList());
+    void setName(QString name);
+
 
   public slots:
-    void buffersUpdated(BufferHash);
-    void selectBuffer(QString net, QString buf);
+    void bufferUpdated(Buffer *);
+    void bufferDestroyed(Buffer *);
+    void setBuffers(QList<Buffer *>);
+    void selectBuffer(Buffer *);
 
   signals:
-    void bufferSelected(QString net, QString buf);
-
+    void bufferSelected(Buffer *);
+    void fakeUserInput(BufferId, QString);
+    
   private slots:
     void itemClicked(QTreeWidgetItem *item);
-
+    void itemDoubleClicked(QTreeWidgetItem *item);
+    
   private:
-    QString network;
-    QString currentNetwork, currentBuffer;
-    QHash<QString, QHash<QString, Buffer*> > buffers;
-    QHash<QString, QHash<QString, QTreeWidgetItem *> > items;
+    int mode;
+    QString name;
+    QStringList networks;
+    Buffer *currentBuffer;
+    //QHash<QString, QHash<QString, Buffer*> > buffers;
+    QHash<Buffer *, QTreeWidgetItem *> bufitems;
+    QHash<QString, QTreeWidgetItem *> netitems;
+    //QHash<QString, QHash<QString, QTreeWidgetItem *> > items;
     QTreeWidget *tree;
 
+    bool shouldShow(Buffer *);
 };