From 505944eeff1c0c5076fe754ad59335ff511f53dc Mon Sep 17 00:00:00 2001 From: mverch67 Date: Wed, 26 Feb 2025 00:08:04 +0100 Subject: [PATCH] implemented gpsLock persistency --- source/graphics/TFT/TFTView_320x240.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/source/graphics/TFT/TFTView_320x240.cpp b/source/graphics/TFT/TFTView_320x240.cpp index a49499a..34aba6c 100644 --- a/source/graphics/TFT/TFTView_320x240.cpp +++ b/source/graphics/TFT/TFTView_320x240.cpp @@ -2073,7 +2073,10 @@ void TFTView_320x240::ui_event_zoomOut(lv_event_t *e) void TFTView_320x240::ui_event_lockGps(lv_event_t *e) { - THIS->map->setLocked(lv_obj_has_state(objects.gps_lock_button, LV_STATE_CHECKED)); + bool gpsLocked = lv_obj_has_state(objects.gps_lock_button, LV_STATE_CHECKED); + THIS->map->setLocked(gpsLocked); + THIS->db.uiConfig.map_data.follow_gps = gpsLocked; + THIS->controller->storeUIConfig(THIS->db.uiConfig); } void TFTView_320x240::ui_event_mapBrightnessSlider(lv_event_t *e) @@ -2246,6 +2249,12 @@ void TFTView_320x240::loadMap(void) // use default location @theBigBentern map->setZoom(3); } + + if (db.uiConfig.map_data.follow_gps) { + lv_obj_set_state(objects.gps_lock_button, LV_STATE_CHECKED, true); + map->setLocked(true); + } + // finally add all node images to the map if (!nodeObjects.empty()) { for (auto it : nodeObjects) {