X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Fnetworkinfo.cpp;h=0ef2f1f69749bb56965ef64bbc8462bdca18b570;hb=5df99c1ab83baf3a6caef7e49177f84bd48d127e;hp=75a45c0ef5b4517e735b962b048e20413ec618c1;hpb=7795adca52f35204f8c354da6fcc5d8e8ee35531;p=quassel.git diff --git a/src/common/networkinfo.cpp b/src/common/networkinfo.cpp index 75a45c0e..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() { @@ -356,8 +366,8 @@ void NetworkInfo::determinePrefixes() { _prefixes = PREFIX.section(")", 1); _prefixModes = PREFIX.mid(1).section(")", 0, 0); } else { - QString defaultPrefixes("@%+"); - QString defaultPrefixModes("ohv"); + QString defaultPrefixes("~&@%+"); + QString defaultPrefixModes("qaohv"); // we just assume that in PREFIX are only prefix chars stored for(int i = 0; i < defaultPrefixes.size(); i++) {