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

List:       kde-commits
Subject:    [plasma-nm] /: Improve support for VLan, Bridge a few fixes and allow to disable WiFi/WiMax connecti
From:       Daniel Nicoletti <dantti12 () gmail ! com>
Date:       2013-05-08 4:42:36
Message-ID: 20130508044236.9DB05A605B () git ! kde ! org
[Download RAW message or body]

Git commit 14b9a363bacd6edeee49cd2fd25cfefef09cb6a4 by Daniel Nicoletti.
Committed on 08/05/2013 at 06:39.
Pushed by dantti into branch 'master'.

Improve support for VLan, Bridge a few fixes and allow to disable WiFi/WiMax \
connections (tho the buttom is quite ugly)

M  +2    -2    kcm/DeviceConnectionModel.cpp
M  +2    -1    kcm/TabDeviceAdvanced.cpp
M  +65   -8    kcm/TabDeviceInfo.cpp
M  +4    -0    kcm/TabDeviceInfo.h
M  +29   -16   kcm/TabDeviceInfo.ui
M  +5    -2    lib/uiutils.cpp

http://commits.kde.org/plasma-nm/14b9a363bacd6edeee49cd2fd25cfefef09cb6a4

diff --git a/kcm/DeviceConnectionModel.cpp b/kcm/DeviceConnectionModel.cpp
index 3ba7550..9e801b7 100644
--- a/kcm/DeviceConnectionModel.cpp
+++ b/kcm/DeviceConnectionModel.cpp
@@ -268,9 +268,9 @@ void DeviceConnectionModel::changeConnectionActive(QStandardItem \
*stdItem, const  QVariant previousActive = stdItem->data(RoleConnectionActivePath);
     if (previousActive.isNull() || previousActive.toString() != activePath) {
         if (activePath.isNull()) {
-            stdItem->setIcon(KIcon("network-connect"));
-        } else {
             stdItem->setIcon(KIcon("network-disconnect"));
+        } else {
+            stdItem->setIcon(KIcon("network-connect"));
         }
         stdItem->setData(activePath, RoleConnectionActivePath);
 
diff --git a/kcm/TabDeviceAdvanced.cpp b/kcm/TabDeviceAdvanced.cpp
index 114cbcc..6396b8a 100644
--- a/kcm/TabDeviceAdvanced.cpp
+++ b/kcm/TabDeviceAdvanced.cpp
@@ -52,7 +52,8 @@ void TabDeviceAdvanced::setDevice(const NetworkManager::Device::Ptr \
                &device)
     addItem(i18n("Managed"), device->managed() ? i18n("Yes") : i18n("No"));
     addItem(i18n("Auto connect"), device->autoconnect() ? i18n("Yes") : i18n("No"));
     addItem(i18n("Interface name"), device->interfaceName());
-    addItem(i18n("Driver"), QString("%1 (%2)").arg(device->driver(), \
device->driverVersion())); +    addItem(i18n("Driver"), device->driver());
+    addItem(i18n("Driver version"), device->driverVersion());
     if (!device->firmwareVersion().isEmpty()) {
         addItem(i18n("Firmware version"), device->firmwareVersion());
     }
diff --git a/kcm/TabDeviceInfo.cpp b/kcm/TabDeviceInfo.cpp
index 6f62b06..8e610ae 100644
--- a/kcm/TabDeviceInfo.cpp
+++ b/kcm/TabDeviceInfo.cpp
@@ -67,6 +67,8 @@ void TabDeviceInfo::setDevice(const NetworkManager::Device::Ptr \
&device)  
     if (m_device) {
         m_device->disconnect(this);
+        NetworkManager::notifier()->disconnect(this);
+        NetworkManager::notifier()->disconnect(ui->turnOff);
     }
     m_device = device;
     if (device) {
@@ -83,6 +85,24 @@ void TabDeviceInfo::setDevice(const NetworkManager::Device::Ptr \
&device)  connect(device.data(), SIGNAL(ipV4AddressChanged()),
                 this, SLOT(updateIpV4Config()));
         updateIpV4Config();
+
+        if (device->type() == Device::Wifi) {
+            ui->turnOff->setEnabled(NetworkManager::isWirelessHardwareEnabled());
+            connect(NetworkManager::notifier(), \
SIGNAL(wirelessHardwareEnabledChanged(bool)), +                    ui->turnOff, \
SLOT(setEnabled(bool))); +            \
setTurnOffWifiText(NetworkManager::isWirelessEnabled()); +            \
connect(NetworkManager::notifier(), SIGNAL(wirelessEnabledChanged(bool)), +           \
this, SLOT(setTurnOffWifiText(bool))); +        } else if (device->type() == \
Device::Wifi) { +            \
ui->turnOff->setEnabled(NetworkManager::isWimaxHardwareEnabled()); +            \
connect(NetworkManager::notifier(), SIGNAL(wimaxHardwareEnabledChanged(bool)), +      \
ui->turnOff, SLOT(setEnabled(bool))); +            \
setTurnOffWimaxText(NetworkManager::isWimaxEnabled()); +            \
connect(NetworkManager::notifier(), SIGNAL(wimaxEnabledChanged(bool)), +              \
this, SLOT(setTurnOffWimaxText(bool))); +        } else {
+            ui->turnOff->setVisible(false);
+        }
     }
 }
 
@@ -90,7 +110,16 @@ void TabDeviceInfo::updateState()
 {
     if (m_device) {
         ui->statusL->setText(UiUtils::connectionStateToString(m_device->state()));
-        ui->disconnectPB->setEnabled(m_device->state() == Device::Activated);
+        switch (m_device->state()) {
+        case Device::Disconnected:
+        case Device::Unavailable:
+        case Device::Unmanaged:
+            ui->disconnectPB->setEnabled(false);
+            break;
+        default:
+            ui->disconnectPB->setEnabled(true);
+            break;
+        }
     }
 }
 
@@ -135,14 +164,8 @@ void TabDeviceInfo::updateIpV4Config()
 
 void TabDeviceInfo::on_disconnectPB_clicked()
 {
-    kDebug() << m_device;
     if (m_device) {
-        kDebug() << m_device->state() << NetworkManager::Device::Activated;
-        if (m_device->state() == NetworkManager::Device::Activated) {
-            m_device->disconnectInterface();
-        } else {
-            ui->disconnectPB->setEnabled(false);
-        }
+        m_device->disconnectInterface();
     }
 }
 
@@ -210,3 +233,37 @@ void TabDeviceInfo::on_connectionCB_activated(int index)
         }
     }
 }
+
+void TabDeviceInfo::on_turnOff_clicked()
+{
+    if (m_device) {
+        switch (m_device->type()) {
+        case Device::Wifi:
+            NetworkManager::setWirelessEnabled(!NetworkManager::isWirelessEnabled());
 +            break;
+        case Device::Wimax:
+            NetworkManager::setWimaxEnabled(!NetworkManager::isWimaxEnabled());
+            break;
+        default:
+            break;
+        }
+    }
+}
+
+void TabDeviceInfo::setTurnOffWifiText(bool enabled)
+{
+    if (enabled) {
+        ui->turnOff->setText(i18n("Turn off WiFi"));
+    } else {
+        ui->turnOff->setText(i18n("Turn on WiFi"));
+    }
+}
+
+void TabDeviceInfo::setTurnOffWimaxText(bool enabled)
+{
+    if (enabled) {
+        ui->turnOff->setText(i18n("Turn off WiMax"));
+    } else {
+        ui->turnOff->setText(i18n("Turn on WiMax"));
+    }
+}
diff --git a/kcm/TabDeviceInfo.h b/kcm/TabDeviceInfo.h
index 44b48fa..2550ad8 100644
--- a/kcm/TabDeviceInfo.h
+++ b/kcm/TabDeviceInfo.h
@@ -47,6 +47,10 @@ private slots:
 
     void on_disconnectPB_clicked();
     void on_connectionCB_activated(int index);
+    void on_turnOff_clicked();
+
+    void setTurnOffWifiText(bool enabled);
+    void setTurnOffWimaxText(bool enabled);
 
 private:
     Ui::TabDeviceInfo *ui;
diff --git a/kcm/TabDeviceInfo.ui b/kcm/TabDeviceInfo.ui
index 3dd5024..8b372b5 100644
--- a/kcm/TabDeviceInfo.ui
+++ b/kcm/TabDeviceInfo.ui
@@ -17,14 +17,14 @@
    <property name="fieldGrowthPolicy">
     <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
    </property>
-   <item row="0" column="0">
+   <item row="2" column="0">
     <widget class="QLabel" name="label">
      <property name="text">
       <string>Status:</string>
      </property>
     </widget>
    </item>
-   <item row="0" column="1">
+   <item row="2" column="1">
     <layout class="QHBoxLayout" name="horizontalLayout">
      <item>
       <widget class="QLabel" name="statusL">
@@ -48,100 +48,113 @@
      </item>
     </layout>
    </item>
-   <item row="1" column="0">
+   <item row="3" column="0">
     <widget class="QLabel" name="label_2">
      <property name="text">
       <string>Connection:</string>
      </property>
     </widget>
    </item>
-   <item row="1" column="1">
+   <item row="3" column="1">
     <widget class="KComboBox" name="connectionCB"/>
    </item>
-   <item row="2" column="0" colspan="2">
+   <item row="4" column="0" colspan="2">
     <widget class="QLabel" name="label_4">
      <property name="text">
       <string>IPv4 Settings</string>
      </property>
     </widget>
    </item>
-   <item row="3" column="0">
+   <item row="5" column="0">
     <widget class="QLabel" name="label_3">
      <property name="text">
       <string>Address:</string>
      </property>
     </widget>
    </item>
-   <item row="3" column="1">
+   <item row="5" column="1">
     <widget class="QLabel" name="ipv4AddressL">
      <property name="text">
       <string>ipv4 address</string>
      </property>
     </widget>
    </item>
-   <item row="4" column="0">
+   <item row="6" column="0">
     <widget class="QLabel" name="label_7">
      <property name="text">
       <string>Router:</string>
      </property>
     </widget>
    </item>
-   <item row="4" column="1">
+   <item row="6" column="1">
     <widget class="QLabel" name="ipv4RouterL">
      <property name="text">
       <string>ipv4 router</string>
      </property>
     </widget>
    </item>
-   <item row="5" column="0">
+   <item row="7" column="0">
     <widget class="QLabel" name="label_9">
      <property name="text">
       <string>DNS Server:</string>
      </property>
     </widget>
    </item>
-   <item row="5" column="1">
+   <item row="7" column="1">
     <widget class="QLabel" name="ipv4DnsServerL">
      <property name="text">
       <string>dns server</string>
      </property>
     </widget>
    </item>
-   <item row="6" column="0">
+   <item row="8" column="0">
     <widget class="QLabel" name="label_11">
      <property name="text">
       <string>Searcn Domains:</string>
      </property>
     </widget>
    </item>
-   <item row="6" column="1">
+   <item row="8" column="1">
     <widget class="QLabel" name="ipv4SearchDomainsL">
      <property name="text">
       <string>search domains</string>
      </property>
     </widget>
    </item>
-   <item row="7" column="0" colspan="2">
+   <item row="9" column="0" colspan="2">
     <widget class="QLabel" name="label_5">
      <property name="text">
       <string>IPv6 Settings</string>
      </property>
     </widget>
    </item>
-   <item row="8" column="0">
+   <item row="10" column="0">
     <widget class="QLabel" name="label_6">
      <property name="text">
       <string>Address:</string>
      </property>
     </widget>
    </item>
-   <item row="8" column="1">
+   <item row="10" column="1">
     <widget class="QLabel" name="label_8">
      <property name="text">
       <string>ipv4address</string>
      </property>
     </widget>
    </item>
+   <item row="1" column="1">
+    <widget class="QPushButton" name="turnOff">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="text">
+      <string notr="true">Turn off</string>
+     </property>
+    </widget>
+   </item>
   </layout>
  </widget>
  <customwidgets>
diff --git a/lib/uiutils.cpp b/lib/uiutils.cpp
index 674a0f3..e1f77f5 100644
--- a/lib/uiutils.cpp
+++ b/lib/uiutils.cpp
@@ -123,7 +123,7 @@ QString UiUtils::iconName(const NetworkManager::Device::Ptr \
&device)  strength = "00";
                 }
             }
-            icon = "network-wireless-connected-" + strength;
+            icon = "network-wireless-" + strength;
             break;
         }
         case NetworkManager::Device::Bluetooth:
@@ -183,7 +183,10 @@ QString \
UiUtils::prettyInterfaceName(NetworkManager::Device::Type type, const QS  ret = \
i18n("ADSL (%1)", interfaceName);  break;
     case NetworkManager::Device::Vlan:
-        ret = i18n("VLAN (%1)", interfaceName);
+        ret = i18n("VLan (%1)", interfaceName);
+        break;
+    case NetworkManager::Device::Bridge:
+        ret = i18n("Bridge (%1)", interfaceName);
         break;
     default:
         ret = interfaceName;


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

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