-void BufferModel::synchronizeView(QAbstractItemView *view) {
- MappedSelectionModel *mappedSelectionModel = new MappedSelectionModel(view->model());
- _selectionModelSynchronizer.addSelectionModel(mappedSelectionModel);
- Q_ASSERT(mappedSelectionModel);
- delete view->selectionModel();
- view->setSelectionModel(mappedSelectionModel);
+void BufferModel::setCurrentIndex(const QModelIndex &newCurrent) {
+ _selectionModelSynchronizer.selectionModel()->setCurrentIndex(newCurrent, QItemSelectionModel::Current);
+ _selectionModelSynchronizer.selectionModel()->select(newCurrent, QItemSelectionModel::ClearAndSelect | QItemSelectionModel::Rows);
+}
+
+void BufferModel::switchToBuffer(const BufferId &bufferId) {
+ QModelIndex source_index = Client::networkModel()->bufferIndex(bufferId);
+ setCurrentIndex(mapFromSource(source_index));