diff options
author | David Laing <david.laing@nokia.com> | 2011-03-01 11:34:38 +1000 |
---|---|---|
committer | David Laing <david.laing@nokia.com> | 2011-03-01 11:34:38 +1000 |
commit | 1c1dfd1c4c1517c1a3a43f940d18198cb8b31b0f (patch) | |
tree | 9746636427dce1c8a95e4974bfc0b47d95ca7436 /plugins/geoservices | |
parent | 27815765ed427601ec317e97aa795c0ec14b1064 (diff) |
Adds better proxy support for non-mapping managers in Nokia plugin.
A previous commit improved the functionality of the proxy
parameter for the mapping manager in the Nokia plugin.
This commit adds the same improvement to the routing and
search managers.
Diffstat (limited to 'plugins/geoservices')
-rw-r--r-- | plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp | 13 | ||||
-rw-r--r-- | plugins/geoservices/nokia/qgeosearchmanagerengine_nokia.cpp | 13 |
2 files changed, 22 insertions, 4 deletions
diff --git a/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp b/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp index e1d8047ac7..359ccd2649 100644 --- a/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp +++ b/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp @@ -51,6 +51,7 @@ #include <QStringList> #include <QNetworkProxy> +#include <QUrl> #include <qgeoboundingbox.h> QGeoRoutingManagerEngineNokia::QGeoRoutingManagerEngineNokia(const QMap<QString, QVariant> ¶meters, QGeoServiceProvider::Error *error, QString *errorString) @@ -63,8 +64,16 @@ QGeoRoutingManagerEngineNokia::QGeoRoutingManagerEngineNokia(const QMap<QString, if (parameters.contains("routing.proxy")) { QString proxy = parameters.value("routing.proxy").toString(); - if (!proxy.isEmpty()) - m_networkManager->setProxy(QNetworkProxy(QNetworkProxy::HttpProxy, proxy, 8080)); + if (!proxy.isEmpty()) { + QUrl proxyUrl(proxy); + if (proxyUrl.isValid()) { + m_networkManager->setProxy(QNetworkProxy(QNetworkProxy::HttpProxy, + proxyUrl.host(), + proxyUrl.port(8080), + proxyUrl.userName(), + proxyUrl.password())); + } + } } if (parameters.contains("routing.host")) { diff --git a/plugins/geoservices/nokia/qgeosearchmanagerengine_nokia.cpp b/plugins/geoservices/nokia/qgeosearchmanagerengine_nokia.cpp index a02d1ee46b..c39fde60b4 100644 --- a/plugins/geoservices/nokia/qgeosearchmanagerengine_nokia.cpp +++ b/plugins/geoservices/nokia/qgeosearchmanagerengine_nokia.cpp @@ -53,6 +53,7 @@ #include <qgeoaddress.h> #include <qgeocoordinate.h> #include <QNetworkProxy> +#include <QUrl> #include <QMap> QGeoSearchManagerEngineNokia::QGeoSearchManagerEngineNokia(const QMap<QString, QVariant> ¶meters, QGeoServiceProvider::Error *error, QString *errorString) @@ -65,8 +66,16 @@ QGeoSearchManagerEngineNokia::QGeoSearchManagerEngineNokia(const QMap<QString, Q if (parameters.contains("places.proxy")) { QString proxy = parameters.value("places.proxy").toString(); - if (!proxy.isEmpty()) - m_networkManager->setProxy(QNetworkProxy(QNetworkProxy::HttpProxy, proxy, 8080)); + if (!proxy.isEmpty()) { + QUrl proxyUrl(proxy); + if (proxyUrl.isValid()) { + m_networkManager->setProxy(QNetworkProxy(QNetworkProxy::HttpProxy, + proxyUrl.host(), + proxyUrl.port(8080), + proxyUrl.userName(), + proxyUrl.password())); + } + } } if (parameters.contains("places.host")) { |