diff options
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); |