summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2019-07-11 05:49:12 -0400
committerisanae <14251494+isanae@users.noreply.github.com>2019-07-11 05:49:12 -0400
commitbe1ee2a97c867a80c07c4b865c306977d96249dc (patch)
tree17c828745ad3e2399177042781a66ed7d2577118 /src
parent226372dba2f8a06ef2349a331da91010d97e72bf (diff)
refactored state messages
Diffstat (limited to 'src')
-rw-r--r--src/nxmaccessmanager.cpp125
-rw-r--r--src/nxmaccessmanager.h5
-rw-r--r--src/settingsdialog.cpp118
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();