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/WiMa=
x 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(QSta=
ndardItem *stdItem, const
QVariant previousActive =3D stdItem->data(RoleConnectionActivePath);
if (previousActive.isNull() || previousActive.toString() !=3D activePa=
th) {
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::D=
evice::Ptr &device)
addItem(i18n("Managed"), device->managed() ? i18n("Yes") : i18n("No"));
addItem(i18n("Auto connect"), device->autoconnect() ? i18n("Yes") : i1=
8n("No"));
addItem(i18n("Interface name"), device->interfaceName());
- addItem(i18n("Driver"), QString("%1 (%2)").arg(device->driver(), devic=
e->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::Devic=
e::Ptr &device)
=
if (m_device) {
m_device->disconnect(this);
+ NetworkManager::notifier()->disconnect(this);
+ NetworkManager::notifier()->disconnect(ui->turnOff);
}
m_device =3D device;
if (device) {
@@ -83,6 +85,24 @@ void TabDeviceInfo::setDevice(const NetworkManager::Devi=
ce::Ptr &device)
connect(device.data(), SIGNAL(ipV4AddressChanged()),
this, SLOT(updateIpV4Config()));
updateIpV4Config();
+
+ if (device->type() =3D=3D Device::Wifi) {
+ ui->turnOff->setEnabled(NetworkManager::isWirelessHardwareEnab=
led());
+ connect(NetworkManager::notifier(), SIGNAL(wirelessHardwareEna=
bledChanged(bool)),
+ ui->turnOff, SLOT(setEnabled(bool)));
+ setTurnOffWifiText(NetworkManager::isWirelessEnabled());
+ connect(NetworkManager::notifier(), SIGNAL(wirelessEnabledChan=
ged(bool)),
+ this, SLOT(setTurnOffWifiText(bool)));
+ } else if (device->type() =3D=3D Device::Wifi) {
+ ui->turnOff->setEnabled(NetworkManager::isWimaxHardwareEnabled=
());
+ connect(NetworkManager::notifier(), SIGNAL(wimaxHardwareEnable=
dChanged(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->st=
ate()));
- ui->disconnectPB->setEnabled(m_device->state() =3D=3D Device::Acti=
vated);
+ 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() =3D=3D NetworkManager::Device::Activated) {
- m_device->disconnectInterface();
- } else {
- ui->disconnectPB->setEnabled(false);
- }
+ m_device->disconnectInterface();
}
}
=
@@ -210,3 +233,37 @@ void TabDeviceInfo::on_connectionCB_activated(int inde=
x)
}
}
}
+
+void TabDeviceInfo::on_turnOff_clicked()
+{
+ if (m_device) {
+ switch (m_device->type()) {
+ case Device::Wifi:
+ NetworkManager::setWirelessEnabled(!NetworkManager::isWireless=
Enabled());
+ break;
+ case Device::Wimax:
+ NetworkManager::setWimaxEnabled(!NetworkManager::isWimaxEnable=
d());
+ 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 @@
QFormLayout::AllNonFixedFieldsGrow
- -
+
-
Status:
- -
+
-
-
@@ -48,100 +48,113 @@
- -
+
-
Connection:
- -
+
-
- -
+
-
IPv4 Settings
- -
+
-
Address:
- -
+
-
ipv4 address
- -
+
-
Router:
- -
+
-
ipv4 router
- -
+
-
DNS Server:
- -
+
-
dns server
- -
+
-
Searcn Domains:
- -
+
-
search domains
- -
+
-
IPv6 Settings
- -
+
-
Address:
- -
+
-
ipv4address
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Turn off
+
+
+
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 =3D "00";
}
}
- icon =3D "network-wireless-connected-" + strength;
+ icon =3D "network-wireless-" + strength;
break;
}
case NetworkManager::Device::Bluetooth:
@@ -183,7 +183,10 @@ QString UiUtils::prettyInterfaceName(NetworkManager::D=
evice::Type type, const QS
ret =3D i18n("ADSL (%1)", interfaceName);
break;
case NetworkManager::Device::Vlan:
- ret =3D i18n("VLAN (%1)", interfaceName);
+ ret =3D i18n("VLan (%1)", interfaceName);
+ break;
+ case NetworkManager::Device::Bridge:
+ ret =3D i18n("Bridge (%1)", interfaceName);
break;
default:
ret =3D interfaceName;