~ubuntu-branches/ubuntu/precise/networkmanagement/precise

« back to all changes in this revision

Viewing changes to libs/ui/security/securityleap.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Felix Geyer
  • Date: 2011-10-23 14:00:13 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20111023140013-e38hdzybcg6zndrk
Tags: 0.9~svngit.nm09.20111023.ff842e-0ubuntu1
* New upstream snapshot.
* Drop all patches, merged upstream.
* Add kubuntu_add_subdirectory_po.diff to build the translations.

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
*/
20
20
 
21
21
#include "securityleap.h"
 
22
#include "securitywidget_p.h"
22
23
 
23
24
#include <QWidget>
24
25
 
26
27
//X #include <nm-setting-connection.h>
27
28
//X #include <nm-setting-wireless.h>
28
29
//X #include <nm-setting-8021x.h>
29
 
//X 
 
30
//X
30
31
#include <KDebug>
31
32
#include <wpasecretidentifier.h>
32
33
 
37
38
#include "connection.h"
38
39
 
39
40
 
40
 
class LeapWidget::Private
 
41
class LeapWidgetPrivate : public SecurityWidgetPrivate
41
42
{
42
43
public:
43
44
    Ui_Leap ui;
44
45
    Knm::WirelessSetting* wsetting;
45
46
    Knm::WirelessSecuritySetting* setting;
 
47
    enum PasswordStorage {Store = 0, AlwaysAsk, NotRequired};
46
48
};
47
49
 
48
50
LeapWidget::LeapWidget(Knm::Connection* connection, QWidget * parent)
49
 
: SecurityWidget(connection, parent), d(new LeapWidget::Private)
 
51
: SecurityWidget(*new LeapWidgetPrivate, connection, parent)
50
52
{
 
53
    Q_D(LeapWidget);
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));
54
57
 
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);
57
61
}
58
62
 
59
63
LeapWidget::~LeapWidget()
60
64
{
61
 
    delete d;
62
65
}
63
66
 
64
67
void LeapWidget::chkShowPassToggled(bool on)
65
68
{
 
69
    Q_D(LeapWidget);
66
70
    d->ui.lePassword->setPasswordMode(!on);
67
71
}
68
72
 
 
73
void LeapWidget::passwordStorageChanged(int type)
 
74
{
 
75
    Q_D(LeapWidget);
 
76
    switch (type)
 
77
    {
 
78
        case LeapWidgetPrivate::Store:
 
79
            d->ui.lePassword->setEnabled(true);
 
80
            break;
 
81
        default:
 
82
            d->ui.lePassword->setEnabled(false);
 
83
            break;
 
84
    }
 
85
}
 
86
 
69
87
bool LeapWidget::validate() const
70
88
{
 
89
    Q_D(const LeapWidget);
71
90
    return !(d->ui.lePassword->text().isEmpty() || d->ui.leUserName->text().isEmpty());
72
91
}
73
92
 
74
93
void LeapWidget::readConfig()
75
94
{
 
95
    Q_D(LeapWidget);
76
96
    d->ui.leUserName->setText(d->setting->leapusername());
77
97
    d->ui.chkShowPass->setChecked(false);
78
98
}
79
99
 
80
100
void LeapWidget::writeConfig()
81
101
{
 
102
    Q_D(LeapWidget);
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);
 
111
            else
 
112
                d->setting->setLeappasswordflags(Knm::Setting::None);
 
113
            break;
 
114
        case LeapWidgetPrivate::AlwaysAsk:
 
115
            d->setting->setLeappasswordflags(Knm::Setting::NotSaved);
 
116
            break;
 
117
        case LeapWidgetPrivate::NotRequired:
 
118
            d->setting->setLeappasswordflags(Knm::Setting::NotRequired);
 
119
            break;
 
120
    }
86
121
}
87
122
 
88
123
void LeapWidget::readSecrets()
89
124
{
90
 
    d->ui.lePassword->setText(d->setting->leappassword());
 
125
    Q_D(LeapWidget);
 
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);
 
133
    }
91
134
}
92
135
 
93
136
// vim: sw=4 sts=4 et tw=100