Commit e3acbf3b authored by Don Gagne's avatar Don Gagne

Setup prereq and armed checks

parent 348285b0
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include "ParameterEditor.h" #include "ParameterEditor.h"
#include "SetupWidgetHolder.h" #include "SetupWidgetHolder.h"
#include "MainWindow.h" #include "MainWindow.h"
#include "QGCMessageBox.h"
#include <QQmlError> #include <QQmlError>
#include <QQmlContext> #include <QQmlContext>
...@@ -117,6 +118,11 @@ void SetupView::_setConnectedView(void) ...@@ -117,6 +118,11 @@ void SetupView::_setConnectedView(void)
void SetupView::_firmwareButtonClicked(void) void SetupView::_firmwareButtonClicked(void)
{ {
if (_uasCurrent->isArmed()) {
QGCMessageBox::warning("Setup", "Firmware Update cannot be performed while vehicle is armed.");
return;
}
SetupWidgetHolder* dialog = new SetupWidgetHolder(MainWindow::instance()); SetupWidgetHolder* dialog = new SetupWidgetHolder(MainWindow::instance());
dialog->setModal(true); dialog->setModal(true);
dialog->setWindowTitle("Firmware Upgrade"); dialog->setWindowTitle("Firmware Upgrade");
...@@ -139,9 +145,20 @@ void SetupView::_parametersButtonClicked(void) ...@@ -139,9 +145,20 @@ void SetupView::_parametersButtonClicked(void)
void SetupView::_setupButtonClicked(const QVariant& component) void SetupView::_setupButtonClicked(const QVariant& component)
{ {
if (_uasCurrent->isArmed()) {
QGCMessageBox::warning("Setup", "Setup cannot be performed while vehicle is armed.");
return;
}
VehicleComponent* vehicle = qobject_cast<VehicleComponent*>(component.value<QObject*>()); VehicleComponent* vehicle = qobject_cast<VehicleComponent*>(component.value<QObject*>());
Q_ASSERT(vehicle); Q_ASSERT(vehicle);
QString setupPrereq = vehicle->prerequisiteSetup();
if (!setupPrereq.isEmpty()) {
QGCMessageBox::warning("Setup", QString("%1 setup must be completed prior to %2 setup.").arg(setupPrereq).arg(vehicle->name()));
return;
}
SetupWidgetHolder dialog(MainWindow::instance()); SetupWidgetHolder dialog(MainWindow::instance());
dialog.setModal(true); dialog.setModal(true);
dialog.setWindowTitle(vehicle->name()); dialog.setWindowTitle(vehicle->name());
......
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