# HG changeset patch # User Andre Heinecke # Date 1410948847 -7200 # Node ID a07030035349095d2393a0f7c4bcae6fa5fe1c32 # Parent dd9094d92899389e198d225c129bf43b55da3599 (issue96) Add progressbar during download if window is visible. diff -r dd9094d92899 -r a07030035349 ui/mainwindow.cpp --- a/ui/mainwindow.cpp Wed Sep 17 12:12:44 2014 +0200 +++ b/ui/mainwindow.cpp Wed Sep 17 12:14:07 2014 +0200 @@ -146,7 +146,6 @@ void MainWindow::messageClicked() { if (mCurState == NewSoftwareAvailable) { - hide(); verifySWData(); QString swFileName = mSettings.value("Software/available").toString(); if (swFileName.isEmpty()) { @@ -302,7 +301,7 @@ qDebug () << "Failed to create temporary directory."; return QString(); } - QString targetPath = tDir.path() + QObject::tr("TrustBridge-Updater", + QString targetPath = tDir.path() + "/" + QObject::tr("TrustBridge-Updater", "Used as filename for the updater. Only use ASCII please."); tDir.setAutoRemove(false); @@ -507,6 +506,17 @@ connect(downloader, SIGNAL(error(const QString &, SSLConnection::ErrorCode)), this, SLOT(downloaderError(const QString &, SSLConnection::ErrorCode))); downloader->start(); + + if (downloadSW && getState() == DownloadingSW && isVisible()) { + QProgressDialog *progDlg = new QProgressDialog(this); + progDlg->setCancelButton(0); + progDlg->setRange(0,0); + progDlg->setMinimumDuration(0); + progDlg->setLabelText(tr("Downloading update...")); + progDlg->show(); + connect(downloader, SIGNAL(finished()), progDlg, SLOT(deleteLater())); + connect(downloader, SIGNAL(finished()), progDlg, SLOT(cancel())); + } } void MainWindow::getLastModForCurrentVersion()