[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    playground/base/plasma/applets/networkmanager
From:       Will Stephenson <wstephenson () kde ! org>
Date:       2009-07-21 19:35:37
Message-ID: 1248204937.027686.10723.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1000686 by wstephens:

Use new service-side item sorting

 M  +15 -1     kded/service.cpp  
 M  +5 -0      libs/service/sortedactivatablelist.h  
 M  +4 -10     monolithic/knetworkmanagertrayicon.cpp  
 M  +8 -7      monolithic/monolithic.cpp  


--- trunk/playground/base/plasma/applets/networkmanager/kded/service.cpp \
#1000685:1000686 @@ -31,6 +31,7 @@
 #include <connectionusagemonitor.h>
 #include <configurationlauncher.h>
 #include <networkinterfacemonitor.h>
+#include <sortedactivatablelist.h>
 #include <vpninterfaceconnectionprovider.h>
 
 #include <nmdbussettingsservice.h>
@@ -71,6 +72,9 @@
     // create Activatables for VPN connections
     VpnInterfaceConnectionProvider * vpnInterfaceConnectionProvider;
 
+    // sort it
+    SortedActivatableList * sortedList;
+
     SessionAbstractedService * sessionAbstractedService;
 };
 
@@ -121,9 +125,19 @@
     // debug activatable changes
     //ActivatableDebug debug;
     //activatableList->registerObserver(&debug);
+    
+    Solid::Control::NetworkInterface::Types types =
+        (Solid::Control::NetworkInterface::Ieee8023
+         | Solid::Control::NetworkInterface::Ieee80211
+         | Solid::Control::NetworkInterface::Serial
+         | Solid::Control::NetworkInterface::Gsm
+         | Solid::Control::NetworkInterface::Cdma);
 
+    d->sortedList = new SortedActivatableList(types, this);
+    d->activatableList->registerObserver(d->sortedList);
+
     d->sessionAbstractedService = new SessionAbstractedService(this);
-    d->activatableList->registerObserver(d->sessionAbstractedService);
+    d->sortedList->registerObserver(d->sessionAbstractedService);
 
     // load our local connections
     d->listPersistence->init();
--- trunk/playground/base/plasma/applets/networkmanager/libs/service/sortedactivatablelist.h \
#1000685:1000686 @@ -50,6 +50,11 @@
 
     static WirelessSortPolicy s_wirelessSortPolicy;
 
+    /**
+     * @param types a set of interface types ORed together defining which interface \
types +     * to collect
+     * @param parent the parent QObject
+     */
     SortedActivatableList(Solid::Control::NetworkInterface::Types types, QObject * \
parent = 0);  
     // respond to activatable changes
--- trunk/playground/base/plasma/applets/networkmanager/monolithic/knetworkmanagertrayicon.cpp \
#1000685:1000686 @@ -38,7 +38,6 @@
 #include <activatabledebug.h>
 #include <activatablelist.h>
 #include <interfaceconnection.h>
-#include <sortedactivatablelist.h>
 #include <unconfiguredinterface.h>
 #include <vpninterfaceconnection.h>
 #include <wirelessinterfaceconnection.h>
@@ -56,14 +55,14 @@
 {
 public:
     KNetworkManagerTrayIconPrivate()
-        : sortedList(0),
+        : list(0),
         iconName(QLatin1String("networkmanager")),
         flightModeAction(0),
         prefsAction(0),
         wirelessNetworkItemMenu(0), active(true)
     { }
     Solid::Control::NetworkInterface::Types interfaceTypes;
-    SortedActivatableList * sortedList;
+    ActivatableList * list;
     QHash<Knm::Activatable *, QWidgetAction *> actions;
     QStringList deviceUnis;
     QString iconName;
@@ -110,13 +109,8 @@
     d->prefsAction = KStandardAction::preferences(this, SLOT(slotPreferences()), \
                this);
     d->prefsAction->setText(i18nc("@action:inmenu Preferences action title", "Manage \
Connections..."));  
-    d->sortedList = new SortedActivatableList(types, this);
+    d->list = list;
 
-    // HACK - insert a SortedActivatableList before us, so we can use its sort
-    list->unregisterObserver(this);
-    list->registerObserver(d->sortedList);
-    list->registerObserver(this, d->sortedList);
-
     fillPopup();
 
     // hide the icon when network management is unavailable
@@ -190,7 +184,7 @@
         return;
     }
 
-    foreach (Knm::Activatable * activatable, d->sortedList->activatables()) {
+    foreach (Knm::Activatable * activatable, d->list->activatables()) {
         QWidgetAction * action = 0;
         ActivatableItem * widget = 0;
 
--- trunk/playground/base/plasma/applets/networkmanager/monolithic/monolithic.cpp \
#1000685:1000686 @@ -44,7 +44,7 @@
 #include <nmdbusactiveconnectionmonitor.h>
 #include <nmdbussettingsconnectionprovider.h>
 
-#include <sessionabstractedservice.h>
+#include <sortedactivatablelist.h>
 
 #include "knetworkmanagertrayicon.h"
 
@@ -146,20 +146,21 @@
          | Solid::Control::NetworkInterface::Gsm
          | Solid::Control::NetworkInterface::Cdma);
 
+    SortedActivatableList * sortedList = new SortedActivatableList(0);
+    activatableList->registerObserver(sortedList);
+
     //Solid::Control::NetworkInterface::Types types = \
                (Solid::Control::NetworkInterface::Ieee8023);
-    KNetworkManagerTrayIcon simpleUi(types, QString::number(types), activatableList, \
                nmSettingsService->isServiceAvailable(), 0);
-    activatableList->registerObserver(&simpleUi);
+    KNetworkManagerTrayIcon simpleUi(types, QString::number(types),
+            activatableList, nmSettingsService->isServiceAvailable(), 0);
+
     QObject::connect(nmSettingsService, SIGNAL(serviceAvailable(bool)), &simpleUi, \
SLOT(setActive(bool))); +    sortedList->registerObserver(&simpleUi);
 
     //Solid::Control::NetworkInterface::Types secondTypes = \
(Solid::Control::NetworkInterface::Ieee80211);  
     //KNetworkManagerTrayIcon secondTray(secondTypes, QString::number(secondTypes), \
activatableList, 0);  //activatableList->registerObserver(&secondTray);
 
-    // put the activatables on the session bus for external applets
-    SessionAbstractedService * sessionAbstractedService = new \
                SessionAbstractedService(&app);
-    activatableList->registerObserver(sessionAbstractedService);
-
     // load our local connections
     listPersistence->init();
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic