Merged changes from branch "sput" r56:61 back into trunk.
[quassel.git] / gui / networkview.h
index ac87077..2ed94b6 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  *
@@ -32,13 +32,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 +52,41 @@ 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 *);
 
   private slots:
     void itemClicked(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 *);
 };