#include "wifisettingstab.h" #include "ui_wifisettingstab.h" WifiSettingsTab::WifiSettingsTab(QWidget *parent) : QWidget(parent), ui(new Ui::WifiSettingsTab) { ui->setupUi(this); ui->modeComboBox->addItems(QStringList() << tr("Infrastructure") << tr("Adhoc") << tr("Access Point")); } WifiSettingsTab::~WifiSettingsTab() { delete ui; } QVariantMap WifiSettingsTab::readSettings() { QVariantMap output; output.insert("device", QVariant(ui->deviceComboBox->currentText())); output.insert("clonedMacAddress", QVariant(ui->clonedMacAddressLineEdit->text())); output.insert("ssid", ui->ssidComboBox->currentText()); switch (ui->modeComboBox->currentIndex()) { case 0: // Infrastructure output.insert("wifiMode", ConnectionSettingsEngine::WifiModeInfrastructure); break; case 1: // Adhoc output.insert("wifiMode", ConnectionSettingsEngine::WifiModeAdhoc); break; case 2: // Access Point output.insert("wifiMode", ConnectionSettingsEngine::WifiModeAccessPoint); break; } output.insert("bssid", ui->bssidComboBox->currentText()); output.insert("clonedMacAddress", QVariant(ui->clonedMacAddressLineEdit->text())); output.insert("mtu", QVariant(ui->mtuSpinBox->value())); output.insert("isWifiHidden", ui->hiddenNetworkCheckbox->isChecked()); return output; } void WifiSettingsTab::loadSettings(QVariantMap settings) { if (settings["device"].isValid()) { ui->deviceComboBox->setCurrentText(settings["device"].toString()); } if (settings["ssid"].isValid()) { ui->ssidComboBox->setCurrentText(settings["ssid"].toString()); } if (settings["wifiMode"].isValid()) { switch (settings["wifiMode"].toInt()) { case ConnectionSettingsEngine::WifiModeInfrastructure: ui->modeComboBox->setCurrentIndex(0); break; case ConnectionSettingsEngine::WifiModeAdhoc: ui->modeComboBox->setCurrentIndex(1); break; case ConnectionSettingsEngine::WifiModeAccessPoint: ui->modeComboBox->setCurrentIndex(2); break; } } if (settings["bssid"].isValid()) { ui->bssidComboBox->setCurrentText(settings["bssid"].toString()); } if (settings["clonedMacAddress"].isValid()) { ui->clonedMacAddressLineEdit->setText(settings["clonedMacAddress"].toString()); } if (settings["mtu"].isValid()) { ui->mtuSpinBox->setValue(settings["mtu"].toInt()); } if (settings["isWifiHidden"].isValid()) { ui->hiddenNetworkCheckbox->setChecked(settings["isWifiHidden"].toBool()); } }