diff --git a/src/GUI/app.cpp b/src/GUI/app.cpp index 66d03e1a..db01a868 100644 --- a/src/GUI/app.cpp +++ b/src/GUI/app.cpp @@ -5,6 +5,7 @@ #include #include #include +#include #include "map/downloader.h" #include "map/ellipsoid.h" #include "map/gcs.h" @@ -12,6 +13,7 @@ #include "opengl.h" #include "gui.h" #include "config.h" +#include "settings.h" #include "app.h" @@ -37,6 +39,16 @@ App::App(int &argc, char **argv) : QApplication(argc, argv), QNetworkProxyFactory::setUseSystemConfiguration(true); Downloader::setNetworkAccessManager(new QNetworkAccessManager(this)); + QSettings settings(APP_NAME, APP_NAME); + settings.beginGroup(OPTIONS_SETTINGS_GROUP); +#ifdef ENABLE_HTTP2 + Downloader::enableHTTP2(settings.value(ENABLE_HTTP2_SETTING, + ENABLE_HTTP2_DEFAULT).toBool()); +#endif // ENABLE_HTTP2 + Downloader::setTimeout(settings.value(CONNECTION_TIMEOUT_SETTING, + CONNECTION_TIMEOUT_DEFAULT).toInt()); + settings.endGroup(); + OPENGL_SET_SAMPLES(4); loadDatums(); loadPCSs(); diff --git a/src/GUI/gui.cpp b/src/GUI/gui.cpp index 65d61af8..a28ee6d1 100644 --- a/src/GUI/gui.cpp +++ b/src/GUI/gui.cpp @@ -2085,10 +2085,6 @@ void GUI::readSettings() _poi->setRadius(_options.poiRadius); QPixmapCache::setCacheLimit(_options.pixmapCache * 1024); - Downloader::setTimeout(_options.connectionTimeout); -#ifdef ENABLE_HTTP2 - Downloader::enableHTTP2(_options.enableHTTP2); -#endif // ENABLE_HTTP2 settings.endGroup(); } diff --git a/src/map/downloader.cpp b/src/map/downloader.cpp index a6d41ee7..acd2ebec 100644 --- a/src/map/downloader.cpp +++ b/src/map/downloader.cpp @@ -227,3 +227,11 @@ bool Downloader::get(const QList &list, return finishEmitted; } + +#ifdef ENABLE_HTTP2 +void Downloader::enableHTTP2(bool enable) +{ + _http2 = enable; + _manager->clearConnectionCache(); +} +#endif // ENABLE_HTTP2 diff --git a/src/map/downloader.h b/src/map/downloader.h index c94c982a..d46a1e47 100644 --- a/src/map/downloader.h +++ b/src/map/downloader.h @@ -48,7 +48,7 @@ public: static void setTimeout(int timeout) {_timeout = timeout;} #ifdef ENABLE_HTTP2 - static void enableHTTP2(bool enable) {_http2 = enable;} + static void enableHTTP2(bool enable); #endif // ENABLE_HTTP2 static void setNetworkAccessManager(QNetworkAccessManager *manager) {_manager = manager;}