/***************************************************************************
- * Copyright (C) 2005-07 by the Quassel IRC Team *
+ * Copyright (C) 2005-08 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
#include "message.h"
#include "networkinfo.h"
#include "networkmodel.h"
+#include "buffermodel.h"
#include "quasselui.h"
#include "signalproxy.h"
#include "util.h"
}
Client::Client(QObject *parent)
- : QObject(parent),
+ : QObject(parent),
socket(0),
_signalProxy(new SignalProxy(SignalProxy::Client, this)),
mainUi(0),
_networkModel(0),
+ _bufferModel(0),
connectedToCore(false)
{
-
}
Client::~Client() {
-
}
void Client::init() {
blockSize = 0;
_networkModel = new NetworkModel(this);
+ _bufferModel = new BufferModel(_networkModel);
connect(this, SIGNAL(bufferSelected(Buffer *)),
- _networkModel, SLOT(selectBuffer(Buffer *)));
+ _bufferModel, SLOT(selectBuffer(Buffer *)));
+
connect(this, SIGNAL(bufferUpdated(Buffer *)),
_networkModel, SLOT(bufferUpdated(Buffer *)));
connect(this, SIGNAL(bufferActivity(Buffer::ActivityLevel, Buffer *)),
return instance()->_networkModel;
}
+BufferModel *Client::bufferModel() {
+ return instance()->_bufferModel;
+}
+
+
SignalProxy *Client::signalProxy() {
return instance()->_signalProxy;
}
/* Clear internal data. Hopefully nothing relies on it at this point. */
_networkModel->clear();
- QHash<uint, Buffer *>::iterator bufferIter = _buffers.begin();
+ QHash<BufferId, Buffer *>::iterator bufferIter = _buffers.begin();
while(bufferIter != _buffers.end()) {
Buffer *buffer = bufferIter.value();
disconnect(buffer, SIGNAL(destroyed()), this, 0);
Q_ASSERT(_buffers.isEmpty());
- QHash<uint, NetworkInfo*>::iterator netIter = _networkInfo.begin();
+ QHash<NetworkId, NetworkInfo*>::iterator netIter = _networkInfo.begin();
while(netIter != _networkInfo.end()) {
NetworkInfo *net = netIter.value();
disconnect(net, SIGNAL(destroyed()), this, 0);
}
Q_ASSERT(_networkInfo.isEmpty());
+ QHash<IdentityId, Identity*>::iterator idIter = _identities.begin();
+ while(idIter != _identities.end()) {
+ Identity *id = idIter.value();
+ emit identityRemoved(id->id());
+ idIter = _identities.erase(idIter);
+ id->deleteLater();
+ }
+ Q_ASSERT(_identities.isEmpty());
+
coreConnectionInfo.clear();
sessionData.clear();
layoutQueue.clear();
// create identities
foreach(QVariant vid, sessionState["Identities"].toList()) {
- Identity *id = new Identity(vid.value<Identity>(), this);
- _identities[id->id()] = id;
- signalProxy()->synchronize(id);
- qDebug() << "received identity" << id->identityName();
+ coreIdentityCreated(vid.value<Identity>());
+ //Identity *id = new Identity(vid.value<Identity>(), this);
+ //_identities[id->id()] = id;
+ //signalProxy()->synchronize(id);
+ //qDebug() << "received identity" << id->identityName();
}
// store Buffer details