QString nick(nickFromMask(hostmask).toLower());
if(!_ircUsers.contains(nick)) {
IrcUser *ircuser = new IrcUser(hostmask, this);
- // mark IrcUser as already initialized to keep the SignalProxy from requesting initData
- //if(isInitialized())
- // ircuser->setInitialized();
+
if(proxy())
proxy()->synchronize(ircuser);
else
IrcChannel *Network::newIrcChannel(const QString &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(isInitialized())
- // channel->setInitialized();
if(proxy())
proxy()->synchronize(channel);
}
QStringList Network::initIrcChannels() const {
- return _ircChannels.keys();
+ QStringList channels;
+ QHash<QString, IrcChannel *>::const_iterator iter = _ircChannels.constBegin();
+ while(iter != _ircChannels.constEnd()) {
+ channels << iter.value()->name();
+ iter++;
+ }
+ return channels;
}
void Network::initSetSupports(const QVariantMap &supports) {
}
void Network::initSetIrcChannels(const QStringList &channels) {
- // FIXME This does not work correctly, "received data for unknown User" triggers
- // So we disable this for now
- return;
-
if(!_ircChannels.empty())
return;
foreach(QString channel, channels)