Commit f9486d9a authored by Don Gagne's avatar Don Gagne

Merge pull request #1058 from DonLakeFlyer/SplashScreen

Hiding splash screen now handled by QGCFileDialog/QGCMessageBox
parents 0f05862d 52a7daba
......@@ -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();
}
}
......@@ -87,48 +87,35 @@ private:
return (parent == NULL) ? MainWindow::instance() : parent;
}
#ifdef Q_OS_MAC
static StandardButton _messageBox(Icon icon, const QString& title, const QString& text, StandardButtons buttons, StandardButton defaultButton, QWidget* parent)
{
// You can't use QGCMessageBox if QGCApplication is not created yet.
Q_ASSERT(qgcApp());
parent = _validateParameters(buttons, &defaultButton, parent);
if (MainWindow::instance()) {
MainWindow::instance()->hideSplashScreen();
}
#ifdef QT_DEBUG
if (qgcApp()->runningUnitTests()) {
return UnitTest::_messageBox(icon, title, text, buttons, defaultButton);
} else
#endif // QT_DEBUG
#endif
{
#ifdef Q_OS_MAC
QString emptyTitle;
QMessageBox box(icon, emptyTitle, title, buttons, parent);
box.setDefaultButton(defaultButton);
box.setInformativeText(text);
return static_cast<QMessageBox::StandardButton>(box.exec());
}
}
#else
static StandardButton _messageBox(Icon icon, const QString& title, const QString& text, StandardButtons buttons, StandardButton defaultButton, QWidget* parent)
{
// You can't use QGCMessageBox if QGCApplication is not created yet.
Q_ASSERT(qgcApp());
parent = _validateParameters(buttons, &defaultButton, parent);
#ifdef QT_DEBUG
if (qgcApp()->runningUnitTests()) {
return UnitTest::_messageBox(icon, title, text, buttons, defaultButton);
} else
#endif // QT_DEBUG
{
QMessageBox box(icon, title, text, buttons, parent);
box.setDefaultButton(defaultButton);
#endif
return static_cast<QMessageBox::StandardButton>(box.exec());
}
}
#endif // Q_OS_MAC
};
#endif
......@@ -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();
......
......@@ -158,6 +158,8 @@ public:
}
QList<QAction*> 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<QObject*> commsWidgetList;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment