summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nxmaccessmanager.cpp19
-rw-r--r--src/nxmaccessmanager.h2
2 files changed, 10 insertions, 11 deletions
diff --git a/src/nxmaccessmanager.cpp b/src/nxmaccessmanager.cpp
index a68dea54..cabe07a9 100644
--- a/src/nxmaccessmanager.cpp
+++ b/src/nxmaccessmanager.cpp
@@ -46,9 +46,8 @@ const QString NexusBaseUrl("https://api.nexusmods.com/v1");
const auto ValidationTimeout = 10s;
-ValidationProgressDialog::ValidationProgressDialog(std::chrono::seconds t) :
- m_timeout(t), m_bar(nullptr), m_buttons(nullptr),
- m_timer(nullptr)
+ValidationProgressDialog::ValidationProgressDialog(std::chrono::seconds t)
+ : m_timeout(t), m_bar(nullptr), m_buttons(nullptr), m_timer(nullptr)
{
m_bar = new QProgressBar;
m_bar->setTextVisible(false);
@@ -123,7 +122,7 @@ void ValidationProgressDialog::onTimer()
NXMAccessManager::NXMAccessManager(QObject *parent, const QString &moVersion)
: QNetworkAccessManager(parent)
, m_ValidateReply(nullptr)
- , m_ProgressDialog(ValidationTimeout)
+ , m_ProgressDialog(new ValidationProgressDialog(ValidationTimeout))
, m_MOVersion(moVersion)
{
m_ValidateTimeout.setSingleShot(true);
@@ -149,7 +148,7 @@ NXMAccessManager::~NXMAccessManager()
void NXMAccessManager::setTopLevelWidget(QWidget* w)
{
- m_ProgressDialog.setParentWidget(w);
+ m_ProgressDialog->setParentWidget(w);
}
QNetworkReply *NXMAccessManager::createRequest(
@@ -206,7 +205,7 @@ void NXMAccessManager::startValidationCheck()
request.setRawHeader("Application-Name", "MO2");
request.setRawHeader("Application-Version", m_MOVersion.toUtf8());
- m_ProgressDialog.start();
+ m_ProgressDialog->start();
QCoreApplication::processEvents(); // for some reason the whole app hangs during the login. This way the user has at least a little feedback
@@ -221,7 +220,7 @@ void NXMAccessManager::startValidationCheck()
bool NXMAccessManager::validated() const
{
if (m_ValidateState == VALIDATE_CHECKING) {
- m_ProgressDialog.show();
+ m_ProgressDialog->show();
}
return m_ValidateState == VALIDATE_VALID;
@@ -300,7 +299,7 @@ void NXMAccessManager::clearApiKey()
void NXMAccessManager::validateTimeout()
{
m_ValidateTimeout.stop();
- m_ProgressDialog.stop();
+ m_ProgressDialog->stop();
m_ApiKey.clear();
m_ValidateState = VALIDATE_NOT_VALID;
@@ -317,7 +316,7 @@ void NXMAccessManager::validateTimeout()
void NXMAccessManager::validateError(QNetworkReply::NetworkError)
{
m_ValidateTimeout.stop();
- m_ProgressDialog.stop();
+ m_ProgressDialog->stop();
m_ApiKey.clear();
m_ValidateState = VALIDATE_NOT_VALID;
@@ -337,7 +336,7 @@ void NXMAccessManager::validateError(QNetworkReply::NetworkError)
void NXMAccessManager::validateFinished()
{
m_ValidateTimeout.stop();
- m_ProgressDialog.stop();
+ m_ProgressDialog->stop();
if (m_ValidateReply != nullptr) {
QJsonDocument jdoc = QJsonDocument::fromJson(m_ValidateReply->readAll());
diff --git a/src/nxmaccessmanager.h b/src/nxmaccessmanager.h
index 4467ea8d..f53f6648 100644
--- a/src/nxmaccessmanager.h
+++ b/src/nxmaccessmanager.h
@@ -130,7 +130,7 @@ private:
QWidget* m_TopLevel;
QTimer m_ValidateTimeout;
QNetworkReply *m_ValidateReply;
- mutable ValidationProgressDialog m_ProgressDialog;
+ mutable ValidationProgressDialog* m_ProgressDialog;
QString m_MOVersion;