diff options
Diffstat (limited to 'src/plugins/geoservices')
5 files changed, 24 insertions, 5 deletions
diff --git a/src/plugins/geoservices/nokia/qgeocodingmanagerengine_nokia.cpp b/src/plugins/geoservices/nokia/qgeocodingmanagerengine_nokia.cpp index 1d2636e6..3513abf7 100644 --- a/src/plugins/geoservices/nokia/qgeocodingmanagerengine_nokia.cpp +++ b/src/plugins/geoservices/nokia/qgeocodingmanagerengine_nokia.cpp @@ -53,6 +53,7 @@ #include <qgeoaddress.h> #include <qgeocoordinate.h> #include <QNetworkProxy> +#include <QNetworkProxyFactory> #include <QUrl> #include <QMap> #include <QStringList> @@ -67,7 +68,7 @@ QGeocodingManagerEngineNokia::QGeocodingManagerEngineNokia(const QMap<QString, Q if (parameters.contains("proxy")) { QString proxy = parameters.value("proxy").toString(); - if (!proxy.isEmpty()) { + if (!proxy.isEmpty() && proxy.toLower() != QLatin1String("system")) { QUrl proxyUrl(proxy); if (proxyUrl.isValid()) { m_networkManager->setProxy(QNetworkProxy(QNetworkProxy::HttpProxy, @@ -76,6 +77,9 @@ QGeocodingManagerEngineNokia::QGeocodingManagerEngineNokia(const QMap<QString, Q proxyUrl.userName(), proxyUrl.password())); } + } else if (!proxy.isEmpty()) { + if (QNetworkProxy::applicationProxy().type() == QNetworkProxy::NoProxy) + QNetworkProxyFactory::setUseSystemConfiguration(true); } } diff --git a/src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp b/src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp index bc6e8234..4ecc338b 100644 --- a/src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp +++ b/src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp @@ -51,6 +51,7 @@ #include <QStringList> #include <QNetworkProxy> +#include <QNetworkProxyFactory> #include <QUrl> #include <qgeoboundingbox.h> @@ -69,7 +70,7 @@ QGeoRoutingManagerEngineNokia::QGeoRoutingManagerEngineNokia(const QMap<QString, if (proxy.isEmpty()) proxy = parameters.value("routing.proxy").toString(); - if (!proxy.isEmpty()) { + if (!proxy.isEmpty() && proxy.toLower() != QLatin1String("system")) { QUrl proxyUrl(proxy); if (proxyUrl.isValid()) { m_networkManager->setProxy(QNetworkProxy(QNetworkProxy::HttpProxy, @@ -78,6 +79,9 @@ QGeoRoutingManagerEngineNokia::QGeoRoutingManagerEngineNokia(const QMap<QString, proxyUrl.userName(), proxyUrl.password())); } + } else if (!proxy.isEmpty()) { + if (QNetworkProxy::applicationProxy().type() == QNetworkProxy::NoProxy) + QNetworkProxyFactory::setUseSystemConfiguration(true); } } diff --git a/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp b/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp index 9fe4120a..ad4e56d6 100644 --- a/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp +++ b/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp @@ -55,6 +55,7 @@ #include <QNetworkAccessManager> #include <QNetworkProxy> +#include <QNetworkProxyFactory> #include <QSize> #include <QDir> #include <QUrl> @@ -91,7 +92,7 @@ bool QGeoTileFetcherNokia::init() if (proxy.isEmpty()) proxy = m_parameters.value("mapping.proxy").toString(); - if (!proxy.isEmpty()) { + if (!proxy.isEmpty() && proxy.toLower() != QLatin1String("system")) { QUrl proxyUrl(proxy); if (proxyUrl.isValid()) { m_networkManager->setProxy(QNetworkProxy(QNetworkProxy::HttpProxy, @@ -100,6 +101,9 @@ bool QGeoTileFetcherNokia::init() proxyUrl.userName(), proxyUrl.password())); } + } else if (!proxy.isEmpty()) { + if (QNetworkProxy::applicationProxy().type() == QNetworkProxy::NoProxy) + QNetworkProxyFactory::setUseSystemConfiguration(true); } } diff --git a/src/plugins/geoservices/nokia/qplacemanagerengine_nokiav1.cpp b/src/plugins/geoservices/nokia/qplacemanagerengine_nokiav1.cpp index f658d9ee..fe1683f6 100644 --- a/src/plugins/geoservices/nokia/qplacemanagerengine_nokiav1.cpp +++ b/src/plugins/geoservices/nokia/qplacemanagerengine_nokiav1.cpp @@ -75,7 +75,7 @@ QPlaceManagerEngineNokiaV1::QPlaceManagerEngineNokiaV1(const QMap<QString, QVari if (proxy.isEmpty()) proxy = parameters.value("places.proxy").toString(); - if (!proxy.isEmpty()) { + if (!proxy.isEmpty() && proxy.toLower() != QLatin1String("system")) { QUrl proxyUrl(proxy); if (proxyUrl.isValid()) { QPlaceRestManager::instance()->setProxy(QNetworkProxy(QNetworkProxy::HttpProxy, @@ -84,6 +84,9 @@ QPlaceManagerEngineNokiaV1::QPlaceManagerEngineNokiaV1(const QMap<QString, QVari proxyUrl.userName(), proxyUrl.password())); } + } else if (!proxy.isEmpty()) { + if (QNetworkProxy::applicationProxy().type() == QNetworkProxy::NoProxy) + QNetworkProxyFactory::setUseSystemConfiguration(true); } } diff --git a/src/plugins/geoservices/nokia/qplacemanagerengine_nokiav2.cpp b/src/plugins/geoservices/nokia/qplacemanagerengine_nokiav2.cpp index d716b29f..fe43d6ed 100644 --- a/src/plugins/geoservices/nokia/qplacemanagerengine_nokiav2.cpp +++ b/src/plugins/geoservices/nokia/qplacemanagerengine_nokiav2.cpp @@ -59,6 +59,7 @@ #include <QtCore/QJsonDocument> #include <QtCore/QJsonObject> #include <QtNetwork/QNetworkProxy> +#include <QtNetwork/QNetworkProxyFactory> #ifdef USE_CHINA_NETWORK_REGISTRATION #include <QtSystemInfo/QNetworkInfo> #endif @@ -99,7 +100,7 @@ QPlaceManagerEngineNokiaV2::QPlaceManagerEngineNokiaV2(const QMap<QString, QVari if (proxy.isEmpty()) proxy = parameters.value("places.proxy").toString(); - if (!proxy.isEmpty()) { + if (!proxy.isEmpty() && proxy.toLower() != QLatin1String("system")) { QUrl proxyUrl(proxy); if (proxyUrl.isValid()) { m_manager->setProxy(QNetworkProxy(QNetworkProxy::HttpProxy, @@ -108,6 +109,9 @@ QPlaceManagerEngineNokiaV2::QPlaceManagerEngineNokiaV2(const QMap<QString, QVari proxyUrl.userName(), proxyUrl.password())); } + } else if (!proxy.isEmpty()) { + if (QNetworkProxy::applicationProxy().type() == QNetworkProxy::NoProxy) + QNetworkProxyFactory::setUseSystemConfiguration(true); } } |