/***************************************************************************
- * Copyright (C) 2005-09 by the Quassel Project *
+ * Copyright (C) 2005-2020 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
#include "buffermodel.h"
#include "networkmodel.h"
#include "quassel.h"
-BufferModel::BufferModel(NetworkModel *parent)
- : QSortFilterProxyModel(parent),
- _selectionModelSynchronizer(this)
+BufferModel::BufferModel(NetworkModel* parent)
+ : QSortFilterProxyModel(parent)
+ , _selectionModelSynchronizer(this)
{
setSourceModel(parent);
if (Quassel::isOptionSet("debugbufferswitches")) {
- connect(_selectionModelSynchronizer.selectionModel(), SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)),
- this, SLOT(debug_currentChanged(const QModelIndex &, const QModelIndex &)));
+ connect(_selectionModelSynchronizer.selectionModel(), &QItemSelectionModel::currentChanged, this, &BufferModel::debug_currentChanged);
}
- connect(Client::instance(), SIGNAL(networkCreated(NetworkId)), this, SLOT(newNetwork(NetworkId)));
- connect(this, SIGNAL(rowsInserted(const QModelIndex &, int, int)), this, SLOT(newBuffers(const QModelIndex &, int, int)));
+ connect(Client::instance(), &Client::networkCreated, this, &BufferModel::newNetwork);
+ connect(this, &QAbstractItemModel::rowsInserted, this, &BufferModel::newBuffers);
}
-
-bool BufferModel::filterAcceptsRow(int sourceRow, const QModelIndex &parent) const
+bool BufferModel::filterAcceptsRow(int sourceRow, const QModelIndex& parent) const
{
Q_UNUSED(sourceRow);
// only networks and buffers are allowed
return false;
}
-
void BufferModel::newNetwork(NetworkId id)
{
- const Network *net = Client::network(id);
+ const Network* net = Client::network(id);
Q_ASSERT(net);
- connect(net, SIGNAL(connectionStateSet(Network::ConnectionState)),
- this, SLOT(networkConnectionChanged(Network::ConnectionState)));
+ connect(net, &Network::connectionStateSet, this, &BufferModel::networkConnectionChanged);
}
-
void BufferModel::networkConnectionChanged(Network::ConnectionState state)
{
switch (state) {
if (currentIndex().isValid())
return;
{
- Network *net = qobject_cast<Network *>(sender());
+ auto* net = qobject_cast<Network*>(sender());
Q_ASSERT(net);
setCurrentIndex(mapFromSource(Client::networkModel()->networkIndex(net->networkId())));
}
}
}
-
-void BufferModel::synchronizeView(QAbstractItemView *view)
+void BufferModel::synchronizeView(QAbstractItemView* view)
{
_selectionModelSynchronizer.synchronizeSelectionModel(view->selectionModel());
}
-
-void BufferModel::setCurrentIndex(const QModelIndex &newCurrent)
+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)
+void BufferModel::switchToBuffer(const BufferId& bufferId)
{
QModelIndex source_index = Client::networkModel()->bufferIndex(bufferId);
setCurrentIndex(mapFromSource(source_index));
}
-
-void BufferModel::switchToBufferIndex(const QModelIndex &bufferIdx)
+void BufferModel::switchToBufferIndex(const QModelIndex& bufferIdx)
{
// we accept indexes that directly belong to us or our parent - nothing else
if (bufferIdx.model() == this) {
qWarning() << "BufferModel::switchToBufferIndex(const QModelIndex &):" << bufferIdx << "does not belong to BufferModel or NetworkModel";
}
-
-void BufferModel::switchToOrJoinBuffer(NetworkId networkId, const QString &name, bool isQuery)
+void BufferModel::switchToOrJoinBuffer(NetworkId networkId, const QString& name, bool isQuery)
{
BufferId bufId = Client::networkModel()->bufferId(networkId, name);
if (bufId.isValid()) {
}
}
-
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>();
+ qDebug() << "Switched current Buffer: " << current << current.data().toString()
+ << "Buffer:" << current.data(NetworkModel::BufferIdRole).value<BufferId>();
}
-
-void BufferModel::newBuffers(const QModelIndex &parent, int start, int end)
+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);
+ QModelIndex child = parent.model()->index(row, 0, parent);
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()) {
+ 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)
+void BufferModel::switchToBufferAfterCreation(NetworkId network, const QString& name)
{
_bufferToSwitchTo = qMakePair(network, name);
}