Enhancements to UI functionality, document some of NetworkManagerQt's behavior

main
Aaron Rainbolt 1 year ago
parent 549119459a
commit 0a2a90811b

@ -20,15 +20,17 @@ QString ConnectionSettingsEngine::targetConnUuidStr = QString();
* *
* All things IPv4: * All things IPv4:
* *
* !ipv4Method: ConnectionSettingsEngine::Ipv4Method * ipv4Method: ConnectionSettingsEngine::Ipv4Method
* !ipv4DnsServers: QString * ipv4DnsServers: QString
* !ipv4SearchDomains: QString * ipv4SearchDomains: QString
* !ipv4DhcpClientId: QString * ipv4DhcpClientId: QString
* !ipv4AddressList: QList<NetworkManager::IpAddress> * ipv4AddressList: QList<NetworkManager::IpAddress>
* !ipv4Required: bool * ipv4Required: bool
* *
* All things 802.1x: * All things 802.1x:
* *
* NOTE: File names begin with "file://"!
*
* 802.1xEnabled: bool * 802.1xEnabled: bool
* 802.1xAuthMode: ConnectionSettingsEngine::Security802_1xAuthMode * 802.1xAuthMode: ConnectionSettingsEngine::Security802_1xAuthMode
* 802.1xPasswordStore: ConnectionSettingsEngine::Security802_1xPasswordStoreMode * 802.1xPasswordStore: ConnectionSettingsEngine::Security802_1xPasswordStoreMode

@ -9,6 +9,7 @@ Security802_1xTab::Security802_1xTab(QWidget *parent) :
ui->setupUi(this); ui->setupUi(this);
connect(ui->enable802_1xCheckBox, &QCheckBox::stateChanged, this, &Security802_1xTab::onEnable802_1xCheckBoxToggled); connect(ui->enable802_1xCheckBox, &QCheckBox::stateChanged, this, &Security802_1xTab::onEnable802_1xCheckBoxToggled);
onEnable802_1xCheckBoxToggled(Qt::Unchecked); onEnable802_1xCheckBoxToggled(Qt::Unchecked);
onFastAutoPacProvisionCheckBoxToggled(Qt::Unchecked);
QStringList passwordStoreItems; QStringList passwordStoreItems;
passwordStoreItems.append(tr("Store password for all users (not encrypted)")); passwordStoreItems.append(tr("Store password for all users (not encrypted)"));
passwordStoreItems.append(tr("Store password for this user (encrypted)")); passwordStoreItems.append(tr("Store password for this user (encrypted)"));
@ -30,6 +31,13 @@ Security802_1xTab::Security802_1xTab(QWidget *parent) :
connect(ui->fastShowPasswordCheckBox, &QCheckBox::stateChanged, this, &Security802_1xTab::onFastShowPasswordCheckBoxToggled); connect(ui->fastShowPasswordCheckBox, &QCheckBox::stateChanged, this, &Security802_1xTab::onFastShowPasswordCheckBoxToggled);
connect(ui->ttlsShowPasswordCheckBox, &QCheckBox::stateChanged, this, &Security802_1xTab::onTtlsShowPasswordCheckBoxToggled); connect(ui->ttlsShowPasswordCheckBox, &QCheckBox::stateChanged, this, &Security802_1xTab::onTtlsShowPasswordCheckBoxToggled);
connect(ui->peapShowPasswordCheckBox, &QCheckBox::stateChanged, this, &Security802_1xTab::onPeapShowPasswordCheckBoxToggled); connect(ui->peapShowPasswordCheckBox, &QCheckBox::stateChanged, this, &Security802_1xTab::onPeapShowPasswordCheckBoxToggled);
connect(ui->fastAutoPacProvisionCheckBox, &QCheckBox::stateChanged, this, &Security802_1xTab::onFastAutoPacProvisionCheckBoxToggled);
connect(ui->tlsCaCertificateOpenFileButton, &QPushButton::clicked, this, &Security802_1xTab::onTlsCaCertificateOpenFileButtonClicked);
connect(ui->tlsUserCertificateOpenFileButton, &QPushButton::clicked, this, &Security802_1xTab::onTlsUserCertificateOpenFileButtonClicked);
connect(ui->tlsUserPrivateKeyOpenFileButton, &QPushButton::clicked, this, &Security802_1xTab::onTlsUserPrivateKeyOpenFileButtonClicked);
connect(ui->fastPacFileOpenFileButton, &QPushButton::clicked, this, &Security802_1xTab::onFastPacFileOpenFileButtonClicked);
connect(ui->ttlsCaCertificateOpenFileButton, &QPushButton::clicked, this, &Security802_1xTab::onTtlsCaCertificateOpenFileButtonClicked);
connect(ui->peapCaCertificateOpenFileButton, &QPushButton::clicked, this, &Security802_1xTab::onPeapCaCertificateOpenFileButtonClicked);
} }
Security802_1xTab::~Security802_1xTab() Security802_1xTab::~Security802_1xTab()
@ -294,6 +302,7 @@ void Security802_1xTab::loadSettings(QVariantMap settings)
ui->fastAutoPacProvisionCheckBox->setChecked(false); ui->fastAutoPacProvisionCheckBox->setChecked(false);
break; break;
} }
onFastAutoPacProvisionCheckBoxToggled(ui->fastAutoPacProvisionCheckBox->checkState());
ui->fastPacFileLineEdit->setText(settings["802.1xFastPacFile"].toString()); ui->fastPacFileLineEdit->setText(settings["802.1xFastPacFile"].toString());
switch (settings["802.1xFastAuthMethod"].toInt()) { switch (settings["802.1xFastAuthMethod"].toInt()) {
case ConnectionSettingsEngine::Security802_1xAuthMethodGtc: case ConnectionSettingsEngine::Security802_1xAuthMethodGtc:
@ -480,3 +489,45 @@ void Security802_1xTab::onPeapShowPasswordCheckBoxToggled(int state)
break; break;
} }
} }
void Security802_1xTab::onFastAutoPacProvisionCheckBoxToggled(int state)
{
switch (state) {
case Qt::Checked:
ui->fastAutoPacProvisionComboBox->setEnabled(true);
break;
case Qt::Unchecked:
ui->fastAutoPacProvisionComboBox->setEnabled(false);
break;
}
}
void Security802_1xTab::onTlsCaCertificateOpenFileButtonClicked()
{
ui->tlsCaCertificateLineEdit->setText(QFileDialog::getOpenFileUrl(this, tr("Open CA Certificate"), QUrl("file:///home")).toString());
}
void Security802_1xTab::onTlsUserCertificateOpenFileButtonClicked()
{
ui->tlsUserCertificateLineEdit->setText(QFileDialog::getOpenFileUrl(this, tr("Open User Certificate"), QUrl("file:///home")).toString());
}
void Security802_1xTab::onTlsUserPrivateKeyOpenFileButtonClicked()
{
ui->tlsUserPrivateKeyLineEdit->setText(QFileDialog::getOpenFileUrl(this, tr("Open User Private Key"), QUrl("file:///home")).toString());
}
void Security802_1xTab::onFastPacFileOpenFileButtonClicked()
{
ui->fastPacFileLineEdit->setText(QFileDialog::getOpenFileUrl(this, tr("Open PAC File"), QUrl("file:///home")).toString());
}
void Security802_1xTab::onTtlsCaCertificateOpenFileButtonClicked()
{
ui->ttlsCaCertificateLineEdit->setText(QFileDialog::getOpenFileUrl(this, tr("Open CA Certificate"), QUrl("file:///home")).toString());
}
void Security802_1xTab::onPeapCaCertificateOpenFileButtonClicked()
{
ui->peapCaCertificateLineEdit->setText(QFileDialog::getOpenFileUrl(this, tr("Open CA Certificate"), QUrl("file:///home")).toString());
}

@ -3,6 +3,7 @@
#include "connectionsettingsengine.h" #include "connectionsettingsengine.h"
#include <QDialog> #include <QDialog>
#include <QFileDialog>
namespace Ui { namespace Ui {
class Security802_1xTab; class Security802_1xTab;
@ -27,6 +28,13 @@ private slots:
void onFastShowPasswordCheckBoxToggled(int state); void onFastShowPasswordCheckBoxToggled(int state);
void onTtlsShowPasswordCheckBoxToggled(int state); void onTtlsShowPasswordCheckBoxToggled(int state);
void onPeapShowPasswordCheckBoxToggled(int state); void onPeapShowPasswordCheckBoxToggled(int state);
void onFastAutoPacProvisionCheckBoxToggled(int state);
void onTlsCaCertificateOpenFileButtonClicked();
void onTlsUserCertificateOpenFileButtonClicked();
void onTlsUserPrivateKeyOpenFileButtonClicked();
void onFastPacFileOpenFileButtonClicked();
void onTtlsCaCertificateOpenFileButtonClicked();
void onPeapCaCertificateOpenFileButtonClicked();
private: private:
Ui::Security802_1xTab *ui; Ui::Security802_1xTab *ui;

@ -31,7 +31,7 @@
<item> <item>
<widget class="QTabWidget" name="authenticationModeTabs"> <widget class="QTabWidget" name="authenticationModeTabs">
<property name="currentIndex"> <property name="currentIndex">
<number>1</number> <number>3</number>
</property> </property>
<widget class="QWidget" name="md5Tab"> <widget class="QWidget" name="md5Tab">
<attribute name="title"> <attribute name="title">

Loading…
Cancel
Save