summaryrefslogtreecommitdiffstats
path: root/src/networksettings/qnetworksettingsmanager.cpp
diff options
context:
space:
mode:
authorVille Voutilainen <ville.voutilainen@qt.io>2018-08-30 18:52:51 +0300
committerVille Voutilainen <ville.voutilainen@qt.io>2018-08-31 09:47:41 +0000
commit0ecd391912f6338d5aef6105600fc8c321c83bd8 (patch)
tree50f3976e3d9fc7752a08b081aea0b3d09d1603d7 /src/networksettings/qnetworksettingsmanager.cpp
parent27ac1af572dc9b17d4283b225b6c73b13f758546 (diff)
Fix ip address tracking and display
Task-number: QTBUG-69814 Change-Id: Ifc90871c11aeddd1d07c5f1feb2a4292f0d36463 Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@qt.io> (cherry picked from commit 65b663a9be5d27cbb77b48f9e392c9463416383a)
Diffstat (limited to 'src/networksettings/qnetworksettingsmanager.cpp')
-rw-r--r--src/networksettings/qnetworksettingsmanager.cpp42
1 files changed, 32 insertions, 10 deletions
diff --git a/src/networksettings/qnetworksettingsmanager.cpp b/src/networksettings/qnetworksettingsmanager.cpp
index cda66e7..e3f8e50 100644
--- a/src/networksettings/qnetworksettingsmanager.cpp
+++ b/src/networksettings/qnetworksettingsmanager.cpp
@@ -91,23 +91,38 @@ void QNetworkSettingsManager::tryNextConnection()
d->tryNextConnection();
}
-void QNetworkSettingsManager::clearCurrentWifiConnection(QNetworkSettingsService* service)
+void QNetworkSettingsManager::clearCurrentConnection(QNetworkSettingsService* service)
{
Q_D(QNetworkSettingsManager);
- QNetworkSettingsService *currentService = d->currentWifiConnection();
- if (service == currentService) {
- d->setCurrentWifiConnection(nullptr);
- emit currentWifiConnectionChanged();
+ if (service->type() == QNetworkSettingsType::Wifi) {
+ QNetworkSettingsService *currentService = d->currentWifiConnection();
+ if (service == currentService) {
+ d->setCurrentWifiConnection(nullptr);
+ emit currentWifiConnectionChanged();
+ }
+ } else if (service->type() == QNetworkSettingsType::Wired) {
+ QNetworkSettingsService *currentService = d->currentWiredConnection();
+ if (service == currentService) {
+ d->setCurrentWiredConnection(nullptr);
+ emit currentWiredConnectionChanged();
+ }
}
}
-void QNetworkSettingsManager::setCurrentWifiConnection(QNetworkSettingsService* service)
+void QNetworkSettingsManager::setCurrentConnection(QNetworkSettingsService* service)
{
Q_D(QNetworkSettingsManager);
- QNetworkSettingsService *currentService = d->currentWifiConnection();
- d->setCurrentWifiConnection(service);
- if (service != currentService)
- emit currentWifiConnectionChanged();
+ if (service->type() == QNetworkSettingsType::Wifi) {
+ QNetworkSettingsService *currentService = d->currentWifiConnection();
+ d->setCurrentWifiConnection(service);
+ if (service != currentService)
+ emit currentWifiConnectionChanged();
+ } else if (service->type() == QNetworkSettingsType::Wired) {
+ QNetworkSettingsService *currentService = d->currentWiredConnection();
+ d->setCurrentWiredConnection(service);
+ if (service != currentService)
+ emit currentWiredConnectionChanged();
+ }
}
QNetworkSettingsService* QNetworkSettingsManager::currentWifiConnection()
@@ -116,6 +131,13 @@ QNetworkSettingsService* QNetworkSettingsManager::currentWifiConnection()
return d->currentWifiConnection();
}
+
+QNetworkSettingsService* QNetworkSettingsManager::currentWiredConnection()
+{
+ Q_D(QNetworkSettingsManager);
+ return d->currentWiredConnection();
+}
+
QNetworkSettingsInterface* QNetworkSettingsManager::interface(int type, int instance)
{
Q_D(QNetworkSettingsManager);