/***************************************************************************
- * 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 *
#include "client.h"
-#include "networkinfo.h"
-#include "ircuser.h"
-#include "ircchannel.h"
-
-#include "message.h"
-
#include "bufferinfo.h"
#include "buffertreemodel.h"
+#include "global.h"
+#include "ircchannel.h"
+#include "ircuser.h"
+#include "message.h"
+#include "networkinfo.h"
#include "quasselui.h"
#include "signalproxy.h"
#include "util.h"
// FIXME switch to netids!
// WHEN IS THIS NEEDED ANYHOW!?
+// ...only for finding the Buffer for a channel, I guess...
BufferInfo Client::bufferInfo(QString net, QString buf) {
foreach(Buffer *buffer_, buffers()) {
BufferInfo bufferInfo = buffer_->bufferInfo();
- if(bufferInfo.network() == net && bufferInfo.buffer() == buf)
+ if(!bufferInfo.network().compare(net, Qt::CaseInsensitive) && !bufferInfo.buffer().compare(buf, Qt::CaseInsensitive))
return bufferInfo;
}
Q_ASSERT(false); // should never happen!
}
Client::~Client() {
+
}
void Client::init() {
net->deleteLater();
}
Q_ASSERT(_networkInfo.isEmpty());
-
+
coreConnectionInfo.clear();
sessionData.clear();
layoutQueue.clear();
connect(netinfo, SIGNAL(ircUserInitDone()), this, SLOT(updateCoreConnectionProgress()));
connect(netinfo, SIGNAL(ircChannelInitDone()), this, SLOT(updateCoreConnectionProgress()));
}
+ connect(netinfo, SIGNAL(ircChannelAdded(QString)), this, SLOT(ircChannelAdded(QString)));
connect(netinfo, SIGNAL(destroyed()), this, SLOT(networkInfoDestroyed()));
_networkInfo[netid] = netinfo;
}
//buffer->displayMsg(Message(bufferid, Message::Server, tr("Server disconnected."))); FIXME
buffer->setActive(false);
}
-
+
Q_ASSERT(networkInfo(networkid));
if(!networkInfo(networkid)->initialized()) {
qDebug() << "Network" << networkid << "disconnected while not yet initialized!";
}
}
+void Client::ircChannelAdded(QString chanName) {
+ NetworkInfo *netInfo = qobject_cast<NetworkInfo*>(sender());
+ Q_ASSERT(netInfo);
+ Buffer *buf = buffer(bufferInfo(netInfo->networkName(), chanName));
+ Q_ASSERT(buf);
+ buf->setIrcChannel(netInfo->ircChannel(chanName));
+
+}
+
void Client::updateBufferInfo(BufferInfo id) {
buffer(id)->updateBufferInfo(id);
}