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.7 KiB
72 lines
2.7 KiB
#include "generalsettingstab.h"
|
|
#include "ui_generalsettingstab.h"
|
|
|
|
GeneralSettingsTab::GeneralSettingsTab(QWidget *parent) :
|
|
QWidget(parent),
|
|
ui(new Ui::GeneralSettingsTab)
|
|
{
|
|
ui->setupUi(this);
|
|
ui->meteredConnectionComboBox->addItems(QStringList() << tr("Automatic") << tr("Yes") << tr("No"));
|
|
}
|
|
|
|
GeneralSettingsTab::~GeneralSettingsTab()
|
|
{
|
|
delete ui;
|
|
}
|
|
|
|
// Refer to connectionsettingsengine.cpp for configuration map details
|
|
|
|
QVariantMap GeneralSettingsTab::readSettings()
|
|
{
|
|
QVariantMap output;
|
|
output.insert("autoconnectEnabled", QVariant(ui->autoconnectCheckBox->isChecked()));
|
|
output.insert("autoconnectPriority", QVariant(ui->autoconnectPrioritySpinBox->value()));
|
|
output.insert("allUsersMayConnect", QVariant(ui->allUsersMayConnectCheckBox->isChecked()));
|
|
output.insert("vpnAutoconnectEnabled", QVariant(ui->vpnAutoconnectCheckBox->isChecked()));
|
|
output.insert("autoconnectVpn", QVariant(ui->vpnSelectComboBox->currentText()));
|
|
switch (ui->meteredConnectionComboBox->currentIndex()) {
|
|
case 0:
|
|
output.insert("meteredConnection", ConnectionSettingsEngine::MeteredAutomatic);
|
|
break;
|
|
case 1:
|
|
output.insert("meteredConnection", ConnectionSettingsEngine::MeteredYes);
|
|
break;
|
|
case 2:
|
|
output.insert("meteredConnection", ConnectionSettingsEngine::MeteredNo);
|
|
break;
|
|
}
|
|
return output;
|
|
}
|
|
|
|
void GeneralSettingsTab::loadSettings(QVariantMap settings)
|
|
{
|
|
if (settings["autoconnectEnabled"].isValid()) {
|
|
ui->autoconnectCheckBox->setChecked(settings["autoconnectEnabled"].toBool());
|
|
}
|
|
if (settings["autoconnectPriority"].isValid()) {
|
|
ui->autoconnectPrioritySpinBox->setValue(settings["autoconnectPriority"].toInt());
|
|
}
|
|
if (settings["allUsersMayConnect"].isValid()) {
|
|
ui->allUsersMayConnectCheckBox->setChecked(settings["allUsersMayConnect"].toBool());
|
|
}
|
|
if (settings["vpnAutoconnectEnabled"].isValid()) {
|
|
ui->vpnAutoconnectCheckBox->setChecked(settings["vpnAutoconnectEnabled"].toBool());
|
|
}
|
|
if (settings["autoconnectVpn"].isValid()) {
|
|
ui->vpnSelectComboBox->setCurrentText(settings["autoconnectVpn"].toString());
|
|
}
|
|
if (settings["meteredConnection"].isValid()) {
|
|
switch(settings["meteredConnection"].toInt()) {
|
|
case ConnectionSettingsEngine::MeteredAutomatic:
|
|
ui->meteredConnectionComboBox->setCurrentIndex(0);
|
|
break;
|
|
case ConnectionSettingsEngine::MeteredYes:
|
|
ui->meteredConnectionComboBox->setCurrentIndex(1);
|
|
break;
|
|
case ConnectionSettingsEngine::MeteredNo:
|
|
ui->meteredConnectionComboBox->setCurrentIndex(2);
|
|
break;
|
|
}
|
|
}
|
|
}
|