We finally got a nice solution to synchronize multiple views or whatevers[tm] even...
[quassel.git] / src / qtui / bufferviewfilter.cpp
index 8dca8fa..6bcfb6a 100644 (file)
@@ -32,32 +32,12 @@ BufferViewFilter::BufferViewFilter(QAbstractItemModel *model, const Modes &filte
   networks = nets;
   
   connect(model, SIGNAL(invalidateFilter()), this, SLOT(invalidateMe()));
-  connect(model, SIGNAL(selectionChanged(const QModelIndex &)),
-          this, SLOT(select(const QModelIndex &)));
-  
-  connect(this, SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)),
-          model, SLOT(changeCurrent(const QModelIndex &, const QModelIndex &)));
-  
-  connect(this, SIGNAL(doubleClicked(const QModelIndex &)),
-          model, SLOT(doubleClickReceived(const QModelIndex &)));
 }
 
 void BufferViewFilter::invalidateMe() {
   invalidateFilter();
 }
 
-void BufferViewFilter::select(const QModelIndex &index) {
-  emit selectionChanged(mapFromSource(index));
-}
-
-void BufferViewFilter::changeCurrent(const QModelIndex &current, const QModelIndex &previous) {
-  emit currentChanged(mapToSource(current), mapToSource(previous));
-}
-
-void BufferViewFilter::doubleClickReceived(const QModelIndex &clicked) {
-  emit doubleClicked(mapToSource(clicked));
-}
-
 void BufferViewFilter::dropEvent(QDropEvent *event) {
   const QMimeData *data = event->mimeData();
   if(!(mode & FullCustom))
@@ -99,7 +79,7 @@ void BufferViewFilter::removeBuffer(const QModelIndex &index) {
   if(index.parent() == QModelIndex())
     return; // only child elements can be deleted
   
-  uint bufferuid = index.data(BufferTreeModel::BufferInfoRole).toUInt();
+  uint bufferuid = index.data(BufferTreeModel::BufferUidRole).toUInt();
   if(customBuffers.contains(bufferuid)) {
     beginRemoveRows(index.parent(), index.row(), index.row());
     customBuffers.removeAt(customBuffers.indexOf(bufferuid));
@@ -112,16 +92,16 @@ void BufferViewFilter::removeBuffer(const QModelIndex &index) {
 
 bool BufferViewFilter::filterAcceptBuffer(const QModelIndex &source_bufferIndex) const {
   Buffer::Type bufferType = (Buffer::Type) source_bufferIndex.data(BufferTreeModel::BufferTypeRole).toInt();
-  if((mode & NoChannels) && bufferType == Buffer::ChannelBuffer) return false;
-  if((mode & NoQueries) && bufferType == Buffer::QueryBuffer) return false;
-  if((mode & NoServers) && bufferType == Buffer::ServerBuffer) return false;
+  if((mode & NoChannels) && bufferType == Buffer::ChannelType) return false;
+  if((mode & NoQueries) && bufferType == Buffer::QueryType) return false;
+  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::BufferInfoRole).toUInt();
+    uint bufferuid = source_bufferIndex.data(BufferTreeModel::BufferUidRole).toUInt();
     if(!customBuffers.contains(bufferuid))
       return false;
   }
@@ -138,7 +118,7 @@ bool BufferViewFilter::filterAcceptNetwork(const QModelIndex &source_index) cons
     int childcount = sourceModel()->rowCount(source_index);
     for(int rowid = 0; rowid < childcount; rowid++) {
       QModelIndex child = sourceModel()->index(rowid, 0, source_index);
-      uint bufferuid = child.data(BufferTreeModel::BufferInfoRole).toUInt();
+      uint bufferuid = child.data(BufferTreeModel::BufferUidRole).toUInt();
       if(customBuffers.contains(bufferuid))
         return true;
     }