#include "buffermodel.h"
-#include "networkmodel.h"
-#include "mappedselectionmodel.h"
+#include "client.h"
#include "global.h"
+#include "mappedselectionmodel.h"
+#include "networkmodel.h"
#include <QAbstractItemView>
_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>();
void synchronizeSelectionModel(MappedSelectionModel *selectionModel);
void synchronizeView(QAbstractItemView *view);
+public slots:
inline QModelIndex currentIndex() { return standardSelectionModel()->currentIndex(); }
void setCurrentIndex(const QModelIndex &newCurrent);
+ void switchToBuffer(const BufferId &bufferId);
private slots:
void debug_currentChanged(QModelIndex current, QModelIndex previous);
if(!bufferId.isValid())
return;
- QModelIndex bufferIdx = Client::networkModel()->bufferIndex(bufferId);
- if(!bufferIdx.isValid())
- return;
-
- Client::bufferModel()->setCurrentIndex(Client::bufferModel()->mapFromSource(bufferIdx));
+ Client::bufferModel()->switchToBuffer(bufferId);
}
void ChatMonitorView::showFieldsChanged(bool checked) {