added a convenience method: Client::bufferModel()->switchToBuffer(bufferId)
[quassel.git] / src / client / buffermodel.cpp
index e124db6..faf6090 100644 (file)
 
 #include "buffermodel.h"
 
-#include "networkmodel.h"
-#include "mappedselectionmodel.h"
+#include "client.h"
 #include "global.h"
+#include "mappedselectionmodel.h"
+#include "networkmodel.h"
 
 #include <QAbstractItemView>
 
@@ -65,6 +66,11 @@ void BufferModel::setCurrentIndex(const QModelIndex &newCurrent) {
   _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));
+}
+
 void BufferModel::debug_currentChanged(QModelIndex current, QModelIndex previous) {
   Q_UNUSED(previous);
   qDebug() << "Switched current Buffer: " << current << current.data().toString() << "Buffer:" << current.data(NetworkModel::BufferIdRole).value<BufferId>();