- if(blockSize > 0) {
- emit recvPartialItem(socket->bytesAvailable(), blockSize);
- }
-}
-
-void Client::networkConnected(uint netid) {
- // TODO: create statusBuffer / switch to networkids
- //BufferInfo id = statusBufferInfo(net);
- //Buffer *b = buffer(id);
- //b->setActive(true);
-
- NetworkInfo *netinfo = new NetworkInfo(netid, this);
- netinfo->setProxy(signalProxy());
- networkModel()->attachNetworkInfo(netinfo);
-
- if(!isConnected()) {
- connect(netinfo, SIGNAL(initDone()), this, SLOT(updateCoreConnectionProgress()));
- 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;
-}
-
-void Client::networkDisconnected(uint networkid) {
- foreach(Buffer *buffer, buffers()) {
- if(buffer->bufferInfo().networkId() != networkid)
- continue;
-
- //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!";
- updateCoreConnectionProgress();
- }
-}
-
-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);
-}
-
-void Client::bufferDestroyed() {
- Buffer *buffer = static_cast<Buffer *>(sender());
- uint bufferUid = buffer->uid();
- if(_buffers.contains(bufferUid))
- _buffers.remove(bufferUid);
-}
-
-void Client::networkInfoDestroyed() {
- NetworkInfo *netinfo = static_cast<NetworkInfo *>(sender());
- uint networkId = netinfo->networkId();
- if(_networkInfo.contains(networkId))
- _networkInfo.remove(networkId);
-}
-
-void Client::recvMessage(const Message &msg) {
- Buffer *b = buffer(msg.buffer());
-
- Buffer::ActivityLevel level = Buffer::OtherActivity;
- if(msg.type() == Message::Plain || msg.type() == Message::Notice){
- level |= Buffer::NewMessage;
- }
- if(msg.flags() & Message::Highlight){
- level |= Buffer::Highlight;
- }
- emit bufferActivity(level, b);
-
- b->appendMsg(msg);