QGCSettingsWidget.cc 1.41 KB
Newer Older
lm's avatar
lm committed
1 2 3
#include "QGCSettingsWidget.h"
#include "ui_QGCSettingsWidget.h"

4 5 6
#include "LinkManager.h"
#include "MAVLinkProtocol.h"
#include "MAVLinkSettingsWidget.h"
7
#include "GAudioOutput.h"
8 9 10 11 12

//, Qt::WindowFlags flags

QGCSettingsWidget::QGCSettingsWidget(QWidget *parent, Qt::WindowFlags flags) :
    QDialog(parent, flags),
lm's avatar
lm committed
13 14 15
    ui(new Ui::QGCSettingsWidget)
{
    ui->setupUi(this);
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

    // 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"));

31 32 33 34 35
    // 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)));

36 37
    // Close / destroy
    connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(deleteLater()));
38 39 40

    // Set layout options
    ui->generalPaneGridLayout->setAlignment(Qt::AlignTop);
lm's avatar
lm committed
41 42 43 44 45 46
}

QGCSettingsWidget::~QGCSettingsWidget()
{
    delete ui;
}