summaryrefslogtreecommitdiff
path: root/src/nxmaccessmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/nxmaccessmanager.cpp')
-rw-r--r--src/nxmaccessmanager.cpp17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/nxmaccessmanager.cpp b/src/nxmaccessmanager.cpp
index 5886d3ee..ee6c03f1 100644
--- a/src/nxmaccessmanager.cpp
+++ b/src/nxmaccessmanager.cpp
@@ -190,6 +190,7 @@ void NXMAccessManager::apiCheck(const QString &apiKey, bool force)
emit validateSuccessful(false);
return;
}
+
m_ApiKey = apiKey;
startValidationCheck();
}
@@ -218,6 +219,13 @@ QString NXMAccessManager::apiKey() const
return m_ApiKey;
}
+void NXMAccessManager::clearApiKey()
+{
+ m_ApiKey = "";
+ m_ValidateState = VALIDATE_NOT_VALID;
+
+ emit credentialsReceived(APIUserAccount());
+}
void NXMAccessManager::validateTimeout()
{
@@ -233,7 +241,6 @@ void NXMAccessManager::validateTimeout()
if (m_ValidateReply != nullptr) {
m_ValidateReply->deleteLater();
m_ValidateReply = nullptr;
- m_ValidateAttempted = false; // this usually means we might have success later
}
emit validateFailed(tr("There was a timeout during the request"));
@@ -280,17 +287,21 @@ void NXMAccessManager::validateFinished()
QString name = credentialsData.value("name").toString();
bool premium = credentialsData.value("is_premium").toBool();
- emit credentialsReceived(APIUserAccount()
+ const auto user = APIUserAccount()
.id(QString("%1").arg(id))
.name(name)
.type(premium ? APIUserAccountTypes::Premium : APIUserAccountTypes::Regular)
- .limits(NexusInterface::parseLimits(m_ValidateReply)));
+ .limits(NexusInterface::parseLimits(m_ValidateReply));
+
+
+ emit credentialsReceived(user);
m_ValidateReply->deleteLater();
m_ValidateReply = nullptr;
m_ValidateState = VALIDATE_VALID;
emit validateSuccessful(true);
+
} else {
m_ApiKey.clear();
m_ValidateState = VALIDATE_NOT_VALID;