modernize: Replace most remaining old-style connects by PMF ones
[quassel.git] / src / common / ircchannel.cpp
index 43e1dee..37318d9 100644 (file)
@@ -30,7 +30,6 @@
 
 #include <QDebug>
 
-INIT_SYNCABLE_OBJECT(IrcChannel)
 IrcChannel::IrcChannel(const QString &channelname, Network *network)
     : SyncableObject(network),
     _initialized(false),
@@ -38,30 +37,25 @@ IrcChannel::IrcChannel(const QString &channelname, Network *network)
     _topic(QString()),
     _encrypted(false),
     _network(network),
-    _codecForEncoding(0),
-    _codecForDecoding(0)
+    _codecForEncoding(nullptr),
+    _codecForDecoding(nullptr)
 {
     setObjectName(QString::number(network->networkId().toInt()) + "/" +  channelname);
 }
 
 
-IrcChannel::~IrcChannel()
-{
-}
-
-
 // ====================
 //  PUBLIC:
 // ====================
 bool IrcChannel::isKnownUser(IrcUser *ircuser) const
 {
-    if (ircuser == 0) {
+    if (ircuser == nullptr) {
         qWarning() << "Channel" << name() << "received IrcUser Nullpointer!";
         return false;
     }
 
     if (!_userModes.contains(ircuser)) {
-        qWarning() << "Channel" << name() << "received data for unknown User" << ircuser->nick();
+        // This can happen e.g. when disconnecting from a network, so don't log a warning
         return false;
     }
 
@@ -180,7 +174,9 @@ void IrcChannel::joinIrcUsers(const QList<IrcUser *> &users, const QStringList &
     IrcUser *ircuser;
     for (int i = 0; i < users.count(); i++) {
         ircuser = users[i];
-        if (!ircuser || _userModes.contains(ircuser)) {
+        if (!ircuser)
+            continue;
+        if (_userModes.contains(ircuser)) {
             if (sortedModes[i].count() > 1) {
                 // Multiple modes received, do it one at a time
                 // TODO Better way of syncing this without breaking protocol?
@@ -195,7 +191,7 @@ void IrcChannel::joinIrcUsers(const QList<IrcUser *> &users, const QStringList &
 
         _userModes[ircuser] = sortedModes[i];
         ircuser->joinChannel(this, true);
-        connect(ircuser, SIGNAL(nickSet(QString)), this, SLOT(ircUserNickSet(QString)));
+        connect(ircuser, &IrcUser::nickSet, this, selectOverload<QString>(&IrcChannel::ircUserNickSet));
 
         // connect(ircuser, SIGNAL(destroyed()), this, SLOT(ircUserDestroyed()));
         // If you wonder why there is no counterpart to ircUserJoined:
@@ -240,7 +236,7 @@ void IrcChannel::part(IrcUser *ircuser)
         ircuser->partChannel(this);
         // If you wonder why there is no counterpart to ircUserParted:
         // the joins are propagted by the ircuser. The signal ircUserParted is only for convenience
-        disconnect(ircuser, 0, this, 0);
+        disconnect(ircuser, nullptr, this, nullptr);
         emit ircUserParted(ircuser);
 
         if (network()->isMe(ircuser) || _userModes.isEmpty()) {
@@ -249,7 +245,7 @@ void IrcChannel::part(IrcUser *ircuser)
             QList<IrcUser *> users = _userModes.keys();
             _userModes.clear();
             foreach(IrcUser *user, users) {
-                disconnect(user, 0, this, 0);
+                disconnect(user, nullptr, this, nullptr);
                 user->partChannel(this);
             }
             emit parted();
@@ -428,7 +424,7 @@ void IrcChannel::initSetChanModes(const QVariantMap &channelModes)
 
 void IrcChannel::ircUserDestroyed()
 {
-    IrcUser *ircUser = static_cast<IrcUser *>(sender());
+    auto *ircUser = static_cast<IrcUser *>(sender());
     Q_ASSERT(ircUser);
     _userModes.remove(ircUser);
     // no further propagation.
@@ -438,7 +434,7 @@ void IrcChannel::ircUserDestroyed()
 
 void IrcChannel::ircUserNickSet(QString nick)
 {
-    IrcUser *ircUser = qobject_cast<IrcUser *>(sender());
+    auto *ircUser = qobject_cast<IrcUser *>(sender());
     Q_ASSERT(ircUser);
     emit ircUserNickSet(ircUser, nick);
 }