From 9b5c7098e98870c19e5fbda0c9c53b3e6029deef Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Tue, 22 Apr 2025 08:35:24 +0100 Subject: [PATCH 1/3] settings: remove duplication --- apps/setting/settings.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/setting/settings.js b/apps/setting/settings.js index 6cde55696..8e520fc7b 100644 --- a/apps/setting/settings.js +++ b/apps/setting/settings.js @@ -1054,17 +1054,17 @@ function showAltitude() { /*LANG*/"Adjust up" : function() { Bangle.buzz(80); seaLevelPressure++; - Bangle.setOptions({seaLevelPressure:seaLevelPressure}); + Bangle.setOptions({seaLevelPressure}); }, /*LANG*/"Adjust down" : function() { Bangle.buzz(80); seaLevelPressure--; - Bangle.setOptions({seaLevelPressure:seaLevelPressure}); + Bangle.setOptions({seaLevelPressure}); }, /*LANG*/"Set Default" : function() { Bangle.buzz(); seaLevelPressure=1013.25; - Bangle.setOptions({seaLevelPressure:seaLevelPressure}); + Bangle.setOptions({seaLevelPressure}); } }); } From 46d09906066624c47a7abe7a0d5f010425998d68 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Tue, 22 Apr 2025 08:35:46 +0100 Subject: [PATCH 2/3] settings: move altitude setting-save to function --- apps/setting/settings.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/setting/settings.js b/apps/setting/settings.js index 8e520fc7b..1f6ec3b38 100644 --- a/apps/setting/settings.js +++ b/apps/setting/settings.js @@ -1036,6 +1036,11 @@ function showAltitude() { menuAltitude.value = Math.round(pressure.altitude); m.draw(); } + function altitudeDone() { + settings.seaLevelPressure = seaLevelPressure; + updateSettings(); + } + Bangle.setBarometerPower(1,"settings"); Bangle.on("pressure",onPressure); var seaLevelPressure = Bangle.getOptions().seaLevelPressure; @@ -1045,8 +1050,7 @@ function showAltitude() { var m = E.showMenu({ "" : {title:/*LANG*/"Altitude",back:() => { Bangle.setBarometerPower(0,"settings"); Bangle.removeListener("pressure",onPressure); - settings.seaLevelPressure = seaLevelPressure; - updateSettings(); + altitudeDone(); popMenu(systemMenu()); }}, /*LANG*/"Pressure (hPa)" : menuPressure, From 7f5fe18f1bac427b89f262a8d40a40c0e6a71069 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Tue, 22 Apr 2025 08:36:10 +0100 Subject: [PATCH 3/3] settings: save altitude on `E.kill` event --- apps/setting/ChangeLog | 3 ++- apps/setting/metadata.json | 2 +- apps/setting/settings.js | 2 ++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/apps/setting/ChangeLog b/apps/setting/ChangeLog index d7cdd07be..0f88be9dd 100644 --- a/apps/setting/ChangeLog +++ b/apps/setting/ChangeLog @@ -84,4 +84,5 @@ of 'Select Clock' 0.73: Fix `const` bug / work with fastload 0.74: Add extra layer of checks before allowing a factory reset (fix #3476) 0.75: Restore previous menu's scroll positions -0.76: Add altitude calibration menu (and update README after menu changed) \ No newline at end of file +0.76: Add altitude calibration menu (and update README after menu changed) +0.77: Save altitude calibration when user exits via reset diff --git a/apps/setting/metadata.json b/apps/setting/metadata.json index 8191598f9..b37534577 100644 --- a/apps/setting/metadata.json +++ b/apps/setting/metadata.json @@ -1,7 +1,7 @@ { "id": "setting", "name": "Settings", - "version": "0.76", + "version": "0.77", "description": "A menu for setting up Bangle.js", "icon": "settings.png", "tags": "tool,system", diff --git a/apps/setting/settings.js b/apps/setting/settings.js index 1f6ec3b38..8303c8c25 100644 --- a/apps/setting/settings.js +++ b/apps/setting/settings.js @@ -1043,6 +1043,7 @@ function showAltitude() { Bangle.setBarometerPower(1,"settings"); Bangle.on("pressure",onPressure); + E.on("kill", altitudeDone); var seaLevelPressure = Bangle.getOptions().seaLevelPressure; if (!isFinite(seaLevelPressure)) seaLevelPressure=1013.25; var menuPressure = {value:"-"}; @@ -1050,6 +1051,7 @@ function showAltitude() { var m = E.showMenu({ "" : {title:/*LANG*/"Altitude",back:() => { Bangle.setBarometerPower(0,"settings"); Bangle.removeListener("pressure",onPressure); + E.removeListener("kill",altitudeDone); altitudeDone(); popMenu(systemMenu()); }},