rpms/kdebase-workspace/F-12 kdebase-workspace-4.4.85-kdebug238325.patch, NONE, 1.1 .cvsignore, 1.46, 1.47 kdebase-workspace.spec, 1.339, 1.340

Rex Dieter rdieter at fedoraproject.org
Fri Jun 11 15:48:36 UTC 2010


Author: rdieter

Update of /cvs/pkgs/rpms/kdebase-workspace/F-12
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv16409

Modified Files:
	.cvsignore kdebase-workspace.spec 
Added Files:
	kdebase-workspace-4.4.85-kdebug238325.patch 
Log Message:
* Tue Jun 08 2010 Rex Dieter <rdieter at Fedoraproject.org> - 4.4.4-2
- - Adding "Enable networking" button to knetworkmanager (rh#598765, kde#238325)


kdebase-workspace-4.4.85-kdebug238325.patch:
 libs/solid/control/ifaces/networkmanager.h                        |    5 +
 libs/solid/control/networkmanager.cpp                             |    2 
 libs/solid/control/networkmanager.h                               |    4 +
 solid/networkmanager-0.7/dbus/introspection/nm-manager-client.xml |    6 +
 solid/networkmanager-0.7/dbus/introspection/nm-manager.xml        |   29 +++++++-
 solid/networkmanager-0.7/dbus/nm-manager-clientinterface.h        |   13 +++
 solid/networkmanager-0.7/manager.cpp                              |   36 +++++++++-
 solid/networkmanager-0.7/manager_p.h                              |    2 
 8 files changed, 93 insertions(+), 4 deletions(-)

--- NEW FILE kdebase-workspace-4.4.85-kdebug238325.patch ---
diff -up kdebase-workspace-4.4.85/libs/solid/control/ifaces/networkmanager.h.kde238325 kdebase-workspace-4.4.85/libs/solid/control/ifaces/networkmanager.h
--- kdebase-workspace-4.4.85/libs/solid/control/ifaces/networkmanager.h.kde238325	2009-04-28 08:46:11.000000000 -0500
+++ kdebase-workspace-4.4.85/libs/solid/control/ifaces/networkmanager.h	2010-06-08 14:40:43.554897330 -0500
@@ -164,6 +164,11 @@ namespace Ifaces
         void wirelessHardwareEnabledChanged(bool enabled);
 
         /**
+         * This signal is emitted when the status of overall networking changed
+         */
+        void networkingEnabledChanged(bool enabled);
+
+        /**
          * This signal is emitted when the set of active connections changes
          */
         void activeConnectionsChanged();
diff -up kdebase-workspace-4.4.85/libs/solid/control/networkmanager.cpp.kde238325 kdebase-workspace-4.4.85/libs/solid/control/networkmanager.cpp
--- kdebase-workspace-4.4.85/libs/solid/control/networkmanager.cpp.kde238325	2009-07-17 16:44:59.000000000 -0500
+++ kdebase-workspace-4.4.85/libs/solid/control/networkmanager.cpp	2010-06-08 14:40:43.555907737 -0500
@@ -56,6 +56,8 @@ Solid::Control::NetworkManagerPrivate::N
                 this, SIGNAL(wirelessEnabledChanged(bool)));
         connect(managerBackend(), SIGNAL(wirelessHardwareEnabledChanged(bool)),
                 this, SIGNAL(wirelessHardwareEnabledChanged(bool)));
+        connect(managerBackend(), SIGNAL(networkingEnabledChanged(bool)),
+                this, SIGNAL(networkingEnabledChanged(bool)));
         connect(managerBackend(), SIGNAL(activeConnectionsChanged()),
                 this, SIGNAL(activeConnectionsChanged()));
     }
diff -up kdebase-workspace-4.4.85/libs/solid/control/networkmanager.h.kde238325 kdebase-workspace-4.4.85/libs/solid/control/networkmanager.h
--- kdebase-workspace-4.4.85/libs/solid/control/networkmanager.h.kde238325	2009-04-28 08:46:11.000000000 -0500
+++ kdebase-workspace-4.4.85/libs/solid/control/networkmanager.h	2010-06-08 14:40:43.555907737 -0500
@@ -170,6 +170,10 @@ namespace Control
              */
             void wirelessHardwareEnabledChanged(bool enabled);
             /**
+             * This signal is emitted when the status of overall networking changed
+             */
+            void networkingEnabledChanged(bool enabled);
+            /**
              * This signal is emitted when the set of active connections changes
              */
             void activeConnectionsChanged();
diff -up kdebase-workspace-4.4.85/solid/networkmanager-0.7/dbus/introspection/nm-manager-client.xml.kde238325 kdebase-workspace-4.4.85/solid/networkmanager-0.7/dbus/introspection/nm-manager-client.xml
--- kdebase-workspace-4.4.85/solid/networkmanager-0.7/dbus/introspection/nm-manager-client.xml.kde238325	2008-05-15 13:37:15.000000000 -0500
+++ kdebase-workspace-4.4.85/solid/networkmanager-0.7/dbus/introspection/nm-manager-client.xml	2010-06-08 14:40:43.549905432 -0500
@@ -39,6 +39,12 @@ object.  dbus-glib generates the same bo
       <arg name="sleep" type="b" direction="in"/>
     </method>
 
+    <method name="Enable">
+      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_enable"/>
+      <arg name="enable" type="b" direction="in"/>
+    </method>
+
+    <property name="NetworkingEnabled" type="b" access="read"/>
     <property name="WirelessEnabled" type="b" access="readwrite"/>
     <property name="WirelessHardwareEnabled" type="b" access="read"/>
     <property name="ActiveConnections" type="ao" access="read"/>
diff -up kdebase-workspace-4.4.85/solid/networkmanager-0.7/dbus/introspection/nm-manager.xml.kde238325 kdebase-workspace-4.4.85/solid/networkmanager-0.7/dbus/introspection/nm-manager.xml
--- kdebase-workspace-4.4.85/solid/networkmanager-0.7/dbus/introspection/nm-manager.xml.kde238325	2008-05-15 13:37:15.000000000 -0500
+++ kdebase-workspace-4.4.85/solid/networkmanager-0.7/dbus/introspection/nm-manager.xml	2010-06-08 14:40:43.549905432 -0500
@@ -80,7 +80,10 @@
     <method name="Sleep">
       <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_sleep"/>
       <tp:docstring>
-        Control the NetworkManager daemon's sleep state.  When asleep, all interfaces that it manages are deactivated.  When awake, devices are available to be activated.
+        Control the NetworkManager daemon's sleep state.  When asleep, all
+        interfaces that it manages are deactivated.  When awake, devices are
+        available to be activated.  This command should not be called directly
+        by users or clients; it is intended for system suspend/resume tracking.
       </tp:docstring>
       <arg name="sleep" type="b" direction="in">
         <tp:docstring>
@@ -89,6 +92,30 @@
       </arg>
     </method>
 
+    <method name="Enable">
+      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_enable"/>
+      <tp:docstring>
+        Control whether overall networking is enabled or disabled.  When
+        disabled, all interfaces that NM manages are deactivated.  When enabled,
+        all managed interfaces are re-enabled and available to be activated.
+        This command should be used by clients that provide to users the ability
+        to enable/disable all networking.
+      </tp:docstring>
+      <arg name="enable" type="b" direction="in">
+        <tp:docstring>
+          If FALSE, indicates that all networking should be disabled.  If TRUE,
+          indicates that NetworkManager should begin managing network devices.
+        </tp:docstring>
+      </arg>
+    </method>
+
+    <property name="NetworkingEnabled" type="b" access="read">
+      <tp:docstring>
+        Indicates if overall networking is currently enabled or not.  See the
+        Enable() method.
+      </tp:docstring>
+    </property>
+
     <property name="WirelessEnabled" type="b" access="readwrite">
       <tp:docstring>
         Indicates if wireless is currently enabled or not.
diff -up kdebase-workspace-4.4.85/solid/networkmanager-0.7/dbus/nm-manager-clientinterface.h.kde238325 kdebase-workspace-4.4.85/solid/networkmanager-0.7/dbus/nm-manager-clientinterface.h
--- kdebase-workspace-4.4.85/solid/networkmanager-0.7/dbus/nm-manager-clientinterface.h.kde238325	2009-06-17 15:06:03.000000000 -0500
+++ kdebase-workspace-4.4.85/solid/networkmanager-0.7/dbus/nm-manager-clientinterface.h	2010-06-08 14:40:43.551895445 -0500
@@ -2,7 +2,7 @@
  * This file was generated by qdbusxml2cpp version 0.7
  * Command line was: qdbusxml2cpp -N -m -p nm-manager-clientinterface /space/kde/sources/trunk/KDE/kdebase/workspace/solid/networkmanager-0.7/dbus/introspection/nm-manager-client.xml
  *
- * qdbusxml2cpp is Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * qdbusxml2cpp is Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
  *
  * This is an auto-generated file.
  * Do not edit! All changes made to it will be lost.
@@ -39,6 +39,10 @@ public:
     inline QList<QDBusObjectPath> activeConnections() const
     { return qvariant_cast< QList<QDBusObjectPath> >(internalPropGet("ActiveConnections")); }
 
+    Q_PROPERTY(bool NetworkingEnabled READ networkingEnabled)
+    inline bool networkingEnabled() const
+    { return qvariant_cast< bool >(internalPropGet("NetworkingEnabled")); }
+
     Q_PROPERTY(uint State READ state)
     inline uint state() const
     { return qvariant_cast< uint >(internalPropGet("State")); }
@@ -68,6 +72,13 @@ public Q_SLOTS: // METHODS
         return asyncCallWithArgumentList(QLatin1String("DeactivateConnection"), argumentList);
     }
 
+    inline QDBusPendingReply<> Enable(bool enable)
+    {
+        QList<QVariant> argumentList;
+        argumentList << qVariantFromValue(enable);
+        return asyncCallWithArgumentList(QLatin1String("Enable"), argumentList);
+    }
+
     inline QDBusPendingReply<QList<QDBusObjectPath> > GetDevices()
     {
         QList<QVariant> argumentList;
diff -up kdebase-workspace-4.4.85/solid/networkmanager-0.7/manager.cpp.kde238325 kdebase-workspace-4.4.85/solid/networkmanager-0.7/manager.cpp
--- kdebase-workspace-4.4.85/solid/networkmanager-0.7/manager.cpp.kde238325	2010-02-09 08:30:15.000000000 -0600
+++ kdebase-workspace-4.4.85/solid/networkmanager-0.7/manager.cpp	2010-06-08 14:40:43.552905013 -0500
@@ -49,6 +49,14 @@ NMNetworkManager::NMNetworkManager(QObje
     d->nmState = d->iface.state();
     d->isWirelessHardwareEnabled = d->iface.wirelessHardwareEnabled();
     d->isWirelessEnabled = d->iface.wirelessEnabled();
+    QVariant netEnabled = d->iface.property("NetworkingEnabled");
+    if (!netEnabled.isNull()) {
+        d->isNetworkingEnabled = netEnabled.toBool();
+        d->NetworkingEnabledPropertyAvailable = true;
+    } else {
+        d->isNetworkingEnabled = !(NM_STATE_UNKNOWN == d->nmState || NM_STATE_ASLEEP == d->nmState);
+        d->NetworkingEnabledPropertyAvailable = false;
+    }
     connect( &d->iface, SIGNAL(DeviceAdded(const QDBusObjectPath &)),
                 this, SLOT(deviceAdded(const QDBusObjectPath &)));
     connect( &d->iface, SIGNAL(DeviceRemoved(const QDBusObjectPath &)),
@@ -138,7 +146,7 @@ QObject *NMNetworkManager::createNetwork
 bool NMNetworkManager::isNetworkingEnabled() const
 {
     Q_D(const NMNetworkManager);
-    return !(NM_STATE_UNKNOWN == d->nmState || NM_STATE_ASLEEP == d->nmState);
+    return d->isNetworkingEnabled;
 }
 
 bool NMNetworkManager::isWirelessEnabled() const
@@ -182,7 +190,14 @@ void NMNetworkManager::deactivateConnect
 void NMNetworkManager::setNetworkingEnabled(bool enabled)
 {
     Q_D(NMNetworkManager);
-    d->iface.Sleep(!enabled);
+
+    QDBusPendingReply<> reply = d->iface.Enable(enabled);
+    reply.waitForFinished();
+    if (reply.isError()) {
+        kDebug(1441) << "Enable() D-Bus method not available:" << reply.error();
+        kDebug(1441) << "Calling Sleep() instead";
+        d->iface.Sleep(!enabled);
+    }
 }
 
 void NMNetworkManager::setWirelessEnabled(bool enabled)
@@ -211,9 +226,19 @@ void NMNetworkManager::stateChanged(uint
 {
     Q_D(NMNetworkManager);
     if ( d->nmState != state ) {
+
+        // When "NetworkingEnabled" property is not available, set isNetworkingEnabled flag and emit signal here.
+        // It has to be done before emitting statusChanged(), else it would cause infinite status switching.
+        if (!d->NetworkingEnabledPropertyAvailable) {
+            d->isNetworkingEnabled = !(NM_STATE_UNKNOWN == state || NM_STATE_ASLEEP == state);
+            emit networkingEnabledChanged(d->isNetworkingEnabled);
+        }
+
+        // set new state
         d->nmState = state;
         emit statusChanged( convertNMState( state ) );
     }
+
 }
 
 void NMNetworkManager::propertiesChanged(const QVariantMap &properties)
@@ -221,6 +246,7 @@ void NMNetworkManager::propertiesChanged
     Q_D(NMNetworkManager);
     kDebug(1441) << properties.keys();
     QLatin1String activeConnKey("ActiveConnections");
+    QLatin1String netEnabledKey("NetworkingEnabled");
     QLatin1String wifiHwKey("WirelessHardwareEnabled");
     QLatin1String wifiEnabledKey("WirelessEnabled");
     QVariantMap::const_iterator it = properties.find(activeConnKey);
@@ -248,6 +274,12 @@ void NMNetworkManager::propertiesChanged
         kDebug(1441) << wifiEnabledKey << d->isWirelessEnabled;
         emit wirelessEnabledChanged(d->isWirelessEnabled);
     }
+    it = properties.find(netEnabledKey);
+    if ( it != properties.end()) {
+        d->isNetworkingEnabled = it->toBool();
+        kDebug(1441) << netEnabledKey << d->isNetworkingEnabled;
+        emit networkingEnabledChanged(d->isNetworkingEnabled);
+    }
 }
 
 Solid::Networking::Status NMNetworkManager::convertNMState(uint state)
diff -up kdebase-workspace-4.4.85/solid/networkmanager-0.7/manager_p.h.kde238325 kdebase-workspace-4.4.85/solid/networkmanager-0.7/manager_p.h
--- kdebase-workspace-4.4.85/solid/networkmanager-0.7/manager_p.h.kde238325	2008-06-10 06:41:03.000000000 -0500
+++ kdebase-workspace-4.4.85/solid/networkmanager-0.7/manager_p.h	2010-06-08 14:40:43.552905013 -0500
@@ -35,6 +35,8 @@ public:
     uint nmState;
     bool isWirelessEnabled;
     bool isWirelessHardwareEnabled;
+    bool isNetworkingEnabled;
+    bool NetworkingEnabledPropertyAvailable;
     QStringList networkInterfaces;
     QStringList activeConnections;
 };


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/kdebase-workspace/F-12/.cvsignore,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -p -r1.46 -r1.47
--- .cvsignore	1 May 2010 10:14:21 -0000	1.46
+++ .cvsignore	11 Jun 2010 15:48:36 -0000	1.47
@@ -1 +1,2 @@
 kdebase-workspace-4.4.3.tar.bz2
+kdebase-workspace-4.4.4.tar.bz2


Index: kdebase-workspace.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kdebase-workspace/F-12/kdebase-workspace.spec,v
retrieving revision 1.339
retrieving revision 1.340
diff -u -p -r1.339 -r1.340
--- kdebase-workspace.spec	6 Jun 2010 19:50:13 -0000	1.339
+++ kdebase-workspace.spec	11 Jun 2010 15:48:36 -0000	1.340
@@ -16,7 +16,7 @@
 Summary: KDE Workspace
 Name:    kdebase-workspace
 Version: 4.4.4
-Release: 1%{?dist}
+Release: 2%{?dist}
 
 License: GPLv2
 Group:   User Interface/Desktops
@@ -65,6 +65,9 @@ Patch50: kdebase-workspace-4.3.3-kde#171
 # FIXME: Not upstreamed yet --Ben (4.3.80)
 #Patch51: http://bazaar.launchpad.net/~kubuntu-members/kdebase-workspace/ubuntu/annotate/head%3A/debian/patches/kubuntu_101_brightness_fn_keys_and_osd.diff
 Patch51: kdebase-workspace-4.3.95-brightness_keys.patch
+# "Adding "Enable networking" button to knetworkmanager"
+# https://bugzilla.redhat.com/598765 https://bugs.kde.org/238325
+Patch52: kdebase-workspace-4.4.85-kdebug238325.patch
 
 # 4.4 patches
 
@@ -326,8 +329,9 @@ Requires: akonadi
 
 # upstream patches
 %patch50 -p1 -b .kde#171685
-# kubuntu patches
 %patch51 -p1 -b .brightness_keys
+%patch52 -p1 -b .kdebug238325
+
 # 4.4 patches
 
 
@@ -681,6 +685,9 @@ fi
 
 
 %changelog
+* Tue Jun 08 2010 Rex Dieter <rdieter at Fedoraproject.org> - 4.4.4-2
+- - Adding "Enable networking" button to knetworkmanager (rh#598765, kde#238325)
+
 * Sun May 30 2010 Than Ngo <than at redhat.com> - 4.4.4-1
 - 4.4.4
 



More information about the scm-commits mailing list