diff --git a/src/QGCFileDialog.cc b/src/QGCFileDialog.cc index f547d16c3e274f1a764ca0df086a57f2eb5456e8..737e53389a84ee7110aec789568a79d952e97ee1 100644 --- a/src/QGCFileDialog.cc +++ b/src/QGCFileDialog.cc @@ -23,6 +23,7 @@ #include "QGCFileDialog.h" #include "QGCApplication.h" +#include "MainWindow.h" #ifdef QT_DEBUG #include "UnitTest.h" #endif @@ -113,4 +114,8 @@ void QGCFileDialog::_validate(QString* selectedFilter, Options& options) // On OSX native dialog can hang so we always use Qt dialogs options | DontUseNativeDialog; + + if (MainWindow::instance()) { + MainWindow::instance()->hideSplashScreen(); + } } diff --git a/src/ui/MainWindow.cc b/src/ui/MainWindow.cc index a41bd06d35363dcdcdf556aa299c3eefac888998..d10685839bdcd8802c6cec72b5d08c5f0ee64578 100644 --- a/src/ui/MainWindow.cc +++ b/src/ui/MainWindow.cc @@ -1106,14 +1106,12 @@ void MainWindow::showStatusMessage(const QString& status) void MainWindow::showCriticalMessage(const QString& title, const QString& message) { - _hideSplashScreen(); qDebug() << "Critical" << title << message; QGCMessageBox::critical(title, message); } void MainWindow::showInfoMessage(const QString& title, const QString& message) { - _hideSplashScreen(); qDebug() << "Information" << title << message; QGCMessageBox::information(title, message); } @@ -1621,8 +1619,6 @@ void MainWindow::handleMisconfiguration(UASInterface* uas) } } - _hideSplashScreen(); - // Ask user if he wants to handle this now QMessageBox::StandardButton button = QGCMessageBox::question(tr("Missing or Invalid Onboard Configuration"), tr("The onboard system configuration is missing or incomplete. Do you want to resolve this now?"), @@ -1737,7 +1733,6 @@ bool MainWindow::dockWidgetTitleBarsEnabled() const void MainWindow::_saveTempFlightDataLog(QString tempLogfile) { if (qgcApp()->promptFlightDataSave()) { - _hideSplashScreen(); QString saveFilename = QGCFileDialog::getSaveFileName(this, tr("Select file to save Flight Data Log"), qgcApp()->mavlinkLogFilesLocation(), @@ -1750,7 +1745,7 @@ void MainWindow::_saveTempFlightDataLog(QString tempLogfile) } /// @brief Hides the spash screen if it is currently being shown -void MainWindow::_hideSplashScreen(void) +void MainWindow::hideSplashScreen(void) { if (_splashScreen) { _splashScreen->hide(); diff --git a/src/ui/MainWindow.h b/src/ui/MainWindow.h index 68977c813902da371de78621e09d01d235b518c8..0933431e5eb6d6b08fe545d3ecc6403b575e6279 100644 --- a/src/ui/MainWindow.h +++ b/src/ui/MainWindow.h @@ -158,6 +158,8 @@ public: } QList listLinkMenuActions(); + + void hideSplashScreen(void); public slots: /** @brief Shows a status message on the bottom status bar */ @@ -467,7 +469,6 @@ private: /// Constructor is private since all creation should be through MainWindow::_create MainWindow(QSplashScreen* splashScreen, enum MainWindow::CUSTOM_MODE mode); - void _hideSplashScreen(void); void _openUrl(const QString& url, const QString& errorMessage); QList commsWidgetList;