Commit f4a1b73a authored by oberion's avatar oberion

Xbee window fixes

parent e555424a
......@@ -210,21 +210,32 @@ QAction* CommConfigurationWindow::getAction()
void CommConfigurationWindow::setLinkType(int linktype)
{
#ifdef XBEELINK
// close old configuration window
this->window()->close();
if(link->isConnected())
{
// close old configuration window
this->window()->close();
}
else
{
// delete old configuration window
this->remove();
}
LinkInterface *tmpLink(NULL);
switch(linktype)
{
case 4:
{
XbeeLink *xbee = new XbeeLink();
MainWindow::instance()->addLink(xbee);
tmpLink = xbee;
MainWindow::instance()->addLink(tmpLink);
break;
}
case 0:
{
SerialLink *serial = new SerialLink();
MainWindow::instance()->addLink(serial);
tmpLink = serial;
MainWindow::instance()->addLink(tmpLink);
break;
}
default:
......@@ -233,6 +244,16 @@ void CommConfigurationWindow::setLinkType(int linktype)
break;
}
}
// trigger new window
QList<QAction*> actions = MainWindow::instance()->listLinkMenuActions();
foreach (QAction* act, actions)
{
if (act->data().toInt() == LinkManager::instance()->getLinks().indexOf(tmpLink))
{
act->trigger();
break;
}
}
#endif // XBEELINK
}
......
......@@ -2002,3 +2002,7 @@ void MainWindow::loadDataView(QString fileName)
}
QList<QAction*> MainWindow::listLinkMenuActions(void)
{
return ui.menuNetwork->actions();
}
\ No newline at end of file
......@@ -35,6 +35,7 @@ This file is part of the QGROUNDCONTROL project
#include <QStatusBar>
#include <QStackedWidget>
#include <QSettings>
#include <qlist.h>
#include "ui_MainWindow.h"
#include "LinkManager.h"
......@@ -215,6 +216,9 @@ public slots:
/** @brief Updates a QDockWidget's location */
void updateLocationSettings (Qt::DockWidgetArea location);
public:
QList<QAction*> listLinkMenuActions(void);
protected:
MainWindow(QWidget *parent = 0);
......
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