| 8 | } |
| 9 | |
| 10 | QString loginStateString(LOGIN_STATE state, wsnet::LoginResult loginError, const QString &loginErrorMessage, bool showPrefix) |
| 11 | { |
| 12 | QString msg = showPrefix ? QObject::tr("Login state: %1") : "%1"; |
| 13 | |
| 14 | switch (state) { |
| 15 | case LOGIN_STATE_LOGGED_OUT: |
| 16 | return msg.arg(QObject::tr("Logged out")); |
| 17 | case LOGIN_STATE_LOGGING_IN: |
| 18 | return msg.arg(QObject::tr("Logging in")); |
| 19 | case LOGIN_STATE_LOGGED_IN: |
| 20 | return msg.arg(QObject::tr("Logged in")); |
| 21 | case LOGIN_STATE_LOGIN_ERROR: |
| 22 | default: |
| 23 | QString error = QObject::tr("Error: %1"); |
| 24 | |
| 25 | switch(loginError) { |
| 26 | case LoginResult::kNoConnectivity: |
| 27 | return msg.arg(error.arg(QObject::tr("No internet connectivity"))); |
| 28 | case LoginResult::kNoApiConnectivity: |
| 29 | return msg.arg(error.arg(QObject::tr("No API connectivity"))); |
| 30 | case LoginResult::kBadUsername: |
| 31 | return msg.arg(error.arg(QObject::tr("Incorrect username, password, or 2FA code"))); |
| 32 | case LoginResult::kMissingCode2fa: |
| 33 | return msg.arg(error.arg(QObject::tr("Need 2FA code"))); |
| 34 | case LoginResult::kAccountDisabled: |
| 35 | case LoginResult::kInvalidSecurityToken: |
| 36 | return msg.arg(error.arg(loginErrorMessage)); |
| 37 | case LoginResult::kSslError: |
| 38 | #ifdef CLI_ONLY |
| 39 | return msg.arg(QObject::tr("Could not log in. Please try again. If the problem continues, you can ignore SSL errors for this session, but we strongly recommend against it: doing so disables TLS certificate validation and could allow a third party to intercept your traffic. To proceed anyway, run \"windscribe-cli ignoresslerrors on\".")); |
| 40 | #else |
| 41 | return msg.arg(error.arg(QObject::tr("SSL error"))); |
| 42 | #endif |
| 43 | case LoginResult::kSessionInvalid: |
| 44 | return msg.arg(error.arg(QObject::tr("Session expired"))); |
| 45 | case LoginResult::kRateLimited: |
| 46 | return msg.arg(error.arg(QObject::tr("Rate limited"))); |
| 47 | case LoginResult::kBadCode2fa: |
| 48 | return msg.arg(error.arg(QObject::tr("Incorrect 2FA code"))); |
| 49 | case LoginResult::kIncorrectJson: |
| 50 | case LoginResult::kSuccess: |
| 51 | default: |
| 52 | return msg.arg(QObject::tr("Unknown error")); |
| 53 | } |
| 54 | } |
| 55 | } |
| 56 | |
| 57 | QString connectStateString(types::ConnectState state, LocationID location, TUNNEL_TEST_STATE tunnelTest, bool showPrefix) |
| 58 | { |
no outgoing calls
no test coverage detected