settings: Fix set time menu, allow dates to roll over

pull/490/head
Gordon Williams 2020-06-08 09:52:27 +01:00
parent 1c712d8039
commit de58659257
3 changed files with 22 additions and 52 deletions

View File

@ -152,7 +152,7 @@
{ "id": "setting", { "id": "setting",
"name": "Settings", "name": "Settings",
"icon": "settings.png", "icon": "settings.png",
"version":"0.19", "version":"0.20",
"description": "A menu for setting up Bangle.js", "description": "A menu for setting up Bangle.js",
"tags": "tool,system", "tags": "tool,system",
"readme": "README.md", "readme": "README.md",

View File

@ -21,3 +21,4 @@
0.17: Remove need for "settings" in appid.info 0.17: Remove need for "settings" in appid.info
0.18: Don't overwrite existing settings on app update 0.18: Don't overwrite existing settings on app update
0.19: Allow BLE HID settings, add README.md 0.19: Allow BLE HID settings, add README.md
0.20: Fix set time menu, allow dates to roll over

View File

@ -331,83 +331,52 @@ function showClockMenu() {
function showSetTimeMenu() { function showSetTimeMenu() {
d = new Date(); d = new Date();
const timemenu = { const timemenu = {
'': { '': { 'title': 'Set Time' },
'title': 'Set Time', '< Back': function () {
'predraw': function () { setTime(d.getTime() / 1000);
d = new Date(); showMainMenu();
timemenu.Hour.value = d.getHours();
timemenu.Minute.value = d.getMinutes();
timemenu.Second.value = d.getSeconds();
timemenu.Date.value = d.getDate();
timemenu.Month.value = d.getMonth() + 1;
timemenu.Year.value = d.getFullYear();
}
}, },
'< Back': ()=>showMainMenu(),
'Hour': { 'Hour': {
value: d.getHours(), value: d.getHours(),
min: 0, onchange: function (v) {
max: 23, this.value = (v+24)%24;
step: 1, d.setHours(this.value);
onchange: v => {
d = new Date();
d.setHours(v);
setTime(d.getTime() / 1000);
} }
}, },
'Minute': { 'Minute': {
value: d.getMinutes(), value: d.getMinutes(),
min: 0, onchange: function (v) {
max: 59, this.value = (v+60)%60;
step: 1, d.setMinutes(this.value);
onchange: v => {
d = new Date();
d.setMinutes(v);
setTime(d.getTime() / 1000);
} }
}, },
'Second': { 'Second': {
value: d.getSeconds(), value: d.getSeconds(),
min: 0, onchange: function (v) {
max: 59, this.value = (v+60)%60;
step: 1, d.setSeconds(this.value);
onchange: v => {
d = new Date();
d.setSeconds(v);
setTime(d.getTime() / 1000);
} }
}, },
'Date': { 'Date': {
value: d.getDate(), value: d.getDate(),
min: 1, onchange: function (v) {
max: 31, this.value = ((v+29)%30)+1;
step: 1, d.setDate(this.value);
onchange: v => {
d = new Date();
d.setDate(v);
setTime(d.getTime() / 1000);
} }
}, },
'Month': { 'Month': {
value: d.getMonth() + 1, value: d.getMonth() + 1,
min: 1, onchange: function (v) {
max: 12, this.value = ((v+11)%12)+1;
step: 1, d.setMonth(this.value - 1);
onchange: v => {
d = new Date();
d.setMonth(v - 1);
setTime(d.getTime() / 1000);
} }
}, },
'Year': { 'Year': {
value: d.getFullYear(), value: d.getFullYear(),
min: 2019, min: 2019,
max: 2100, max: 2100,
step: 1, onchange: function (v) {
onchange: v => {
d = new Date();
d.setFullYear(v); d.setFullYear(v);
setTime(d.getTime() / 1000);
} }
} }
}; };