diff options
author | Tomaz Canabrava <tomaz.canabrava@intel.com> | 2014-07-16 17:20:21 -0300 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-07-16 13:56:46 -0700 |
commit | 0dd40b7a514a2ea02c2f4160a74b23c0fb9a41dd (patch) | |
tree | 466d6e7e87c7a8a808a87484555431dad535e13d | |
parent | bbbb4ced241c156a2500334ff29ba0ea496d3811 (diff) | |
download | subsurface-0dd40b7a514a2ea02c2f4160a74b23c0fb9a41dd.tar.gz |
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>
-rw-r--r-- | qt-ui/subsurfacewebservices.cpp | 3 | ||||
-rw-r--r-- | qt-ui/subsurfacewebservices.h | 2 | ||||
-rw-r--r-- | qt-ui/updatemanager.cpp | 8 | ||||
-rw-r--r-- | qt-ui/updatemanager.h | 4 | ||||
-rw-r--r-- | qt-ui/usersurvey.cpp | 8 | ||||
-rw-r--r-- | qt-ui/usersurvey.h | 5 |
6 files changed, 11 insertions, 19 deletions
diff --git a/qt-ui/subsurfacewebservices.cpp b/qt-ui/subsurfacewebservices.cpp index 23972587e..daeb5385c 100644 --- a/qt-ui/subsurfacewebservices.cpp +++ b/qt-ui/subsurfacewebservices.cpp @@ -917,10 +917,11 @@ UserSurveyServices::UserSurveyServices(QWidget *parent, Qt::WindowFlags f) : Web } -void UserSurveyServices::sendSurvey(QString values) +QNetworkReply* UserSurveyServices::sendSurvey(QString values) { QNetworkRequest request; request.setUrl(QString("http://subsurface.hohndel.org/survey?%1").arg(values)); request.setRawHeader("Accept", "text/xml"); reply = manager()->get(request); + return reply; } diff --git a/qt-ui/subsurfacewebservices.h b/qt-ui/subsurfacewebservices.h index f2138ac6f..97f35f235 100644 --- a/qt-ui/subsurfacewebservices.h +++ b/qt-ui/subsurfacewebservices.h @@ -100,7 +100,7 @@ private: class UserSurveyServices : public WebServices { Q_OBJECT public: - void sendSurvey(QString values); + QNetworkReply* sendSurvey(QString values); explicit UserSurveyServices(QWidget *parent = 0, Qt::WindowFlags f = 0); private slots: diff --git a/qt-ui/updatemanager.cpp b/qt-ui/updatemanager.cpp index 51292fcbd..b790a6104 100644 --- a/qt-ui/updatemanager.cpp +++ b/qt-ui/updatemanager.cpp @@ -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() diff --git a/qt-ui/updatemanager.h b/qt-ui/updatemanager.h index 561c53d0b..98b84021d 100644 --- a/qt-ui/updatemanager.h +++ b/qt-ui/updatemanager.h @@ -12,11 +12,9 @@ public: explicit UpdateManager(QObject *parent = 0); void checkForUpdates(); -private: - QNetworkAccessManager *manager; public slots: - void requestReceived(QNetworkReply *reply); + void requestReceived(); }; #endif // UPDATEMANAGER_H diff --git a/qt-ui/usersurvey.cpp b/qt-ui/usersurvey.cpp index 997064042..24e2070e0 100644 --- a/qt-ui/usersurvey.cpp +++ b/qt-ui/usersurvey.cpp @@ -40,8 +40,6 @@ UserSurvey::UserSurvey(QWidget *parent) : QDialog(parent), sysInfo.append(tr("\nLanguage: %1").arg(uiLanguage(NULL))); os.append(QString("&uiLang=%1").arg(uiLanguage(NULL))); ui->system->setPlainText(sysInfo); - manager = SubsurfaceWebServices::manager(); - connect(manager, SIGNAL(finished(QNetworkReply *)), SLOT(requestReceived(QNetworkReply *))); } UserSurvey::~UserSurvey() @@ -64,7 +62,7 @@ void UserSurvey::on_buttonBox_accepted() ADD_OPTION(companion); values.append(QString("&suggestion=%1").arg(ui->suggestions->toPlainText())); UserSurveyServices uss(this); - uss.sendSurvey(values); + connect(uss.sendSurvey(values), SIGNAL(finished()), SLOT(requestReceived())); hide(); } @@ -90,13 +88,13 @@ void UserSurvey::on_buttonBox_rejected() hide(); } -void UserSurvey::requestReceived(QNetworkReply *reply) +void UserSurvey::requestReceived() { QMessageBox msgbox; QString msgTitle = tr("Submit user survey."); QString msgText = "<h3>" + tr("Subsurface was unable to submit the user survey.") + "</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() diff --git a/qt-ui/usersurvey.h b/qt-ui/usersurvey.h index b9221852b..8dacb7bb8 100644 --- a/qt-ui/usersurvey.h +++ b/qt-ui/usersurvey.h @@ -20,13 +20,10 @@ private slots: void on_buttonBox_accepted(); void on_buttonBox_rejected(); - void requestReceived(QNetworkReply *reply); + void requestReceived(); private: Ui::UserSurvey *ui; QString os; - QString checkboxes; - QString suggestions; - QNetworkAccessManager *manager; }; #endif // USERSURVEY_H |