mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-26 15:54:15 +01:00
LP-245 config: cleanup connect/disconnect handling
This commit is contained in:
parent
841468519e
commit
c9f4440504
@ -96,6 +96,8 @@ ConfigInputWidget::ConfigInputWidget(QWidget *parent) :
|
||||
addApplySaveButtons(ui->saveRCInputToRAM, ui->saveRCInputToSD);
|
||||
ui->saveRCInputToRAM->setVisible(expertMode());
|
||||
|
||||
connect(this, SIGNAL(enableControlsChanged(bool)), this, SLOT(enableControlsChanged(bool)));
|
||||
|
||||
manualCommandObj = ManualControlCommand::GetInstance(getObjectManager());
|
||||
manualSettingsObj = ManualControlSettings::GetInstance(getObjectManager());
|
||||
flightModeSettingsObj = FlightModeSettings::GetInstance(getObjectManager());
|
||||
@ -249,8 +251,6 @@ ConfigInputWidget::ConfigInputWidget(QWidget *parent) :
|
||||
connect(ui->failsafeFlightMode, SIGNAL(currentIndexChanged(int)), this, SLOT(failsafeFlightModeChanged(int)));
|
||||
connect(ui->failsafeFlightModeCb, SIGNAL(toggled(bool)), this, SLOT(failsafeFlightModeCbToggled(bool)));
|
||||
|
||||
connect(this, SIGNAL(enableControlsChanged(bool)), this, SLOT(enableControlsChanged(bool)));
|
||||
|
||||
addWidget(ui->configurationWizard);
|
||||
addWidget(ui->runCalibration);
|
||||
addWidget(ui->failsafeFlightModeCb);
|
||||
@ -2188,5 +2188,5 @@ void ConfigInputWidget::failsafeFlightModeCbToggled(bool checked)
|
||||
|
||||
void ConfigInputWidget::enableControlsChanged(bool enabled)
|
||||
{
|
||||
ui->failsafeFlightMode->setEnabled(enabled && ui->failsafeFlightMode->currentIndex() != -1);
|
||||
ui->failsafeFlightMode->setEnabled(enabled && (ui->failsafeFlightMode->currentIndex() != -1));
|
||||
}
|
||||
|
@ -59,6 +59,8 @@ ConfigOPLinkWidget::ConfigOPLinkWidget(QWidget *parent) : ConfigTaskWidget(paren
|
||||
addApplySaveButtons(m_oplink->Apply, m_oplink->Save);
|
||||
m_oplink->Apply->setVisible(expertMode());
|
||||
|
||||
connect(this, SIGNAL(connected()), this, SLOT(connected()));
|
||||
|
||||
oplinkStatusObj = dynamic_cast<OPLinkStatus *>(getObject("OPLinkStatus"));
|
||||
Q_ASSERT(oplinkStatusObj);
|
||||
|
||||
@ -137,9 +139,9 @@ ConfigOPLinkWidget::ConfigOPLinkWidget(QWidget *parent) : ConfigTaskWidget(paren
|
||||
ConfigOPLinkWidget::~ConfigOPLinkWidget()
|
||||
{}
|
||||
|
||||
void ConfigOPLinkWidget::onConnectImpl()
|
||||
void ConfigOPLinkWidget::connected()
|
||||
{
|
||||
// qDebug() << "ConfigOPLinkWidget::onConnectImpl()";
|
||||
// qDebug() << "ConfigOPLinkWidget::connected()";
|
||||
statusUpdated = false;
|
||||
|
||||
// Request and update of the setting object if we haven't received it yet.
|
||||
|
@ -43,7 +43,6 @@ public:
|
||||
~ConfigOPLinkWidget();
|
||||
|
||||
protected:
|
||||
virtual void onConnectImpl();
|
||||
virtual void refreshWidgetsValuesImpl(UAVObject *obj);
|
||||
|
||||
private:
|
||||
@ -62,6 +61,8 @@ private:
|
||||
void setPortsVisible(bool visible);
|
||||
|
||||
private slots:
|
||||
void connected();
|
||||
|
||||
void protocolChanged();
|
||||
void linkTypeChanged();
|
||||
|
||||
|
@ -69,6 +69,8 @@ ConfigStabilizationWidget::ConfigStabilizationWidget(QWidget *parent) : ConfigTa
|
||||
|
||||
ui->saveStabilizationToRAM_6->setVisible(expertMode());
|
||||
|
||||
connect(this, SIGNAL(enableControlsChanged(bool)), this, SLOT(enableControlsChanged(bool)));
|
||||
|
||||
setupExpoPlot();
|
||||
|
||||
realtimeUpdates = new QTimer(this);
|
||||
@ -638,17 +640,12 @@ void ConfigStabilizationWidget::processLinkedWidgets(QWidget *widget)
|
||||
}
|
||||
}
|
||||
|
||||
void ConfigStabilizationWidget::onConnectImpl()
|
||||
void ConfigStabilizationWidget::enableControlsChanged(bool enable)
|
||||
{
|
||||
// If Revolution/Sparky2 board enable Althold tab, otherwise disable it
|
||||
bool enableAltitudeHold = (((boardModel() & 0xff00) == 0x0900) || ((boardModel() & 0xff00) == 0x9200));
|
||||
|
||||
ui->AltitudeHold->setEnabled(enableAltitudeHold);
|
||||
}
|
||||
|
||||
void ConfigStabilizationWidget::onDisconnectImpl()
|
||||
{
|
||||
ui->AltitudeHold->setEnabled(false);
|
||||
ui->AltitudeHold->setEnabled(enable && enableAltitudeHold);
|
||||
}
|
||||
|
||||
void ConfigStabilizationWidget::stabBankChanged(int index)
|
||||
|
@ -58,8 +58,6 @@ public:
|
||||
protected:
|
||||
QString mapObjectName(const QString objectName);
|
||||
|
||||
virtual void onConnectImpl();
|
||||
virtual void onDisconnectImpl();
|
||||
virtual void refreshWidgetsValuesImpl(UAVObject *obj);
|
||||
virtual void updateObjectsFromWidgetsImpl();
|
||||
|
||||
@ -96,6 +94,8 @@ private:
|
||||
void restoreStabBank(int bank);
|
||||
|
||||
private slots:
|
||||
void enableControlsChanged(bool enable);
|
||||
|
||||
void realtimeUpdatesSlot(bool value);
|
||||
void linkCheckBoxes(bool value);
|
||||
void processLinkedWidgets(QWidget *);
|
||||
|
@ -341,26 +341,24 @@ void ConfigTaskWidget::onConnect()
|
||||
invalidateObjects();
|
||||
|
||||
resetLimits();
|
||||
updateEnableControls();
|
||||
|
||||
// call specific implementation
|
||||
onConnectImpl();
|
||||
|
||||
setDirty(false);
|
||||
emit connected();
|
||||
|
||||
refreshWidgetsValues();
|
||||
updateEnableControls();
|
||||
|
||||
setDirty(false);
|
||||
}
|
||||
|
||||
void ConfigTaskWidget::onDisconnect()
|
||||
{
|
||||
m_isConnected = false;
|
||||
|
||||
emit disconnected();
|
||||
|
||||
updateEnableControls();
|
||||
invalidateObjects();
|
||||
|
||||
// call specific implementation
|
||||
onDisconnectImpl();
|
||||
|
||||
// reset board ID
|
||||
m_currentBoardId = -1;
|
||||
}
|
||||
|
@ -168,6 +168,8 @@ protected slots:
|
||||
void save();
|
||||
|
||||
signals:
|
||||
void connected();
|
||||
void disconnected();
|
||||
void widgetContentsChanged(QWidget *widget);
|
||||
void defaultRequested(int group);
|
||||
void enableControlsChanged(bool enable);
|
||||
@ -186,8 +188,6 @@ protected:
|
||||
|
||||
bool isConnected() const;
|
||||
|
||||
virtual void onConnectImpl() {};
|
||||
virtual void onDisconnectImpl() {};
|
||||
virtual void refreshWidgetsValuesImpl(UAVObject *) {};
|
||||
virtual void updateObjectsFromWidgetsImpl() {};
|
||||
|
||||
|
@ -34,9 +34,11 @@
|
||||
|
||||
#include <oplinkstatus.h>
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
OPLinkManager::OPLinkManager() : QObject(), m_isConnected(false), m_opLinkType(OPLinkManager::OPLINK_UNKNOWN)
|
||||
{
|
||||
// conenct to the connection manager
|
||||
// connect to the connection manager
|
||||
Core::ConnectionManager *cm = Core::ICore::instance()->connectionManager();
|
||||
|
||||
connect(cm, SIGNAL(deviceConnected(QIODevice *)), this, SLOT(onDeviceConnect()));
|
||||
|
Loading…
x
Reference in New Issue
Block a user