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;