From 92f92abb350cd53308803fdbc20f0d1e8da99699 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Thu, 12 Nov 2015 10:08:24 -0800 Subject: [PATCH] Use vehicle count instead of link count --- .../PX4/AirframeComponentController.cc | 2 +- src/Vehicle/MultiVehicleManager.cc | 13 ------------- src/Vehicle/MultiVehicleManager.h | 6 ++---- src/ui/MainWindow.cc | 2 +- src/ui/MultiVehicleDockWidget.cc | 6 ++++-- 5 files changed, 8 insertions(+), 21 deletions(-) diff --git a/src/AutoPilotPlugins/PX4/AirframeComponentController.cc b/src/AutoPilotPlugins/PX4/AirframeComponentController.cc index 3fc8a16fd..757c64d98 100644 --- a/src/AutoPilotPlugins/PX4/AirframeComponentController.cc +++ b/src/AutoPilotPlugins/PX4/AirframeComponentController.cc @@ -98,7 +98,7 @@ AirframeComponentController::~AirframeComponentController() void AirframeComponentController::changeAutostart(void) { - if (qgcApp()->toolbox()->multiVehicleManager()->vehicles().count() > 1) { + if (qgcApp()->toolbox()->multiVehicleManager()->vehicles()->count() > 1) { QGCMessageBox::warning("Airframe Config", "You cannot change airframe configuration while connected to multiple vehicles."); return; } diff --git a/src/Vehicle/MultiVehicleManager.cc b/src/Vehicle/MultiVehicleManager.cc index 6e1630228..0416ea6ba 100644 --- a/src/Vehicle/MultiVehicleManager.cc +++ b/src/Vehicle/MultiVehicleManager.cc @@ -246,16 +246,3 @@ Vehicle* MultiVehicleManager::getVehicleById(int vehicleId) return NULL; } - -QList MultiVehicleManager::vehicles(void) -{ - QList list; - - for (int i=0; i< _vehicles.count(); i++) { - list += qobject_cast(_vehicles[i]); - } - - return list; -} - - diff --git a/src/Vehicle/MultiVehicleManager.h b/src/Vehicle/MultiVehicleManager.h index bc3a42acb..0b85ee3a4 100644 --- a/src/Vehicle/MultiVehicleManager.h +++ b/src/Vehicle/MultiVehicleManager.h @@ -54,7 +54,7 @@ public: Q_PROPERTY(bool activeVehicleAvailable READ activeVehicleAvailable NOTIFY activeVehicleAvailableChanged) Q_PROPERTY(bool parameterReadyVehicleAvailable READ parameterReadyVehicleAvailable NOTIFY parameterReadyVehicleAvailableChanged) Q_PROPERTY(Vehicle* activeVehicle READ activeVehicle WRITE setActiveVehicle NOTIFY activeVehicleChanged) - Q_PROPERTY(QmlObjectListModel* vehicles READ vehiclesModel CONSTANT) + Q_PROPERTY(QmlObjectListModel* vehicles READ vehicles CONSTANT) // Methods @@ -70,8 +70,6 @@ public: UAS* activeUas(void) { return _activeVehicle ? _activeVehicle->uas() : NULL; } - QList vehicles(void); - // Property accessors bool activeVehicleAvailable(void) { return _activeVehicleAvailable; } @@ -81,7 +79,7 @@ public: Vehicle* activeVehicle(void) { return _activeVehicle; } void setActiveVehicle(Vehicle* vehicle); - QmlObjectListModel* vehiclesModel(void) { return &_vehicles; } + QmlObjectListModel* vehicles(void) { return &_vehicles; } // Override from QGCTool virtual void setToolbox(QGCToolbox *toolbox); diff --git a/src/ui/MainWindow.cc b/src/ui/MainWindow.cc index 6d1d5b0c4..31531fb1a 100644 --- a/src/ui/MainWindow.cc +++ b/src/ui/MainWindow.cc @@ -443,7 +443,7 @@ void MainWindow::showStatusBarCallback(bool checked) void MainWindow::closeEvent(QCloseEvent *event) { // Disallow window close if there are active connections - if (qgcApp()->toolbox()->linkManager()->anyConnectedLinks()) { + if (qgcApp()->toolbox()->multiVehicleManager()->vehicles()->count()) { QGCMessageBox::StandardButton button = QGCMessageBox::warning( tr("QGroundControl close"), diff --git a/src/ui/MultiVehicleDockWidget.cc b/src/ui/MultiVehicleDockWidget.cc index e0a7e9be1..1ff1da63f 100644 --- a/src/ui/MultiVehicleDockWidget.cc +++ b/src/ui/MultiVehicleDockWidget.cc @@ -41,8 +41,10 @@ MultiVehicleDockWidget::MultiVehicleDockWidget(const QString& title, QAction* ac void MultiVehicleDockWidget::init(void) { - foreach (Vehicle* vehicle, qgcApp()->toolbox()->multiVehicleManager()->vehicles()) { - _vehicleAdded(vehicle); + QmlObjectListModel* vehicles = qgcApp()->toolbox()->multiVehicleManager()->vehicles(); + + for (int i=0; icount(); i++) { + _vehicleAdded(qobject_cast(vehicles->get(i))); } if (qgcApp()->toolbox()->multiVehicleManager()->activeVehicle()) { -- 2.22.0