Fix compiler warnings
[quassel.git] / src / uisupport / bufferviewfilter.cpp
index 12109ba..3732d2d 100644 (file)
@@ -46,7 +46,6 @@ public:
 BufferViewFilter::BufferViewFilter(QAbstractItemModel *model, BufferViewConfig *config)
   : QSortFilterProxyModel(model),
     _config(0),
-    _tmpConfig(0),
     _sortOrder(Qt::AscendingOrder),
     _showServerQueries(false),
     _editMode(false),
@@ -57,7 +56,7 @@ BufferViewFilter::BufferViewFilter(QAbstractItemModel *model, BufferViewConfig *
 
   setDynamicSortFilter(true);
 
-  connect(this, SIGNAL(_dataChanged(QModelIndex,QModelIndex)),
+  connect(this, SIGNAL(_dataChanged(const QModelIndex &, const QModelIndex &)),
           this, SLOT(_q_sourceDataChanged(QModelIndex,QModelIndex)));
 
   _enableEditMode.setCheckable(true);
@@ -73,45 +72,51 @@ void BufferViewFilter::setConfig(BufferViewConfig *config) {
   if(_config == config)
     return;
 
-#if QT_VERSION >= 0x040600
-  beginResetModel();
-#endif
+  if(_config) {
+    disconnect(_config, 0, this, 0);
+  }
 
-  _tmpConfig = config;  // don't invalidate the old config before we're initialized
+  _config = config;
+
+  if(!config) {
+    invalidate();
+    setObjectName("");
+    return;
+  }
 
-  if(!config || config->isInitialized()) {
+  if(config->isInitialized()) {
     configInitialized();
   } else {
     // we use a queued connection here since manipulating the connection list of a sending object
     // doesn't seem to be such a good idea while executing a connected slots.
     connect(config, SIGNAL(initDone()), this, SLOT(configInitialized()), Qt::QueuedConnection);
-    //invalidate(); // not needed as we still have the old config and will reset once init is done
+    invalidate();
   }
 }
 
 void BufferViewFilter::configInitialized() {
-  if(_config) {
-    disconnect(_config, 0, this, 0);
-  }
+  if(!config())
+    return;
 
-  _config = _tmpConfig;
-  _tmpConfig = 0;
+//   connect(config(), SIGNAL(bufferViewNameSet(const QString &)), this, SLOT(invalidate()));
+  connect(config(), SIGNAL(configChanged()), this, SLOT(invalidate()));
+//   connect(config(), SIGNAL(networkIdSet(const NetworkId &)), this, SLOT(invalidate()));
+//   connect(config(), SIGNAL(addNewBuffersAutomaticallySet(bool)), this, SLOT(invalidate()));
+//   connect(config(), SIGNAL(sortAlphabeticallySet(bool)), this, SLOT(invalidate()));
+//   connect(config(), SIGNAL(hideInactiveBuffersSet(bool)), this, SLOT(invalidate()));
+//   connect(config(), SIGNAL(allowedBufferTypesSet(int)), this, SLOT(invalidate()));
+//   connect(config(), SIGNAL(minimumActivitySet(int)), this, SLOT(invalidate()));
+//   connect(config(), SIGNAL(bufferListSet()), this, SLOT(invalidate()));
+//   connect(config(), SIGNAL(bufferAdded(const BufferId &, int)), this, SLOT(invalidate()));
+//   connect(config(), SIGNAL(bufferMoved(const BufferId &, int)), this, SLOT(invalidate()));
+//   connect(config(), SIGNAL(bufferRemoved(const BufferId &)), this, SLOT(invalidate()));
+//   connect(config(), SIGNAL(bufferPermanentlyRemoved(const BufferId &)), this, SLOT(invalidate()));
 
-  if(config()) {
-    connect(config(), SIGNAL(configChanged()), this, SLOT(invalidate()));
-    disconnect(config(), SIGNAL(initDone()), this, SLOT(configInitialized()));
-    setObjectName(config()->bufferViewName());
-  } else {
-    setObjectName("");
-  }
+  disconnect(config(), SIGNAL(initDone()), this, SLOT(configInitialized()));
 
-  // not resetting the model can trigger bug #663 for some reason I haven't understood yet
-  // we get invalid model indexes in attached views even if no source model has been set yet... wtf?
-#if QT_VERSION >= 0x040600
-  endResetModel();
-#else
-  reset();
-#endif
+  setObjectName(config()->bufferViewName());
+
+  invalidate();
   emit configChanged();
 }
 
@@ -399,8 +404,8 @@ bool BufferViewFilter::bufferLessThan(const QModelIndex &source_left, const QMod
 }
 
 bool BufferViewFilter::networkLessThan(const QModelIndex &source_left, const QModelIndex &source_right) const {
-  NetworkId leftNetworkId = sourceModel()->data(source_left, NetworkModel::NetworkIdRole).value<NetworkId>();
-  NetworkId rightNetworkId = sourceModel()->data(source_right, NetworkModel::NetworkIdRole).value<NetworkId>();
+  // NetworkId leftNetworkId = sourceModel()->data(source_left, NetworkModel::NetworkIdRole).value<NetworkId>();
+  // NetworkId rightNetworkId = sourceModel()->data(source_right, NetworkModel::NetworkIdRole).value<NetworkId>();
 
   return QSortFilterProxyModel::lessThan(source_left, source_right);
 }