Commit 125f125a authored by Don Gagne's avatar Don Gagne

Disallow close if active connections

Also moved log file settings save check to mavlink protocol
parent 9b7b32b7
...@@ -778,12 +778,31 @@ void MainWindow::showHILConfigurationWidget(UASInterface* uas) ...@@ -778,12 +778,31 @@ void MainWindow::showHILConfigurationWidget(UASInterface* uas)
void MainWindow::closeEvent(QCloseEvent *event) void MainWindow::closeEvent(QCloseEvent *event)
{ {
// Disallow window close if there are active connections
bool foundConnections = false;
foreach(LinkInterface* link, LinkManager::instance()->getLinks()) {
if (link->isConnected()) {
foundConnections = true;
break;
}
}
if (foundConnections) {
QGCMessageBox::warning(tr("QGroundControl close"), tr("There are still active connections to vehicles. Please disconnect all connections before closing QGroundControl."));
event->ignore();
return;
}
// Should not be any active connections
foreach(LinkInterface* link, LinkManager::instance()->getLinks()) {
Q_ASSERT(!link->isConnected());
}
storeViewState(); storeViewState();
storeSettings(); storeSettings();
mavlink->storeSettings(); mavlink->storeSettings();
UASManager::instance()->storeSettings(); UASManager::instance()->storeSettings();
// FIXME: If connected links, should prompt before close
LinkManager::instance()->disconnectAll();
event->accept(); event->accept();
} }
...@@ -1734,14 +1753,12 @@ bool MainWindow::dockWidgetTitleBarsEnabled() const ...@@ -1734,14 +1753,12 @@ bool MainWindow::dockWidgetTitleBarsEnabled() const
void MainWindow::_saveTempFlightDataLog(QString tempLogfile) void MainWindow::_saveTempFlightDataLog(QString tempLogfile)
{ {
if (qgcApp()->promptFlightDataSave()) { QString saveFilename = QGCFileDialog::getSaveFileName(this,
QString saveFilename = QGCFileDialog::getSaveFileName(this, tr("Select file to save Flight Data Log"),
tr("Select file to save Flight Data Log"), qgcApp()->mavlinkLogFilesLocation(),
qgcApp()->mavlinkLogFilesLocation(), tr("Flight Data Log (*.mavlink)"));
tr("Flight Data Log (*.mavlink)")); if (!saveFilename.isEmpty()) {
if (!saveFilename.isEmpty()) { QFile::copy(tempLogfile, saveFilename);
QFile::copy(tempLogfile, saveFilename);
}
} }
QFile::remove(tempLogfile); QFile::remove(tempLogfile);
} }
......
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