diff --git a/ground/openpilotgcs/src/plugins/config/ahrs.ui b/ground/openpilotgcs/src/plugins/config/ahrs.ui index f4cc5a453..78ca0351a 100644 --- a/ground/openpilotgcs/src/plugins/config/ahrs.ui +++ b/ground/openpilotgcs/src/plugins/config/ahrs.ui @@ -7,17 +7,68 @@ 0 0 720 - 509 + 537 Form + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + true + + + + + + + + :/configgadget/images/help.png:/configgadget/images/help.png + + + false + + + true + + + + + - 1 + 0 @@ -42,29 +93,6 @@ - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -152,29 +180,6 @@ - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -278,23 +283,6 @@ Hint: run this with engines at cruising speed. - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -368,23 +356,6 @@ Hint: run this with engines at cruising speed. - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -580,29 +551,6 @@ p, li { white-space: pre-wrap; } - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -638,29 +586,6 @@ p, li { white-space: pre-wrap; } - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -756,29 +681,6 @@ new home location unless it is in indoor mode. - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - diff --git a/ground/openpilotgcs/src/plugins/config/airframe.ui b/ground/openpilotgcs/src/plugins/config/airframe.ui index 44d65930a..4d053df02 100644 --- a/ground/openpilotgcs/src/plugins/config/airframe.ui +++ b/ground/openpilotgcs/src/plugins/config/airframe.ui @@ -14,6 +14,49 @@ Form + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + + + + :/configgadget/images/help.png:/configgadget/images/help.png + + + true + + + + + @@ -29,29 +72,6 @@ - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -102,7 +122,7 @@ - 0 + 1 @@ -116,23 +136,6 @@ - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -172,23 +175,6 @@ - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -451,23 +437,6 @@ - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -586,29 +555,6 @@ - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -650,29 +596,6 @@ - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -885,29 +808,6 @@ Typical value is 50% for + or X configuration on quads. - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -985,7 +885,7 @@ Typical value is 50% for + or X configuration on quads. - + 10 @@ -993,29 +893,6 @@ Typical value is 50% for + or X configuration on quads. - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -1085,46 +962,6 @@ Typical value is 50% for + or X configuration on quads. - - - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - @@ -2136,23 +1973,6 @@ p, li { white-space: pre-wrap; } - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -2196,29 +2016,6 @@ p, li { white-space: pre-wrap; } - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -2530,29 +2327,6 @@ p, li { white-space: pre-wrap; } - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - diff --git a/ground/openpilotgcs/src/plugins/config/ccattitude.ui b/ground/openpilotgcs/src/plugins/config/ccattitude.ui index 58d9ad2bc..677e3d6db 100644 --- a/ground/openpilotgcs/src/plugins/config/ccattitude.ui +++ b/ground/openpilotgcs/src/plugins/config/ccattitude.ui @@ -6,41 +6,61 @@ 0 0 - 331 - 324 + 455 + 428 Form + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + + + + :/configgadget/images/help.png:/configgadget/images/help.png + + + true + + + + + - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -158,29 +178,6 @@ - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -284,29 +281,6 @@ - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -362,29 +336,6 @@ arming it in that case! - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -411,19 +362,6 @@ arming it in that case! - - - - Qt::Vertical - - - - 20 - 40 - - - - diff --git a/ground/openpilotgcs/src/plugins/config/configahrswidget.cpp b/ground/openpilotgcs/src/plugins/config/configahrswidget.cpp index f4fbb345c..9d81392e4 100644 --- a/ground/openpilotgcs/src/plugins/config/configahrswidget.cpp +++ b/ground/openpilotgcs/src/plugins/config/configahrswidget.cpp @@ -37,7 +37,8 @@ #include #include #include -#include +#include +#include #include "assertions.h" #include "calibration.h" @@ -228,25 +229,8 @@ ConfigAHRSWidget::ConfigAHRSWidget(QWidget *parent) : ConfigTaskWidget(parent) connect(m_ahrs->startDriftCalib, SIGNAL(clicked()),this, SLOT(launchGyroDriftCalibration())); connect(parent, SIGNAL(autopilotConnected()),this, SLOT(ahrsSettingsRequest())); - // Connect all the help buttons to signal mapper that passes button name to SLOT function - QSignalMapper* signalMapper = new QSignalMapper(this); - connect( m_ahrs->multiPointHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_ahrs->multiPointHelp, m_ahrs->multiPointHelp->objectName()); - connect( m_ahrs->sensorNoiseHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_ahrs->sensorNoiseHelp, m_ahrs->sensorNoiseHelp->objectName()); - connect( m_ahrs->accelBiasHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_ahrs->accelBiasHelp, m_ahrs->accelBiasHelp->objectName()); - connect( m_ahrs->gyroDriftHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_ahrs->gyroDriftHelp, m_ahrs->gyroDriftHelp->objectName()); - connect( m_ahrs->commandHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_ahrs->commandHelp, QString("commandHelp")); - connect( m_ahrs->insAlgorithmHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_ahrs->insAlgorithmHelp, m_ahrs->insAlgorithmHelp->objectName()); - connect( m_ahrs->homeLocationHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_ahrs->homeLocationHelp, m_ahrs->homeLocationHelp->objectName()); - - connect(signalMapper, SIGNAL(mapped(const QString &)), parent, SLOT(showHelp(const QString &))); - + // Connect the help button + connect(m_ahrs->ahrsHelp, SIGNAL(clicked()), this, SLOT(openHelp())); } ConfigAHRSWidget::~ConfigAHRSWidget() @@ -1222,6 +1206,11 @@ void ConfigAHRSWidget::ahrsSettingsSaveSD() } +void ConfigAHRSWidget::openHelp() +{ + + QDesktopServices::openUrl( QUrl("http://wiki.openpilot.org/display/Doc/INS+Configuration", QUrl::StrictMode) ); +} /** @} diff --git a/ground/openpilotgcs/src/plugins/config/configahrswidget.h b/ground/openpilotgcs/src/plugins/config/configahrswidget.h index 8cfaf041e..81344226e 100644 --- a/ground/openpilotgcs/src/plugins/config/configahrswidget.h +++ b/ground/openpilotgcs/src/plugins/config/configahrswidget.h @@ -126,6 +126,7 @@ private slots: void enableHomeLocSave(UAVObject *obj); void launchAHRSCalibration(); void saveAHRSCalibration(); + void openHelp(); void launchAccelBiasCalibration(); void calibPhase2(); void incrementProgress(); diff --git a/ground/openpilotgcs/src/plugins/config/configairframewidget.cpp b/ground/openpilotgcs/src/plugins/config/configairframewidget.cpp index 514fc7c5a..da6dc6afb 100644 --- a/ground/openpilotgcs/src/plugins/config/configairframewidget.cpp +++ b/ground/openpilotgcs/src/plugins/config/configairframewidget.cpp @@ -34,7 +34,8 @@ #include #include #include -#include +#include +#include /** Helper delegate for the custom mixer editor table. @@ -193,32 +194,8 @@ ConfigAirframeWidget::ConfigAirframeWidget(QWidget *parent) : ConfigTaskWidget(p connect(parent, SIGNAL(autopilotConnected()),this, SLOT(requestAircraftUpdate())); - // Connect all the help buttons to signal mapper that passes button name to SLOT function - QSignalMapper* signalMapper = new QSignalMapper(this); - connect( m_aircraft->acftTypeHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_aircraft->acftTypeHelp, m_aircraft->acftTypeHelp->objectName()); - connect( m_aircraft->airplaneTypeHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_aircraft->airplaneTypeHelp, m_aircraft->airplaneTypeHelp->objectName()); - connect( m_aircraft->channelAssignmentHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_aircraft->channelAssignmentHelp, m_aircraft->channelAssignmentHelp->objectName()); - connect( m_aircraft->commandHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_aircraft->commandHelp, QString("commandHelp")); - connect( m_aircraft->throttleCurveHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_aircraft->throttleCurveHelp, QString("throttleCurveHelp")); - connect( m_aircraft->multiFrameTypeHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_aircraft->multiFrameTypeHelp, m_aircraft->multiFrameTypeHelp->objectName()); - connect( m_aircraft->throttleCurveHelp_2, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_aircraft->throttleCurveHelp_2, QString("throttleCurveHelp")); - connect( m_aircraft->tricopterYawHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_aircraft->tricopterYawHelp, m_aircraft->tricopterYawHelp->objectName()); - connect( m_aircraft->motorOutputChanHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_aircraft->motorOutputChanHelp, m_aircraft->motorOutputChanHelp->objectName()); - connect( m_aircraft->feedForwardHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_aircraft->feedForwardHelp, m_aircraft->feedForwardHelp->objectName()); - connect( m_aircraft->commandHelp_2, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_aircraft->commandHelp_2, QString("commandHelp")); - - connect(signalMapper, SIGNAL(mapped(const QString &)), parent, SLOT(showHelp(const QString &))); + // Connect the help button + connect(m_aircraft->airframeHelp, SIGNAL(clicked()), this, SLOT(openHelp())); } ConfigAirframeWidget::~ConfigAirframeWidget() @@ -1547,7 +1524,7 @@ bool ConfigAirframeWidget::setupMixer(double mixerFactors[8][3]) setupQuadMotor(channel, mixerFactors[i][0]*pFactor, rFactor*mixerFactors[i][1], yFactor*mixerFactors[i][2]); } - // obj->updated(); // Let caller do this... + obj->updated(); return true; } @@ -1591,7 +1568,7 @@ void ConfigAirframeWidget::setupMotors(QList motorList) field = obj->getField(motor); field->setValue(mmList.takeFirst()->currentText()); } - // obj->updated(); // Do not Save, let the caller do it... + obj->updated(); // Save... } @@ -2049,15 +2026,14 @@ void ConfigAirframeWidget::sendAircraftUpdate() m_aircraft->mrStatusLabel->setText("Error: Assign a Yaw channel"); return; } - // Need to setup motors first because setupMotors(..) will call resetActuators() - // and reset the Yaw channel to disabled. - motorList << "VTOLMotorNW" << "VTOLMotorNE" << "VTOLMotorS"; - setupMotors(motorList); - obj = dynamic_cast(getObjectManager()->getObject(QString("ActuatorSettings"))); Q_ASSERT(obj); field = obj->getField("FixedWingYaw1"); field->setValue(m_aircraft->triYawChannel->currentText()); + // No need to send a obj->updated() here because setupMotors + // will do it. + motorList << "VTOLMotorNW" << "VTOLMotorNE" << "VTOLMotorS"; + setupMotors(motorList); // Motor 1 to 6, Y6 Layout: // pitch roll yaw @@ -2136,18 +2112,10 @@ void ConfigAirframeWidget::sendAircraftUpdate() field->setValue(m_aircraft->customMixerTable->item(5,i)->text(),ti); } - // obj->updated(); + obj->updated(); } - UAVDataObject* obj = dynamic_cast(getObjectManager()->getObject(QString("ActuatorSettings"))); - Q_ASSERT(obj); - obj->updated(); - - obj = dynamic_cast(getObjectManager()->getObject(QString("MixerSettings"))); - Q_ASSERT(obj); - obj->updated(); - - obj = dynamic_cast(getObjectManager()->getObject(QString("SystemSettings"))); + UAVDataObject* obj = dynamic_cast(getObjectManager()->getObject(QString("SystemSettings"))); UAVObjectField* field = obj->getField(QString("AirframeType")); field->setValue(airframeType); obj->updated(); @@ -2170,3 +2138,9 @@ void ConfigAirframeWidget::saveAircraftUpdate() } +void ConfigAirframeWidget::openHelp() +{ + + QDesktopServices::openUrl( QUrl("http://wiki.openpilot.org/display/Doc/Airframe+configuration", QUrl::StrictMode) ); +} + diff --git a/ground/openpilotgcs/src/plugins/config/configairframewidget.h b/ground/openpilotgcs/src/plugins/config/configairframewidget.h index cbc8b1fc8..37f6ef877 100644 --- a/ground/openpilotgcs/src/plugins/config/configairframewidget.h +++ b/ground/openpilotgcs/src/plugins/config/configairframewidget.h @@ -89,6 +89,7 @@ private slots: void updateCustomThrottle1CurveValue(QList list, double value); void updateCustomThrottle2CurveValue(QList list, double value); void enableFFTest(); + void openHelp(); protected: void showEvent(QShowEvent *event); diff --git a/ground/openpilotgcs/src/plugins/config/configccattitudewidget.cpp b/ground/openpilotgcs/src/plugins/config/configccattitudewidget.cpp index beb4fa2fc..2a15bf0cf 100644 --- a/ground/openpilotgcs/src/plugins/config/configccattitudewidget.cpp +++ b/ground/openpilotgcs/src/plugins/config/configccattitudewidget.cpp @@ -30,7 +30,8 @@ #include #include #include -#include +#include +#include ConfigCCAttitudeWidget::ConfigCCAttitudeWidget(QWidget *parent) : ConfigTaskWidget(parent), @@ -46,18 +47,8 @@ ConfigCCAttitudeWidget::ConfigCCAttitudeWidget(QWidget *parent) : connect(parent, SIGNAL(autopilotConnected()),this, SLOT(getCurrentAttitudeSettings())); getCurrentAttitudeSettings(); // The 1st time this panel is instanciated, the autopilot is already connected. - // Connect all the help buttons to signal mapper that passes button name to SLOT function - QSignalMapper* signalMapper = new QSignalMapper(this); - connect( ui->attitudeRotationHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(ui->attitudeRotationHelp, ui->attitudeRotationHelp->objectName()); - connect( ui->attitudeCalibHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(ui->attitudeCalibHelp, ui->attitudeCalibHelp->objectName()); - connect( ui->zeroOnArmHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(ui->zeroOnArmHelp, ui->zeroOnArmHelp->objectName()); - connect( ui->commandHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(ui->commandHelp, QString("commandHelp")); - - connect(signalMapper, SIGNAL(mapped(const QString &)), parent, SLOT(showHelp(const QString &))); + // Connect the help button + connect(ui->ccAttitudeHelp, SIGNAL(clicked()), this, SLOT(openHelp())); } ConfigCCAttitudeWidget::~ConfigCCAttitudeWidget() @@ -183,3 +174,10 @@ void ConfigCCAttitudeWidget::saveAttitudeSettings() { UAVDataObject * obj = dynamic_cast(getObjectManager()->getObject(QString("AttitudeSettings"))); saveObjectToSD(obj); } + +void ConfigCCAttitudeWidget::openHelp() +{ + + QDesktopServices::openUrl( QUrl("http://wiki.openpilot.org/display/Doc/CopterControl+Attitude+Configuration", QUrl::StrictMode) ); +} + diff --git a/ground/openpilotgcs/src/plugins/config/configccattitudewidget.h b/ground/openpilotgcs/src/plugins/config/configccattitudewidget.h index a70c552ba..1a2627c84 100644 --- a/ground/openpilotgcs/src/plugins/config/configccattitudewidget.h +++ b/ground/openpilotgcs/src/plugins/config/configccattitudewidget.h @@ -53,6 +53,7 @@ private slots: void saveAttitudeSettings(); void applyAttitudeSettings(); void getCurrentAttitudeSettings(); + void openHelp(); private: QMutex startStop; diff --git a/ground/openpilotgcs/src/plugins/config/configgadgetfactory.cpp b/ground/openpilotgcs/src/plugins/config/configgadgetfactory.cpp index f19c3dac8..37447b01a 100644 --- a/ground/openpilotgcs/src/plugins/config/configgadgetfactory.cpp +++ b/ground/openpilotgcs/src/plugins/config/configgadgetfactory.cpp @@ -32,7 +32,7 @@ #include ConfigGadgetFactory::ConfigGadgetFactory(QObject *parent) : - IUAVGadgetFactory(QString("ConfigGadget"), tr("Config"), parent) + IUAVGadgetFactory(QString("ConfigGadget"), tr("Config Gadget"), parent) { } @@ -50,3 +50,8 @@ IUAVGadgetConfiguration *ConfigGadgetFactory::createConfiguration(QSettings* qSe { return new ConfigGadgetConfiguration(QString("ConfigGadget"), qSettings); } + +IOptionsPage *ConfigGadgetFactory::createOptionsPage(IUAVGadgetConfiguration *config) +{ + return new ConfigGadgetOptionsPage(qobject_cast(config)); +} diff --git a/ground/openpilotgcs/src/plugins/config/configgadgetfactory.h b/ground/openpilotgcs/src/plugins/config/configgadgetfactory.h index de90e6def..8d371e746 100644 --- a/ground/openpilotgcs/src/plugins/config/configgadgetfactory.h +++ b/ground/openpilotgcs/src/plugins/config/configgadgetfactory.h @@ -46,6 +46,7 @@ public: IUAVGadget *createGadget(QWidget *parent); IUAVGadgetConfiguration *createConfiguration(QSettings* qSettings); + IOptionsPage *createOptionsPage(IUAVGadgetConfiguration *config); }; #endif // CONFIGGADGETFACTORY_H diff --git a/ground/openpilotgcs/src/plugins/config/configgadgetwidget.cpp b/ground/openpilotgcs/src/plugins/config/configgadgetwidget.cpp index 7d7824a24..b49ccf1df 100644 --- a/ground/openpilotgcs/src/plugins/config/configgadgetwidget.cpp +++ b/ground/openpilotgcs/src/plugins/config/configgadgetwidget.cpp @@ -140,43 +140,5 @@ void ConfigGadgetWidget::onAutopilotConnect() { emit autopilotConnected(); } -void ConfigGadgetWidget::showHelp(const QString &helpName) -{ - // Close any previous help windows still open - if(help != 0) { - help->close(); - } - - // Make help windows with given filename and resize to config gadget width - help = new QTextBrowser(this); - help->setSource(QUrl::fromLocalFile( QString(Utils::PathUtils().InsertDataPath("%%DATAPATH%%help/")) + - helpName + QString(".html") )); - QSize size = help->sizeHint(); - size.setWidth(this->width()); - help->resize(size); - - // Now catch closing events, show the window and give it focus - help->installEventFilter(this); - help->show(); - help->setFocus(); -} - -bool ConfigGadgetWidget::eventFilter(QObject *obj, QEvent *event) -{ - // If help is open and we get a close event, close the help window - // Close events currently are any key press and the mouse leaving the help window - - //printf("event type: %d\n",event->type()); - if(help != 0) { - if (event->type() == QEvent::Leave || event->type() == QEvent::KeyPress) { - help->close(); - help=0; - return true; - } - } - - // standard event processing - return QObject::eventFilter(obj, event); -} diff --git a/ground/openpilotgcs/src/plugins/config/configgadgetwidget.h b/ground/openpilotgcs/src/plugins/config/configgadgetwidget.h index 185321fe3..2520458eb 100644 --- a/ground/openpilotgcs/src/plugins/config/configgadgetwidget.h +++ b/ground/openpilotgcs/src/plugins/config/configgadgetwidget.h @@ -52,10 +52,6 @@ public: public slots: void onAutopilotConnect(); - void showHelp(const QString &helpName); - -private slots: - bool eventFilter(QObject *obj, QEvent *event); signals: void autopilotConnected(); diff --git a/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp b/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp index 034cef519..785ab7018 100644 --- a/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp +++ b/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp @@ -35,7 +35,8 @@ #include #include #include -#include +#include +#include ConfigInputWidget::ConfigInputWidget(QWidget *parent) : ConfigTaskWidget(parent) { @@ -201,29 +202,8 @@ ConfigInputWidget::ConfigInputWidget(QWidget *parent) : ConfigTaskWidget(parent) } } - // Connect all the help buttons to signal mapper that passes button name to SLOT function - QSignalMapper* signalMapper = new QSignalMapper(this); - connect( m_config->receiverTypeHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->receiverTypeHelp, m_config->receiverTypeHelp->objectName()); - connect( m_config->runCalibrationHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->runCalibrationHelp, m_config->runCalibrationHelp->objectName()); - connect( m_config->commandHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->commandHelp, QString("commandHelp")); - connect( m_config->flightModeSwPosHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->flightModeSwPosHelp, m_config->flightModeSwPosHelp->objectName()); - connect( m_config->stabilizationModePerAxis, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->stabilizationModePerAxis, m_config->stabilizationModePerAxis->objectName()); - connect( m_config->commandHelp_2, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->commandHelp_2, QString("commandHelp")); - connect( m_config->armPositionHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->armPositionHelp, m_config->armPositionHelp->objectName()); - connect( m_config->armingTimeoutHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->armingTimeoutHelp, m_config->armingTimeoutHelp->objectName()); - connect( m_config->commandHelp_3, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->commandHelp_2, QString("commandHelp")); - - connect(signalMapper, SIGNAL(mapped(const QString &)), parent, SLOT(showHelp(const QString &))); - + // Connect the help button + connect(m_config->inputHelp, SIGNAL(clicked()), this, SLOT(openHelp())); } ConfigInputWidget::~ConfigInputWidget() @@ -719,3 +699,10 @@ void ConfigInputWidget::updateChannelInSlider(QSlider *slider, QLabel *min, QLab slider->setValue(value); } } + +void ConfigInputWidget::openHelp() +{ + + QDesktopServices::openUrl( QUrl("http://wiki.openpilot.org/display/Doc/Input+Configuration", QUrl::StrictMode) ); +} + diff --git a/ground/openpilotgcs/src/plugins/config/configinputwidget.h b/ground/openpilotgcs/src/plugins/config/configinputwidget.h index 4f0fa0182..5747ee35d 100644 --- a/ground/openpilotgcs/src/plugins/config/configinputwidget.h +++ b/ground/openpilotgcs/src/plugins/config/configinputwidget.h @@ -90,6 +90,7 @@ private slots: void sendRCInputUpdate(); void saveRCInputObject(); void reverseCheckboxClicked(bool state); + void openHelp(); }; #endif diff --git a/ground/openpilotgcs/src/plugins/config/configoutputwidget.cpp b/ground/openpilotgcs/src/plugins/config/configoutputwidget.cpp index 0879de42a..27858e111 100644 --- a/ground/openpilotgcs/src/plugins/config/configoutputwidget.cpp +++ b/ground/openpilotgcs/src/plugins/config/configoutputwidget.cpp @@ -36,7 +36,8 @@ #include #include #include -#include +#include +#include ConfigOutputWidget::ConfigOutputWidget(QWidget *parent) : ConfigTaskWidget(parent) { @@ -154,20 +155,8 @@ ConfigOutputWidget::ConfigOutputWidget(QWidget *parent) : ConfigTaskWidget(paren } } - // Connect all the help buttons to signal mapper that passes button name to SLOT function - QSignalMapper* signalMapper = new QSignalMapper(this); - connect( m_config->channelRateHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->channelRateHelp, m_config->channelRateHelp->objectName()); - connect( m_config->channelValuesHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->channelValuesHelp, m_config->channelValuesHelp->objectName()); - connect( m_config->spinningArmedlHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->spinningArmedlHelp, m_config->spinningArmedlHelp->objectName()); - connect( m_config->testOutputsHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->testOutputsHelp, m_config->testOutputsHelp->objectName()); - connect( m_config->commandHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_config->commandHelp, QString("commandHelp")); - - connect(signalMapper, SIGNAL(mapped(const QString &)), parent, SLOT(showHelp(const QString &))); + // Connect the help button + connect(m_config->outputHelp, SIGNAL(clicked()), this, SLOT(openHelp())); } ConfigOutputWidget::~ConfigOutputWidget() @@ -627,5 +616,10 @@ void ConfigOutputWidget::reverseChannel(bool state) } +void ConfigOutputWidget::openHelp() +{ + + QDesktopServices::openUrl( QUrl("http://wiki.openpilot.org/display/Doc/Output+Configuration", QUrl::StrictMode) ); +} diff --git a/ground/openpilotgcs/src/plugins/config/configoutputwidget.h b/ground/openpilotgcs/src/plugins/config/configoutputwidget.h index f3083e725..bb18312f7 100644 --- a/ground/openpilotgcs/src/plugins/config/configoutputwidget.h +++ b/ground/openpilotgcs/src/plugins/config/configoutputwidget.h @@ -87,6 +87,7 @@ private slots: void reverseChannel(bool state); void linkToggled(bool state); void setSpinningArmed(bool val); + void openHelp(); }; #endif diff --git a/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.cpp b/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.cpp index 6d829b756..dd172a599 100644 --- a/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.cpp +++ b/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.cpp @@ -32,8 +32,8 @@ #include #include #include -#include - +#include +#include ConfigStabilizationWidget::ConfigStabilizationWidget(QWidget *parent) : ConfigTaskWidget(parent) { @@ -74,20 +74,8 @@ ConfigStabilizationWidget::ConfigStabilizationWidget(QWidget *parent) : ConfigTa connect(m_stabilization->pitchKi, SIGNAL(valueChanged(double)), this, SLOT(updatePitchKI(double))); connect(m_stabilization->pitchILimit, SIGNAL(valueChanged(double)), this, SLOT(updatePitchILimit(double))); - // Connect all the help buttons to signal mapper that passes button name to SLOT function - QSignalMapper* signalMapper = new QSignalMapper(this); - connect( m_stabilization->rateStabiHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_stabilization->rateStabiHelp, m_stabilization->rateStabiHelp->objectName()); - connect( m_stabilization->attitudeStabiHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_stabilization->attitudeStabiHelp, m_stabilization->attitudeStabiHelp->objectName()); - connect( m_stabilization->angleLimitsHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_stabilization->angleLimitsHelp, m_stabilization->angleLimitsHelp->objectName()); - connect( m_stabilization->updateRealTimeHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_stabilization->updateRealTimeHelp, m_stabilization->updateRealTimeHelp->objectName()); - connect( m_stabilization->commandHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_stabilization->commandHelp, m_stabilization->commandHelp->objectName()); - - connect(signalMapper, SIGNAL(mapped(const QString &)), parent, SLOT(showHelp(const QString &))); + // Connect the help button + connect(m_stabilization->stabilizationHelp, SIGNAL(clicked()), this, SLOT(openHelp())); } ConfigStabilizationWidget::~ConfigStabilizationWidget() @@ -290,3 +278,9 @@ void ConfigStabilizationWidget::realtimeUpdateToggle(bool state) updateTimer.stop(); } +void ConfigStabilizationWidget::openHelp() +{ + + QDesktopServices::openUrl( QUrl("http://wiki.openpilot.org/display/Doc/Stabilization+panel", QUrl::StrictMode) ); +} + diff --git a/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.h b/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.h index 00cbbc977..5af92ae65 100644 --- a/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.h +++ b/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.h @@ -55,6 +55,7 @@ private slots: void sendStabilizationUpdate(); void saveStabilizationUpdate(); void realtimeUpdateToggle(bool); + void openHelp(); void updateRateRollKP(double); void updateRateRollKI(double); diff --git a/ground/openpilotgcs/src/plugins/config/configtelemetrywidget.cpp b/ground/openpilotgcs/src/plugins/config/configtelemetrywidget.cpp index a307da966..843f94ffb 100644 --- a/ground/openpilotgcs/src/plugins/config/configtelemetrywidget.cpp +++ b/ground/openpilotgcs/src/plugins/config/configtelemetrywidget.cpp @@ -32,7 +32,6 @@ #include #include #include -#include ConfigTelemetryWidget::ConfigTelemetryWidget(QWidget *parent) : ConfigTaskWidget(parent) @@ -54,15 +53,6 @@ ConfigTelemetryWidget::ConfigTelemetryWidget(QWidget *parent) : ConfigTaskWidget connect(m_telemetry->getTelemetryCurrent, SIGNAL(clicked()), this, SLOT(requestTelemetryUpdate())); connect(parent, SIGNAL(autopilotConnected()),this, SLOT(requestTelemetryUpdate())); - - // Connect all the help buttons to signal mapper that passes button name to SLOT function - QSignalMapper* signalMapper = new QSignalMapper(this); - connect( m_telemetry->telemetryHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_telemetry->telemetryHelp, m_telemetry->telemetryHelp->objectName()); - connect( m_telemetry->commandHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) ); - signalMapper->setMapping(m_telemetry->commandHelp, QString("commandHelp")); - - connect(signalMapper, SIGNAL(mapped(const QString &)), parent, SLOT(showHelp(const QString &))); } ConfigTelemetryWidget::~ConfigTelemetryWidget() diff --git a/ground/openpilotgcs/src/plugins/config/input.ui b/ground/openpilotgcs/src/plugins/config/input.ui index af38b512d..abe0a1a25 100644 --- a/ground/openpilotgcs/src/plugins/config/input.ui +++ b/ground/openpilotgcs/src/plugins/config/input.ui @@ -6,14 +6,57 @@ 0 0 - 617 - 395 + 622 + 435 Form + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + + + + :/configgadget/images/help.png:/configgadget/images/help.png + + + true + + + + + @@ -893,7 +936,7 @@ p, li { white-space: pre-wrap; } - 40 + 20 283 181 22 @@ -1354,93 +1397,6 @@ reversal capabilities). - - - - 230 - 284 - 20 - 20 - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - - - - 10 - 284 - 20 - 20 - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - - - - 10 - 10 - 20 - 20 - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - @@ -1760,87 +1716,6 @@ if you have not done so already. - - - - 5 - 0 - 20 - 20 - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - - - - 5 - 130 - 20 - 20 - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - - - - 240 - 314 - 20 - 20 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - @@ -1849,29 +1724,6 @@ if you have not done so already. - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -1909,29 +1761,6 @@ if you have not done so already. - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -1999,29 +1828,6 @@ if you have not done so already. - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - diff --git a/ground/openpilotgcs/src/plugins/config/output.ui b/ground/openpilotgcs/src/plugins/config/output.ui index 95d977cf7..638c0a83d 100644 --- a/ground/openpilotgcs/src/plugins/config/output.ui +++ b/ground/openpilotgcs/src/plugins/config/output.ui @@ -14,6 +14,49 @@ Form + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + + + + :/configgadget/images/help.png:/configgadget/images/help.png + + + true + + + + + @@ -136,29 +179,6 @@ Leave at 50Hz for fixed wing. - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -1052,29 +1072,6 @@ p, li { white-space: pre-wrap; } - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -1092,29 +1089,6 @@ p, li { white-space: pre-wrap; } - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -1152,29 +1126,6 @@ p, li { white-space: pre-wrap; } - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -1203,29 +1154,6 @@ p, li { white-space: pre-wrap; } - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - diff --git a/ground/openpilotgcs/src/plugins/config/stabilization.ui b/ground/openpilotgcs/src/plugins/config/stabilization.ui index 5b41db44f..f40f7103c 100644 --- a/ground/openpilotgcs/src/plugins/config/stabilization.ui +++ b/ground/openpilotgcs/src/plugins/config/stabilization.ui @@ -14,6 +14,49 @@ Form + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + + + + :/configgadget/images/help.png:/configgadget/images/help.png + + + true + + + + + @@ -21,29 +64,6 @@ - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -272,29 +292,6 @@ value as YawRate Kp. - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -527,29 +524,6 @@ flying style. - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -651,29 +625,6 @@ flying style. - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - @@ -698,29 +649,6 @@ automatically every 300ms, which will help for fast tuning. - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - diff --git a/ground/openpilotgcs/src/plugins/config/telemetry.ui b/ground/openpilotgcs/src/plugins/config/telemetry.ui index 2423a6e1a..1682077af 100644 --- a/ground/openpilotgcs/src/plugins/config/telemetry.ui +++ b/ground/openpilotgcs/src/plugins/config/telemetry.ui @@ -130,64 +130,6 @@ Beware of not locking yourself out! Save - - - - 45 - 198 - 20 - 20 - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - - - - - - 45 - 284 - 20 - 20 - - - - - 0 - 0 - - - - - 20 - 20 - - - - - - - - :/configgadget/images/help2.png:/configgadget/images/help2.png - -