37
38
#include "connection.h"
40
class LeapWidget::Private
41
class LeapWidgetPrivate : public SecurityWidgetPrivate
44
45
Knm::WirelessSetting* wsetting;
45
46
Knm::WirelessSecuritySetting* setting;
47
enum PasswordStorage {Store = 0, AlwaysAsk, NotRequired};
48
50
LeapWidget::LeapWidget(Knm::Connection* connection, QWidget * parent)
49
: SecurityWidget(connection, parent), d(new LeapWidget::Private)
51
: SecurityWidget(*new LeapWidgetPrivate, connection, parent)
51
54
d->ui.setupUi(this);
52
55
d->setting = static_cast<Knm::WirelessSecuritySetting *>(connection->setting(Knm::Setting::WirelessSecurity));
53
56
d->wsetting = static_cast<Knm::WirelessSetting *>(connection->setting(Knm::Setting::Wireless));
55
58
connect(d->ui.chkShowPass, SIGNAL(toggled(bool)), this, SLOT(chkShowPassToggled(bool)));
59
connect(d->ui.cmbPasswordStorage, SIGNAL(currentIndexChanged(int)), this, SLOT(passwordStorageChanged(int)));
56
60
d->ui.lePassword->setPasswordMode(true);
59
63
LeapWidget::~LeapWidget()
64
67
void LeapWidget::chkShowPassToggled(bool on)
66
70
d->ui.lePassword->setPasswordMode(!on);
73
void LeapWidget::passwordStorageChanged(int type)
78
case LeapWidgetPrivate::Store:
79
d->ui.lePassword->setEnabled(true);
82
d->ui.lePassword->setEnabled(false);
69
87
bool LeapWidget::validate() const
89
Q_D(const LeapWidget);
71
90
return !(d->ui.lePassword->text().isEmpty() || d->ui.leUserName->text().isEmpty());
74
93
void LeapWidget::readConfig()
76
96
d->ui.leUserName->setText(d->setting->leapusername());
77
97
d->ui.chkShowPass->setChecked(false);
80
100
void LeapWidget::writeConfig()
82
103
d->setting->setLeapusername(d->ui.leUserName->text());
83
d->setting->setLeappassword(d->ui.lePassword->text());
84
104
d->setting->setAuthalg(Knm::WirelessSecuritySetting::EnumAuthalg::leap);
85
105
d->setting->setKeymgmt(Knm::WirelessSecuritySetting::EnumKeymgmt::Ieee8021x);
106
switch (d->ui.cmbPasswordStorage->currentIndex()) {
107
case LeapWidgetPrivate::Store:
108
d->setting->setLeappassword(d->ui.lePassword->text());
109
if (!d->connection->permissions().isEmpty())
110
d->setting->setLeappasswordflags(Knm::Setting::AgentOwned);
112
d->setting->setLeappasswordflags(Knm::Setting::None);
114
case LeapWidgetPrivate::AlwaysAsk:
115
d->setting->setLeappasswordflags(Knm::Setting::NotSaved);
117
case LeapWidgetPrivate::NotRequired:
118
d->setting->setLeappasswordflags(Knm::Setting::NotRequired);
88
123
void LeapWidget::readSecrets()
90
d->ui.lePassword->setText(d->setting->leappassword());
126
if (d->setting->leappasswordflags().testFlag(Knm::Setting::AgentOwned) || d->setting->leappasswordflags().testFlag(Knm::Setting::None)) {
127
d->ui.lePassword->setText(d->setting->leappassword());
128
d->ui.cmbPasswordStorage->setCurrentIndex(LeapWidgetPrivate::Store);
129
} else if (d->setting->leappasswordflags().testFlag(Knm::Setting::NotSaved)) {
130
d->ui.cmbPasswordStorage->setCurrentIndex(LeapWidgetPrivate::AlwaysAsk);
131
} else if (d->setting->leappasswordflags().testFlag(Knm::Setting::NotRequired)){
132
d->ui.cmbPasswordStorage->setCurrentIndex(LeapWidgetPrivate::NotRequired);
93
136
// vim: sw=4 sts=4 et tw=100