diff options
| author | LostDragonist <lost.dragonist@gmail.com> | 2019-03-08 23:14:52 -0600 |
|---|---|---|
| committer | LostDragonist <lost.dragonist@gmail.com> | 2019-03-08 23:14:52 -0600 |
| commit | c28750d0fbe63ead872a33c9d9e5b82876430396 (patch) | |
| tree | 9a629ed0ae89974ae4d1fba5c497c067df92baca /src/nxmaccessmanager.cpp | |
| parent | 035cf9e767132859de37d70d23429fba1b16c84c (diff) | |
Improve timeout behavior when logging in to Nexus
Diffstat (limited to 'src/nxmaccessmanager.cpp')
| -rw-r--r-- | src/nxmaccessmanager.cpp | 20 |
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; } |
