diff options
Diffstat (limited to 'src/networksettings/connman/qnetworksettingsmanager_p.cpp')
-rw-r--r-- | src/networksettings/connman/qnetworksettingsmanager_p.cpp | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/src/networksettings/connman/qnetworksettingsmanager_p.cpp b/src/networksettings/connman/qnetworksettingsmanager_p.cpp index bc92f97..94eec14 100644 --- a/src/networksettings/connman/qnetworksettingsmanager_p.cpp +++ b/src/networksettings/connman/qnetworksettingsmanager_p.cpp @@ -180,7 +180,7 @@ void QNetworkSettingsManagerPrivate::onTechnologyAdded(const QDBusObjectPath &te { Q_Q(QNetworkSettingsManager); - foreach (QNetworkSettingsInterface* item, m_interfaceModel.getModel()) { + for (QNetworkSettingsInterface* item : m_interfaceModel.getModel()) { ConnmanSettingsInterface* interface = qobject_cast<ConnmanSettingsInterface*>(item); if (interface->path() == technology.path()) { return; // we already know the interface/technology @@ -204,7 +204,7 @@ void QNetworkSettingsManagerPrivate::onTechnologyRemoved(const QDBusObjectPath & { Q_Q(QNetworkSettingsManager); - foreach (QNetworkSettingsInterface* item, m_interfaceModel.getModel()) { + for (QNetworkSettingsInterface* item : m_interfaceModel.getModel()) { ConnmanSettingsInterface* tech = qobject_cast<ConnmanSettingsInterface*>(item); if (tech->path() == technology.path()) { m_interfaceModel.removeInterface(tech->name()); @@ -221,7 +221,7 @@ void QNetworkSettingsManagerPrivate::getServicesFinished(QDBusPendingCallWatcher if (reply.isError()) return; - foreach (const ConnmanMapStruct &object, reply.value()) { + for (const ConnmanMapStruct &object : reply.value()) { const QString servicePath = object.objectPath.path(); handleNewService(servicePath); } @@ -236,7 +236,7 @@ void QNetworkSettingsManagerPrivate::getTechnologiesFinished(QDBusPendingCallWat if (reply.isError()) return; - foreach (const ConnmanMapStruct &object, reply.value()) { + for (const ConnmanMapStruct &object : reply.value()) { ConnmanSettingsInterface *item = new ConnmanSettingsInterface(object.objectPath.path(), object.propertyMap, this); item->scanServices(); @@ -253,30 +253,40 @@ void QNetworkSettingsManagerPrivate::getTechnologiesFinished(QDBusPendingCallWat void QNetworkSettingsManagerPrivate::onServicesChanged(ConnmanMapStructList changed, const QList<QDBusObjectPath> &removed) { Q_Q(QNetworkSettingsManager); - foreach (const QDBusObjectPath &dpath, removed) { + for (const QDBusObjectPath &dpath : removed) { QString path = dpath.path(); if (m_serviceModel->removeService(path)) emit q->servicesChanged(); if (auto service = m_unnamedServices.take(path)) - if (!service->placeholderState()) + if (!service->placeholderState()) { + disconnect(service, &QNetworkSettingsService::nameChanged, + this, &QNetworkSettingsManagerPrivate::serviceReady); + disconnect(service, &QNetworkSettingsService::typeChanged, + this, &QNetworkSettingsManagerPrivate::serviceReady); service->deleteLater(); + } if (auto service = m_unknownServices.take(path)) - if (!service->placeholderState()) + if (!service->placeholderState()) { + disconnect(service, &QNetworkSettingsService::nameChanged, + this, &QNetworkSettingsManagerPrivate::serviceReady); + disconnect(service, &QNetworkSettingsService::typeChanged, + this, &QNetworkSettingsManagerPrivate::serviceReady); service->deleteLater(); + } m_unnamedServicesForSsidConnection.remove(path); // do not delete here } QStringList newServices; - foreach (const ConnmanMapStruct &map, changed) { + for (const ConnmanMapStruct &map : changed) { QString path = map.objectPath.path(); if (m_unknownServices.contains(path) || m_unnamedServices.contains(path)) continue; bool found = false; - foreach (QNetworkSettingsService* service, m_serviceModel->getModel()) { + for (QNetworkSettingsService* service : m_serviceModel->getModel()) { if (service->id() == path && service->placeholderState() == false) { found = true; break; @@ -286,7 +296,7 @@ void QNetworkSettingsManagerPrivate::onServicesChanged(ConnmanMapStructList chan newServices.append(map.objectPath.path()); } - foreach (QString newService, newServices) { + for (QString newService : newServices) { handleNewService(newService); } @@ -360,7 +370,7 @@ void QNetworkSettingsManagerPrivate::serviceReady() } //Update the interface state accordingly - foreach (QNetworkSettingsInterface* item, m_interfaceModel.getModel()) { + for (QNetworkSettingsInterface* item : m_interfaceModel.getModel()) { ConnmanSettingsInterface* technology = qobject_cast<ConnmanSettingsInterface*>(item); if (technology->name() == service->name() && technology->type() == service->type()) { technology->setState(technology->state()); |