diff options
author | Thiago Macieira <thiago@macieira.org> | 2013-11-14 16:50:46 -0800 |
---|---|---|
committer | Thiago Macieira <thiago@macieira.org> | 2013-12-03 13:53:00 -0800 |
commit | fa07f554e2894c7720a41c1fbb379743dd6c7285 (patch) | |
tree | de55d2e385b3a51845c84731a0c06207338d79c8 | |
parent | 481ddf43c6371f62fedce4ed6cae538d760a86b2 (diff) | |
download | subsurface-fa07f554e2894c7720a41c1fbb379743dd6c7285.tar.gz |
Properly reset the state of the download dialog before dismissing
Re-enable buttons that should be enabled by default, disable the others,
set the status to empty, make the progress bar go back to zero.
Signed-off-by: Thiago Macieira <thiago@macieira.org>
-rw-r--r-- | qt-ui/subsurfacewebservices.cpp | 16 | ||||
-rw-r--r-- | qt-ui/subsurfacewebservices.h | 2 |
2 files changed, 14 insertions, 4 deletions
diff --git a/qt-ui/subsurfacewebservices.cpp b/qt-ui/subsurfacewebservices.cpp index 850e076f3..1f47d965b 100644 --- a/qt-ui/subsurfacewebservices.cpp +++ b/qt-ui/subsurfacewebservices.cpp @@ -115,6 +115,14 @@ QNetworkAccessManager *WebServices::manager() return manager; } +void WebServices::resetState() +{ + ui.download->setEnabled(true); + ui.progressBar->reset(); + ui.progressBar->setRange(0,1); + ui.status->setText(QString()); +} + // # // # // # Subsurface Web Service Implementation. @@ -156,12 +164,13 @@ void SubsurfaceWebServices::buttonClicked(QAbstractButton* button) s.sync(); hide(); close(); + resetState(); } break; case QDialogButtonBox::RejectRole: // we may want to clean up after ourselves // reply->deleteLater(); - ui.progressBar->setMaximum(1); + resetState(); break; case QDialogButtonBox::HelpRole: QDesktopServices::openUrl(QUrl("http://api.hohndel.org")); @@ -208,9 +217,8 @@ void SubsurfaceWebServices::downloadFinished() void SubsurfaceWebServices::downloadError(QNetworkReply::NetworkError) { - ui.download->setEnabled(true); - ui.progressBar->setRange(0,1); - ui.status->setText(QString::number((int)QNetworkRequest::HttpStatusCodeAttribute)); + resetState(); + ui.status->setText(tr("Download error: %1").arg(reply->errorString())); reply->deleteLater(); } diff --git a/qt-ui/subsurfacewebservices.h b/qt-ui/subsurfacewebservices.h index 0400fd503..0cd083001 100644 --- a/qt-ui/subsurfacewebservices.h +++ b/qt-ui/subsurfacewebservices.h @@ -25,6 +25,8 @@ private slots: virtual void buttonClicked(QAbstractButton* button) = 0; protected: + void resetState(); + Ui::WebServices ui; QNetworkReply *reply; QByteArray downloadedData; |