summaryrefslogtreecommitdiffstats
path: root/src/networksettings/qnetworksettingsmanager.cpp
diff options
context:
space:
mode:
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);