1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-02-18 08:54:15 +01:00

Trying to get out of merge hell

This commit is contained in:
zedamota 2011-08-15 14:12:54 +01:00
parent e736b17cc4
commit 98f84e472b
9 changed files with 31 additions and 45 deletions

View File

@ -65,7 +65,7 @@ MyTabbedStackWidget::MyTabbedStackWidget(QWidget *parent, bool isVertical, bool
m_stackWidget->setContentsMargins(0, 0, 0, 0);
setLayout(toplevelLayout);
connect(m_listWidget, SIGNAL(currentRowChanged(int)), this, SLOT(showWidget(int)));
connect(m_listWidget, SIGNAL(currentRowChanged(int)), this, SLOT(showWidget(int)),Qt::QueuedConnection);
}
void MyTabbedStackWidget::insertTab(const int index, QWidget *tab, const QIcon &icon, const QString &label)
@ -97,9 +97,19 @@ void MyTabbedStackWidget::setCurrentIndex(int index)
void MyTabbedStackWidget::showWidget(int index)
{
emit currentAboutToShow(index);
if(m_stackWidget->currentIndex()==index)
return;
bool proceed=false;
emit currentAboutToShow(index,&proceed);
if(proceed)
{
m_stackWidget->setCurrentIndex(index);
emit currentChanged(index);
}
else
{
m_listWidget->setCurrentRow(m_stackWidget->currentIndex(),QItemSelectionModel::ClearAndSelect);
}
}
void MyTabbedStackWidget::insertCornerWidget(int index, QWidget *widget)

View File

@ -51,9 +51,10 @@ public:
void insertCornerWidget(int index, QWidget *widget);
int cornerWidgetCount() { return m_cornerWidgetCount; }
QWidget * currentWidget(){return m_stackWidget->currentWidget();}
signals:
void currentAboutToShow(int index);
void currentAboutToShow(int index,bool * proceed);
void currentChanged(int index);
public slots:

View File

@ -45,16 +45,16 @@ ConfigCCAttitudeWidget::ConfigCCAttitudeWidget(QWidget *parent) :
setupButtons(ui->applyButton,ui->saveButton);
addUAVObject("AttitudeSettings");
refreshWidgetsValues(); // The 1st time this panel is instanciated, the autopilot is already connected.
UAVObject * settings = AttitudeSettings::GetInstance(getObjectManager());
// Connect the help button
connect(ui->ccAttitudeHelp, SIGNAL(clicked()), this, SLOT(openHelp()));
addWidget(ui->rollBias);
addWidget(ui->pitchBias);
addWidget(ui->yawBias);
addUAVObjectToWidgetRelation("AttitudeSettings","ZeroDuringArming",ui->zeroGyroBiasOnArming);
addUAVObjectToWidgetRelation("AttitudeSettings","BoardRotation",ui->rollBias,AttitudeSettings::BOARDROTATION_ROLL);
addUAVObjectToWidgetRelation("AttitudeSettings","BoardRotation",ui->pitchBias,AttitudeSettings::BOARDROTATION_PITCH);
addUAVObjectToWidgetRelation("AttitudeSettings","BoardRotation",ui->yawBias,AttitudeSettings::BOARDROTATION_YAW);
addWidget(ui->zeroBias);
addWidget(ui->zeroGyroBiasOnArming);
}
ConfigCCAttitudeWidget::~ConfigCCAttitudeWidget()
@ -123,27 +123,6 @@ void ConfigCCAttitudeWidget::timeout() {
}
void ConfigCCAttitudeWidget::updateObjectsFromWidgets() {
AttitudeSettings::DataFields attitudeSettingsData = AttitudeSettings::GetInstance(getObjectManager())->getData();
attitudeSettingsData.BoardRotation[AttitudeSettings::BOARDROTATION_ROLL] = ui->rollBias->value();
attitudeSettingsData.BoardRotation[AttitudeSettings::BOARDROTATION_PITCH] = ui->pitchBias->value();
attitudeSettingsData.BoardRotation[AttitudeSettings::BOARDROTATION_YAW] = ui->yawBias->value();
attitudeSettingsData.ZeroDuringArming = ui->zeroGyroBiasOnArming->isChecked() ? AttitudeSettings::ZERODURINGARMING_TRUE :
AttitudeSettings::ZERODURINGARMING_FALSE;
AttitudeSettings::GetInstance(getObjectManager())->setData(attitudeSettingsData);
}
void ConfigCCAttitudeWidget::refreshWidgetsValues() {
bool dirty=isDirty();
AttitudeSettings::DataFields attitudeSettingsData = AttitudeSettings::GetInstance(getObjectManager())->getData();
ui->rollBias->setValue(attitudeSettingsData.BoardRotation[0]);
ui->pitchBias->setValue(attitudeSettingsData.BoardRotation[1]);
ui->yawBias->setValue(attitudeSettingsData.BoardRotation[2]);
ui->zeroGyroBiasOnArming->setChecked(attitudeSettingsData.ZeroDuringArming == AttitudeSettings::ZERODURINGARMING_TRUE);
setDirty(dirty);
}
void ConfigCCAttitudeWidget::startAccelCalibration() {
QMutexLocker locker(&startStop);

View File

@ -50,8 +50,6 @@ private slots:
void attitudeRawUpdated(UAVObject * obj);
void timeout();
void startAccelCalibration();
void updateObjectsFromWidgets();
virtual void refreshWidgetsValues();
void openHelp();
private:

View File

@ -99,7 +99,7 @@ ConfigGadgetWidget::ConfigGadgetWidget(QWidget *parent) : QWidget(parent)
onAutopilotConnect();
help = 0;
connect(ftw->m_tabBar,SIGNAL(aboutToChange(bool*)),this,SLOT(tabAboutToChange(bool*)));//,Qt::BlockingQueuedConnection);
connect(ftw,SIGNAL(currentAboutToShow(int,bool*)),this,SLOT(tabAboutToChange(int,bool*)));//,Qt::BlockingQueuedConnection);
}
@ -155,7 +155,7 @@ void ConfigGadgetWidget::onAutopilotConnect() {
emit autopilotConnected();
}
void ConfigGadgetWidget::tabAboutToChange(bool * proceed)
void ConfigGadgetWidget::tabAboutToChange(int i,bool * proceed)
{
*proceed=true;
ConfigTaskWidget * wid=qobject_cast<ConfigTaskWidget *>(ftw->currentWidget());

View File

@ -55,7 +55,7 @@ public:
public slots:
void onAutopilotConnect();
void onAutopilotDisconnect();
void tabAboutToChange(bool *);
void tabAboutToChange(int i,bool *);
signals:
void autopilotConnected();

View File

@ -45,7 +45,6 @@ ConfigOutputWidget::ConfigOutputWidget(QWidget *parent) : ConfigTaskWidget(paren
m_config->setupUi(this);
ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
UAVObjectManager *objManager = pm->getObject<UAVObjectManager>();
setupButtons(m_config->saveRCOutputToRAM,m_config->saveRCOutputToSD);
addUAVObject("ActuatorSettings");

View File

@ -100,6 +100,8 @@ ConfigStabilizationWidget::ConfigStabilizationWidget(QWidget *parent) : ConfigTa
addWidget(m_stabilization->maximumRoll);
addWidget(m_stabilization->maximumPitch);
addWidget(m_stabilization->maximumYaw);
addWidget(m_stabilization->lowThrottleZeroIntegral);
}
ConfigStabilizationWidget::~ConfigStabilizationWidget()
@ -107,13 +109,6 @@ ConfigStabilizationWidget::~ConfigStabilizationWidget()
// Do nothing
}
void ConfigStabilizationWidget::enableControls(bool enable)
{
//m_stabilization->saveStabilizationToRAM->setEnabled(enable);
m_stabilization->saveStabilizationToSD->setEnabled(enable);
}
void ConfigStabilizationWidget::updateRateRollKP(double val)
{
if (m_stabilization->linkRateRP->isChecked()) {
@ -251,6 +246,8 @@ void ConfigStabilizationWidget::refreshWidgetsValues()
m_stabilization->maximumRoll->setValue(stabData.MaximumRate[StabilizationSettings::MAXIMUMRATE_ROLL]);
m_stabilization->maximumPitch->setValue(stabData.MaximumRate[StabilizationSettings::MAXIMUMRATE_PITCH]);
m_stabilization->maximumYaw->setValue(stabData.MaximumRate[StabilizationSettings::MAXIMUMRATE_YAW]);
m_stabilization->lowThrottleZeroIntegral->setChecked(stabData.LowThrottleZeroIntegral==StabilizationSettings::LOWTHROTTLEZEROINTEGRAL_TRUE ? true : false);
setDirty(dirty);
}
@ -299,6 +296,9 @@ void ConfigStabilizationWidget::updateObjectsFromWidgets()
stabData.MaximumRate[StabilizationSettings::MAXIMUMRATE_PITCH] = m_stabilization->maximumPitch->value();
stabData.MaximumRate[StabilizationSettings::MAXIMUMRATE_YAW] = m_stabilization->maximumYaw->value();
stabData.LowThrottleZeroIntegral = (m_stabilization->lowThrottleZeroIntegral->isChecked() ? StabilizationSettings::LOWTHROTTLEZEROINTEGRAL_TRUE :StabilizationSettings::LOWTHROTTLEZEROINTEGRAL_FALSE);
stabSettings->setData(stabData); // this is atomic
}

View File

@ -49,7 +49,6 @@ private:
Ui_StabilizationWidget *m_stabilization;
StabilizationSettings* stabSettings;
QTimer updateTimer;
virtual void enableControls(bool enable);
private slots:
virtual void refreshWidgetsValues();