X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcommon%2Fnetworkinfo.cpp;h=8836a702a0e8b60b280ddb1c0a8f863988311fee;hb=fede47ff7b5098c66615be85024c2467f91f1d18;hp=a6e311a358f5eeaeba8361f8ae08ad2d5db25aa2;hpb=1cad7d10240a398c11af0043720d675e631f016f;p=quassel.git diff --git a/src/common/networkinfo.cpp b/src/common/networkinfo.cpp index a6e311a3..8836a702 100644 --- a/src/common/networkinfo.cpp +++ b/src/common/networkinfo.cpp @@ -1,11 +1,11 @@ /*************************************************************************** - * Copyright (C) 2005-07 by The Quassel Team * + * Copyright (C) 2005-07 by the Quassel IRC Team * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * + * (at your option) version 3. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * @@ -163,10 +163,9 @@ QString NetworkInfo::support(const QString ¶m) const { } IrcUser *NetworkInfo::newIrcUser(const QString &hostmask) { - QString nick(nickFromMask(hostmask)); + QString nick(nickFromMask(hostmask).toLower()); if(!_ircUsers.contains(nick)) { IrcUser *ircuser = new IrcUser(hostmask, this); - qDebug() << "new IrcUser()" << ircuser << hostmask; // mark IrcUser as already initialized to keep the SignalProxy from requesting initData if(initialized()) ircuser->setInitialized(); @@ -181,7 +180,7 @@ IrcUser *NetworkInfo::newIrcUser(const QString &hostmask) { _ircUsers[nick] = ircuser; emit ircUserAdded(hostmask); } - return _ircUsers[nick]; + return _ircUsers[nick]; } void NetworkInfo::removeIrcUser(IrcUser *ircuser) { @@ -200,7 +199,8 @@ void NetworkInfo::removeIrcUser(QString nick) { removeIrcUser(ircuser); } -IrcUser *NetworkInfo::ircUser(const QString &nickname) const { +IrcUser *NetworkInfo::ircUser(QString nickname) const { + nickname = nickname.toLower(); if(_ircUsers.contains(nickname)) return _ircUsers[nickname]; else @@ -212,7 +212,7 @@ QList NetworkInfo::ircUsers() const { } IrcChannel *NetworkInfo::newIrcChannel(const QString &channelname) { - if(!_ircChannels.contains(channelname)) { + if(!_ircChannels.contains(channelname.toLower())) { IrcChannel *channel = new IrcChannel(channelname, this); // mark IrcUser as already initialized to keep the SignalProxy from requesting initData if(initialized()) @@ -225,14 +225,15 @@ IrcChannel *NetworkInfo::newIrcChannel(const QString &channelname) { connect(channel, SIGNAL(initDone()), this, SIGNAL(ircChannelInitDone())); connect(channel, SIGNAL(destroyed()), this, SLOT(channelDestroyed())); - _ircChannels[channelname] = channel; + _ircChannels[channelname.toLower()] = channel; emit ircChannelAdded(channelname); } - return _ircChannels[channelname]; + return _ircChannels[channelname.toLower()]; } -IrcChannel *NetworkInfo::ircChannel(const QString &channelname) { +IrcChannel *NetworkInfo::ircChannel(QString channelname) { + channelname = channelname.toLower(); if(_ircChannels.contains(channelname)) return _ircChannels[channelname]; else @@ -321,16 +322,13 @@ void NetworkInfo::initSetChannels(const QStringList &channels) { } IrcUser *NetworkInfo::updateNickFromMask(const QString &mask) { - QString nick(nickFromMask(mask)); + QString nick(nickFromMask(mask).toLower()); IrcUser *ircuser; - qDebug() << "NetworkInfo::updateNickFromMask()" << mask; if(_ircUsers.contains(nick)) { - qDebug() << " is known User"; ircuser = _ircUsers[nick]; ircuser->updateHostmask(mask); } else { - qDebug() << " is new User"; ircuser = newIrcUser(mask); } return ircuser; @@ -341,17 +339,16 @@ void NetworkInfo::ircUserNickChanged(QString newnick) { if(oldnick.isNull()) return; + + if(newnick.toLower() != oldnick) _ircUsers[newnick.toLower()] = _ircUsers.take(oldnick); - _ircUsers[newnick] = _ircUsers.take(oldnick); - - if(myNick() == oldnick) + if(myNick().toLower() == oldnick) setMyNick(newnick); } void NetworkInfo::ircUserDestroyed() { IrcUser *ircuser = static_cast(sender()); Q_ASSERT(ircuser); - qDebug() << "NetworkInfo::ircUserDestroyed()" << ircuser; removeIrcUser(ircuser); }