Improved code performance

Fixed a "bug" in the checkForUpdates() function which caused the program
to delay about 400 milliseconds.
This commit is contained in:
Alex Spataru 2015-01-09 11:06:41 -06:00
parent 7b0444263e
commit 56c132a21e
4 changed files with 110 additions and 112 deletions

View File

@ -20,6 +20,12 @@ QSimpleUpdater::QSimpleUpdater (QObject *parent)
, m_version_check_finished (false) , m_version_check_finished (false)
, m_new_version_available (false) { , m_new_version_available (false) {
m_downloadDialog = new DownloadDialog(); m_downloadDialog = new DownloadDialog();
m_manager = new QNetworkAccessManager (this);
connect (m_manager, SIGNAL (finished (QNetworkReply *)), this,
SLOT (checkDownloadedVersion (QNetworkReply *)));
connect (m_manager, SIGNAL (sslErrors (QNetworkReply *, QList<QSslError>)),
this, SLOT (ignoreSslErrors (QNetworkReply *, QList<QSslError>)));
} }
QString QSimpleUpdater::changeLog() const { QString QSimpleUpdater::changeLog() const {
@ -27,17 +33,8 @@ QString QSimpleUpdater::changeLog() const {
} }
void QSimpleUpdater::checkForUpdates (void) { void QSimpleUpdater::checkForUpdates (void) {
if (!m_reference_url.isEmpty()) { if (!m_reference_url.isEmpty())
QNetworkAccessManager *_manager = new QNetworkAccessManager (this); m_manager->get (QNetworkRequest (m_reference_url));
connect (_manager, SIGNAL (finished (QNetworkReply *)), this,
SLOT (checkDownloadedVersion (QNetworkReply *)));
connect (_manager, SIGNAL (sslErrors (QNetworkReply *, QList<QSslError>)),
this, SLOT (ignoreSslErrors (QNetworkReply *, QList<QSslError>)));
_manager->get (QNetworkRequest (m_reference_url));
}
else else
qDebug() << "QSimpleUpdater: Invalid reference URL"; qDebug() << "QSimpleUpdater: Invalid reference URL";

View File

@ -103,6 +103,7 @@ private:
QString m_changelog; QString m_changelog;
QString m_latest_version; QString m_latest_version;
QString m_installed_version; QString m_installed_version;
QNetworkAccessManager *m_manager;
QUrl m_download_url; QUrl m_download_url;
QUrl m_reference_url; QUrl m_reference_url;