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

« back to all changes in this revision

Viewing changes to libs/ui/connectionsecretsjob.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:
51
51
#include "pppwidget.h"
52
52
#include "settingwidget.h"
53
53
#include "wiredwidget.h"
54
 
#include "security/wirelesssecuritysettingwidget.h"
 
54
#include "security/wirelesssecurityauth.h"
55
55
#include "security/securitywidget.h"
56
56
#include "security/securitywired8021x.h"
 
57
#include "security/security8021xauth.h"
57
58
 
58
59
#include "settings/vpn.h"
59
60
 
63
64
 
64
65
ConnectionSecretsJob::ConnectionSecretsJob(Knm::Connection* connection, const QString &settingName,
65
66
                                           const QStringList& secrets)
66
 
    : m_connection(connection), mSettingName(settingName), m_askUserDialog(0), m_settingWidget(0)
 
67
    : m_connection(connection), mSettingName(settingName), mSecrets(secrets), m_askUserDialog(0), m_settingWidget(0)
67
68
{
68
 
    // record the secrets that we are looking for
69
 
    foreach (const QString &secretKey, secrets) {
70
 
        mSecrets.insert(secretKey, QVariant());
71
 
    }
72
69
}
73
70
 
74
71
ConnectionSecretsJob::~ConnectionSecretsJob()
86
83
{
87
84
    // popup a dialog showing the appropriate UI for the type of connection
88
85
    kDebug();
 
86
    KDialog::ButtonCodes buttonCodes = KDialog::Ok | KDialog::Cancel;
89
87
    if ( mSettingName == QLatin1String(NM_SETTING_802_1X_SETTING_NAME)) {
90
 
        if (m_connection->type() == Knm::Connection::Wired) {
91
 
            m_settingWidget = new SecurityWired8021x(m_connection);
92
 
        } else if (m_connection->type() == Knm::Connection::Wireless) {
93
 
            m_settingWidget = new WirelessSecuritySettingWidget(m_connection /*Need AP and iface here*/ ) ;
94
 
        }
 
88
        m_settingWidget = new Security8021xAuthWidget(m_connection, mSecrets, 0);
95
89
    } else if ( mSettingName == QLatin1String(NM_SETTING_CDMA_SETTING_NAME)) {
96
90
        m_settingWidget = new CdmaWidget(m_connection, 0);
97
91
    } else if ( mSettingName == QLatin1String(NM_SETTING_GSM_SETTING_NAME)) {
113
107
        VpnUiPlugin * uiPlugin = KServiceTypeTrader::createInstanceFromQuery<VpnUiPlugin>( QString::fromLatin1( "NetworkManagement/VpnUiPlugin" ), QString::fromLatin1( "[X-NetworkManager-Services]=='%1'" ).arg(vpnSetting->serviceType() ), this, QVariantList(), &error );
114
108
        if (uiPlugin && error.isEmpty()) {
115
109
            m_settingWidget= uiPlugin->askUser(m_connection, 0);
 
110
            buttonCodes = uiPlugin->suggestAuthDialogButtons();
116
111
        }
117
112
    } else if ( mSettingName == QLatin1String(NM_SETTING_WIRED_SETTING_NAME)) {
118
113
        m_settingWidget = new WiredWidget(m_connection, 0);
119
114
    } else if ( mSettingName == QLatin1String(NM_SETTING_WIRELESS_SECURITY_SETTING_NAME)) {
120
 
        m_settingWidget = new WirelessSecuritySettingWidget(m_connection, 0, 0, 0); // TODO: find out AP and device
 
115
        m_settingWidget = new WirelessSecurityAuthWidget(m_connection, 0);
121
116
    } else if ( mSettingName == QLatin1String(NM_SETTING_WIRELESS_SETTING_NAME)) {
122
117
        m_settingWidget = new Wireless80211Widget(m_connection, 0);
123
118
    }
129
124
        m_askUserDialog->setCaption(i18nc("@title:window for network secrets request", "Secrets for %1", m_connection->name()));
130
125
        m_askUserDialog->setWindowIcon(KIcon("dialog-password"));
131
126
        m_askUserDialog->setMainWidget(m_settingWidget);
132
 
        m_askUserDialog->setButtons(KDialog::Ok | KDialog::Cancel);
 
127
        m_askUserDialog->setButtons(buttonCodes);
133
128
 
134
 
        connect(m_askUserDialog, SIGNAL(okClicked()), SLOT(dialogAccepted()));
135
 
        connect(m_askUserDialog, SIGNAL(cancelClicked()), SLOT(dialogRejected()));
 
129
        connect(m_askUserDialog, SIGNAL(accepted()), SLOT(dialogAccepted()));
 
130
        connect(m_askUserDialog, SIGNAL(rejected()), SLOT(dialogRejected()));
136
131
 
137
132
        m_askUserDialog->show();
138
133
        KWindowSystem::forceActiveWindow(m_askUserDialog->winId());
144
139
 
145
140
void ConnectionSecretsJob::dialogAccepted()
146
141
{
147
 
    // get results from dialog, put them in mSecrets
148
142
    kDebug();
149
143
    // m_connection is up to date again
150
144
    m_settingWidget->writeConfig();
167
161
    return mSettingName;
168
162
}
169
163
 
170
 
QVariantMap ConnectionSecretsJob::secrets() const
 
164
QStringList ConnectionSecretsJob::secrets() const
171
165
{
172
166
    return mSecrets;
173
167
}