logic: Fixed automatic update check only works on Qt thread

This commit is contained in:
Eberhard Graether
2017-08-23 16:15:22 +02:00
parent 0a3edfdcbc
commit 1227ad313e
4 changed files with 12 additions and 4 deletions
+1 -1
View File
@@ -8,7 +8,7 @@
QtRequest::QtRequest()
{
m_networkManager = new QNetworkAccessManager(this);
QObject::connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(finished(QNetworkReply*)));
QObject::connect(m_networkManager, &QNetworkAccessManager::finished, this, &QtRequest::finished);
}
void QtRequest::sendRequest(QString url)
+7 -1
View File
@@ -53,6 +53,7 @@ void QtUpdateChecker::check(bool force)
urlString += ("&platform=" + platformString + "bit").c_str();
// version
// Version::setApplicationVersion(Version::fromString("2017.3.10")); // for debugging
urlString += ("&version=" + Version::getApplicationVersion().toDisplayString()).c_str();
// license
@@ -147,5 +148,10 @@ void QtUpdateChecker::check(bool force)
void QtUpdateChecker::checkUpdate()
{
check();
m_onQtThread(
[this]()
{
check();
}
);
}
+4
View File
@@ -1,6 +1,7 @@
#ifndef QT_UPDATE_CHECKER_H
#define QT_UPDATE_CHECKER_H
#include "qt/utility/QtThreadedFunctor.h"
#include "UpdateChecker.h"
class QtUpdateChecker
@@ -10,6 +11,9 @@ public:
static void check(bool force = false);
virtual void checkUpdate() override;
private:
QtThreadedLambdaFunctor m_onQtThread;
};
#endif // QT_UPDATE_CHECKER_H
-2
View File
@@ -16,7 +16,6 @@
#include "component/view/View.h"
#include "data/bookmark/Bookmark.h"
#include "LicenseChecker.h"
#include "qt/network/QtUpdateChecker.h"
#include "qt/utility/QtContextMenu.h"
#include "qt/utility/utilityQt.h"
#include "qt/view/QtViewWidgetWrapper.h"
@@ -360,7 +359,6 @@ void QtMainWindow::keyPressEvent(QKeyEvent* event)
break;
case Qt::Key_Space:
QtUpdateChecker::check();
PRINT_TRACES();
break;
}