[arch-commits] Commit in kdeplasma-applets-plasma-nm/trunk (2 files)

Andrea Scarpino andrea at nymeria.archlinux.org
Wed Oct 23 12:04:39 UTC 2013


    Date: Wednesday, October 23, 2013 @ 14:04:38
  Author: andrea
Revision: 197150

upgpkg: kdeplasma-applets-plasma-nm 0.9.3.1-3

Apply fixes suggested by upstream

Added:
  kdeplasma-applets-plasma-nm/trunk/plasma-nm-fixes.patch
Modified:
  kdeplasma-applets-plasma-nm/trunk/PKGBUILD

-----------------------+
 PKGBUILD              |   11 +
 plasma-nm-fixes.patch |  322 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 330 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2013-10-23 11:49:27 UTC (rev 197149)
+++ PKGBUILD	2013-10-23 12:04:38 UTC (rev 197150)
@@ -4,7 +4,7 @@
 
 pkgname=kdeplasma-applets-plasma-nm
 pkgver=0.9.3.1
-pkgrel=2
+pkgrel=3
 pkgdesc="Plasma applet written in QML for managing network connections"
 arch=('i686' 'x86_64')
 url="https://projects.kde.org/projects/playground/network/plasma-nm"
@@ -14,11 +14,16 @@
 optdepends=('mobile-broadband-provider-info: Database of mobile broadband service providers'
             'openconnect: Cisco AnyConnect VPN plugin')
 conflicts=('kdeplasma-applets-networkmanagement')
-source=("http://download.kde.org/unstable/plasma-nm/plasma-nm-${pkgver}.tar.xz")
-md5sums=('c6ce9cd8523ec0f99fe87dea8b76a02f')
+source=("http://download.kde.org/unstable/plasma-nm/plasma-nm-${pkgver}.tar.xz"
+        'plasma-nm-fixes.patch')
+md5sums=('c6ce9cd8523ec0f99fe87dea8b76a02f'
+         'e5825709f49ba6c4386e909b80f75066')
 
 prepare() {
   mkdir build
+
+  cd plasma-nm-${pkgver}
+  patch -p1 -i "${srcdir}"/plasma-nm-fixes.patch
 }
 
 build() {

Added: plasma-nm-fixes.patch
===================================================================
--- plasma-nm-fixes.patch	                        (rev 0)
+++ plasma-nm-fixes.patch	2013-10-23 12:04:38 UTC (rev 197150)
@@ -0,0 +1,322 @@
+diff --git a/applet/declarative/contents/ui/main.qml b/applet/declarative/contents/ui/main.qml
+index 8ea88cc..aa81707 100644
+--- a/applet/declarative/contents/ui/main.qml
++++ b/applet/declarative/contents/ui/main.qml
+@@ -19,6 +19,7 @@
+ */
+ 
+ import QtQuick 1.1
++import org.kde.plasma.extras 0.1 as PlasmaExtras
+ import org.kde.plasma.components 0.1 as PlasmaComponents
+ import org.kde.plasma.core 0.1 as PlasmaCore
+ import org.kde.networkmanagement 0.1 as PlasmaNM
+@@ -77,16 +78,7 @@ Item {
+         anchors.fill: parent
+     }
+ 
+-    ListView {
+-        id: connectionView;
+-
+-        property bool expandedItem: false;
+-        property string previouslyExpandedItem: "";
+-
+-        property bool activeExpanded: true;
+-        property bool previousExpanded: true;
+-        property bool unknownExpanded: true;
+-
++    PlasmaExtras.ScrollArea {
+         anchors {
+             left: parent.left;
+             right: parent.right;
+@@ -95,50 +87,64 @@ Item {
+             topMargin: padding.margins.top;
+             bottomMargin: padding.margins.bottom
+         }
+-        clip: true
+-        model: connectionSortModel;
+-        currentIndex: -1;
+-        interactive: true;
+-        boundsBehavior: Flickable.StopAtBounds;
+-        section.property: "itemSection";
+-        section.delegate: SectionHeader {
+-            onHideSection: {
+-                if (section == i18n("Active connections")) {
+-                    connectionView.activeExpanded = false;
+-                } else if (section == i18n("Previous connections")) {
+-                    connectionView.previousExpanded = false;
+-                } else {
+-                    connectionView.unknownExpanded = false;
++
++        ListView {
++            id: connectionView;
++
++            property bool expandedItem: false;
++            property string previouslyExpandedItem: "";
++
++            property bool activeExpanded: true;
++            property bool previousExpanded: true;
++            property bool unknownExpanded: true;
++
++            anchors.fill: parent;
++
++            clip: true
++            model: connectionSortModel;
++            currentIndex: -1;
++            interactive: true;
++            boundsBehavior: Flickable.StopAtBounds;
++            section.property: "itemSection";
++            section.delegate: SectionHeader {
++                onHideSection: {
++                    if (section == i18n("Active connections")) {
++                        connectionView.activeExpanded = false;
++                    } else if (section == i18n("Previous connections")) {
++                        connectionView.previousExpanded = false;
++                    } else {
++                        connectionView.unknownExpanded = false;
++                    }
+                 }
+-            }
+ 
+-            onShowSection: {
+-                if (section == i18n("Active connections")) {
+-                    connectionView.activeExpanded = true;
+-                } else if (section == i18n("Previous connections")) {
+-                    connectionView.previousExpanded = true;
+-                } else {
+-                    connectionView.unknownExpanded = true;
++                onShowSection: {
++                    if (section == i18n("Active connections")) {
++                        connectionView.activeExpanded = true;
++                    } else if (section == i18n("Previous connections")) {
++                        connectionView.previousExpanded = true;
++                    } else {
++                        connectionView.unknownExpanded = true;
++                    }
+                 }
+             }
+-        }
+ 
+-        delegate: ConnectionItem {
+-            expanded: connectionView.expandedItem && connectionView.previouslyExpandedItem == itemUni;
+-            onItemExpanded: {
+-                if (itemExpanded) {
+-                    connectionView.expandedItem = true;
+-                    connectionView.previouslyExpandedItem = itemUni;;
+-                    connectionView.currentIndex = index;
+-                } else {
+-                    connectionView.expandedItem = false;
+-                    connectionView.previouslyExpandedItem = "";
++            delegate: ConnectionItem {
++                expanded: connectionView.expandedItem && connectionView.previouslyExpandedItem == itemUni;
++                onItemExpanded: {
++                    if (itemExpanded) {
++                        connectionView.expandedItem = true;
++                        connectionView.previouslyExpandedItem = itemUni;;
++                        connectionView.currentIndex = index;
++                    } else {
++                        connectionView.expandedItem = false;
++                        connectionView.previouslyExpandedItem = "";
++                    }
+                 }
+-            }
+ 
+-            ListView.onRemove: {
+-                if (ListView.isCurrentItem) {
+-                    connectionView.previouslyExpandedItem = "";
++                ListView.onRemove: {
++                    if (ListView.isCurrentItem) {
++                        connectionView.previouslyExpandedItem = "";
++                    }
+                 }
+             }
+         }
+diff --git a/declarative-plugins/applet/connectionicon.cpp b/declarative-plugins/applet/connectionicon.cpp
+index c3f8540..76bdca0 100644
+--- a/declarative-plugins/applet/connectionicon.cpp
++++ b/declarative-plugins/applet/connectionicon.cpp
+@@ -166,12 +166,24 @@ void ConnectionIcon::setIcons()
+ 
+     foreach (const NetworkManager::ActiveConnection::Ptr & active, actives) {
+         if (((active->default4() || active->default6()) && active->state() == NetworkManager::ActiveConnection::Activated) || !defaultRouteExists) {
++            NetworkManager::ActiveConnection::Ptr activeConnection;
++            if (active->vpn()) {
++                NetworkManager::ActiveConnection::Ptr activeTmp;
++                activeTmp = NetworkManager::findActiveConnection(active->specificObject());
++                if (activeTmp) {
++                    activeConnection = activeTmp;
++                }
+ 
+-            if (active->vpn() || active->devices().isEmpty()) {
++                vpnFound = true;
++                NMAppletDebug() << "Emit signal setHoverIcon(object-locked)";
++                Q_EMIT setHoverIcon("object-locked");
++            } else {
++                activeConnection = active;
++            }
++            if (activeConnection->devices().isEmpty()) {
+                 continue;
+             }
+-
+-            NetworkManager::Device::Ptr device = NetworkManager::findNetworkInterface(active->devices().first());
++            NetworkManager::Device::Ptr device = NetworkManager::findNetworkInterface(activeConnection->devices().first());
+             if (device) {
+                 NetworkManager::Device::Type type = device->type();
+ 
+@@ -184,7 +196,7 @@ void ConnectionIcon::setIcons()
+                         setWirelessIconForSignalStrength(100);
+                         connectionFound = true;
+                     } else {
+-                        NetworkManager::AccessPoint::Ptr ap = wifiDevice->findAccessPoint(active->specificObject());
++                        NetworkManager::AccessPoint::Ptr ap = wifiDevice->findAccessPoint(activeConnection->specificObject());
+                         if (ap) {
+                             setWirelessIcon(device, ap->ssid());
+                             connectionFound = true;
+@@ -222,9 +234,7 @@ void ConnectionIcon::setIcons()
+                     }
+                 }
+             }
+-        }
+-
+-        if (active->vpn() && active->state() == NetworkManager::ActiveConnection::Activated) {
++        } else if (active->vpn() && active->state() == NetworkManager::ActiveConnection::Activated) {
+             vpnFound = true;
+             NMAppletDebug() << "Emit signal setHoverIcon(object-locked)";
+             Q_EMIT setHoverIcon("object-locked");
+diff --git a/declarative-plugins/applet/networkstatus.cpp b/declarative-plugins/applet/networkstatus.cpp
+index d63066d..8149da9 100644
+--- a/declarative-plugins/applet/networkstatus.cpp
++++ b/declarative-plugins/applet/networkstatus.cpp
+@@ -129,8 +129,8 @@ void NetworkStatus::changeTooltip()
+     }
+ 
+     QString tooltip = "<qt>";
+-    QString format = "<b>%1 - %2</b><br>%3<br><br>";
+-    QString formatDefault = "<b>%1 - %2</b><br><b>%3</b><br><br>";
++    const QString format = "<b>%1 - %2</b><br>%3<br><br>";
++    const QString formatDefault = "<b>%1 - %2</b><br><b>%3</b><br><br>";
+ 
+     foreach (const NetworkManager::ActiveConnection::Ptr & active, NetworkManager::activeConnections()) {
+         if (!active->devices().isEmpty()) {
+@@ -145,7 +145,6 @@ void NetworkStatus::changeTooltip()
+                 } else {
+                     devName = device->ipInterfaceName();
+                 }
+-//                 conType = NetworkManager::ConnectionSettings::typeAsString(active->connection()->settings()->connectionType());
+                 if (active->vpn()) {
+                     conType = i18n("VPN Connection");
+                 } else {
+diff --git a/declarative-plugins/model/model.cpp b/declarative-plugins/model/model.cpp
+index 1b3f4c3..bb88362 100644
+--- a/declarative-plugins/model/model.cpp
++++ b/declarative-plugins/model/model.cpp
+@@ -230,7 +230,7 @@ void Model::addConnection(const QString& connection, const QString& device)
+ {
+     NetworkManager::Connection::Ptr con = NetworkManager::findConnection(connection);
+ 
+-    if (con->settings()->isSlave()) {
++    if (con->settings()->isSlave() || con->name().isEmpty() || con->uuid().isEmpty()) {
+         return;
+     }
+ 
+@@ -395,7 +395,11 @@ void Model::removeWirelessNetwork(const QString& ssid, const QString& device)
+         if (wirelessDevice) {
+             accessPoint = wirelessDevice->findAccessPoint(item->specificPath());
+         }
+-        if (accessPoint && accessPoint->mode() == NetworkManager::AccessPoint::Adhoc &&
++
++        // When accesspoint in ad-hoc mode dissapears, we should remove the item only when there is no connection. Similar case is when
++        // a wireless device is in AP mode, but in this case there could be only one visible AP and this should always be associated with some connection.
++        if (accessPoint && ((accessPoint->mode() == NetworkManager::AccessPoint::Adhoc && !item->connectionPath().isEmpty()) ||
++                            wirelessDevice->mode() == NetworkManager::WirelessDevice::ApMode) &&
+             NetworkManager::isWirelessEnabled() && NetworkManager::isWirelessHardwareEnabled()) {
+             item->setWirelessNetwork(QString());
+             if (updateItem(item)) {
+diff --git a/declarative-plugins/model/modelitem.cpp b/declarative-plugins/model/modelitem.cpp
+index 9a5931f..58d5c42 100644
+--- a/declarative-plugins/model/modelitem.cpp
++++ b/declarative-plugins/model/modelitem.cpp
+@@ -151,6 +151,17 @@ QString ModelItem::icon() const
+             break;
+         case NetworkManager::ConnectionSettings::Wireless:
+             if (m_signal == 0 ) {
++                if (!m_connectionPath.isEmpty()) {
++                    NetworkManager::Connection::Ptr con = NetworkManager::findConnection(m_connectionPath);
++                    if (con) {
++                        NetworkManager::WirelessSetting::Ptr wirelessSetting;
++                        wirelessSetting = con->settings()->setting(NetworkManager::Setting::Wireless).dynamicCast<NetworkManager::WirelessSetting>();
++                        if (wirelessSetting && (wirelessSetting->mode() == NetworkManager::WirelessSetting::Adhoc ||
++                                                wirelessSetting->mode() == NetworkManager::WirelessSetting::Ap)) {
++                            return "network-wireless-100";
++                        }
++                    }
++                }
+                 return "network-wireless-00";
+             } else if (m_signal < 20) {
+                 return "network-wireless-20";
+diff --git a/kded/bluetoothmonitor.cpp b/kded/bluetoothmonitor.cpp
+index 2221d09..5d0218b 100644
+--- a/kded/bluetoothmonitor.cpp
++++ b/kded/bluetoothmonitor.cpp
+@@ -220,6 +220,7 @@ void BluetoothMonitor::init()
+ 
+     mDunDevice = reply.value();
+ }
++
+ #if WITH_MODEMMANAGER_SUPPORT
+ void BluetoothMonitor::modemAdded(const QString &udi)
+ {
+diff --git a/lib/editor/bridgewidget.cpp b/lib/editor/bridgewidget.cpp
+index 8815eb2..95344c4 100644
+--- a/lib/editor/bridgewidget.cpp
++++ b/lib/editor/bridgewidget.cpp
+@@ -216,5 +216,5 @@ void BridgeWidget::populateBridges()
+ 
+ bool BridgeWidget::isValid() const
+ {
+-    return !m_ui->ifaceName->text().isEmpty() && m_ui->bridges->count() > 0;
++    return !m_ui->ifaceName->text().isEmpty();
+ }
+diff --git a/vpn/vpnc/vpnc.cpp b/vpn/vpnc/vpnc.cpp
+index d4a511d..645249d 100644
+--- a/vpn/vpnc/vpnc.cpp
++++ b/vpn/vpnc/vpnc.cpp
+@@ -145,7 +145,6 @@ NMVariantMapMap VpncUiPlugin::importConnectionSettings(const QString &fileName)
+     KConfigGroup cg(config, "main");   // Keys&Values are stored under [main]
+     if (cg.exists()) {
+         // Setup cisco-decrypt binary to decrypt the passwords
+-        QStringList decrArgs;
+         const QString ciscoDecryptBinary = KStandardDirs::findExe("cisco-decrypt", QString::fromLocal8Bit(qgetenv("PATH")) + ":/usr/lib/vpnc");
+         if (ciscoDecryptBinary.isEmpty()) {
+             mErrorMessage = i18n("Needed executable cisco-decrypt could not be found.");
+@@ -174,11 +173,11 @@ NMVariantMapMap VpncUiPlugin::importConnectionSettings(const QString &fileName)
+         }
+         else if (!decrPlugin->readStringKeyValue(cg,"enc_UserPassword").isEmpty() && !ciscoDecryptBinary.isEmpty()) {
+             // Decrypt the password and insert into map
+-            decrArgs.clear();
+-            decrArgs << decrPlugin->readStringKeyValue(cg,"enc_UserPassword");
+-            decrPlugin->ciscoDecrypt->setProgram(ciscoDecryptBinary, decrArgs);
++            decrPlugin->ciscoDecrypt->setProgram(ciscoDecryptBinary);
+             decrPlugin->ciscoDecrypt->start();
+-            if (decrPlugin->ciscoDecrypt->waitForStarted() && decrPlugin->ciscoDecrypt->waitForFinished()) {
++            decrPlugin->ciscoDecrypt->waitForStarted();
++            decrPlugin->ciscoDecrypt->write(decrPlugin->readStringKeyValue(cg,"enc_UserPassword").toUtf8());
++            if (decrPlugin->ciscoDecrypt->waitForFinished()) {
+                 secretData.insert(NM_VPNC_KEY_XAUTH_PASSWORD, decrPlugin->decryptedPasswd);
+             }
+         }
+@@ -203,11 +202,11 @@ NMVariantMapMap VpncUiPlugin::importConnectionSettings(const QString &fileName)
+         }
+         else if (!decrPlugin->readStringKeyValue(cg,"enc_GroupPwd").isEmpty() && !ciscoDecryptBinary.isEmpty()) {
+             //Decrypt the password and insert into map
+-            decrArgs.clear();
+-            decrArgs << decrPlugin->readStringKeyValue(cg,"enc_GroupPwd");
+-            decrPlugin->ciscoDecrypt->setProgram(ciscoDecryptBinary, decrArgs);
++            decrPlugin->ciscoDecrypt->setProgram(ciscoDecryptBinary);
+             decrPlugin->ciscoDecrypt->start();
+-            if (decrPlugin->ciscoDecrypt->waitForStarted() && decrPlugin->ciscoDecrypt->waitForFinished()) {
++            decrPlugin->ciscoDecrypt->waitForStarted();
++            decrPlugin->ciscoDecrypt->write(decrPlugin->readStringKeyValue(cg,"enc_GroupPwd").toUtf8());
++            if (decrPlugin->ciscoDecrypt->waitForFinished()) {
+                 secretData.insert(NM_VPNC_KEY_SECRET, decrPlugin->decryptedPasswd);
+                 data.insert(NM_VPNC_KEY_SECRET"-flags", QString::number(NetworkManager::Setting::AgentOwned));
+             }




More information about the arch-commits mailing list