some minor tweaks
[quassel.git] / src / qtgui / bufferview.h
index 6fcadf8..b7b923e 100644 (file)
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
 
-#ifndef _BUFFERVIEWWIDGET_H_
-#define _BUFFERVIEWWIDGET_H_
+#ifndef _BUFFERVIEW_H_
+#define _BUFFERVIEW_H_
 
 #include <QtGui>
 #include <QFlags>
-#include "buffer.h"
+
+#include "bufferviewfilter.h"
 
 /*****************************************
- * Buffer View Filter
+ * The TreeView showing the Buffers
  *****************************************/
-class BufferViewFilter : public QSortFilterProxyModel {
+class BufferView : public QTreeView {
   Q_OBJECT
   
 public:
-  enum Mode {
-    NoActive = 0x01,
-    NoInactive = 0x02,
-    SomeNets = 0x04,
-    AllNets = 0x08,
-    NoChannels = 0x10,
-    NoQueries = 0x20,
-    NoServers = 0x40
-  };
-  Q_DECLARE_FLAGS(Modes, Mode)
-
-  BufferViewFilter(QAbstractItemModel *model, Modes mode, QStringList nets, QObject *parent = 0);
+  BufferView(QWidget *parent = 0);
+  void init();
+  void setModel(QAbstractItemModel *model);
+  void setFilteredModel(QAbstractItemModel *model, BufferViewFilter::Modes mode, QStringList nets);
   
-public slots:
-  void invalidateMe();
-  void changeCurrent(const QModelIndex &, const QModelIndex &);
-  void doubleClickReceived(const QModelIndex &);
-  void select(const QModelIndex &, QItemSelectionModel::SelectionFlags);
+  //void dragEnterEvent(QDragEnterEvent *);
+  //void dragLeaveEvent(QDragLeaveEvent *);
   
+public slots:
+  void select(const QModelIndex &);
+    
 signals:
-  void currentChanged(const QModelIndex &, const QModelIndex &);
-  void doubleClicked(const QModelIndex &);
-  void updateSelection(const QModelIndex &, QItemSelectionModel::SelectionFlags);
+  void eventDropped(QDropEvent *);
+  void selectionChanged(const QModelIndex &, QItemSelectionModel::SelectionFlags);
+  //void dragEnter();
+  //void dragLeave();
   
-private:
-  bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const;
-
-  Modes mode;
-  QStringList networks;
-};
-Q_DECLARE_OPERATORS_FOR_FLAGS(BufferViewFilter::Modes)    
-
-/*****************************************
- * The TreeView showing the Buffers
- *****************************************/
-class BufferView : public QTreeView {
-  Q_OBJECT
-  
-  public:
-    BufferView(QWidget *parent = 0);
-    void init();
-    void setModel(QAbstractItemModel *model);
-    void setFilteredModel(QAbstractItemModel *model, BufferViewFilter::Modes mode, QStringList nets);
-  
-    void dragEnterEvent(QDragEnterEvent *);
-
-  protected:
-    void rowsInserted (const QModelIndex & parent, int start, int end);
+protected:
+  void dropEvent(QDropEvent *);
+  void rowsInserted (const QModelIndex & parent, int start, int end);
 };