[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