X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fcoreconnection.cpp;h=3d769cc31ef4f9990264ce0840b25234f33dba40;hp=a982f62a2a3b50060229ac4b4585a95a6b4f384f;hb=67a80c804797ba432378ad6b81fc82b1aa0d9a1d;hpb=8386eed0a503bd2683b908bc05d682231331894b
diff --git a/src/client/coreconnection.cpp b/src/client/coreconnection.cpp
index a982f62a..3d769cc3 100644
--- a/src/client/coreconnection.cpp
+++ b/src/client/coreconnection.cpp
@@ -120,7 +120,7 @@ void CoreConnection::socketStateChanged(QAbstractSocket::SocketState socketState
switch(socketState) {
case QAbstractSocket::UnconnectedState:
- text = tr("Disconnected.");
+ text = tr("Disconnected");
break;
case QAbstractSocket::HostLookupState:
text = tr("Looking up %1...").arg(currentAccount().hostName());
@@ -129,7 +129,7 @@ void CoreConnection::socketStateChanged(QAbstractSocket::SocketState socketState
text = tr("Connecting to %1...").arg(currentAccount().hostName());
break;
case QAbstractSocket::ConnectedState:
- text = tr("Connected to %1.").arg(currentAccount().hostName());
+ text = tr("Connected to %1").arg(currentAccount().hostName());
break;
case QAbstractSocket::ClosingState:
text = tr("Disconnecting from %1...").arg(currentAccount().hostName());
@@ -189,14 +189,14 @@ void CoreConnection::coreHasData() {
QVariantMap msg = item.toMap();
if(!msg.contains("MsgType")) {
// This core is way too old and does not even speak our init protocol...
- emit connectionError(tr("The Quassel Core you try to connect to is too old! Please consider upgrading."));
+ emit connectionErrorPopup(tr("The Quassel Core you try to connect to is too old! Please consider upgrading."));
disconnectFromCore();
return;
}
if(msg["MsgType"] == "ClientInitAck") {
clientInitAck(msg);
} else if(msg["MsgType"] == "ClientInitReject") {
- emit connectionError(msg["Error"].toString());
+ emit connectionErrorPopup(msg["Error"].toString());
disconnectFromCore();
return;
} else if(msg["MsgType"] == "CoreSetupAck") {
@@ -217,8 +217,7 @@ void CoreConnection::coreHasData() {
sessionStateReceived(msg["SessionState"].toMap());
break; // this is definitively the last message we process here!
} else {
- emit connectionError(tr("Invalid data received from core, disconnecting."));
- disconnectFromCore();
+ disconnectFromCore(tr("Invalid data received from core"));
return;
}
}
@@ -227,7 +226,12 @@ void CoreConnection::coreHasData() {
}
}
-void CoreConnection::disconnectFromCore() {
+void CoreConnection::disconnectFromCore(const QString &errorString) {
+ if(errorString.isEmpty())
+ emit connectionError(tr("Disconnected"));
+ else
+ emit connectionError(errorString);
+
Client::signalProxy()->removeAllPeers();
resetConnection();
}
@@ -351,7 +355,7 @@ void CoreConnection::clientInitAck(const QVariantMap &msg) {
// Core has accepted our version info and sent its own. Let's see if we accept it as well...
uint ver = msg["ProtocolVersion"].toUInt();
if(ver < Quassel::buildInfo().clientNeedsProtocol) {
- emit connectionError(tr("The Quassel Core you are trying to connect to is too old!
"
+ emit connectionErrorPopup(tr("The Quassel Core you are trying to connect to is too old!
"
"Need at least core/client protocol v%1 to connect.").arg(Quassel::buildInfo().clientNeedsProtocol));
disconnectFromCore();
return;
@@ -382,8 +386,7 @@ void CoreConnection::clientInitAck(const QVariantMap &msg) {
bool accepted = false;
emit handleNoSslInCore(&accepted);
if(!accepted) {
- emit connectionError(tr("Unencrypted connection canceled"));
- disconnectFromCore();
+ disconnectFromCore(tr("Unencrypted connection canceled"));
return;
}
s.setAccountValue("ShowNoCoreSslWarning", false);
@@ -428,8 +431,7 @@ void CoreConnection::sslErrors() {
emit handleSslErrors(socket, &accepted, &permanently);
if(!accepted) {
- emit connectionError(tr("Unencrypted connection canceled"));
- disconnectFromCore();
+ disconnectFromCore(tr("Unencrypted connection canceled"));
return;
}
@@ -463,8 +465,7 @@ void CoreConnection::loginToCore(const QString &prevError) {
bool valid = false;
emit userAuthenticationRequired(&_account, &valid, prevError); // *must* be a synchronous call
if(!valid || currentAccount().user().isEmpty() || currentAccount().password().isEmpty()) {
- disconnectFromCore();
- emit connectionError(tr("Login canceled"));
+ disconnectFromCore(tr("Login canceled"));
return;
}
}