From 3c0c01d6ef3e961ab6afed1f5d926f6986ca9832 Mon Sep 17 00:00:00 2001 From: Lorenz Meier Date: Sat, 6 Jun 2015 12:32:47 +0200 Subject: [PATCH] Mainwindow: Fix HIL config deletion --- src/ui/MainWindow.cc | 9 +++++++++ src/ui/MainWindow.h | 3 +++ 2 files changed, 12 insertions(+) diff --git a/src/ui/MainWindow.cc b/src/ui/MainWindow.cc index 57b97d5b1..f0bb967a0 100644 --- a/src/ui/MainWindow.cc +++ b/src/ui/MainWindow.cc @@ -796,6 +796,7 @@ void MainWindow::connectCommonActions() // Connect internal actions connect(UASManager::instance(), SIGNAL(UASCreated(UASInterface*)), this, SLOT(UASCreated(UASInterface*))); + connect(UASManager::instance(), SIGNAL(UASDeleted(int)), this, SLOT(UASDeleted(int))); // Unmanned System controls connect(_ui.actionLiftoff, SIGNAL(triggered()), UASManager::instance(), SLOT(launchActiveUAS())); @@ -909,6 +910,14 @@ void MainWindow::UASCreated(UASInterface* uas) } } +void MainWindow::UASDeleted(int uasId) +{ + if (_mapUasId2HilDockWidget.contains(uasId)) { + _mapUasId2HilDockWidget[uasId]->deleteLater(); + _mapUasId2HilDockWidget.remove(uasId); + } +} + /// Stores the state of the toolbar, status bar and widgets associated with the current view void MainWindow::_storeCurrentViewState(void) { diff --git a/src/ui/MainWindow.h b/src/ui/MainWindow.h index 4ba330997..a337268e0 100644 --- a/src/ui/MainWindow.h +++ b/src/ui/MainWindow.h @@ -146,6 +146,9 @@ public slots: /** @brief Add a new UAS */ void UASCreated(UASInterface* uas); + /** @brief Remove an old UAS */ + void UASDeleted(int uasID); + void handleMisconfiguration(UASInterface* uas); /** @brief Load configuration views */ void loadSetupView(); -- 2.22.0