- inline QModelIndex currentIndex() { return standardSelectionModel()->currentIndex(); }
- void setCurrentIndex(const QModelIndex &newCurrent);
+ inline const SelectionModelSynchronizer *selectionModelSynchronizer() const { return &_selectionModelSynchronizer; }
+ inline QItemSelectionModel *standardSelectionModel() const { return _selectionModelSynchronizer.selectionModel(); }
+
+ 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);