+ 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);