#include "buffermodel.h"
+#include <QAbstractItemView>
+
#include "client.h"
-#include "global.h"
#include "mappedselectionmodel.h"
#include "networkmodel.h"
-
-#include <QAbstractItemView>
+#include "quassel.h"
BufferModel::BufferModel(NetworkModel *parent)
: QSortFilterProxyModel(parent),
_selectionModelSynchronizer(this)
{
setSourceModel(parent);
- if(Global::parser.isSet("debugbufferswitches")) {
+ if(Quassel::isOptionSet("debugbufferswitches")) {
connect(_selectionModelSynchronizer.selectionModel(), SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)),
this, SLOT(debug_currentChanged(const QModelIndex &, const QModelIndex &)));
}
setCurrentIndex(mapFromSource(source_index));
}
+void BufferModel::switchToBufferIndex(const QModelIndex &bufferIdx) {
+ // we accept indexes that directly belong to us or our parent - nothing else
+ if(bufferIdx.model() == this) {
+ setCurrentIndex(bufferIdx);
+ return;
+ }
+
+ if(bufferIdx.model() == sourceModel()) {
+ setCurrentIndex(mapFromSource(bufferIdx));
+ return;
+ }
+
+ qWarning() << "BufferModel::switchToBufferIndex(const QModelIndex &):" << bufferIdx << "does not belong to BufferModel or NetworkModel";
+}
+
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>();