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

List:       kde-commits
Subject:    playground/base/plasma/applets/networkmanager/applet
From:       Will Stephenson <wstephenson () kde ! org>
Date:       2009-01-19 17:45:46
Message-ID: 1232387146.603241.5625.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 913664 by wstephens:

Instead of just showing/hiding Extenders, destroy and recreate them as
needed.  Layouts don't shrink when stuff is just hidden.

Also get rid of a bunch of member pointers nobody was using any more.



 M  +83 -92    networkmanager.cpp  
 M  +0 -17     networkmanager.h  


--- trunk/playground/base/plasma/applets/networkmanager/applet/networkmanager.cpp \
#913663:913664 @@ -69,17 +69,6 @@
 NetworkManagerApplet::NetworkManagerApplet(QObject * parent, const QVariantList & \
args)  : Plasma::PopupApplet(parent, args), m_iconPerDevice(false), m_svg(0)
 {
-    m_extender = 0;
-    m_wifiGroup = 0;
-    m_wiredHeader = 0;
-    m_ethernetGroup = 0;
-    m_wirelessHeader = 0;
-    m_ethernetGroup = 0;
-    m_vpnHeader = 0;
-    m_vpnGroup = 0;
-    m_gsmHeader = 0;
-    m_gsmGroup = 0;
-
     setHasConfigurationInterface(false);
     setPopupIcon(QIcon());
     //setPassivePopup(true); // only for testing ...
@@ -147,49 +136,10 @@
     // initExtenderItem() if there are any detached items.
     extender()->setSizePolicy(QSizePolicy::MinimumExpanding, \
QSizePolicy::MinimumExpanding);  
-    { // Wired
-        if (!extender()->item("wired")) {
-            Plasma::ExtenderItem *eItem = new Plasma::ExtenderItem(extender());
-            eItem->setName("wired");
-            eItem->setIcon("network-wired");
-            eItem->setTitle(i18nc("Label for ethernet group in popup","Ethernet"));
-            initExtenderItem(eItem);
-        }
-    }
-    { // Wireless
-        if (!extender()->item("wireless")) {
-            Plasma::ExtenderItem *eItem = new Plasma::ExtenderItem(extender());
-            eItem->setName("wireless");
-            eItem->setIcon("network-wireless");
-            eItem->setTitle(i18nc("Label for wifi networks in popup","Wireless"));
-            initExtenderItem(eItem);
-        }
-    }
-    { // GSM
-        if (!extender()->item("gsm")) {
-            Plasma::ExtenderItem *eItem = new Plasma::ExtenderItem(extender());
-            eItem->setName("gsm");
-            eItem->setIcon("phone");
-            eItem->setTitle(i18nc("Label for mobile broadband (GSM/CDMA/UMTS/HDSPA \
                etc)","Mobile Broadband"));
-            initExtenderItem(eItem);
-        }
-    }
-    { // VPN
-        if (!extender()->item("vpn")) {
-            Plasma::ExtenderItem *eItem = new Plasma::ExtenderItem(extender());
-            eItem->setName("vpn");
-            eItem->setIcon("network-server");
-            eItem->setTitle(i18nc("Label for vpn connections in popup","VPN \
                Connections"));
-            initExtenderItem(eItem);
-        }
-    }
-
     showWired(cg.readEntry("showWired", true));
     showWireless(cg.readEntry("showWireless", true));
-    showVpn(cg.readEntry("showVpn", false));
-    showGsm(cg.readEntry("showGsm", false));
-    m_numberOfWlans = cg.readEntry("numberOfWlans", 4);
-    m_wifiGroup->setNetworksLimit( m_numberOfWlans );
+    showVpn(cg.readEntry("showVpn", true));
+    showGsm(cg.readEntry("showGsm", true));
 
     QObject::connect(Solid::Control::NetworkManager::notifier(), \
                SIGNAL(statusChanged(Solid::Networking::Status)),
                      this, SLOT(managerStatusChanged(Solid::Networking::Status)));
@@ -204,33 +154,31 @@
     const QString VPN_EXTENDER_ITEM_NAME = QLatin1String("vpn");
 
     if (eItem->name() == WIRED_EXTENDER_ITEM_NAME) {
-        if (!m_ethernetGroup) {
-            m_ethernetGroup = new \
InterfaceGroup(Solid::Control::NetworkInterface::Ieee8023, m_userSettings, \
                m_systemSettings, eItem);
-            m_ethernetGroup->setObjectName("ethernet-interface-group");
-            m_ethernetGroup->init();
-        }
-        eItem->setWidget(m_ethernetGroup);
+        InterfaceGroup * ethernetGroup = new \
InterfaceGroup(Solid::Control::NetworkInterface::Ieee8023, m_userSettings, \
m_systemSettings, eItem); +        \
ethernetGroup->setObjectName("ethernet-interface-group"); +        \
ethernetGroup->init(); +        eItem->setWidget(ethernetGroup);
     } else if (eItem->name() == WIRELESS_EXTENDER_ITEM_NAME) {
-        if (!m_wifiGroup) {
-            m_wifiGroup = new \
InterfaceGroup(Solid::Control::NetworkInterface::Ieee80211, m_userSettings, \
                m_systemSettings, eItem);
-            m_wifiGroup->setObjectName("wifi-interface-group");
-            m_wifiGroup->init();
-        }
+        m_wifiGroup = new \
InterfaceGroup(Solid::Control::NetworkInterface::Ieee80211, m_userSettings, \
m_systemSettings, eItem); +        \
m_wifiGroup->setObjectName("wifi-interface-group"); +        m_wifiGroup->init();
+        KConfigGroup cg = config();
+        m_numberOfWlans = cg.readEntry("numberOfWlans", 4);
+        m_wifiGroup->setNetworksLimit( m_numberOfWlans );
+
         eItem->setWidget(m_wifiGroup);
     } else if (eItem->name() == GSM_EXTENDER_ITEM_NAME) {
-        if (!m_gsmGroup) {
-            m_gsmGroup = new InterfaceGroup(Solid::Control::NetworkInterface::Gsm, \
                m_userSettings, m_systemSettings, this);
-            m_gsmGroup->setObjectName("gsm-interface-group");
-            m_gsmGroup->init();
-        }
-        eItem->setWidget(m_gsmGroup);
+        InterfaceGroup * gsmGroup = new \
InterfaceGroup(Solid::Control::NetworkInterface::Gsm, m_userSettings, \
m_systemSettings, eItem); +        gsmGroup->setObjectName("gsm-interface-group");
+        gsmGroup->init();
+
+        eItem->setWidget(gsmGroup);
     } else if (eItem->name() == VPN_EXTENDER_ITEM_NAME) {
-        if (!m_vpnGroup) {
-            m_vpnGroup = new VpnConnectionGroup(m_userSettings, m_systemSettings, \
                this);
-            m_vpnGroup->setObjectName("vpn-interface-group");
-            m_vpnGroup->init();
-        }
-        eItem->setWidget(m_vpnGroup);
+        VpnConnectionGroup * vpnGroup = new VpnConnectionGroup(m_userSettings, \
m_systemSettings, eItem); +        vpnGroup->setObjectName("vpn-interface-group");
+        vpnGroup->init();
+
+        eItem->setWidget(vpnGroup);
     } else {
         kDebug() << "Unrecognised extender name!  Is the config from the future?";
     }
@@ -294,7 +242,9 @@
     int wlans = ui.numberOfWlans->value();
     if (wlans != m_numberOfWlans) {
         m_numberOfWlans = wlans;
-        m_wifiGroup->setNetworksLimit( m_numberOfWlans );
+        if (m_wifiGroup) {
+            m_wifiGroup->setNetworksLimit( m_numberOfWlans );
+        }
         cg.writeEntry("numberOfWlans", m_numberOfWlans);
         kDebug() << "No of WLANS Changed:" << wlans;
     }
@@ -740,9 +690,20 @@
 {
     m_showWired = show;
     kDebug() << show << m_showWired;
-    Plasma::ExtenderItem *item = extender()->item("wired");
-    if (item) {
-        item->setVisible(show);
+    Plasma::ExtenderItem *eItem = extender()->item("wired");
+    if (show) {
+        if (!eItem) {
+            eItem = new Plasma::ExtenderItem(extender());
+            eItem->setName("wired");
+            eItem->setIcon("network-wired");
+            eItem->setTitle(i18nc("Label for ethernet group in popup","Ethernet"));
+            initExtenderItem(eItem);
+        }
+    } else {
+        if (eItem) {
+            eItem->destroy();
+            
+        }
     }
 }
 
@@ -750,29 +711,59 @@
 {
     m_showWireless = show;
     kDebug() << show << m_showWireless;
-    Plasma::ExtenderItem *item = extender()->item("wireless");
-    if (item) {
-        item->setVisible(show);
+    Plasma::ExtenderItem *eItem = extender()->item("wireless");
+    if (show) {
+        if (!eItem) {
+            eItem = new Plasma::ExtenderItem(extender());
+            eItem->setName("wireless");
+            eItem->setIcon("network-wireless");
+            eItem->setTitle(i18nc("Label for wifi networks in popup","Wireless"));
+            initExtenderItem(eItem);
+        }
+    } else {
+        if (eItem) {
+            eItem->destroy();
+        }
     }
 }
 
 void NetworkManagerApplet::showVpn(bool show)
 {
     m_showVpn = show;
-    kDebug() << show << m_showVpn;
-    Plasma::ExtenderItem *item = extender()->item("vpn");
-    if (item) {
-        item->setVisible(show);
+    kDebug() << show;
+    Plasma::ExtenderItem *eItem = extender()->item("vpn");
+    if (show) {
+        if (!eItem) {
+            eItem = new Plasma::ExtenderItem(extender());
+            eItem->setName("vpn");
+            eItem->setIcon("network-server");
+            eItem->setTitle(i18nc("Label for vpn connections in popup","VPN \
Connections")); +            initExtenderItem(eItem);
+        }
+    } else {
+        if (eItem) {
+            eItem->destroy();
+        }
     }
 }
 
 void NetworkManagerApplet::showGsm(bool show)
 {
     m_showGsm = show;
-    kDebug() << show << m_showGsm;
-    Plasma::ExtenderItem *item = extender()->item("gsm");
-    if (item) {
-        item->setVisible(show);
+    kDebug() << show;
+    Plasma::ExtenderItem *eItem = extender()->item("gsm");
+    if (show) {
+        if (!eItem) {
+            eItem = new Plasma::ExtenderItem(extender());
+            eItem->setName("gsm");
+            eItem->setIcon("phone");
+            eItem->setTitle(i18nc("Label for mobile broadband (GSM/CDMA/UMTS/HDSPA \
etc)","Mobile Broadband")); +            initExtenderItem(eItem);
+        }
+    } else {
+        if (eItem) {
+            eItem->destroy();
+        }
     }
 }
 
@@ -784,9 +775,9 @@
 {
     if (enabled) {
         KNotification::event(Event::RfOn, i18nc("Notification for radio kill switch \
turned on", "Wireless hardware enabled"), QPixmap(), 0, \
KNotification::CloseOnTimeout, KComponentData("knetworkmanager", "knetworkmanager", \
                KComponentData::SkipMainComponentRegistration));
-        m_lblRfkill->setText(i18nc("Label text when hardware wireless is enabled", \
"Wireless hardware is enabled")); +        //m_lblRfkill->setText(i18nc("Label text \
when hardware wireless is enabled", "Wireless hardware is enabled"));  } else {
-        m_lblRfkill->setText(i18nc("Label text when hardware wireless is not \
enabled", "Wireless hardware is disabled")); +        \
//m_lblRfkill->setText(i18nc("Label text when hardware wireless is not enabled", \
"Wireless hardware is disabled"));  KNotification::event(Event::RfOff, \
i18nc("Notification for radio kill switch turned on", "Wireless hardware disabled"), \
QPixmap(), 0, KNotification::CloseOnTimeout, KComponentData("knetworkmanager", \
"knetworkmanager", KComponentData::SkipMainComponentRegistration));  }
 }
--- trunk/playground/base/plasma/applets/networkmanager/applet/networkmanager.h \
#913663:913664 @@ -154,35 +154,18 @@
     QPixmap m_pixmapWiredDisconnected;
     Solid::Control::NetworkInterfaceList m_interfaces;
     QString m_elementName;
-    QPoint m_clicked;
     Plasma::ToolTipContent m_toolTip;
     // Configuration dialog
     Ui::nmConfig ui;
 
-    Plasma::Extender *m_extender;
     NetworkManagerSettings * m_userSettings;
     NetworkManagerSettings * m_systemSettings;
-    QGraphicsLinearLayout * m_layout;
-    QGraphicsLinearLayout * m_connectionLayout;
-    InterfaceGroup * m_ethernetGroup;
     InterfaceGroup * m_wifiGroup;
-    VpnConnectionGroup * m_vpnGroup;
-    InterfaceGroup * m_gsmGroup;
-    Plasma::Label * m_vpnHeader;
-    Plasma::Label * m_wirelessHeader;
-    Plasma::Label * m_wiredHeader;
-    Plasma::Label * m_gsmHeader;
-    Plasma::Label * m_notRunning;
-    Plasma::Label * m_lblRfkill;
-    Plasma::CheckBox * m_btnEnableNetworking;
-    Plasma::IconWidget * m_btnManageConnections;
     bool m_showWired;
     bool m_showWireless;
     bool m_showVpn;
     bool m_showGsm;
     int m_numberOfWlans;
-    QSignalMapper * m_connectionActivationSignalMapper;
-    QSignalMapper * m_connectionDeactivationSignalMapper;
 };
 
 #endif


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

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