diff --git a/src/QGCApplication.cc b/src/QGCApplication.cc index bc32c3a64ee82ce9af5f17f1157b904081ee44c6..07ef945d4a75cdbef1ce2f82a62df9b2e1d7a323 100644 --- a/src/QGCApplication.cc +++ b/src/QGCApplication.cc @@ -741,7 +741,9 @@ void QGCApplication::qmlAttemptWindowClose() bool QGCApplication::isInternetAvailable() { - return getQGCMapEngine()->isInternetActive(); + if(_toolbox->settingsManager()->appSettings()->checkInternet()->rawValue().toBool()) + return getQGCMapEngine()->isInternetActive(); + return true; } void QGCApplication::_checkForNewVersion() diff --git a/src/QtLocationPlugin/QGCMapEngine.cpp b/src/QtLocationPlugin/QGCMapEngine.cpp index d6657feb7ccbd987498d4688be38903615d8a068..60a451efc47c95f52751b7feb8b6304b58650f22 100644 --- a/src/QtLocationPlugin/QGCMapEngine.cpp +++ b/src/QtLocationPlugin/QGCMapEngine.cpp @@ -543,7 +543,10 @@ QGCCreateTileSetTask::~QGCCreateTileSetTask() void QGCMapEngine::testInternet() { - getQGCMapEngine()->addTask(new QGCTestInternetTask()); + if(qgcApp()->toolbox()->settingsManager()->appSettings()->checkInternet()->rawValue().toBool()) + getQGCMapEngine()->addTask(new QGCTestInternetTask()); + else + _internetStatus(true); } //----------------------------------------------------------------------------- diff --git a/src/QtLocationPlugin/QGeoTileFetcherQGC.cpp b/src/QtLocationPlugin/QGeoTileFetcherQGC.cpp index 4237502056dea039db2cf252eb78a8e99bb640f8..813ec9ec6276c69ed9ba57892e2bf9cb6d37dba0 100644 --- a/src/QtLocationPlugin/QGeoTileFetcherQGC.cpp +++ b/src/QtLocationPlugin/QGeoTileFetcherQGC.cpp @@ -79,7 +79,7 @@ QGeoTileFetcherQGC::getTileImage(const QGeoTileSpec &spec) return new QGeoTiledMapReplyQGC(_networkManager, request, spec); } else { - return NULL; + return nullptr; } } diff --git a/src/Settings/App.SettingsGroup.json b/src/Settings/App.SettingsGroup.json index 3f440fa91461c21715774b9e98e84be60cfbac40..616997d0c8934773acc7f420fce8f583ffc0727e 100644 --- a/src/Settings/App.SettingsGroup.json +++ b/src/Settings/App.SettingsGroup.json @@ -96,6 +96,13 @@ "type": "bool", "defaultValue": false }, +{ + "name": "checkInternet", + "shortDescription": "Check Internet connection", + "longDescription": "Check Internet connection before accessing Internet resources.", + "type": "bool", + "defaultValue": true +}, { "name": "virtualJoystick", "shortDescription": "Show virtual joystick", diff --git a/src/Settings/AppSettings.cc b/src/Settings/AppSettings.cc index cc9ac3149af0c72389bf4fbf626cef6e08c124da..066b625252076f4a81f264d46bcb347a589eaefa 100644 --- a/src/Settings/AppSettings.cc +++ b/src/Settings/AppSettings.cc @@ -77,6 +77,7 @@ DECLARE_SETTINGSFACT(AppSettings, defaultMissionItemAltitude) DECLARE_SETTINGSFACT(AppSettings, telemetrySave) DECLARE_SETTINGSFACT(AppSettings, telemetrySaveNotArmed) DECLARE_SETTINGSFACT(AppSettings, audioMuted) +DECLARE_SETTINGSFACT(AppSettings, checkInternet) DECLARE_SETTINGSFACT(AppSettings, virtualJoystick) DECLARE_SETTINGSFACT(AppSettings, virtualJoystickCentralized) DECLARE_SETTINGSFACT(AppSettings, appFontPointSize) diff --git a/src/Settings/AppSettings.h b/src/Settings/AppSettings.h index afa54966c4f58192eaf9d2e4820db9edba462145..5f0fdf70ceb3425216df4d35e1ed2d1bd9f7b405 100644 --- a/src/Settings/AppSettings.h +++ b/src/Settings/AppSettings.h @@ -32,6 +32,7 @@ public: DEFINE_SETTINGFACT(telemetrySave) DEFINE_SETTINGFACT(telemetrySaveNotArmed) DEFINE_SETTINGFACT(audioMuted) + DEFINE_SETTINGFACT(checkInternet) DEFINE_SETTINGFACT(virtualJoystick) DEFINE_SETTINGFACT(virtualJoystickCentralized) DEFINE_SETTINGFACT(appFontPointSize) diff --git a/src/ui/preferences/GeneralSettings.qml b/src/ui/preferences/GeneralSettings.qml index 08abd0d73f3a71d2b9aabba93a14500be2ed8c78..eda8d14c37ae8d21597b8471d215073bc6add64f 100644 --- a/src/ui/preferences/GeneralSettings.qml +++ b/src/ui/preferences/GeneralSettings.qml @@ -255,6 +255,13 @@ Rectangle { property Fact _audioMuted: QGroundControl.settingsManager.appSettings.audioMuted } + FactCheckBox { + text: qsTr("Check for Internet connection") + fact: _checkInternet + visible: _checkInternet.visible + property Fact _checkInternet: QGroundControl.settingsManager.appSettings.checkInternet + } + FactCheckBox { text: qsTr("AutoLoad Missions") fact: _autoLoad