+ inline void synchronizeSelectionModel(QItemSelectionModel *selectionModel) { _selectionModelSynchronizer.synchronizeSelectionModel(selectionModel); }
+ void synchronizeView(QAbstractItemView *view);
+
+ inline QModelIndex currentIndex() { return standardSelectionModel()->currentIndex(); }
+ inline BufferId currentBuffer() { return currentIndex().data(NetworkModel::BufferIdRole).value<BufferId>(); }
+
+public slots:
+ void setCurrentIndex(const QModelIndex &newCurrent);
+ void switchToBuffer(const BufferId &bufferId);
+ void switchToBufferIndex(const QModelIndex &bufferIdx);
+ void switchToOrJoinBuffer(NetworkId network, const QString &bufferName, bool isQuery = false);
+ void switchToOrStartQuery(NetworkId network, const QString &nick)
+ {
+ switchToOrJoinBuffer(network, nick, true);
+ }
+
+
+ void switchToBufferAfterCreation(NetworkId network, const QString &name);
+
+private slots:
+ void debug_currentChanged(QModelIndex current, QModelIndex previous);
+ void newNetwork(NetworkId id);
+ void networkConnectionChanged(Network::ConnectionState state);
+ void newBuffers(const QModelIndex &parent, int start, int end);