#include <QDebug>
-INIT_SYNCABLE_OBJECT(IrcChannel)
IrcChannel::IrcChannel(const QString &channelname, Network *network)
: SyncableObject(network),
_initialized(false),
_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;
}
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?
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()) {
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();
void IrcChannel::ircUserDestroyed()
{
- IrcUser *ircUser = static_cast<IrcUser *>(sender());
+ auto *ircUser = static_cast<IrcUser *>(sender());
Q_ASSERT(ircUser);
_userModes.remove(ircUser);
// no further propagation.
void IrcChannel::ircUserNickSet(QString nick)
{
- IrcUser *ircUser = qobject_cast<IrcUser *>(sender());
+ auto *ircUser = qobject_cast<IrcUser *>(sender());
Q_ASSERT(ircUser);
emit ircUserNickSet(ircUser, nick);
}