X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fclient%2Fclient.cpp;h=4832549caaa85629163e941ba5873a0505457ac7;hb=6623fd2d46dadd0168e4e28d1db6944c26c2a773;hp=772601f54c928231916cfbf7496e0d5e028ed180;hpb=e7696b65e76e50137b8bab0ec3e43ce66a94f190;p=quassel.git diff --git a/src/client/client.cpp b/src/client/client.cpp index 772601f5..4832549c 100644 --- a/src/client/client.cpp +++ b/src/client/client.cpp @@ -29,7 +29,6 @@ #include "network.h" #include "networkmodel.h" #include "buffermodel.h" -#include "nickmodel.h" #include "quasselui.h" #include "signalproxy.h" #include "util.h" @@ -61,7 +60,6 @@ Client::Client(QObject *parent) mainUi(0), _networkModel(0), _bufferModel(0), - _nickModel(0), _connectedToCore(false), _syncedToCore(false) { @@ -79,7 +77,6 @@ void Client::init() { _networkModel, SLOT(bufferUpdated(BufferInfo))); _bufferModel = new BufferModel(_networkModel); - _nickModel = new NickModel(_networkModel); SignalProxy *p = signalProxy(); p->attachSignal(this, SIGNAL(sendSessionData(const QString &, const QVariant &)), @@ -106,13 +103,13 @@ void Client::init() { p->attachSignal(this, SIGNAL(requestRemoveIdentity(IdentityId)), SIGNAL(removeIdentity(IdentityId))); p->attachSlot(SIGNAL(identityCreated(const Identity &)), this, SLOT(coreIdentityCreated(const Identity &))); p->attachSlot(SIGNAL(identityRemoved(IdentityId)), this, SLOT(coreIdentityRemoved(IdentityId))); -/* + p->attachSignal(this, SIGNAL(requestCreateNetwork(const NetworkInfo &)), SIGNAL(createNetwork(const NetworkInfo &))); p->attachSignal(this, SIGNAL(requestUpdateNetwork(const NetworkInfo &)), SIGNAL(updateNetwork(const NetworkInfo &))); p->attachSignal(this, SIGNAL(requestRemoveNetwork(NetworkId)), SIGNAL(removeNetwork(NetworkId))); - p->attachSlot(SIGNAL(networkCreated(const NetworkInfo &)), this, SLOT(coreNetworkCreated(const NetworkInfo &))); + p->attachSlot(SIGNAL(networkCreated(NetworkId)), this, SLOT(coreNetworkCreated(NetworkId))); p->attachSlot(SIGNAL(networkRemoved(NetworkId)), this, SLOT(coreNetworkRemoved(NetworkId))); -*/ + connect(p, SIGNAL(disconnected()), this, SLOT(disconnectFromCore())); //connect(mainUi, SIGNAL(connectToCore(const QVariantMap &)), this, SLOT(connectToCore(const QVariantMap &))); @@ -179,11 +176,6 @@ BufferModel *Client::bufferModel() { return instance()->_bufferModel; } -NickModel *Client::nickModel() { - return instance()->_nickModel; -} - - SignalProxy *Client::signalProxy() { return instance()->_signalProxy; } @@ -207,6 +199,72 @@ const Network * Client::network(NetworkId networkid) { else return 0; } +/* +void Client::networkConnected(uint netid) { + // TODO: create statusBuffer / switch to networkids + //BufferInfo id = statusBufferInfo(net); + //Buffer *b = buffer(id); + //b->setActive(true); + + Network *netinfo = new Network(netid, this); + netinfo->setProxy(signalProxy()); + networkModel()->attachNetwork(netinfo); + connect(netinfo, SIGNAL(destroyed()), this, SLOT(networkDestroyed())); + _networks[netid] = netinfo; +} + +void Client::networkDisconnected(NetworkId networkid) { + if(!_networks.contains(networkid)) { + qWarning() << "Client::networkDisconnected(uint): unknown Network" << networkid; + return; +} + + Network *net = _networks.take(networkid); + if(!net->isInitialized()) { + qDebug() << "Network" << networkid << "disconnected while not yet initialized!"; + updateCoreConnectionProgress(); +} + net->deleteLater(); +} +*/ + +void Client::createNetwork(const NetworkInfo &info) { + emit instance()->requestCreateNetwork(info); +} + +void Client::updateNetwork(const NetworkInfo &info) { + emit instance()->requestUpdateNetwork(info); +} + +void Client::removeNetwork(NetworkId id) { + emit instance()->requestRemoveNetwork(id); +} + +void Client::addNetwork(Network *net) { + net->setProxy(signalProxy()); + signalProxy()->synchronize(net); + networkModel()->attachNetwork(net); + connect(net, SIGNAL(destroyed()), instance(), SLOT(networkDestroyed())); + instance()->_networks[net->networkId()] = net; + emit instance()->networkCreated(net->networkId()); +} + +void Client::coreNetworkCreated(NetworkId id) { + if(_networks.contains(id)) { + qWarning() << "Creation of already existing network requested!"; + return; + } + Network *net = new Network(id, this); + addNetwork(net); +} + +void Client::coreNetworkRemoved(NetworkId id) { + if(!_networks.contains(id)) return; + Network *net = _networks.take(id); + emit networkRemoved(net->networkId()); + net->deleteLater(); +} + /*** Identity handling ***/ QList Client::identityIds() { @@ -344,55 +402,6 @@ QStringList Client::sessionDataKeys() { /*** ***/ -// FIXME -void Client::disconnectFromNetwork(NetworkId id) { - if(!instance()->_networks.contains(id)) return; - Network *net = instance()->_networks[id]; - net->requestDisconnect(); -} - -/* -void Client::networkConnected(uint netid) { - // TODO: create statusBuffer / switch to networkids - //BufferInfo id = statusBufferInfo(net); - //Buffer *b = buffer(id); - //b->setActive(true); - - Network *netinfo = new Network(netid, this); - netinfo->setProxy(signalProxy()); - networkModel()->attachNetwork(netinfo); - connect(netinfo, SIGNAL(destroyed()), this, SLOT(networkDestroyed())); - _networks[netid] = netinfo; -} - -void Client::networkDisconnected(NetworkId networkid) { - if(!_networks.contains(networkid)) { - qWarning() << "Client::networkDisconnected(uint): unknown Network" << networkid; - return; - } - - Network *net = _networks.take(networkid); - if(!net->isInitialized()) { - qDebug() << "Network" << networkid << "disconnected while not yet initialized!"; - updateCoreConnectionProgress(); - } - net->deleteLater(); -} -*/ - -void Client::addNetwork(Network *net) { - net->setProxy(signalProxy()); - signalProxy()->synchronize(net); - networkModel()->attachNetwork(net); - connect(net, SIGNAL(destroyed()), instance(), SLOT(networkDestroyed())); - instance()->_networks[net->networkId()] = net; - emit instance()->networkCreated(net->networkId()); -} - -void Client::createNetwork(const NetworkInfo &info) { - - -} /*** ***/