-void BufferModel::currentChanged(const QModelIndex ¤t, const QModelIndex &previous) {
- Q_UNUSED(current);
- setData(previous, qVariantFromValue((int)BufferItem::NoActivity), NetworkModel::BufferActivityRole);
+
+void BufferModel::newBuffers(const QModelIndex &parent, int start, int end)
+{
+ if (parent.data(NetworkModel::ItemTypeRole) != NetworkModel::NetworkItemType)
+ return;
+
+ for (int row = start; row <= end; row++) {
+ QModelIndex child = parent.child(row, 0);
+ newBuffer(child.data(NetworkModel::BufferIdRole).value<BufferId>());
+ }
+}
+
+
+void BufferModel::newBuffer(BufferId bufferId)
+{
+ BufferInfo bufferInfo = Client::networkModel()->bufferInfo(bufferId);
+ if (_bufferToSwitchTo.first == bufferInfo.networkId()
+ && _bufferToSwitchTo.second == bufferInfo.bufferName()) {
+ _bufferToSwitchTo.first = 0;
+ _bufferToSwitchTo.second.clear();
+ switchToBuffer(bufferId);
+ }
+}
+
+
+void BufferModel::switchToBufferAfterCreation(NetworkId network, const QString &name)
+{
+ _bufferToSwitchTo = qMakePair(network, name);