summaryrefslogtreecommitdiff
path: root/src/nxmaccessmanager.cpp
diff options
context:
space:
mode:
authorSilarn <jrim@rimpo.org>2019-02-11 20:30:45 -0600
committerSilarn <jrim@rimpo.org>2019-02-18 21:31:21 -0600
commitf7d1ce1fae80e42141198547d6c54689e085327f (patch)
treef9b111e3fe7f09ad9e5139401dec19c6cc1bea76 /src/nxmaccessmanager.cpp
parent2b9d2f32fbbc576c9367a24c0347e5870ff20117 (diff)
Small updates, cleanup, update code, cache settings, tooltips
Diffstat (limited to 'src/nxmaccessmanager.cpp')
-rw-r--r--src/nxmaccessmanager.cpp45
1 files changed, 26 insertions, 19 deletions
diff --git a/src/nxmaccessmanager.cpp b/src/nxmaccessmanager.cpp
index 1e0ac49b..aca1d785 100644
--- a/src/nxmaccessmanager.cpp
+++ b/src/nxmaccessmanager.cpp
@@ -259,33 +259,40 @@ void NXMAccessManager::validateFinished()
if (m_ValidateReply != nullptr) {
QJsonDocument jdoc = QJsonDocument::fromJson(m_ValidateReply->readAll());
- QJsonObject credentialsData = jdoc.object();
- if (credentialsData.contains("user_id")) {
- QString name = credentialsData.value("name").toString();
- bool premium = credentialsData.value("is_premium").toBool();
+ if (!jdoc.isNull()) {
+ QJsonObject credentialsData = jdoc.object();
+ if (credentialsData.contains("user_id")) {
+ QString name = credentialsData.value("name").toString();
+ bool premium = credentialsData.value("is_premium").toBool();
- std::tuple<int, int, int, int> limits(std::make_tuple(
- m_ValidateReply->rawHeader("x-rl-daily-remaining").toInt(),
- m_ValidateReply->rawHeader("x-rl-daily-limit").toInt(),
- m_ValidateReply->rawHeader("x-rl-hourly-remaining").toInt(),
- m_ValidateReply->rawHeader("x-rl-hourly-limit").toInt()
- ));
+ std::tuple<int, int, int, int> limits(std::make_tuple(
+ m_ValidateReply->rawHeader("x-rl-daily-remaining").toInt(),
+ m_ValidateReply->rawHeader("x-rl-daily-limit").toInt(),
+ m_ValidateReply->rawHeader("x-rl-hourly-remaining").toInt(),
+ m_ValidateReply->rawHeader("x-rl-hourly-limit").toInt()
+ ));
- emit credentialsReceived(name, premium, limits);
+ emit credentialsReceived(name, premium, limits);
- m_ValidateReply->deleteLater();
- m_ValidateReply = nullptr;
+ m_ValidateReply->deleteLater();
+ m_ValidateReply = nullptr;
- m_ValidateState = VALIDATE_VALID;
- emit validateSuccessful(true);
+ m_ValidateState = VALIDATE_VALID;
+ emit validateSuccessful(true);
+ } else {
+ m_ApiKey.clear();
+ m_ValidateState = VALIDATE_NOT_VALID;
+ emit validateFailed(tr("Validation failed, please reauthenticate in the Settings -> Nexus tab: %1").arg(credentialsData.value("message").toString()));
+ }
} else {
m_ApiKey.clear();
- m_ValidateState = VALIDATE_NOT_VALID;
- emit validateFailed(tr("Validation failed, please reauthenticate in the Settings -> Nexus tab: %1").arg(credentialsData.value("message").toString()));
+ m_ValidateState = VALIDATE_NOT_CHECKED;
+ emit validateFailed(tr("Could not parse response. Invalid JSON."));
}
- } else {
+ }
+ else {
m_ApiKey.clear();
m_ValidateState = VALIDATE_NOT_CHECKED;
- emit validateFailed(tr("unknown error"));
+ emit validateFailed(tr("Unknown error."));
}
}