X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fcoreconnection.cpp;h=8ad692e2cf50177462f4049d03d7d84eded1fa45;hp=460b3b70ddc81ae6413cba9bd2487abe8c8aa5b0;hb=d8d9cc49774faf66170790ea687c37584e5e7a51;hpb=635c26ca94d131d14af7d3948b0b22db3b84ddb6 diff --git a/src/client/coreconnection.cpp b/src/client/coreconnection.cpp index 460b3b70..8ad692e2 100644 --- a/src/client/coreconnection.cpp +++ b/src/client/coreconnection.cpp @@ -153,16 +153,16 @@ void CoreConnection::solidNetworkStatusChanged(Solid::Networking::Status status) switch(status) { case Solid::Networking::Unknown: case Solid::Networking::Connected: - qDebug() << "Solid: Network status changed to connected or unknown"; + //qDebug() << "Solid: Network status changed to connected or unknown"; if(state() == Disconnected) { if(_wantReconnect && s.autoReconnect()) { reconnectToCore(); } } break; + case Solid::Networking::Disconnecting: case Solid::Networking::Unconnected: - qDebug() << "Solid: Disconnected"; - if(!isLocalConnection()) + if(state() != Disconnected && !isLocalConnection()) disconnectFromCore(tr("Network is down"), true); break; default: @@ -255,7 +255,7 @@ void CoreConnection::coreSocketError(QAbstractSocket::SocketError) { } void CoreConnection::coreSocketDisconnected() { - qDebug() << Q_FUNC_INFO; + // qDebug() << Q_FUNC_INFO; resetConnection(true); // FIXME handle disconnects gracefully } @@ -474,6 +474,8 @@ void CoreConnection::clientInitAck(const QVariantMap &msg) { return; } + Client::setCoreFeatures((Quassel::Features)msg["CoreFeatures"].toUInt()); + #ifndef QT_NO_COMPRESS if(msg["SupportsCompression"].toBool()) { _socket->setProperty("UseCompression", true); @@ -633,6 +635,9 @@ void CoreConnection::internalSessionStateReceived(const QVariant &packedState) { } void CoreConnection::syncToCore(const QVariantMap &sessionState) { + if(sessionState.contains("CoreFeatures")) + Client::setCoreFeatures((Quassel::Features)sessionState["CoreFeatures"].toUInt()); + setProgressText(tr("Receiving network states")); updateProgress(0, 100);