X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fcoresession.cpp;h=19359c8d3574e3e447dd86bfb28eba1fe660c000;hb=59912f14782c193a2394a2b0d044902a59c96870;hp=910bca14bf161cd0838764fa4800f2ad37061fe3;hpb=25d9ab403582dc24fffe7d4d38e92754898f7384;p=quassel.git diff --git a/src/core/coresession.cpp b/src/core/coresession.cpp index 910bca14..19359c8d 100644 --- a/src/core/coresession.cpp +++ b/src/core/coresession.cpp @@ -70,6 +70,7 @@ CoreSession::CoreSession(UserId uid, bool restoreState, QObject *parent) : QObje //p->attachSlot(SIGNAL(requestNetworkStates()), this, SLOT(networkStateRequested())); p->attachSlot(SIGNAL(requestConnect(QString)), this, SLOT(connectToNetwork(QString))); + p->attachSlot(SIGNAL(disconnectFromNetwork(NetworkId)), this, SLOT(disconnectFromNetwork(NetworkId))); // FIXME p->attachSlot(SIGNAL(sendInput(BufferInfo, QString)), this, SLOT(msgFromClient(BufferInfo, QString))); p->attachSlot(SIGNAL(requestBacklog(BufferInfo, QVariant, QVariant)), this, SLOT(sendBacklog(BufferInfo, QVariant, QVariant))); p->attachSignal(this, SIGNAL(displayMsg(Message))); @@ -106,7 +107,12 @@ CoreSession::CoreSession(UserId uid, bool restoreState, QObject *parent) : QObje net->setCodecForEncoding("ISO-8859-15"); // FIXME net->setCodecForDecoding("ISO-8859-15"); // FIXME QList slist; - foreach(QVariant v, network["Servers"].toList()) slist << v.toMap(); + foreach(QVariant v, network["Servers"].toList()) { + QVariantMap server; + server["Host"] = v.toMap()["Address"]; + server["Port"] = v.toMap()["Port"]; + slist << server; + } net->setServerList(slist); net->setProxy(p); _networks[netid] = net; @@ -238,6 +244,10 @@ void CoreSession::attachNetworkConnection(NetworkConnection *conn) { // TODO add error handling } +void CoreSession::disconnectFromNetwork(NetworkId id) { + _connections[id]->disconnectFromIrc(); +} + void CoreSession::networkStateRequested() { }