X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fnetworkmodel.cpp;h=12410201204f71d95be4e08d737b7348cbae222e;hp=163493647cd27c1a8fb31e9f22d7613306df51e8;hb=8f2ee00f4edef1693628d3af0bdee84d725eb754;hpb=39328183a6a87c6eb10a9dbbffcd5d65bf154a1f diff --git a/src/client/networkmodel.cpp b/src/client/networkmodel.cpp index 16349364..12410201 100644 --- a/src/client/networkmodel.cpp +++ b/src/client/networkmodel.cpp @@ -22,6 +22,7 @@ #include #include +#include #include "buffermodel.h" #include "buffersettings.h" @@ -45,8 +46,8 @@ NetworkItem::NetworkItem(const NetworkId &netid, AbstractTreeItem *parent) // use networkDataChanged() instead. Otherwise you will end up in a infinite loop // as we "sync" the dataChanged() signals of NetworkItem and StatusBufferItem setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable); - connect(this, SIGNAL(networkDataChanged(int)), this, SIGNAL(dataChanged(int))); - connect(this, SIGNAL(beginRemoveChilds(int, int)), this, SLOT(onBeginRemoveChilds(int, int))); + connect(this, &NetworkItem::networkDataChanged, this, &NetworkItem::dataChanged); + connect(this, &NetworkItem::beginRemoveChilds, this, &NetworkItem::onBeginRemoveChilds); } @@ -114,9 +115,9 @@ BufferItem *NetworkItem::bufferItem(const BufferInfo &bufferInfo) case BufferInfo::StatusBuffer: _statusBufferItem = new StatusBufferItem(bufferInfo, this); bufferItem = _statusBufferItem; - disconnect(this, SIGNAL(networkDataChanged(int)), this, SIGNAL(dataChanged(int))); - connect(this, SIGNAL(networkDataChanged(int)), bufferItem, SIGNAL(dataChanged(int))); - connect(bufferItem, SIGNAL(dataChanged(int)), this, SIGNAL(dataChanged(int))); + disconnect(this, &NetworkItem::networkDataChanged, this, &NetworkItem::dataChanged); + connect(this, &NetworkItem::networkDataChanged, bufferItem, &BufferItem::dataChanged); + connect(bufferItem, &BufferItem::dataChanged, this, &NetworkItem::dataChanged); break; case BufferInfo::ChannelBuffer: bufferItem = new ChannelBufferItem(bufferInfo, this); @@ -134,7 +135,7 @@ BufferItem *NetworkItem::bufferItem(const BufferInfo &bufferInfo) switch (bufferInfo.type()) { case BufferInfo::ChannelBuffer: { - ChannelBufferItem *channelBufferItem = static_cast(bufferItem); + auto *channelBufferItem = static_cast(bufferItem); if (_network) { IrcChannel *ircChannel = _network->ircChannel(bufferInfo.bufferName()); if (ircChannel) @@ -165,18 +166,18 @@ void NetworkItem::attachNetwork(Network *network) _network = network; - connect(network, SIGNAL(networkNameSet(QString)), - this, SLOT(setNetworkName(QString))); - connect(network, SIGNAL(currentServerSet(QString)), - this, SLOT(setCurrentServer(QString))); - connect(network, SIGNAL(ircChannelAdded(IrcChannel *)), - this, SLOT(attachIrcChannel(IrcChannel *))); - connect(network, SIGNAL(ircUserAdded(IrcUser *)), - this, SLOT(attachIrcUser(IrcUser *))); - connect(network, SIGNAL(connectedSet(bool)), - this, SIGNAL(networkDataChanged())); - connect(network, SIGNAL(destroyed()), - this, SLOT(onNetworkDestroyed())); + connect(network, &Network::networkNameSet, + this, &NetworkItem::setNetworkName); + connect(network, &Network::currentServerSet, + this, &NetworkItem::setCurrentServer); + connect(network, &Network::ircChannelAdded, + this, &NetworkItem::attachIrcChannel); + connect(network, &Network::ircUserAdded, + this, &NetworkItem::attachIrcUser); + connect(network, &Network::connectedSet, + this, [this]() { emit networkDataChanged(); }); + connect(network, &QObject::destroyed, + this, &NetworkItem::onNetworkDestroyed); emit networkDataChanged(); } @@ -262,7 +263,7 @@ QString NetworkItem::toolTip(int column) const void NetworkItem::onBeginRemoveChilds(int start, int end) { for (int i = start; i <= end; i++) { - StatusBufferItem *statusBufferItem = qobject_cast(child(i)); + auto *statusBufferItem = qobject_cast(child(i)); if (statusBufferItem) { _statusBufferItem = nullptr; break; @@ -282,9 +283,9 @@ void NetworkItem::onNetworkDestroyed() /***************************************** * Fancy Buffer Items *****************************************/ -BufferItem::BufferItem(const BufferInfo &bufferInfo, AbstractTreeItem *parent) +BufferItem::BufferItem(BufferInfo bufferInfo, AbstractTreeItem *parent) : PropertyMapItem(parent), - _bufferInfo(bufferInfo), + _bufferInfo(std::move(bufferInfo)), _activity(BufferInfo::NoActivity) { setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsDragEnabled); @@ -485,7 +486,7 @@ StatusBufferItem::StatusBufferItem(const BufferInfo &bufferInfo, NetworkItem *pa QString StatusBufferItem::toolTip(int column) const { - NetworkItem *networkItem = qobject_cast(parent()); + auto *networkItem = qobject_cast(parent()); if (networkItem) return networkItem->toolTip(column); else @@ -697,10 +698,10 @@ void QueryBufferItem::setIrcUser(IrcUser *ircUser) } if (ircUser) { - connect(ircUser, SIGNAL(destroyed(QObject*)), SLOT(removeIrcUser())); - connect(ircUser, SIGNAL(quited()), this, SLOT(removeIrcUser())); - connect(ircUser, SIGNAL(awaySet(bool)), this, SIGNAL(dataChanged())); - connect(ircUser, SIGNAL(encryptedSet(bool)), this, SLOT(setEncrypted(bool))); + connect(ircUser, &IrcUser::destroyed, this, &QueryBufferItem::removeIrcUser); + connect(ircUser, &IrcUser::quited, this, &QueryBufferItem::removeIrcUser); + connect(ircUser, &IrcUser::awaySet, this, [this]() { emit dataChanged(); }); + connect(ircUser, &IrcUser::encryptedSet, this, &BufferItem::setEncrypted); } _ircUser = ircUser; @@ -808,24 +809,15 @@ void ChannelBufferItem::attachIrcChannel(IrcChannel *ircChannel) _ircChannel = ircChannel; - connect(ircChannel, SIGNAL(destroyed(QObject*)), - this, SLOT(ircChannelDestroyed())); - connect(ircChannel, SIGNAL(topicSet(QString)), - this, SLOT(setTopic(QString))); - connect(ircChannel, SIGNAL(encryptedSet(bool)), - this, SLOT(setEncrypted(bool))); - connect(ircChannel, SIGNAL(ircUsersJoined(QList )), - this, SLOT(join(QList ))); - connect(ircChannel, SIGNAL(ircUserParted(IrcUser *)), - this, SLOT(part(IrcUser *))); - connect(ircChannel, SIGNAL(parted()), - this, SLOT(ircChannelParted())); - connect(ircChannel, SIGNAL(ircUserModesSet(IrcUser *, QString)), - this, SLOT(userModeChanged(IrcUser *))); - connect(ircChannel, SIGNAL(ircUserModeAdded(IrcUser *, QString)), - this, SLOT(userModeChanged(IrcUser *))); - connect(ircChannel, SIGNAL(ircUserModeRemoved(IrcUser *, QString)), - this, SLOT(userModeChanged(IrcUser *))); + connect(ircChannel, &QObject::destroyed, this, &ChannelBufferItem::ircChannelDestroyed); + connect(ircChannel, &IrcChannel::topicSet, this, &ChannelBufferItem::setTopic); + connect(ircChannel, &IrcChannel::encryptedSet, this, &ChannelBufferItem::setEncrypted); + connect(ircChannel, &IrcChannel::ircUsersJoined, this, &ChannelBufferItem::join); + connect(ircChannel, &IrcChannel::ircUserParted, this, &ChannelBufferItem::part); + connect(ircChannel, &IrcChannel::parted, this, &ChannelBufferItem::ircChannelParted); + connect(ircChannel, &IrcChannel::ircUserModesSet, this, &ChannelBufferItem::userModeChanged); + connect(ircChannel, &IrcChannel::ircUserModeAdded, this, &ChannelBufferItem::userModeChanged); + connect(ircChannel, &IrcChannel::ircUserModeRemoved, this, &ChannelBufferItem::userModeChanged); if (!ircChannel->ircUsers().isEmpty()) join(ircChannel->ircUsers()); @@ -974,7 +966,7 @@ void ChannelBufferItem::userModeChanged(IrcUser *ircUser) // find the item that needs reparenting IrcUserItem *ircUserItem = nullptr; for (int i = 0; i < childCount(); i++) { - UserCategoryItem *oldCategoryItem = qobject_cast(child(i)); + auto *oldCategoryItem = qobject_cast(child(i)); Q_ASSERT(oldCategoryItem); IrcUserItem *userItem = oldCategoryItem->findIrcUser(ircUser); if (userItem) { @@ -1064,7 +1056,7 @@ void UserCategoryItem::addUsers(const QList &ircUsers) bool UserCategoryItem::removeUser(IrcUser *ircUser) { IrcUserItem *userItem = findIrcUser(ircUser); - bool success = (bool)userItem; + auto success = (bool)userItem; if (success) { removeChild(userItem); emit dataChanged(0); @@ -1112,9 +1104,9 @@ IrcUserItem::IrcUserItem(IrcUser *ircUser, AbstractTreeItem *parent) _ircUser(ircUser) { setObjectName(ircUser->nick()); - connect(ircUser, SIGNAL(quited()), this, SLOT(ircUserQuited())); - connect(ircUser, SIGNAL(nickSet(QString)), this, SIGNAL(dataChanged())); - connect(ircUser, SIGNAL(awaySet(bool)), this, SIGNAL(dataChanged())); + connect(ircUser, &IrcUser::quited, this, &IrcUserItem::ircUserQuited); + connect(ircUser, &IrcUser::nickSet, this, [this]() { emit dataChanged(); }); + connect(ircUser, &IrcUser::awaySet, this, [this]() { emit dataChanged(); }); } @@ -1270,11 +1262,11 @@ QString IrcUserItem::channelModes() const { // IrcUserItems are parented to UserCategoryItem, which are parented to ChannelBufferItem. // We want the channel buffer item in order to get the channel-specific user modes. - UserCategoryItem *category = qobject_cast(parent()); + auto *category = qobject_cast(parent()); if (!category) return QString(); - ChannelBufferItem *channel = qobject_cast(category->parent()); + auto *channel = qobject_cast(category->parent()); if (!channel) return QString(); @@ -1288,15 +1280,13 @@ QString IrcUserItem::channelModes() const NetworkModel::NetworkModel(QObject *parent) : TreeModel(NetworkModel::defaultHeader(), parent) { - connect(this, SIGNAL(rowsInserted(const QModelIndex &, int, int)), - this, SLOT(checkForNewBuffers(const QModelIndex &, int, int))); - connect(this, SIGNAL(rowsAboutToBeRemoved(const QModelIndex &, int, int)), - this, SLOT(checkForRemovedBuffers(const QModelIndex &, int, int))); + connect(this, &NetworkModel::rowsInserted, this, &NetworkModel::checkForNewBuffers); + connect(this, &NetworkModel::rowsAboutToBeRemoved, this, &NetworkModel::checkForRemovedBuffers); BufferSettings defaultSettings; - defaultSettings.notify("UserNoticesTarget", this, SLOT(messageRedirectionSettingsChanged())); - defaultSettings.notify("ServerNoticesTarget", this, SLOT(messageRedirectionSettingsChanged())); - defaultSettings.notify("ErrorMsgsTarget", this, SLOT(messageRedirectionSettingsChanged())); + defaultSettings.notify("UserNoticesTarget", this, &NetworkModel::messageRedirectionSettingsChanged); + defaultSettings.notify("ServerNoticesTarget", this, &NetworkModel::messageRedirectionSettingsChanged); + defaultSettings.notify("ErrorMsgsTarget", this, &NetworkModel::messageRedirectionSettingsChanged); messageRedirectionSettingsChanged(); } @@ -1333,7 +1323,7 @@ QModelIndex NetworkModel::networkIndex(NetworkId networkId) { int netRow = networkRow(networkId); if (netRow == -1) - return QModelIndex(); + return {}; else return indexByItem(qobject_cast(rootItem->child(netRow))); } @@ -1373,7 +1363,7 @@ void NetworkModel::networkRemoved(const NetworkId &networkId) QModelIndex NetworkModel::bufferIndex(BufferId bufferId) { if (!_bufferItemCache.contains(bufferId)) - return QModelIndex(); + return {}; return indexByItem(_bufferItemCache[bufferId]); } @@ -1438,7 +1428,7 @@ QList > NetworkModel::mimeDataToBufferList(const QMim QMimeData *NetworkModel::mimeData(const QModelIndexList &indexes) const { - QMimeData *mimeData = new QMimeData(); + auto *mimeData = new QMimeData(); QStringList bufferlist; QString netid, uid, bufferid; @@ -1484,7 +1474,7 @@ void NetworkModel::removeBuffer(BufferId bufferId) MsgId NetworkModel::lastSeenMsgId(BufferId bufferId) const { if (!_bufferItemCache.contains(bufferId)) - return MsgId(); + return {}; return _bufferItemCache[bufferId]->lastSeenMsgId(); } @@ -1493,7 +1483,7 @@ MsgId NetworkModel::lastSeenMsgId(BufferId bufferId) const MsgId NetworkModel::markerLineMsgId(BufferId bufferId) const { if (!_bufferItemCache.contains(bufferId)) - return MsgId(); + return {}; return _bufferItemCache[bufferId]->markerLineMsgId(); } @@ -1506,7 +1496,7 @@ MsgId NetworkModel::lastSeenMsgId(const BufferId &bufferId) if (!bufferItem) { qDebug() << "NetworkModel::lastSeenMsgId(): buffer is unknown:" << bufferId; Client::purgeKnownBufferIds(); - return MsgId(); + return {}; } return bufferItem->lastSeenMsgId(); } @@ -1687,13 +1677,13 @@ BufferInfo NetworkModel::bufferInfo(BufferId bufferId) const NetworkId NetworkModel::networkId(BufferId bufferId) const { if (!_bufferItemCache.contains(bufferId)) - return NetworkId(); + return {}; - NetworkItem *netItem = qobject_cast(_bufferItemCache[bufferId]->parent()); + auto *netItem = qobject_cast(_bufferItemCache[bufferId]->parent()); if (netItem) return netItem->networkId(); else - return NetworkId(); + return {}; } @@ -1702,7 +1692,7 @@ QString NetworkModel::networkName(BufferId bufferId) const if (!_bufferItemCache.contains(bufferId)) return QString(); - NetworkItem *netItem = qobject_cast(_bufferItemCache[bufferId]->parent()); + auto *netItem = qobject_cast(_bufferItemCache[bufferId]->parent()); if (netItem) return netItem->networkName(); else @@ -1714,14 +1704,14 @@ BufferId NetworkModel::bufferId(NetworkId networkId, const QString &bufferName, { const NetworkItem *netItem = findNetworkItem(networkId); if (!netItem) - return BufferId(); + return {}; for (int i = 0; i < netItem->childCount(); i++) { - BufferItem *bufferItem = qobject_cast(netItem->child(i)); + auto *bufferItem = qobject_cast(netItem->child(i)); if (bufferItem && !bufferItem->bufferName().compare(bufferName, cs)) return bufferItem->bufferId(); } - return BufferId(); + return {}; }