diff --git a/companion/src/downloaddialog.cpp b/companion/src/downloaddialog.cpp index 794dbbcd1..aa7ea6ef3 100644 --- a/companion/src/downloaddialog.cpp +++ b/companion/src/downloaddialog.cpp @@ -2,6 +2,7 @@ #include "ui_downloaddialog.h" #include #include +#include #include "helpers.h" downloadDialog::downloadDialog(QWidget *parent, QString src, QString tgt) : @@ -87,3 +88,14 @@ void downloadDialog::fileError() file = 0; reject(); } + +void downloadDialog::closeEvent( QCloseEvent * event) +{ + // Delay closing 2 seconds to avoid unpleasant flashing download dialogs + QTime closeTime= QTime::currentTime().addSecs(2); + while( QTime::currentTime() < closeTime ) + QCoreApplication::processEvents(QEventLoop::AllEvents, 100); + + event->accept(); +} + diff --git a/companion/src/downloaddialog.h b/companion/src/downloaddialog.h index 596002250..9730e3134 100644 --- a/companion/src/downloaddialog.h +++ b/companion/src/downloaddialog.h @@ -27,6 +27,7 @@ private slots: void updateDataReadProgress(qint64 bytesRead, qint64 totalBytes); private: + void closeEvent( QCloseEvent * event); Ui::downloadDialog *ui; QNetworkAccessManager qnam;