[kde-plasma-networkmanagement] 20111227 snapshot

Rex Dieter rdieter at fedoraproject.org
Tue Dec 27 15:59:49 UTC 2011


commit 2f819b0e6ac194bb181cdae987d58655a6c037cb
Author: Rex Dieter <rdieter at fedoraproject.org>
Date:   Tue Dec 27 09:59:46 2011 -0600

    20111227 snapshot

 0011-This-is-not-needed-anymore.patch              |   41 +++
 0012-Fix-broken-xml-tags-in-tooltips.patch         |   64 ++++
 0014-Try-again-to-fix-WPA2-config-dialog.patch     |  343 ++++++++++++++++++++
 ...-if-suitable-NetworkManager-headers-are-n.patch |   39 +++
 0016-Fix-some-spelling-errors.patch                |  116 +++++++
 ...-the-error-messages-where-to-find-Network.patch |   37 +++
 ...-Ask-for-secrets-only-once-per-connection.patch |   83 +++++
 ...ile-is-not-necessary-for-Plasma-NM-0.8.80.patch |   81 +++++
 0020-Fix-wrong-address.patch                       |   41 +++
 ...-wifi-security-methods-None-WEP-and-WPA-W.patch |   54 +++
 0022-Not-all-errors-are-fatal.patch                |   40 +++
 ...figure-adhoc-WPA-wifi-like-nm-applet-does.patch |   47 +++
 ...set-password-flags-if-password-is-not-set.patch |   65 ++++
 0026-Increase-connection-s-row-a-bit.patch         |   41 +++
 kde-plasma-networkmanagement.spec                  |   34 ++-
 15 files changed, 1124 insertions(+), 2 deletions(-)
---
diff --git a/0011-This-is-not-needed-anymore.patch b/0011-This-is-not-needed-anymore.patch
new file mode 100644
index 0000000..619e245
--- /dev/null
+++ b/0011-This-is-not-needed-anymore.patch
@@ -0,0 +1,41 @@
+From 7068bd602a35edfc6adf8f5683d6943b12ea02de Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Fri, 9 Dec 2011 01:15:04 -0200
+Subject: [PATCH 11/26] This is not needed anymore.
+
+---
+ .../nmdbussettingsconnectionprovider.cpp           |   18 +-----------------
+ 1 files changed, 1 insertions(+), 17 deletions(-)
+
+diff --git a/backends/NetworkManager/nmdbussettingsconnectionprovider.cpp b/backends/NetworkManager/nmdbussettingsconnectionprovider.cpp
+index bf2d8bc..a269b23 100644
+--- a/backends/NetworkManager/nmdbussettingsconnectionprovider.cpp
++++ b/backends/NetworkManager/nmdbussettingsconnectionprovider.cpp
+@@ -370,23 +370,7 @@ void NMDBusSettingsConnectionProvider::updateConnection(const QString &uuid, Knm
+         newConnection->setUuid(uuid);
+         ConnectionDbus converter(newConnection);
+         QVariantMapMap map = converter.toDbusMap();
+-
+-        if (newConnection->name() == remote->id()) {
+-            remote->Update(map);
+-        } else {
+-            /* If connection's name (id in NM's termonology) changes during an Update
+-             * NM will leave the old connection file intact and create a new connection file
+-             * in /etc/NetworkManager/system-connections/ with the same uuid, which is wrong in my oppinion.
+-             * Furthermore the old connection will not be shown in Plasma NM's connection list
+-             * because we use connection's uuid as connection identifier.
+-             * Deleting the old connection and creating a new one seems to work.
+-             */
+-            kDebug() << "Renaming connection:" << remote->id() << " -> " << newConnection->name();
+-            QDBusPendingCall reply = remote->Delete();
+-            reply.waitForFinished();
+-            sleep(1);
+-            addConnection(newConnection);
+-        }
++        remote->Update(map);
+ 
+         // don't do any processing on d->connections and d->connectionList here
+         // because onRemoteConnectionUpdated() method will take care of them
+-- 
+1.7.7.5
+
diff --git a/0012-Fix-broken-xml-tags-in-tooltips.patch b/0012-Fix-broken-xml-tags-in-tooltips.patch
new file mode 100644
index 0000000..87ba953
--- /dev/null
+++ b/0012-Fix-broken-xml-tags-in-tooltips.patch
@@ -0,0 +1,64 @@
+From 17a5530c212483c17f9ef0dfc1c2c7feff34e1ac Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Fri, 9 Dec 2011 01:15:28 -0200
+Subject: [PATCH 12/26] Fix broken xml tags in tooltips.
+
+---
+ libs/ui/security/peapwidget.cpp |    2 +-
+ libs/ui/security/tlswidget.cpp  |    2 +-
+ libs/ui/security/ttlswidget.cpp |    2 +-
+ plasma_nm_version.h             |    2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/libs/ui/security/peapwidget.cpp b/libs/ui/security/peapwidget.cpp
+index 518d809..491b9ea 100644
+--- a/libs/ui/security/peapwidget.cpp
++++ b/libs/ui/security/peapwidget.cpp
+@@ -184,7 +184,7 @@ void PeapWidget::showAltSubjectMatchesEditor()
+     EditListDialog editor;
+     editor.setItems(leAltSubjectMatches->text().remove(QLatin1Char(' ')).split(QLatin1Char(','), QString::SkipEmptyParts));
+     editor.setCaption(i18n("Alternative Subject Matches"));
+-    editor.setToolTip(i18n("<qt>This entry must be one of:<ul><li>DNS: &lt;name or ip address&gt;</li><li>EMAIL: &lt;email&gt;</li><li>URI: &lt;uri, e.g. http://www.kde.org&gt;</li><ul></qt>"));
++    editor.setToolTip(i18n("<qt>This entry must be one of:<ul><li>DNS: &lt;name or ip address&gt;</li><li>EMAIL: &lt;email&gt;</li><li>URI: &lt;uri, e.g. http://www.kde.org&gt;</li></ul></qt>"));
+     editor.setValidator(d->altSubjectValidator);
+     if (editor.exec() == QDialog::Accepted) {
+         leAltSubjectMatches->setText(editor.items().join(QLatin1String(", ")));
+diff --git a/libs/ui/security/tlswidget.cpp b/libs/ui/security/tlswidget.cpp
+index c6f588f..06cb183 100644
+--- a/libs/ui/security/tlswidget.cpp
++++ b/libs/ui/security/tlswidget.cpp
+@@ -286,7 +286,7 @@ void TlsWidget::showAltSubjectMatchesEditor()
+     EditListDialog editor;
+     editor.setItems(leAltSubjectMatches->text().remove(QLatin1Char(' ')).split(QLatin1Char(','), QString::SkipEmptyParts));
+     editor.setCaption(i18n("Alternative Subject Matches"));
+-    editor.setToolTip(i18n("<qt>This entry must be one of:<ul><li>DNS: &lt;name or ip address&gt;</li><li>EMAIL: &lt;email&gt;</li><li>URI: &lt;uri, e.g. http://www.kde.org&gt;</li><ul></qt>"));
++    editor.setToolTip(i18n("<qt>This entry must be one of:<ul><li>DNS: &lt;name or ip address&gt;</li><li>EMAIL: &lt;email&gt;</li><li>URI: &lt;uri, e.g. http://www.kde.org&gt;</li></ul></qt>"));
+     editor.setValidator(d->altSubjectValidator);
+     if (editor.exec() == QDialog::Accepted) {
+         leAltSubjectMatches->setText(editor.items().join(QLatin1String(", ")));
+diff --git a/libs/ui/security/ttlswidget.cpp b/libs/ui/security/ttlswidget.cpp
+index 838b35f..085f7e5 100644
+--- a/libs/ui/security/ttlswidget.cpp
++++ b/libs/ui/security/ttlswidget.cpp
+@@ -180,7 +180,7 @@ void TtlsWidget::showAltSubjectMatchesEditor()
+     EditListDialog editor;
+     editor.setItems(leAltSubjectMatches->text().remove(QLatin1Char(' ')).split(QLatin1Char(','), QString::SkipEmptyParts));
+     editor.setCaption(i18n("Alternative Subject Matches"));
+-    editor.setToolTip(i18n("<qt>This entry must be one of:<ul><li>DNS: &lt;name or ip address&gt;</li><li>EMAIL: &lt;email&gt;</li><li>URI: &lt;uri, e.g. http://www.kde.org&gt;</li><ul></qt>"));
++    editor.setToolTip(i18n("<qt>This entry must be one of:<ul><li>DNS: &lt;name or ip address&gt;</li><li>EMAIL: &lt;email&gt;</li><li>URI: &lt;uri, e.g. http://www.kde.org&gt;</li></ul></qt>"));
+     editor.setValidator(d->altSubjectValidator);
+     if (editor.exec() == QDialog::Accepted) {
+         leAltSubjectMatches->setText(editor.items().join(QLatin1String(", ")));
+diff --git a/plasma_nm_version.h b/plasma_nm_version.h
+index 135c4fa..92a6e23 100644
+--- a/plasma_nm_version.h
++++ b/plasma_nm_version.h
+@@ -1,4 +1,4 @@
+ #ifndef PLASMA_NM_VERSION_H
+ #define PLASMA_NM_VERSION_H
+-static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111203)";
++static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111209)";
+ #endif
+-- 
+1.7.7.5
+
diff --git a/0014-Try-again-to-fix-WPA2-config-dialog.patch b/0014-Try-again-to-fix-WPA2-config-dialog.patch
new file mode 100644
index 0000000..ad8a7d9
--- /dev/null
+++ b/0014-Try-again-to-fix-WPA2-config-dialog.patch
@@ -0,0 +1,343 @@
+From ed4904aa4d47c500d65aee8b77854304adc2dcdc Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Mon, 12 Dec 2011 22:12:44 -0200
+Subject: [PATCH 14/26] Try (again) to fix WPA2 config dialog.
+
+BUG: 288831
+(cherry picked from commit 7b202fc771f78b6f47c3c611d6f6c4eaab115aee)
+---
+ libs/ui/security/eapmethod.h            |    2 ++
+ libs/ui/security/eapmethodleap.cpp      |   11 +++++++++++
+ libs/ui/security/eapmethodleap.h        |    2 ++
+ libs/ui/security/eapmethodsimple.cpp    |   11 +++++++++++
+ libs/ui/security/eapmethodsimple.h      |    3 +++
+ libs/ui/security/eapmethodstack.cpp     |   24 +++++++++++++++++++-----
+ libs/ui/security/eapmethodstack.h       |    2 ++
+ libs/ui/security/peapwidget.cpp         |   12 ++++++++++++
+ libs/ui/security/peapwidget.h           |    2 ++
+ libs/ui/security/securitydynamicwep.cpp |   10 ++++++++++
+ libs/ui/security/securitydynamicwep.h   |    2 ++
+ libs/ui/security/tlswidget.cpp          |   11 +++++++++++
+ libs/ui/security/tlswidget.h            |    2 ++
+ libs/ui/security/ttlswidget.cpp         |   12 ++++++++++++
+ libs/ui/security/ttlswidget.h           |    2 ++
+ libs/ui/security/wpaeapwidget.cpp       |   10 ++++++++++
+ libs/ui/security/wpaeapwidget.h         |    2 ++
+ plasma_nm_version.h                     |    2 +-
+ 18 files changed, 116 insertions(+), 6 deletions(-)
+
+diff --git a/libs/ui/security/eapmethod.h b/libs/ui/security/eapmethod.h
+index 2a3a916..7f5af2d 100644
+--- a/libs/ui/security/eapmethod.h
++++ b/libs/ui/security/eapmethod.h
+@@ -46,6 +46,8 @@ public:
+     virtual void writeConfig() = 0;
+     virtual void readSecrets() = 0;
+     virtual void setShowPasswords(bool b = true) = 0;
++    virtual void syncWidgetData(const QPair<QString, QString> &widgetData) = 0;
++    virtual QPair<QString, QString> widgetData() = 0;
+ protected:
+     EapMethod(EapMethodPrivate &dd, Knm::Connection * connection, QWidget * parent = 0);
+     EapMethodPrivate * d_ptr;
+diff --git a/libs/ui/security/eapmethodleap.cpp b/libs/ui/security/eapmethodleap.cpp
+index 0ffb9c4..3677dc2 100644
+--- a/libs/ui/security/eapmethodleap.cpp
++++ b/libs/ui/security/eapmethodleap.cpp
+@@ -105,4 +105,15 @@ void EapMethodLeap::passwordStorageChanged(int type)
+     }
+ }
+ 
++void EapMethodLeap::syncWidgetData(const QPair<QString, QString> &widgetData)
++{
++    leUsername->setText(widgetData.first);
++    lePassword->setText(widgetData.second);
++}
++
++QPair<QString, QString> EapMethodLeap::widgetData()
++{
++    return QPair<QString, QString>(leUsername->text(), lePassword->text());
++}
++
+ // vim: sw=4 sts=4 et tw=100
+diff --git a/libs/ui/security/eapmethodleap.h b/libs/ui/security/eapmethodleap.h
+index 18f21b8..7d84bae 100644
+--- a/libs/ui/security/eapmethodleap.h
++++ b/libs/ui/security/eapmethodleap.h
+@@ -36,6 +36,8 @@ public:
+     void readConfig();
+     void writeConfig();
+     void readSecrets();
++    void syncWidgetData(const QPair<QString, QString> &widgetData);
++    QPair<QString, QString> widgetData();
+ public Q_SLOTS:
+     void setShowPasswords(bool b = true);
+ private Q_SLOTS:
+diff --git a/libs/ui/security/eapmethodsimple.cpp b/libs/ui/security/eapmethodsimple.cpp
+index 2ff7296..b3a5750 100644
+--- a/libs/ui/security/eapmethodsimple.cpp
++++ b/libs/ui/security/eapmethodsimple.cpp
+@@ -119,4 +119,15 @@ void EapMethodSimple::readSecrets()
+     }
+ }
+ 
++void EapMethodSimple::syncWidgetData(const QPair<QString, QString> &widgetData)
++{
++    leUserName->setText(widgetData.first);
++    lePassword->setText(widgetData.second);
++}
++
++QPair<QString, QString> EapMethodSimple::widgetData()
++{
++    return QPair<QString, QString>(leUserName->text(), lePassword->text());
++}
++
+ // vim: sw=4 sts=4 et tw=100
+diff --git a/libs/ui/security/eapmethodsimple.h b/libs/ui/security/eapmethodsimple.h
+index 352a7cb..88ea2f5 100644
+--- a/libs/ui/security/eapmethodsimple.h
++++ b/libs/ui/security/eapmethodsimple.h
+@@ -37,6 +37,9 @@ public:
+     void writeConfig();
+     void readSecrets();
+     void setShowPasswords(bool on = true);
++    void syncWidgetData(const QPair<QString, QString> &widgetData);
++    QPair<QString, QString> widgetData();
++
+ private Q_SLOTS:
+     void passwordStorageChanged(int);
+ private:
+diff --git a/libs/ui/security/eapmethodstack.cpp b/libs/ui/security/eapmethodstack.cpp
+index 14a15ae..3034246 100644
+--- a/libs/ui/security/eapmethodstack.cpp
++++ b/libs/ui/security/eapmethodstack.cpp
+@@ -79,15 +79,14 @@ void EapMethodStack::setCurrentEapMethod(int key)
+ /* Triggered when the user changes the EAP method using the cboEapMethod combo box. */
+ void EapMethodStack::setCurrentEapMethodInternal(int index)
+ {
+-    // Save old eap method's data into this connection's settings.
+-    qobject_cast<EapMethod *>(eapMethods->currentWidget())->writeConfig();
++    // Get old eap method's data.
++    QPair<QString, QString> pair = qobject_cast<EapMethod *>(eapMethods->currentWidget())->widgetData();
+ 
+     // Change to the chosen epa method.
+     eapMethods->setCurrentIndex(index);
+ 
+-    // Load this connection's setting into the chosen epa method.
+-    qobject_cast<EapMethod *>(eapMethods->widget(index))->readConfig();
+-    qobject_cast<EapMethod *>(eapMethods->widget(index))->readSecrets();
++    // Load data into the chosen epa method.
++    qobject_cast<EapMethod *>(eapMethods->widget(index))->syncWidgetData(pair);
+ }
+ 
+ EapMethod * EapMethodStack::currentEapMethod() const
+@@ -131,4 +130,19 @@ void EapMethodStack::setShowPasswords(bool on)
+     }
+ }
+ 
++void EapMethodStack::syncWidgetData(const QPair<QString, QString> &widgetData)
++{
++    if (eapMethods->count()) {
++        qobject_cast<EapMethod *>(eapMethods->currentWidget())->syncWidgetData(widgetData);
++    }
++}
++
++QPair<QString, QString> EapMethodStack::widgetData()
++{
++    if (eapMethods->count()) {
++        return qobject_cast<EapMethod *>(eapMethods->currentWidget())->widgetData();
++    }
++    return QPair<QString, QString>();
++}
++
+ // vim: sw=4 sts=4 et tw=100
+diff --git a/libs/ui/security/eapmethodstack.h b/libs/ui/security/eapmethodstack.h
+index cc42cee..25264e2 100644
+--- a/libs/ui/security/eapmethodstack.h
++++ b/libs/ui/security/eapmethodstack.h
+@@ -55,6 +55,8 @@ public:
+     virtual void writeConfig();
+     virtual void readSecrets();
+     void setShowPasswords(bool on);
++    void syncWidgetData(const QPair<QString, QString> &widgetData);
++    QPair<QString, QString> widgetData();
+ private Q_SLOTS:
+     void setCurrentEapMethodInternal(int);
+ protected:
+diff --git a/libs/ui/security/peapwidget.cpp b/libs/ui/security/peapwidget.cpp
+index 491b9ea..b28a1b4 100644
+--- a/libs/ui/security/peapwidget.cpp
++++ b/libs/ui/security/peapwidget.cpp
+@@ -203,4 +203,16 @@ void PeapWidget::showServersEditor()
+     }
+ }
+ 
++void PeapWidget::syncWidgetData(const QPair<QString, QString> &widgetData)
++{
++    Q_D(PeapWidget);
++    d->innerAuth->syncWidgetData(widgetData);
++}
++
++QPair<QString, QString> PeapWidget::widgetData()
++{
++    Q_D(PeapWidget);
++    return d->innerAuth->widgetData();
++}
++
+ // vim: sw=4 sts=4 et tw=100
+diff --git a/libs/ui/security/peapwidget.h b/libs/ui/security/peapwidget.h
+index 95244e6..4f68618 100644
+--- a/libs/ui/security/peapwidget.h
++++ b/libs/ui/security/peapwidget.h
+@@ -40,6 +40,8 @@ public:
+     void readConfig();
+     void writeConfig();
+     void readSecrets();
++    void syncWidgetData(const QPair<QString, QString> &widgetData);
++    QPair<QString, QString> widgetData();
+ private Q_SLOTS:
+     void showAltSubjectMatchesEditor();
+     void showServersEditor();
+diff --git a/libs/ui/security/securitydynamicwep.cpp b/libs/ui/security/securitydynamicwep.cpp
+index 2280895..a91bc2c 100644
+--- a/libs/ui/security/securitydynamicwep.cpp
++++ b/libs/ui/security/securitydynamicwep.cpp
+@@ -57,4 +57,14 @@ void SecurityDynamicWep::writeConfig()
+     d->settingSecurity->setGroup(group);
+ }
+ 
++void SecurityDynamicWep::syncWidgetData(const QPair<QString, QString> &widgetData)
++{
++    Q_UNUSED(widgetData);
++}
++
++QPair<QString, QString> SecurityDynamicWep::widgetData()
++{
++    return QPair<QString, QString>();
++}
++
+ // vim: sw=4 sts=4 et tw=100
+diff --git a/libs/ui/security/securitydynamicwep.h b/libs/ui/security/securitydynamicwep.h
+index 5ea2070..872f4b3 100644
+--- a/libs/ui/security/securitydynamicwep.h
++++ b/libs/ui/security/securitydynamicwep.h
+@@ -31,6 +31,8 @@ public:
+     SecurityDynamicWep(Knm::Connection* connection, QWidget * parent = 0);
+     virtual ~SecurityDynamicWep();
+     void writeConfig();
++    void syncWidgetData(const QPair<QString, QString> &widgetData);
++    QPair<QString, QString> widgetData();
+ };
+ 
+ #endif // SECURITYDYNAMICWEP_H
+diff --git a/libs/ui/security/tlswidget.cpp b/libs/ui/security/tlswidget.cpp
+index 06cb183..94195b0 100644
+--- a/libs/ui/security/tlswidget.cpp
++++ b/libs/ui/security/tlswidget.cpp
+@@ -305,4 +305,15 @@ void TlsWidget::showServersEditor()
+     }
+ }
+ 
++void TlsWidget::syncWidgetData(const QPair<QString, QString> &widgetData)
++{
++    kurPrivateKey->setUrl(widgetData.first);
++    lePrivateKeyPassword->setText(widgetData.second);
++}
++
++QPair<QString, QString> TlsWidget::widgetData()
++{
++    return QPair<QString, QString>(kurPrivateKey->text(), lePrivateKeyPassword->text());
++}
++
+ // vim: sw=4 sts=4 et tw=100
+diff --git a/libs/ui/security/tlswidget.h b/libs/ui/security/tlswidget.h
+index 640ab1a..50bd058 100644
+--- a/libs/ui/security/tlswidget.h
++++ b/libs/ui/security/tlswidget.h
+@@ -48,6 +48,8 @@ public:
+     void readConfig();
+     void writeConfig();
+     void readSecrets();
++    void syncWidgetData(const QPair<QString, QString> &widgetData);
++    QPair<QString, QString> widgetData();
+ public Q_SLOTS:
+     void setShowPasswords(bool b = true);
+ private Q_SLOTS:
+diff --git a/libs/ui/security/ttlswidget.cpp b/libs/ui/security/ttlswidget.cpp
+index 085f7e5..0ce137b 100644
+--- a/libs/ui/security/ttlswidget.cpp
++++ b/libs/ui/security/ttlswidget.cpp
+@@ -199,4 +199,16 @@ void TtlsWidget::showServersEditor()
+     }
+ }
+ 
++void TtlsWidget::syncWidgetData(const QPair<QString, QString> &widgetData)
++{
++    Q_D(TtlsWidget);
++    d->innerAuth->syncWidgetData(widgetData);
++}
++
++QPair<QString, QString> TtlsWidget::widgetData()
++{
++    Q_D(TtlsWidget);
++    return d->innerAuth->widgetData();
++}
++
+ // vim: sw=4 sts=4 et tw=100
+diff --git a/libs/ui/security/ttlswidget.h b/libs/ui/security/ttlswidget.h
+index d0bf074..f9e85d1 100644
+--- a/libs/ui/security/ttlswidget.h
++++ b/libs/ui/security/ttlswidget.h
+@@ -40,6 +40,8 @@ public:
+     void readConfig();
+     void writeConfig();
+     void readSecrets();
++    void syncWidgetData(const QPair<QString, QString> &widgetData);
++    QPair<QString, QString> widgetData();
+ private Q_SLOTS:
+     void showAltSubjectMatchesEditor();
+     void showServersEditor();
+diff --git a/libs/ui/security/wpaeapwidget.cpp b/libs/ui/security/wpaeapwidget.cpp
+index 3032675..7142aaa 100644
+--- a/libs/ui/security/wpaeapwidget.cpp
++++ b/libs/ui/security/wpaeapwidget.cpp
+@@ -31,4 +31,14 @@ WpaEapWidget::~WpaEapWidget()
+ 
+ }
+ 
++void WpaEapWidget::syncWidgetData(const QPair<QString, QString> &widgetData)
++{
++    Q_UNUSED(widgetData);
++}
++
++QPair<QString, QString> WpaEapWidget::widgetData()
++{
++    return QPair<QString, QString>();
++}
++
+ // vim: sw=4 sts=4 et tw=100
+diff --git a/libs/ui/security/wpaeapwidget.h b/libs/ui/security/wpaeapwidget.h
+index 74608c3..bbaa1f2 100644
+--- a/libs/ui/security/wpaeapwidget.h
++++ b/libs/ui/security/wpaeapwidget.h
+@@ -29,6 +29,8 @@ Q_OBJECT
+ public:
+     WpaEapWidget(Knm::Connection* connection, QWidget * parent = 0);
+     virtual ~WpaEapWidget();
++    void syncWidgetData(const QPair<QString, QString> &widgetData);
++    QPair<QString, QString> widgetData();
+ };
+ 
+ #endif // WPAEAPWIDGET_H
+diff --git a/plasma_nm_version.h b/plasma_nm_version.h
+index 92a6e23..27fed92 100644
+--- a/plasma_nm_version.h
++++ b/plasma_nm_version.h
+@@ -1,4 +1,4 @@
+ #ifndef PLASMA_NM_VERSION_H
+ #define PLASMA_NM_VERSION_H
+-static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111209)";
++static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111212)";
+ #endif
+-- 
+1.7.7.5
+
diff --git a/0015-Abort-cmake-if-suitable-NetworkManager-headers-are-n.patch b/0015-Abort-cmake-if-suitable-NetworkManager-headers-are-n.patch
new file mode 100644
index 0000000..4b2062c
--- /dev/null
+++ b/0015-Abort-cmake-if-suitable-NetworkManager-headers-are-n.patch
@@ -0,0 +1,39 @@
+From 933f3f68392dc7c72f1afbd667936fb92959b1d8 Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Tue, 13 Dec 2011 19:15:51 -0200
+Subject: [PATCH 15/26] Abort cmake if suitable NetworkManager headers are not
+ installed. (cherry picked from commit
+ 1444705988ac1d39bcca762c7a8f9c4bba353026)
+
+---
+ CMakeLists.txt |    6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 788f0e2..308414e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -26,7 +26,6 @@ include_directories (${KDE4_INCLUDES})
+ 
+ find_package(NetworkManager ${MINIMUM_NM_VERSION_REQUIRED})
+ 
+-macro_log_feature(NETWORKMANAGER_FOUND "NetworkManager headers" "User controllable networking" "http://projects.gnome.org/NetworkManager" FALSE "0.9" "Needed for NetworkManager support in Network Management")
+ if (NETWORKMANAGER_FOUND)
+     find_package(GLIB2 REQUIRED)
+ 
+@@ -66,9 +65,10 @@ if (NETWORKMANAGER_FOUND)
+             message(STATUS "It is necessary to specify the directory where the client policy file for NetworkManager-kde4 is installed as DBUS_SYSTEM_POLICY_DIR.  Normally this is /etc/dbus-1/system.d on a Linux system")
+         endif (DBUS_SYSTEM_POLICY_DIR)
+     else()
+-        message("ERROR: NetworkManager version '${NETWORKMANAGER_VERSION}' does not match minimum required (${MINIMUM_NM_VERSION_REQUIRED})")
+-        return()
++        message(FATAL_ERROR "ERROR: NetworkManager version '${NETWORKMANAGER_VERSION}' does not match minimum required (${MINIMUM_NM_VERSION_REQUIRED})")
+     endif()
++else(NETWORKMANAGER_FOUND)
++    message(FATAL_ERROR "ERROR: NetworkManager headers >= ${MINIMUM_NM_VERSION_REQUIRED} not installed")
+ endif(NETWORKMANAGER_FOUND)
+ 
+ if(INSTALL_KNM_AUTOSTART)
+-- 
+1.7.7.5
+
diff --git a/0016-Fix-some-spelling-errors.patch b/0016-Fix-some-spelling-errors.patch
new file mode 100644
index 0000000..62cee20
--- /dev/null
+++ b/0016-Fix-some-spelling-errors.patch
@@ -0,0 +1,116 @@
+From 07fc44de859e72f9a65ad497c417e3ba612fddd4 Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Tue, 13 Dec 2011 21:14:03 -0200
+Subject: [PATCH 16/26] Fix some spelling errors.
+
+---
+ applet/activatablelistwidget.h             |    4 ++--
+ applet/nmpopup.cpp                         |    2 +-
+ backends/NetworkManager/connectiondbus.cpp |    4 ++--
+ libs/service/networkinterfacemonitor.cpp   |    2 +-
+ libs/ui/vpnuiplugin.h                      |    2 +-
+ plasma_nm_version.h                        |    2 +-
+ vpnplugins/strongswan/strongswanwidget.cpp |    2 +-
+ 7 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/applet/activatablelistwidget.h b/applet/activatablelistwidget.h
+index 73116de..45d1512 100644
+--- a/applet/activatablelistwidget.h
++++ b/applet/activatablelistwidget.h
+@@ -45,7 +45,7 @@ public:
+     void removeType(Knm::Activatable::ActivatableType type);
+     bool accept(RemoteActivatable* activatable) const;
+     void setShowAllTypes(bool show, bool refresh = false);
+-    void setHasWireless(bool hasWireless); // Used to decide wether or not to show the hidden item
++    void setHasWireless(bool hasWireless); // Used to decide whether or not to show the hidden item
+ 
+ Q_SIGNALS:
+     void showInterfaceDetails(QString);
+@@ -84,6 +84,6 @@ private:
+ 
+     bool m_showAllTypes;
+     bool m_vpn;
+-    bool m_hasWireless; // Used to determine wether or not to show hidden config
++    bool m_hasWireless; // Used to determine whether or not to show hidden config
+ };
+ #endif // ACTIVATABLELISTWIDGET_H
+diff --git a/applet/nmpopup.cpp b/applet/nmpopup.cpp
+index 840e1e0..02ab6c5 100644
+--- a/applet/nmpopup.cpp
++++ b/applet/nmpopup.cpp
+@@ -693,7 +693,7 @@ void NMPopup::uncheckShowMore(RemoteActivatable *ra)
+         }
+         wicCount++;
+         if (m_oldShowMoreChecked != m_showMoreChecked) {
+-            // One wireless network explicity configured by the user appeared, reset "Show More" button
++            // One wireless network explicitly configured by the user appeared, reset "Show More" button
+             // state to the value before the checkShowMore method above took action.
+             showMore(m_oldShowMoreChecked);
+         }
+diff --git a/backends/NetworkManager/connectiondbus.cpp b/backends/NetworkManager/connectiondbus.cpp
+index 4389208..aaf2d90 100644
+--- a/backends/NetworkManager/connectiondbus.cpp
++++ b/backends/NetworkManager/connectiondbus.cpp
+@@ -280,8 +280,8 @@ void ConnectionDbus::fromDbusMap(const QVariantMapMap &settings)
+     if (connectionSettings.contains(QLatin1String(NM_SETTING_CONNECTION_PERMISSIONS))) {
+         QStringList permissionsDbus = connectionSettings.value(QLatin1String(NM_SETTING_CONNECTION_PERMISSIONS)).toStringList();
+         foreach (const QString &permission, permissionsDbus) {
+-            QStringList splitted = permission.split(QLatin1String(":"), QString::KeepEmptyParts);
+-            permissions.insert(splitted.at(1),splitted.at(2));
++            QStringList split = permission.split(QLatin1String(":"), QString::KeepEmptyParts);
++            permissions.insert(split.at(1),split.at(2));
+         }
+     }
+     m_connection->setPermissions(permissions);
+diff --git a/libs/service/networkinterfacemonitor.cpp b/libs/service/networkinterfacemonitor.cpp
+index eeab14f..ced6e65 100644
+--- a/libs/service/networkinterfacemonitor.cpp
++++ b/libs/service/networkinterfacemonitor.cpp
+@@ -128,7 +128,7 @@ void NetworkInterfaceMonitor::modemInterfaceAdded(const QString & udi)
+         return;
+     }
+ 
+-    // Using queued invokation to prevent kded stalling here until user enter the pin.
++    // Using queued invocation to prevent kded stalling here until user enter the pin.
+     QMetaObject::invokeMethod(modem, "unlockRequiredChanged", Qt::QueuedConnection,
+                               Q_ARG(QString, modem->unlockRequired()));
+ }
+diff --git a/libs/ui/vpnuiplugin.h b/libs/ui/vpnuiplugin.h
+index acbf62a..5e71eb2 100644
+--- a/libs/ui/vpnuiplugin.h
++++ b/libs/ui/vpnuiplugin.h
+@@ -56,7 +56,7 @@ public:
+      */
+     virtual QString suggestedFileName(Knm::Connection *connection) const = 0;
+     /**
+-     * File extention to be used in KFileDialog when selecting the file to import.
++     * File extension to be used in KFileDialog when selecting the file to import.
+      * The format is: *.<extension> [*.<extension> ...]. For instance: '*.pcf'
+      */
+     virtual QString supportedFileExtensions() const = 0;
+diff --git a/plasma_nm_version.h b/plasma_nm_version.h
+index 27fed92..f0d9249 100644
+--- a/plasma_nm_version.h
++++ b/plasma_nm_version.h
+@@ -1,4 +1,4 @@
+ #ifndef PLASMA_NM_VERSION_H
+ #define PLASMA_NM_VERSION_H
+-static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111212)";
++static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111213)";
+ #endif
+diff --git a/vpnplugins/strongswan/strongswanwidget.cpp b/vpnplugins/strongswan/strongswanwidget.cpp
+index 468f9eb..ff69ef2 100644
+--- a/vpnplugins/strongswan/strongswanwidget.cpp
++++ b/vpnplugins/strongswan/strongswanwidget.cpp
+@@ -90,7 +90,7 @@ void StrongswanSettingWidget::readConfig()
+     Q_D(StrongswanSettingWidget);
+     // General settings
+     QStringMap dataMap = d->setting->data();
+-    // Gateway Adress
++    // Gateway Address
+     QString gateway = dataMap[NM_STRONGSWAN_GATEWAY];
+     if (!gateway.isEmpty()) {
+         d->ui.leGateway->setText(gateway);
+-- 
+1.7.7.5
+
diff --git a/0017-Indicate-in-the-error-messages-where-to-find-Network.patch b/0017-Indicate-in-the-error-messages-where-to-find-Network.patch
new file mode 100644
index 0000000..5a2ed84
--- /dev/null
+++ b/0017-Indicate-in-the-error-messages-where-to-find-Network.patch
@@ -0,0 +1,37 @@
+From be0a7fabf557d38281013d96ed2901d50784b682 Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Wed, 14 Dec 2011 17:44:43 -0200
+Subject: [PATCH 17/26] Indicate in the error messages where to find
+ NetworkManager.
+
+---
+ CMakeLists.txt      |    2 +-
+ plasma_nm_version.h |    2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 308414e..d3e3c36 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -68,7 +68,7 @@ if (NETWORKMANAGER_FOUND)
+         message(FATAL_ERROR "ERROR: NetworkManager version '${NETWORKMANAGER_VERSION}' does not match minimum required (${MINIMUM_NM_VERSION_REQUIRED})")
+     endif()
+ else(NETWORKMANAGER_FOUND)
+-    message(FATAL_ERROR "ERROR: NetworkManager headers >= ${MINIMUM_NM_VERSION_REQUIRED} not installed")
++    message(FATAL_ERROR "ERROR: NetworkManager headers >= ${MINIMUM_NM_VERSION_REQUIRED} not installed. http://projects.gnome.org/NetworkManager/")
+ endif(NETWORKMANAGER_FOUND)
+ 
+ if(INSTALL_KNM_AUTOSTART)
+diff --git a/plasma_nm_version.h b/plasma_nm_version.h
+index f0d9249..155b9a7 100644
+--- a/plasma_nm_version.h
++++ b/plasma_nm_version.h
+@@ -1,4 +1,4 @@
+ #ifndef PLASMA_NM_VERSION_H
+ #define PLASMA_NM_VERSION_H
+-static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111213)";
++static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111214)";
+ #endif
+-- 
+1.7.7.5
+
diff --git a/0018-Ask-for-secrets-only-once-per-connection.patch b/0018-Ask-for-secrets-only-once-per-connection.patch
new file mode 100644
index 0000000..0f33934
--- /dev/null
+++ b/0018-Ask-for-secrets-only-once-per-connection.patch
@@ -0,0 +1,83 @@
+From d1741d845b1bb05758946992031b04d1c6c0a050 Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Thu, 15 Dec 2011 21:01:46 -0200
+Subject: [PATCH 18/26] Ask for secrets only once per connection.
+
+BUG: 289072
+FIXED-IN: 0.9.0_rc4
+---
+ libs/service/secretstorage.cpp |   14 +++++++++++++-
+ libs/service/secretstorage.h   |    2 --
+ plasma_nm_version.h            |    2 +-
+ 3 files changed, 14 insertions(+), 4 deletions(-)
+
+diff --git a/libs/service/secretstorage.cpp b/libs/service/secretstorage.cpp
+index afb05d2..7cc25c4 100644
+--- a/libs/service/secretstorage.cpp
++++ b/libs/service/secretstorage.cpp
+@@ -44,6 +44,7 @@ public:
+     QList<Knm::Connection*> connectionsToWrite;
+     QList<Knm::Connection*> connectionsToRead;
+     QMultiHash<QString,QPair<QString,SecretsProvider::GetSecretsFlags> > settingsToRead;
++    QList<QString> userAskRequestsInProgress;
+ };
+ 
+ 
+@@ -268,6 +269,11 @@ void SecretStorage::loadSecrets(Knm::Connection *con, const QString &name, GetSe
+ 
+ void SecretStorage::askUser(Knm::Connection *con, const QString & name, const QStringList &secrets)
+ {
++    Q_D(SecretStorage);
++    if (d->userAskRequestsInProgress.contains(con->uuid().toString())) {
++        return;
++    }
++    d->userAskRequestsInProgress.append(con->uuid().toString());
+     ConnectionSecretsJob *job = new ConnectionSecretsJob(con, name, secrets);
+     connect(job, SIGNAL(finished(KJob*)), this, SLOT(gotSecrets(KJob*)));
+     job->start();
+@@ -291,12 +297,18 @@ KSharedConfig::Ptr SecretStorage::secretsFileForUuid(const QString & uuid)
+ 
+ void SecretStorage::gotSecrets(KJob *job)
+ {
++    Q_D(SecretStorage);
+     ConnectionSecretsJob * csj = static_cast<ConnectionSecretsJob*>(job);
+     bool failed = true;
+     if (csj->error() == ConnectionSecretsJob::EnumError::NoError) {
+         failed = false;
+     }
+-    emit connectionRead(csj->connection(), csj->settingName(), failed, true);
++    Knm::Connection * con = csj->connection();
++
++    if (con) {
++        d->userAskRequestsInProgress.removeAll(con->uuid().toString());
++    }
++    emit connectionRead(con, csj->settingName(), failed, true);
+ }
+ 
+ void SecretStorage::switchStorage(SecretStorageMode oldMode, SecretStorageMode newMode)
+diff --git a/libs/service/secretstorage.h b/libs/service/secretstorage.h
+index bb74999..c7a1f9e 100644
+--- a/libs/service/secretstorage.h
++++ b/libs/service/secretstorage.h
+@@ -88,8 +88,6 @@ private:
+ 
+     static QString s_walletFolderName;
+     static WId s_walletWId;
+-
+-
+ };
+ 
+ #endif // SECRETSTORAGE_H
+diff --git a/plasma_nm_version.h b/plasma_nm_version.h
+index f0d9249..0f0f7a0 100644
+--- a/plasma_nm_version.h
++++ b/plasma_nm_version.h
+@@ -1,4 +1,4 @@
+ #ifndef PLASMA_NM_VERSION_H
+ #define PLASMA_NM_VERSION_H
+-static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111214)";
++static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111215)";
+ #endif
+-- 
+1.7.7.5
+
diff --git a/0019-This-file-is-not-necessary-for-Plasma-NM-0.8.80.patch b/0019-This-file-is-not-necessary-for-Plasma-NM-0.8.80.patch
new file mode 100644
index 0000000..4d9e769
--- /dev/null
+++ b/0019-This-file-is-not-necessary-for-Plasma-NM-0.8.80.patch
@@ -0,0 +1,81 @@
+From 9c59da5b8df0d8ff8e313b6f5462c5f90bbd9f7b Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Thu, 15 Dec 2011 22:24:20 -0200
+Subject: [PATCH 19/26] This file is not necessary for Plasma NM >= 0.8.80.
+ (cherry picked from commit
+ 66ea06807a23c8703e922ff0e64b5ad4b56e7bd3)
+
+---
+ CMakeLists.txt           |    6 ------
+ NetworkManager-kde4.conf |   42 ------------------------------------------
+ 2 files changed, 0 insertions(+), 48 deletions(-)
+ delete mode 100644 NetworkManager-kde4.conf
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 308414e..0c55a04 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -58,12 +58,6 @@ if (NETWORKMANAGER_FOUND)
+         #add_subdirectory(monolithic)
+ 
+         install( FILES networkmanagement.notifyrc DESTINATION ${DATA_INSTALL_DIR}/networkmanagement )
+-
+-        if (DBUS_SYSTEM_POLICY_DIR)
+-            install( FILES NetworkManager-kde4.conf DESTINATION ${DBUS_SYSTEM_POLICY_DIR})
+-        else (DBUS_SYSTEM_POLICY_DIR)
+-            message(STATUS "It is necessary to specify the directory where the client policy file for NetworkManager-kde4 is installed as DBUS_SYSTEM_POLICY_DIR.  Normally this is /etc/dbus-1/system.d on a Linux system")
+-        endif (DBUS_SYSTEM_POLICY_DIR)
+     else()
+         message(FATAL_ERROR "ERROR: NetworkManager version '${NETWORKMANAGER_VERSION}' does not match minimum required (${MINIMUM_NM_VERSION_REQUIRED})")
+     endif()
+diff --git a/NetworkManager-kde4.conf b/NetworkManager-kde4.conf
+deleted file mode 100644
+index 402f548..0000000
+--- a/NetworkManager-kde4.conf
++++ /dev/null
+@@ -1,42 +0,0 @@
+-<!DOCTYPE busconfig PUBLIC
+- "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
+- "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+-<busconfig>
+-	<!--
+-	     WARNING: if running any D-Bus version prior to 1.2.6, you may be
+-	     vulnerable to information leakage via the NM D-Bus interface.
+-	     Previous D-Bus versions did not deny-by-default, and this permissions
+-	     config file assumes that D-Bus will deny rules by default unless
+-	     explicitly over-ridden with an <allow /> tag.
+-	 -->
+-
+-        <policy user="root">
+-                <allow own="org.freedesktop.NetworkManagerUserSettings"/>
+-
+-                <allow send_destination="org.freedesktop.NetworkManagerUserSettings"
+-                       send_interface="org.freedesktop.NetworkManager.Settings"/>
+-
+-                <allow send_destination="org.freedesktop.NetworkManagerUserSettings"
+-                       send_interface="org.freedesktop.NetworkManager.Settings.Connection"/>
+-
+-                <!-- Only root can get secrets -->
+-                <allow send_destination="org.freedesktop.NetworkManagerUserSettings"
+-                       send_interface="org.freedesktop.NetworkManager.Settings.Connection.Secrets"/>
+-        </policy>
+-        <policy at_console="true">
+-                <allow own="org.freedesktop.NetworkManagerUserSettings"/>
+-
+-                <allow send_destination="org.freedesktop.NetworkManagerUserSettings"
+-                       send_interface="org.freedesktop.NetworkManager.Settings"/>
+-
+-                <allow send_destination="org.freedesktop.NetworkManagerUserSettings"
+-                       send_interface="org.freedesktop.NetworkManager.Settings.Connection"/>
+-        </policy>
+-        <policy context="default">
+-                <allow send_destination="org.freedesktop.NetworkManagerUserSettings"
+-                       send_interface="org.freedesktop.DBus.Introspectable"/>
+-        </policy>
+-
+-        <limit name="max_replies_per_connection">512</limit>
+-</busconfig>
+-
+-- 
+1.7.7.5
+
diff --git a/0020-Fix-wrong-address.patch b/0020-Fix-wrong-address.patch
new file mode 100644
index 0000000..68ecbf7
--- /dev/null
+++ b/0020-Fix-wrong-address.patch
@@ -0,0 +1,41 @@
+From 3cc917ecc2cdb0fed1b9e9052483019dd1e1e12e Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Sun, 18 Dec 2011 11:40:40 -0200
+Subject: [PATCH 20/26] Fix wrong address.
+
+---
+ plasma_nm_version.h                         |    2 +-
+ vpnplugins/novellvpn/nm-novellvpn-service.h |    7 +++----
+ 2 files changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/plasma_nm_version.h b/plasma_nm_version.h
+index 0f0f7a0..0da82d2 100644
+--- a/plasma_nm_version.h
++++ b/plasma_nm_version.h
+@@ -1,4 +1,4 @@
+ #ifndef PLASMA_NM_VERSION_H
+ #define PLASMA_NM_VERSION_H
+-static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111215)";
++static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111218)";
+ #endif
+diff --git a/vpnplugins/novellvpn/nm-novellvpn-service.h b/vpnplugins/novellvpn/nm-novellvpn-service.h
+index 0103fa4..825ce13 100644
+--- a/vpnplugins/novellvpn/nm-novellvpn-service.h
++++ b/vpnplugins/novellvpn/nm-novellvpn-service.h
+@@ -17,10 +17,9 @@
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  * GNU General Public License for more details.
+  *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, write to the Free Software
+- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+- *
++ * You should have received a copy of the GNU General Public License along
++ * with this program; if not, write to the Free Software Foundation, Inc.,
++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+  */
+ 
+ #ifndef NM_NOVELLVPN_SERVICE_H
+-- 
+1.7.7.5
+
diff --git a/0021-Only-enable-wifi-security-methods-None-WEP-and-WPA-W.patch b/0021-Only-enable-wifi-security-methods-None-WEP-and-WPA-W.patch
new file mode 100644
index 0000000..540a8be
--- /dev/null
+++ b/0021-Only-enable-wifi-security-methods-None-WEP-and-WPA-W.patch
@@ -0,0 +1,54 @@
+From cd59fd5850aa50461674907d8873b4566dbc1cc1 Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Sun, 25 Dec 2011 23:57:56 -0200
+Subject: [PATCH 21/26] Only enable wifi security methods None, WEP and
+ WPA/WPA2 Personnal for ad-hoc connections. NM does
+ not support the other methods when on ad-hoc mode.
+
+CCBUG: 289812
+---
+ libs/internals/wirelesssecurityidentifier.cpp      |    4 ++--
+ libs/ui/security/wirelesssecuritysettingwidget.cpp |    3 +--
+ 2 files changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/libs/internals/wirelesssecurityidentifier.cpp b/libs/internals/wirelesssecurityidentifier.cpp
+index cf7ab79..43c63f3 100644
+--- a/libs/internals/wirelesssecurityidentifier.cpp
++++ b/libs/internals/wirelesssecurityidentifier.cpp
+@@ -81,13 +81,13 @@ bool Knm::WirelessSecurity::possible(Knm::WirelessSecurity::Type type, Solid::Co
+                 return true;
+         }
+         if (type == Knm::WirelessSecurity::WpaPsk
+-                ||type == Knm::WirelessSecurity::WpaEap) {
++                || ((type == Knm::WirelessSecurity::WpaEap) && !adhoc)) {
+             if (interfaceCaps & (Solid::Control::WirelessNetworkInterfaceNm09::Wpa)) {
+                 return true;
+             }
+         }
+         if (type == Knm::WirelessSecurity::Wpa2Psk
+-                ||type == Knm::WirelessSecurity::Wpa2Eap) {
++                || ((type == Knm::WirelessSecurity::Wpa2Eap) && !adhoc)) {
+             if (interfaceCaps & (Solid::Control::WirelessNetworkInterfaceNm09::Rsn)) {
+                 return true;
+             }
+diff --git a/libs/ui/security/wirelesssecuritysettingwidget.cpp b/libs/ui/security/wirelesssecuritysettingwidget.cpp
+index 393a68d..3296256 100644
+--- a/libs/ui/security/wirelesssecuritysettingwidget.cpp
++++ b/libs/ui/security/wirelesssecuritysettingwidget.cpp
+@@ -143,12 +143,11 @@ void WirelessSecuritySettingWidget::setIfaceAndAccessPoint(Solid::Control::Wirel
+ 
+     // cache ap and device capabilities here
+     Solid::Control::WirelessNetworkInterfaceNm09::Capabilities ifaceCaps(0);
+-    bool adhoc = false;
++    bool adhoc = d->settingWireless->mode() == Knm::WirelessSetting::EnumMode::adhoc;
+     Solid::Control::AccessPointNm09::Capabilities apCaps(0);
+     Solid::Control::AccessPointNm09::WpaFlags apWpa(0);
+     Solid::Control::AccessPointNm09::WpaFlags apRsn(0);
+ 
+-
+     if (iface) {
+         ifaceCaps = iface->wirelessCapabilities();
+         if (ap) {
+-- 
+1.7.7.5
+
diff --git a/0022-Not-all-errors-are-fatal.patch b/0022-Not-all-errors-are-fatal.patch
new file mode 100644
index 0000000..9f07caa
--- /dev/null
+++ b/0022-Not-all-errors-are-fatal.patch
@@ -0,0 +1,40 @@
+From 73c994190d1a67c3ca51cfbadab4f9bba26180a2 Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Mon, 26 Dec 2011 00:38:53 -0200
+Subject: [PATCH 22/26] Not all errors are fatal.
+
+---
+ plasma_nm_version.h                        |    2 +-
+ settings/config/manageconnectionwidget.cpp |    6 ------
+ 2 files changed, 1 insertions(+), 7 deletions(-)
+
+diff --git a/plasma_nm_version.h b/plasma_nm_version.h
+index 0da82d2..55ae5d9 100644
+--- a/plasma_nm_version.h
++++ b/plasma_nm_version.h
+@@ -1,4 +1,4 @@
+ #ifndef PLASMA_NM_VERSION_H
+ #define PLASMA_NM_VERSION_H
+-static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111218)";
++static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111226)";
+ #endif
+diff --git a/settings/config/manageconnectionwidget.cpp b/settings/config/manageconnectionwidget.cpp
+index 6ba5584..71c64d8 100644
+--- a/settings/config/manageconnectionwidget.cpp
++++ b/settings/config/manageconnectionwidget.cpp
+@@ -539,12 +539,6 @@ void ManageConnectionWidget::editGotSecrets(bool valid, const QString &errorMess
+             KMessageBox::error(this, i18n("Error"));
+         else
+             KMessageBox::error(this, errorMessage);
+-
+-        if (mEditConnection && mEditConnection->uuid() == uuid) {
+-            delete mEditConnection;
+-            mEditConnection = 0;
+-            return;
+-        }
+     }
+ 
+     if (!mEditConnection || mEditConnection->uuid() != uuid) {
+-- 
+1.7.7.5
+
diff --git a/0023-Configure-adhoc-WPA-wifi-like-nm-applet-does.patch b/0023-Configure-adhoc-WPA-wifi-like-nm-applet-does.patch
new file mode 100644
index 0000000..319769d
--- /dev/null
+++ b/0023-Configure-adhoc-WPA-wifi-like-nm-applet-does.patch
@@ -0,0 +1,47 @@
+From ea572b6e35b73fbcbf5c99db112e80b09e57af7f Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Mon, 26 Dec 2011 00:51:21 -0200
+Subject: [PATCH 23/26] Configure adhoc WPA wifi like nm-applet does.
+
+CCBUG: 289812
+(cherry picked from commit e14f5841d6261f81334e0d3c220588036ef599b2)
+---
+ .../settings/802-11-wireless-securitydbus.cpp      |    1 +
+ libs/ui/security/wirelesssecuritysettingwidget.cpp |    9 ++++++++-
+ 2 files changed, 9 insertions(+), 1 deletions(-)
+
+diff --git a/backends/NetworkManager/settings/802-11-wireless-securitydbus.cpp b/backends/NetworkManager/settings/802-11-wireless-securitydbus.cpp
+index 4ea8f30..933a5b7 100644
+--- a/backends/NetworkManager/settings/802-11-wireless-securitydbus.cpp
++++ b/backends/NetworkManager/settings/802-11-wireless-securitydbus.cpp
+@@ -38,6 +38,7 @@ void WirelessSecurityDbus::fromMap(const QVariantMap & map)
+       else if (map.value(QLatin1String(NM_SETTING_WIRELESS_SECURITY_KEY_MGMT)) == "wpa-none")
+       {
+           setting->setKeymgmt(Knm::WirelessSecuritySetting::EnumKeymgmt::WPANone);
++          setting->setSecurityType(Knm::WirelessSecuritySetting::EnumSecurityType::WpaPsk);
+       }
+       else if (map.value(QLatin1String(NM_SETTING_WIRELESS_SECURITY_KEY_MGMT)) == "wpa-psk")
+       {
+diff --git a/libs/ui/security/wirelesssecuritysettingwidget.cpp b/libs/ui/security/wirelesssecuritysettingwidget.cpp
+index 3296256..c3dfe07 100644
+--- a/libs/ui/security/wirelesssecuritysettingwidget.cpp
++++ b/libs/ui/security/wirelesssecuritysettingwidget.cpp
+@@ -328,7 +328,14 @@ void WirelessSecuritySettingWidget::writeConfig()
+     else if (d->ui.cboType->currentIndex() == d->wpaPsk.first) {
+         d->setting8021x->setEnabled(false);
+         d->settingSecurity->setSecurityType(Knm::WirelessSecuritySetting::EnumSecurityType::WpaPsk); // FIXME
+-        d->settingSecurity->setKeymgmt(Knm::WirelessSecuritySetting::EnumKeymgmt::WPAPSK);
++        if (d->settingWireless->mode() == Knm::WirelessSetting::EnumMode::adhoc) {
++            d->settingSecurity->setKeymgmt(Knm::WirelessSecuritySetting::EnumKeymgmt::WPANone);
++            d->settingSecurity->setProto(QStringList() << "wpa");
++            d->settingSecurity->setPairwise(QStringList() << "none");
++            d->settingSecurity->setGroup(QStringList() << "tkip");
++        } else {
++            d->settingSecurity->setKeymgmt(Knm::WirelessSecuritySetting::EnumKeymgmt::WPAPSK);
++        }
+     }
+     else if (d->ui.cboType->currentIndex() == d->wpaEap.first) {
+         d->setting8021x->setEnabled(true);
+-- 
+1.7.7.5
+
diff --git a/0024-Do-not-set-password-flags-if-password-is-not-set.patch b/0024-Do-not-set-password-flags-if-password-is-not-set.patch
new file mode 100644
index 0000000..31ef5e8
--- /dev/null
+++ b/0024-Do-not-set-password-flags-if-password-is-not-set.patch
@@ -0,0 +1,65 @@
+From 17130fac997385ee3bc465a0c7fd0a7a02a793b4 Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Mon, 26 Dec 2011 15:47:30 -0200
+Subject: [PATCH 24/26] Do not set password flags if password is not set.
+ (cherry picked from commit
+ 1cfda04aa1e7adf066c52c0a08191e9244e06308)
+
+---
+ .../settings/802-11-wireless-securitydbus.cpp      |   10 ++++------
+ 1 files changed, 4 insertions(+), 6 deletions(-)
+
+diff --git a/backends/NetworkManager/settings/802-11-wireless-securitydbus.cpp b/backends/NetworkManager/settings/802-11-wireless-securitydbus.cpp
+index 933a5b7..d914e95 100644
+--- a/backends/NetworkManager/settings/802-11-wireless-securitydbus.cpp
++++ b/backends/NetworkManager/settings/802-11-wireless-securitydbus.cpp
+@@ -74,8 +74,8 @@ void WirelessSecurityDbus::fromMap(const QVariantMap & map)
+         //SECRET
+         if (map.contains(QLatin1String(NM_SETTING_WIRELESS_SECURITY_LEAP_PASSWORD))) {
+           setting->setLeappassword(map.value(QLatin1String(NM_SETTING_WIRELESS_SECURITY_LEAP_PASSWORD)).value<QString>());
++          setting->setLeappasswordflags((Knm::Setting::secretsTypes)map.value(QLatin1String(NM_SETTING_WIRELESS_SECURITY_LEAP_PASSWORD_FLAGS)).value<int>());
+         }
+-
+     }
+   }
+ 
+@@ -107,6 +107,7 @@ if (map.contains(QLatin1String(NM_SETTING_WIRELESS_SECURITY_PROTO))) {
+   // SECRET
+   if (map.contains(QLatin1String(NM_SETTING_WIRELESS_SECURITY_PSK))) {
+     setting->setPsk(map.value(QLatin1String(NM_SETTING_WIRELESS_SECURITY_PSK)).value<QString>());
++    setting->setPskflags((Knm::Setting::secretsTypes)map.value(QLatin1String(NM_SETTING_WIRELESS_SECURITY_PSK_FLAGS)).value<int>());
+   }
+ 
+   if (map.contains(QLatin1String(NM_SETTING_WIRELESS_SECURITY_WEP_KEY_TYPE))) {
+@@ -118,11 +119,8 @@ if (map.contains(QLatin1String(NM_SETTING_WIRELESS_SECURITY_PROTO))) {
+       {
+         setting->setWepKeyType(Knm::WirelessSecuritySetting::Passphrase);
+       }
++      setting->setWepkeyflags((Knm::Setting::secretsTypes)map.value(QLatin1String(NM_SETTING_WIRELESS_SECURITY_WEP_KEY_FLAGS)).value<int>());
+   }
+-
+-  setting->setPskflags((Knm::Setting::secretsTypes)map.value(QLatin1String(NM_SETTING_WIRELESS_SECURITY_PSK_FLAGS)).value<int>());
+-  setting->setWepkeyflags((Knm::Setting::secretsTypes)map.value(QLatin1String(NM_SETTING_WIRELESS_SECURITY_WEP_KEY_FLAGS)).value<int>());
+-  setting->setLeappasswordflags((Knm::Setting::secretsTypes)map.value(QLatin1String(NM_SETTING_WIRELESS_SECURITY_LEAP_PASSWORD_FLAGS)).value<int>());
+ }
+ 
+ QVariantMap WirelessSecurityDbus::toMap()
+@@ -179,6 +177,7 @@ QVariantMap WirelessSecurityDbus::toMap()
+   }
+   if (!setting->leapusername().isEmpty()) {
+       map.insert(QLatin1String(NM_SETTING_WIRELESS_SECURITY_LEAP_USERNAME), setting->leapusername());
++      map.insert(QLatin1String(NM_SETTING_WIRELESS_SECURITY_LEAP_PASSWORD_FLAGS), (int)setting->leappasswordflags());
+   }
+ 
+   map.unite(toSecretsMap());
+@@ -189,7 +188,6 @@ QVariantMap WirelessSecurityDbus::toMap()
+   if(!setting->psk().isEmpty()) {
+       map.insert(QLatin1String(NM_SETTING_WIRELESS_SECURITY_PSK_FLAGS), (int)setting->pskflags());
+   }
+-  map.insert(QLatin1String(NM_SETTING_WIRELESS_SECURITY_LEAP_PASSWORD_FLAGS), (int)setting->leappasswordflags());
+ 
+   } // end of if not setting->clear()
+   return map;
+-- 
+1.7.7.5
+
diff --git a/0026-Increase-connection-s-row-a-bit.patch b/0026-Increase-connection-s-row-a-bit.patch
new file mode 100644
index 0000000..da0fbdb
--- /dev/null
+++ b/0026-Increase-connection-s-row-a-bit.patch
@@ -0,0 +1,41 @@
+From b5a64a8310b34eb634a9301ea6548a6c9a8722f6 Mon Sep 17 00:00:00 2001
+From: "Lamarque V. Souza" <lamarque at kde.org>
+Date: Tue, 27 Dec 2011 12:10:00 -0200
+Subject: [PATCH 26/26] Increase connection's row a bit. Keep in mind that the
+ entire connection row is always resized, not only the
+ icon. The icon is free to increase as long as there
+ is room in the row's height, so it can have any
+ height, not only 22 pixels.
+
+BUG: 289856
+---
+ applet/activatableitem.cpp |    2 +-
+ plasma_nm_version.h        |    2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/applet/activatableitem.cpp b/applet/activatableitem.cpp
+index c8e8ffc..6edfc29 100644
+--- a/applet/activatableitem.cpp
++++ b/applet/activatableitem.cpp
+@@ -41,7 +41,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ 
+ K_GLOBAL_STATIC_WITH_ARGS(KComponentData, s_networkManagementComponentData, ("networkmanagement", "networkmanagement", KComponentData::SkipMainComponentRegistration))
+ static const int m_iconSize = 48;
+-int rowHeight = qMax(28, QFontMetrics(KGlobalSettings::generalFont()).height()+10);
++int rowHeight = qMax(30, QFontMetrics(KGlobalSettings::generalFont()).height()+10);
+ int maxConnectionNameWidth = QFontMetrics(KGlobalSettings::generalFont()).width("12345678901234567890123");
+ 
+ ActivatableItem::ActivatableItem(RemoteActivatable *remote, QGraphicsItem * parent) : Plasma::IconWidget(parent),
+diff --git a/plasma_nm_version.h b/plasma_nm_version.h
+index 55ae5d9..bf09030 100644
+--- a/plasma_nm_version.h
++++ b/plasma_nm_version.h
+@@ -1,4 +1,4 @@
+ #ifndef PLASMA_NM_VERSION_H
+ #define PLASMA_NM_VERSION_H
+-static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111226)";
++static const char * plasmaNmVersion = "0.9.0_rc3 (nm09 20111227)";
+ #endif
+-- 
+1.7.7.5
+
diff --git a/kde-plasma-networkmanagement.spec b/kde-plasma-networkmanagement.spec
index 4a2b031..0cd3f02 100644
--- a/kde-plasma-networkmanagement.spec
+++ b/kde-plasma-networkmanagement.spec
@@ -1,11 +1,11 @@
 
-%global beta 20111203git
+%global beta 20111227git
 %global tarballversion 0.8.98
 
 Name:           kde-plasma-networkmanagement
 Epoch:          1
 Version:        0.9
-Release:        0.67.%{beta}.nm09%{?dist}
+Release:        0.68.%{beta}.nm09%{?dist}
 Summary:        NetworkManager KDE 4 integration
 
 Group:          Applications/Internet
@@ -30,6 +30,20 @@ Patch107: 0007-Try-not-to-crash-if-NM-does-not-respond-to-the-AddCo.patch
 Patch108: 0008-Fix-wifi-WPA2-edit-dialog.patch
 Patch109: 0009-Change-networkmanagement_configshell-to-inform-error.patch
 Patch110: 0010-Change-mobile-broadband-wwan-checkbox-into-a-tristat.patch
+Patch111: 0011-This-is-not-needed-anymore.patch
+Patch112: 0012-Fix-broken-xml-tags-in-tooltips.patch
+Patch114: 0014-Try-again-to-fix-WPA2-config-dialog.patch
+Patch115: 0015-Abort-cmake-if-suitable-NetworkManager-headers-are-n.patch
+Patch116: 0016-Fix-some-spelling-errors.patch
+Patch117: 0017-Indicate-in-the-error-messages-where-to-find-Network.patch
+Patch118: 0018-Ask-for-secrets-only-once-per-connection.patch
+Patch119: 0019-This-file-is-not-necessary-for-Plasma-NM-0.8.80.patch
+Patch120: 0020-Fix-wrong-address.patch
+Patch121: 0021-Only-enable-wifi-security-methods-None-WEP-and-WPA-W.patch
+Patch122: 0022-Not-all-errors-are-fatal.patch
+Patch123: 0023-Configure-adhoc-WPA-wifi-like-nm-applet-does.patch
+Patch124: 0024-Do-not-set-password-flags-if-password-is-not-set.patch
+Patch126: 0026-Increase-connection-s-row-a-bit.patch
 
 
 BuildRequires:  kdelibs4-devel >= 4.5.0
@@ -122,6 +136,19 @@ Requires:       NetworkManager-openconnect
 %patch108 -p1 -b .0008
 %patch109 -p1 -b .0009
 %patch110 -p1 -b .0010
+%patch112 -p1 -b .0012
+%patch114 -p1 -b .0014
+%patch115 -p1 -b .0015
+%patch116 -p1 -b .0016
+%patch117 -p1 -b .0017
+%patch118 -p1 -b .0018
+%patch119 -p1 -b .0019
+%patch120 -p1 -b .0020
+%patch121 -p1 -b .0021
+%patch122 -p1 -b .0022
+%patch123 -p1 -b .0023
+%patch124 -p1 -b .0024
+%patch126 -p1 -b .0026
 
 # nuke monolithic knm bits
 rm -rfv monolithic po/*/knetworkmanager.po
@@ -242,6 +269,9 @@ gtk-update-icon-cache %{_kde4_iconsdir}/oxygen &> /dev/null || :
 
 
 %changelog
+* Tue Dec 27 2011 Rex Dieter <rdieter at fedoraproject.org> 1:0.9-0.68.20111227git.nm09
+- 20111227 snapshot
+
 * Sun Dec 04 2011 Rex Dieter <rdieter at fedoraproject.org> 1:0.9-0.67.20111203git.nm09
 - 20111203 snapshot
 


More information about the scm-commits mailing list