From be1ee2a97c867a80c07c4b865c306977d96249dc Mon Sep 17 00:00:00 2001 From: isanae <14251494+isanae@users.noreply.github.com> Date: Thu, 11 Jul 2019 05:49:12 -0400 Subject: refactored state messages --- src/nxmaccessmanager.cpp | 125 ++++++++++++++++++++++++++++++----------------- 1 file changed, 80 insertions(+), 45 deletions(-) (limited to 'src/nxmaccessmanager.cpp') diff --git a/src/nxmaccessmanager.cpp b/src/nxmaccessmanager.cpp index 40ab19b9..a331b2e8 100644 --- a/src/nxmaccessmanager.cpp +++ b/src/nxmaccessmanager.cpp @@ -153,6 +153,45 @@ NexusSSOLogin::NexusSSOLogin() QObject::connect(&m_timeout, &QTimer::timeout, [&]{ onTimeout(); }); } +QString NexusSSOLogin::stateToString(States s, const QString& e) +{ + switch (s) + { + case ConnectingToSSO: + return QObject::tr("Connecting to Nexus..."); + + case WaitingForToken: + return QObject::tr("Waiting for Nexus..."); + + case WaitingForBrowser: + return QObject::tr("Opened browser, waiting for user..."); + + case Finished: + return QObject::tr("Connected."); + + case Timeout: + return QObject::tr( + "No answer from Nexus.\n" + "A firewall might be blocking Mod Organizer."); + + case ClosedByRemote: + return QObject::tr("Nexus closed the connection."); + + case Cancelled: + return QObject::tr("Cancelled."); + + case Error: // fall-through + default: + { + if (e.isEmpty()) { + return QString("%1").arg(s); + } else { + return e; + } + } + } +} + void NexusSSOLogin::start() { m_active = true; @@ -306,6 +345,40 @@ NexusKeyValidator::~NexusKeyValidator() abort(); } +QString NexusKeyValidator::stateToString(States s, const QString& e) +{ + switch (s) + { + case NexusKeyValidator::Connecting: + return QObject::tr("Connecting to Nexus..."); + + case NexusKeyValidator::Finished: + return QObject::tr("Finished."); + + case NexusKeyValidator::InvalidJson: + return QObject::tr("Invalid JSON"); + + case NexusKeyValidator::BadResponse: + return QObject::tr("Bad response"); + + case NexusKeyValidator::Timeout: + return QObject::tr("There was a timeout during the request"); + + case NexusKeyValidator::Cancelled: + return QObject::tr("Cancelled"); + + case NexusKeyValidator::Error: // fall-through + default: + { + if (e.isEmpty()) { + return QString("%1").arg(s); + } else { + return e; + } + } + } +} + void NexusKeyValidator::start(const QString& key) { if (m_reply) { @@ -558,45 +631,14 @@ void NXMAccessManager::startValidationCheck(const QString& key, bool showProgres void NXMAccessManager::onValidatorState( NexusKeyValidator::States s, const QString& e) { - switch (s) - { - case NexusKeyValidator::Connecting: // fall-through - case NexusKeyValidator::Finished: - { - // no-op, success is handled in onValidatorFinished() - break; - } - - case NexusKeyValidator::InvalidJson: - { - onValidatorError(tr("Invalid JSON")); - break; - } - - case NexusKeyValidator::BadResponse: - { - onValidatorError(tr("Bad response")); - break; - } - - case NexusKeyValidator::Timeout: - { - onValidatorError(tr("There was a timeout during the request")); - break; - } - - case NexusKeyValidator::Cancelled: - { - onValidatorError(tr("Cancelled")); - break; - } - - case NexusKeyValidator::Error: - { - onValidatorError(e); - break; - } + if (s == NexusKeyValidator::Connecting || s == NexusKeyValidator::Finished) { + // no-op, success is handled in onValidatorFinished() + return; } + + m_ProgressDialog->stop(); + m_validationState = Invalid; + emit validateFailed(NexusKeyValidator::stateToString(s, e)); } void NXMAccessManager::onValidatorFinished(const APIUserAccount& user) @@ -608,13 +650,6 @@ void NXMAccessManager::onValidatorFinished(const APIUserAccount& user) emit validateSuccessful(true); } -void NXMAccessManager::onValidatorError(const QString& e) -{ - m_ProgressDialog->stop(); - m_validationState = Invalid; - emit validateFailed(e); -} - bool NXMAccessManager::validated() const { if (m_validator.isActive()) { -- cgit v1.3.1