summaryrefslogtreecommitdiff
path: root/src/nxmaccessmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/nxmaccessmanager.cpp')
-rw-r--r--src/nxmaccessmanager.cpp20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/nxmaccessmanager.cpp b/src/nxmaccessmanager.cpp
index 88d38b9e..68ab24a6 100644
--- a/src/nxmaccessmanager.cpp
+++ b/src/nxmaccessmanager.cpp
@@ -52,6 +52,7 @@ NXMAccessManager::NXMAccessManager(QObject *parent, const QString &moVersion)
{
m_ValidateTimeout.setSingleShot(true);
m_ValidateTimeout.setInterval(30000);
+ connect(&m_ValidateTimeout, SIGNAL(timeout()), this, SLOT(validateTimeout()));
setCookieJar(new PersistentCookieJar(
QDir::fromNativeSeparators(Settings::instance().getCacheDirectory() + "/nexus_cookies.dat")));
@@ -142,7 +143,9 @@ bool NXMAccessManager::validated() const
{
if (m_ValidateState == VALIDATE_CHECKING) {
QProgressDialog progress;
- progress.setLabelText(tr("Verifying Nexus login"));
+ progress.setLabelText(tr("Validating Nexus Connection"));
+ QList<QPushButton*> buttons = m_ProgressDialog->findChildren<QPushButton*>();
+ buttons.at(0)->setEnabled(false);
progress.show();
while (m_ValidateState == VALIDATE_CHECKING) {
QCoreApplication::processEvents();
@@ -214,12 +217,20 @@ QString NXMAccessManager::apiKey() const
void NXMAccessManager::validateTimeout()
{
- m_ValidateReply->deleteLater();
- m_ValidateReply = nullptr;
- m_ValidateAttempted = false; // this usually means we might have success later
+ if (m_ProgressDialog != nullptr) {
+ m_ProgressDialog->hide();
+ m_ProgressDialog->deleteLater();
+ m_ProgressDialog = nullptr;
+ }
m_ApiKey.clear();
m_ValidateState = VALIDATE_NOT_VALID;
+ 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"));
}
@@ -228,6 +239,7 @@ void NXMAccessManager::validateError(QNetworkReply::NetworkError)
{
qDebug("login error");
if (m_ProgressDialog != nullptr) {
+ m_ProgressDialog->hide();
m_ProgressDialog->deleteLater();
m_ProgressDialog = nullptr;
}