X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Fnetworkinfo.cpp;h=0ef2f1f69749bb56965ef64bbc8462bdca18b570;hb=5df99c1ab83baf3a6caef7e49177f84bd48d127e;hp=5690a2642bf2688426f250669a6ac2657e039093;hpb=a30b5992589c96fcb1eca1af36465a955d2cf6ff;p=quassel.git diff --git a/src/common/networkinfo.cpp b/src/common/networkinfo.cpp index 5690a264..0ef2f1f6 100644 --- a/src/common/networkinfo.cpp +++ b/src/common/networkinfo.cpp @@ -183,6 +183,14 @@ IrcUser *NetworkInfo::newIrcUser(const QString &hostmask) { return _ircUsers[nick]; } +void NetworkInfo::removeIrcUser(QString nick) { + IrcUser *ircuser; + if((ircuser = ircUser(nick)) != 0) { + ircuser->deleteLater(); + emit ircUserRemoved(nick); + } +} + IrcUser *NetworkInfo::ircUser(const QString &nickname) const { if(_ircUsers.contains(nickname)) return _ircUsers[nickname]; @@ -331,7 +339,9 @@ void NetworkInfo::ircUserNickChanged(QString newnick) { void NetworkInfo::ircUserDestroyed() { IrcUser *ircuser = static_cast(sender()); Q_ASSERT(ircuser); - _ircUsers.remove(_ircUsers.key(ircuser)); + QString nick = _ircUsers.key(ircuser); + _ircUsers.remove(nick); + emit ircUserRemoved(nick); } void NetworkInfo::channelDestroyed() {