return _ircUsers[nick];
}
+void NetworkInfo::removeIrcUser(IrcUser *ircuser) {
+ QString nick = _ircUsers.key(ircuser);
+ if(nick.isNull())
+ return;
+
+ _ircUsers.remove(nick);
+ ircuser->deleteLater();
+ emit ircUserRemoved(nick);
+}
+
void NetworkInfo::removeIrcUser(QString nick) {
IrcUser *ircuser;
- if((ircuser = ircUser(nick)) != 0) {
- ircuser->deleteLater();
- emit ircUserRemoved(nick);
- }
+ if((ircuser = ircUser(nick)) != 0)
+ removeIrcUser(ircuser);
}
IrcUser *NetworkInfo::ircUser(const QString &nickname) const {
void NetworkInfo::ircUserDestroyed() {
IrcUser *ircuser = static_cast<IrcUser *>(sender());
Q_ASSERT(ircuser);
- QString nick = _ircUsers.key(ircuser);
- _ircUsers.remove(nick);
- emit ircUserRemoved(nick);
+ removeIrcUser(ircuser);
}
void NetworkInfo::channelDestroyed() {