diff options
| author | isanae <14251494+isanae@users.noreply.github.com> | 2019-07-11 05:49:12 -0400 |
|---|---|---|
| committer | isanae <14251494+isanae@users.noreply.github.com> | 2019-07-11 05:49:12 -0400 |
| commit | be1ee2a97c867a80c07c4b865c306977d96249dc (patch) | |
| tree | 17c828745ad3e2399177042781a66ed7d2577118 /src | |
| parent | 226372dba2f8a06ef2349a331da91010d97e72bf (diff) | |
refactored state messages
Diffstat (limited to 'src')
| -rw-r--r-- | src/nxmaccessmanager.cpp | 125 | ||||
| -rw-r--r-- | src/nxmaccessmanager.h | 5 | ||||
| -rw-r--r-- | src/settingsdialog.cpp | 118 |
3 files changed, 90 insertions, 158 deletions
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()) { diff --git a/src/nxmaccessmanager.h b/src/nxmaccessmanager.h index 11370d65..c633ae3b 100644 --- a/src/nxmaccessmanager.h +++ b/src/nxmaccessmanager.h @@ -80,6 +80,8 @@ public: std::function<void (QString)> keyChanged; std::function<void (States, QString)> stateChanged; + static QString stateToString(States s, const QString& e); + NexusSSOLogin(); void start(); @@ -126,6 +128,8 @@ public: std::function<void (APIUserAccount)> finished; std::function<void (States, QString)> stateChanged; + static QString stateToString(States s, const QString& e); + NexusKeyValidator(NXMAccessManager& am); ~NexusKeyValidator(); @@ -236,7 +240,6 @@ private: void startValidationCheck(const QString& key, bool showProgress); void onValidatorState(NexusKeyValidator::States s, const QString& e); void onValidatorFinished(const APIUserAccount& user); - void onValidatorError(const QString& e); }; Q_DECLARE_OPERATORS_FOR_FLAGS(NXMAccessManager::ApiCheckFlags); diff --git a/src/settingsdialog.cpp b/src/settingsdialog.cpp index 12dbc482..df957f87 100644 --- a/src/settingsdialog.cpp +++ b/src/settingsdialog.cpp @@ -450,66 +450,10 @@ void SettingsDialog::onSSOKeyChanged(const QString& key) void SettingsDialog::onSSOStateChanged(NexusSSOLogin::States s, const QString& e) { - QString log; + const auto log = NexusSSOLogin::stateToString(s, e); - switch (s) - { - case NexusSSOLogin::ConnectingToSSO: - { - log = tr("Connecting to Nexus..."); - break; - } - - case NexusSSOLogin::WaitingForToken: - { - log = tr("Waiting for Nexus..."); - break; - } - - case NexusSSOLogin::WaitingForBrowser: - { - log = tr("Opened browser, waiting for user..."); - break; - } - - case NexusSSOLogin::Finished: - { - log = tr("Connected."); - break; - } - - case NexusSSOLogin::Timeout: - { - log = QObject::tr( - "No answer from Nexus.\n" - "A firewall might be blocking Mod Organizer."); - - break; - } - - case NexusSSOLogin::ClosedByRemote: - { - log = QObject::tr("Nexus closed the connection."); - break; - } - - case NexusSSOLogin::Cancelled: - { - log = QObject::tr("Cancelled."); - break; - } - - case NexusSSOLogin::Error: - { - log = tr("Error: %1.").arg(e); - break; - } - } - - if (!log.isEmpty()) { - for (auto&& line : log.split("\n")) { - ui->nexusLog->addItem(line); - } + for (auto&& line : log.split("\n")) { + ui->nexusLog->addItem(line); } updateNexusButtons(); @@ -518,60 +462,10 @@ void SettingsDialog::onSSOStateChanged(NexusSSOLogin::States s, const QString& e void SettingsDialog::onValidatorStateChanged( NexusKeyValidator::States s, const QString& e) { - QString log; - - switch (s) - { - case NexusKeyValidator::Connecting: - { - log = tr("Connecting to Nexus..."); - break; - } - - case NexusKeyValidator::Finished: - { - log = tr("Connected."); - break; - } - - case NexusKeyValidator::InvalidJson: - { - log = tr("Invalid JSON"); - break; - } - - case NexusKeyValidator::BadResponse: - { - log = tr("Bad response"); - break; - } - - case NexusKeyValidator::Timeout: - { - log = QObject::tr( - "No answer from Nexus.\n" - "A firewall might be blocking Mod Organizer."); + const auto log = NexusKeyValidator::stateToString(s, e); - break; - } - - case NexusKeyValidator::Cancelled: - { - log = QObject::tr("Cancelled."); - break; - } - - case NexusKeyValidator::Error: - { - log = tr("Error: %1.").arg(e); - break; - } - } - - if (!log.isEmpty()) { - for (auto&& line : log.split("\n")) { - ui->nexusLog->addItem(line); - } + for (auto&& line : log.split("\n")) { + ui->nexusLog->addItem(line); } updateNexusButtons(); |
