diff options
author | Ville Voutilainen <ville.voutilainen@qt.io> | 2018-08-30 18:52:51 +0300 |
---|---|---|
committer | Ville Voutilainen <ville.voutilainen@qt.io> | 2018-08-31 09:47:41 +0000 |
commit | 0ecd391912f6338d5aef6105600fc8c321c83bd8 (patch) | |
tree | 50f3976e3d9fc7752a08b081aea0b3d09d1603d7 /src/networksettings/qnetworksettingsmanager.cpp | |
parent | 27ac1af572dc9b17d4283b225b6c73b13f758546 (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.cpp | 42 |
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); |