Rely on QNetworkReply finished() signal instead of AccessManager one

The access manager is only one, while we can make requests from
different parts of the application, so relying on the manager
finished() signal to see if something was done or not was a
not very good move.

The QNetworkReply is created when a get() is invocked on the
AccessManager and that's unique. connect it's finished()
signal instead.

bonus: code cleanup.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Tomaz Canabrava 2014-07-16 17:20:21 -03:00 committed by Dirk Hohndel
parent bbbb4ced24
commit 0dd40b7a51
6 changed files with 11 additions and 19 deletions

View file

@ -6,8 +6,6 @@
UpdateManager::UpdateManager(QObject *parent) : QObject(parent)
{
manager = SubsurfaceWebServices::manager();
connect(manager, SIGNAL(finished(QNetworkReply *)), SLOT(requestReceived(QNetworkReply *)));
}
void UpdateManager::checkForUpdates()
@ -26,16 +24,16 @@ void UpdateManager::checkForUpdates()
QString version = VERSION_STRING;
QString url = QString("http://subsurface.hohndel.org/updatecheck.html?os=%1&ver=%2").arg(os, version);
manager->get(QNetworkRequest(QUrl(url)));
connect(SubsurfaceWebServices::manager()->get(QNetworkRequest(QUrl(url))), SIGNAL(finished()), this, SLOT(requestReceived()));
}
void UpdateManager::requestReceived(QNetworkReply *reply)
void UpdateManager::requestReceived()
{
QMessageBox msgbox;
QString msgTitle = tr("Check for updates.");
QString msgText = "<h3>" + tr("Subsurface was unable to check for updates.") + "</h3>";
QNetworkReply *reply = qobject_cast<QNetworkReply*>(sender());
if (reply->error() != QNetworkReply::NoError) {
//Network Error
msgText = msgText + "<br/><b>" + tr("The following error occurred:") + "</b><br/>" + reply->errorString()