obviously calling QSortFilterProxyModell::invalidate() isn't such a good Idea on...
authorMarcus Eggenberger <egs@quassel-irc.org>
Sun, 11 Nov 2007 22:23:07 +0000 (22:23 +0000)
committerMarcus Eggenberger <egs@quassel-irc.org>
Sun, 11 Nov 2007 22:23:07 +0000 (22:23 +0000)
src/qtui/bufferviewfilter.cpp
src/qtui/bufferviewfilter.h

index 656fd5f..e76a400 100644 (file)
@@ -32,7 +32,12 @@ BufferViewFilter::BufferViewFilter(QAbstractItemModel *model, const Modes &filte
   setSortCaseSensitivity(Qt::CaseInsensitive);
   
   // I have this feeling that this resulted in a fuckup once... no clue though right now and invalidateFilter isn't a slot -.-
-  connect(model, SIGNAL(invalidateFilter()), this, SLOT(invalidate()));
+  //connect(model, SIGNAL(invalidateFilter()), this, SLOT(invalidate()));
+  connect(model, SIGNAL(invalidateFilter()), this, SLOT(invalidateFilter_()));
+}
+
+void BufferViewFilter::invalidateFilter_() {
+  QSortFilterProxyModel::invalidateFilter();
 }
 
 Qt::ItemFlags BufferViewFilter::flags(const QModelIndex &index) const {
@@ -101,17 +106,17 @@ bool BufferViewFilter::filterAcceptBuffer(const QModelIndex &source_bufferIndex)
   if((mode & NoServers) && bufferType == Buffer::StatusType)
     return false;
 
-  bool isActive = source_bufferIndex.data(BufferTreeModel::BufferActiveRole).toBool();
-  if((mode & NoActive) && isActive)
-    return false;
-  if((mode & NoInactive) && !isActive)
-    return false;
-
-  if((mode & FullCustom)) {
-    uint bufferuid = source_bufferIndex.data(BufferTreeModel::BufferUidRole).toUInt();
-    if(!buffers.contains(bufferuid))
-      return false;
-  }
+//   bool isActive = source_bufferIndex.data(BufferTreeModel::BufferActiveRole).toBool();
+//   if((mode & NoActive) && isActive)
+//     return false;
+//   if((mode & NoInactive) && !isActive)
+//     return false;
+
+//   if((mode & FullCustom)) {
+//     uint bufferuid = source_bufferIndex.data(BufferTreeModel::BufferUidRole).toUInt();
+//     if(!buffers.contains(bufferuid))
+//       return false;
+//   }
     
   return true;
 }
index bd00e41..c139ecb 100644 (file)
@@ -54,7 +54,8 @@ public:
   
 public slots:
   void removeBuffer(const QModelIndex &);
-
+  void invalidateFilter_();
+  
 protected:
   bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const;
   bool lessThan(const QModelIndex &, const QModelIndex &) const;