From ef95a56b5c8ab9719a64a4cb1e31e31d3397b8f3 Mon Sep 17 00:00:00 2001 From: oberion Date: Fri, 16 Sep 2011 15:09:37 +0200 Subject: [PATCH] Cleaned some more signal bugs --- src/ui/CommConfigurationWindow.cc | 6 ++++-- src/ui/MainWindow.cc | 16 +++++++++++----- src/ui/QGCParamWidget.h | 2 +- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/ui/CommConfigurationWindow.cc b/src/ui/CommConfigurationWindow.cc index b207dab38..0941d175d 100644 --- a/src/ui/CommConfigurationWindow.cc +++ b/src/ui/CommConfigurationWindow.cc @@ -81,7 +81,7 @@ CommConfigurationWindow::CommConfigurationWindow(LinkInterface* link, ProtocolIn // Connect the current UAS action = new QAction(QIcon(":/images/devices/network-wireless.svg"), "", this); LinkManager::instance()->add(link); - action->setData(LinkManager::instance()->getLinks().indexOf(link)); + action->setData(link->getId()); action->setEnabled(true); action->setVisible(true); setLinkName(link->getName()); @@ -264,7 +264,9 @@ void CommConfigurationWindow::setLinkType(int linktype) QList actions = MainWindow::instance()->listLinkMenuActions(); foreach (QAction* act, actions) { - if (act->data().toInt() == LinkManager::instance()->getLinks().indexOf(tmpLink)) + const int& linkIndex(LinkManager::instance()->getLinks().indexOf(tmpLink)); + const int& linkID(LinkManager::instance()->getLinks()[linkIndex]->getId()); + if (act->data().toInt() == linkID) { act->trigger(); break; diff --git a/src/ui/MainWindow.cc b/src/ui/MainWindow.cc index 67fb579bc..a609fbe8f 100644 --- a/src/ui/MainWindow.cc +++ b/src/ui/MainWindow.cc @@ -1492,8 +1492,11 @@ void MainWindow::addLink() // Go fishing for this link's configuration window QList actions = ui.menuNetwork->actions(); + const int& linkIndex(LinkManager::instance()->getLinks().indexOf(link)); + const int& linkID(LinkManager::instance()->getLinks()[linkIndex]->getId()); + foreach (QAction* act, actions) { - if (act->data().toInt() == LinkManager::instance()->getLinks().indexOf(link)) { + if (act->data().toInt() == linkID) { // LinkManager::instance()->getLinks().indexOf(link) act->trigger(); break; } @@ -1512,17 +1515,20 @@ void MainWindow::addLink(LinkInterface *link) // Go fishing for this link's configuration window QList actions = ui.menuNetwork->actions(); - bool found = false; + bool found(false); + + const int& linkIndex(LinkManager::instance()->getLinks().indexOf(link)); + const int& linkID(LinkManager::instance()->getLinks()[linkIndex]->getId()); foreach (QAction* act, actions) { - if (act->data().toInt() == LinkManager::instance()->getLinks().indexOf(link)) { + if (act->data().toInt() == linkID) { // LinkManager::instance()->getLinks().indexOf(link) found = true; } } - UDPLink* udp = dynamic_cast(link); + //UDPLink* udp = dynamic_cast(link); - if (!found || udp) { + if (!found) { // || udp CommConfigurationWindow* commWidget = new CommConfigurationWindow(link, mavlink, this); QAction* action = commWidget->getAction(); ui.menuNetwork->addAction(action); diff --git a/src/ui/QGCParamWidget.h b/src/ui/QGCParamWidget.h index 68bd77da3..c558fd6de 100644 --- a/src/ui/QGCParamWidget.h +++ b/src/ui/QGCParamWidget.h @@ -52,7 +52,7 @@ public: UASInterface* getUAS(); signals: /** @brief A parameter was changed in the widget, NOT onboard */ - void parameterChanged(int component, QString parametername, float value); + //void parameterChanged(int component, QString parametername, float value); // defined in QGCUASParamManager already /** @brief Request a single parameter */ void requestParameter(int component, int parameter); public slots: -- 2.22.0