You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
2.6 KiB
72 lines
2.6 KiB
#include <QSettings> |
|
|
|
#include "QGCSettingsWidget.h" |
|
#include "MainWindow.h" |
|
#include "ui_QGCSettingsWidget.h" |
|
|
|
#include "LinkManager.h" |
|
#include "MAVLinkProtocol.h" |
|
#include "MAVLinkSettingsWidget.h" |
|
#include "GAudioOutput.h" |
|
|
|
//, Qt::WindowFlags flags |
|
|
|
QGCSettingsWidget::QGCSettingsWidget(QWidget *parent, Qt::WindowFlags flags) : |
|
QDialog(parent, flags), |
|
ui(new Ui::QGCSettingsWidget) |
|
{ |
|
ui->setupUi(this); |
|
|
|
// Add all protocols |
|
QList<ProtocolInterface*> protocols = LinkManager::instance()->getProtocols(); |
|
foreach (ProtocolInterface* protocol, protocols) { |
|
MAVLinkProtocol* mavlink = dynamic_cast<MAVLinkProtocol*>(protocol); |
|
if (mavlink) { |
|
MAVLinkSettingsWidget* msettings = new MAVLinkSettingsWidget(mavlink, this); |
|
ui->tabWidget->addTab(msettings, "MAVLink"); |
|
} |
|
} |
|
|
|
this->window()->setWindowTitle(tr("QGroundControl Settings")); |
|
|
|
// Audio preferences |
|
ui->audioMuteCheckBox->setChecked(GAudioOutput::instance()->isMuted()); |
|
connect(ui->audioMuteCheckBox, SIGNAL(toggled(bool)), GAudioOutput::instance(), SLOT(mute(bool))); |
|
connect(GAudioOutput::instance(), SIGNAL(mutedChanged(bool)), ui->audioMuteCheckBox, SLOT(setChecked(bool))); |
|
|
|
// Reconnect |
|
ui->reconnectCheckBox->setChecked(MainWindow::instance()->autoReconnectEnabled()); |
|
connect(ui->reconnectCheckBox, SIGNAL(clicked(bool)), MainWindow::instance(), SLOT(enableAutoReconnect(bool))); |
|
|
|
// Low power mode |
|
ui->lowPowerCheckBox->setChecked(MainWindow::instance()->lowPowerModeEnabled()); |
|
connect(ui->lowPowerCheckBox, SIGNAL(clicked(bool)), MainWindow::instance(), SLOT(enableLowPowerMode(bool))); |
|
|
|
// Style |
|
MainWindow::QGC_MAINWINDOW_STYLE style = (MainWindow::QGC_MAINWINDOW_STYLE)MainWindow::instance()->getStyle(); |
|
switch (style) { |
|
case MainWindow::QGC_MAINWINDOW_STYLE_NATIVE: |
|
ui->nativeStyle->setChecked(true); |
|
break; |
|
case MainWindow::QGC_MAINWINDOW_STYLE_INDOOR: |
|
ui->indoorStyle->setChecked(true); |
|
break; |
|
case MainWindow::QGC_MAINWINDOW_STYLE_OUTDOOR: |
|
ui->outdoorStyle->setChecked(true); |
|
break; |
|
} |
|
connect(ui->nativeStyle, SIGNAL(clicked()), MainWindow::instance(), SLOT(loadNativeStyle())); |
|
connect(ui->indoorStyle, SIGNAL(clicked()), MainWindow::instance(), SLOT(loadIndoorStyle())); |
|
connect(ui->outdoorStyle, SIGNAL(clicked()), MainWindow::instance(), SLOT(loadOutdoorStyle())); |
|
|
|
// Close / destroy |
|
connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(deleteLater())); |
|
|
|
// Set layout options |
|
ui->generalPaneGridLayout->setAlignment(Qt::AlignTop); |
|
} |
|
|
|
QGCSettingsWidget::~QGCSettingsWidget() |
|
{ |
|
delete ui; |
|
}
|
|
|