BangleApps/apps/timerclk/settings.js

316 lines
7.8 KiB
JavaScript
Raw Normal View History

2022-01-21 10:46:13 +00:00
(function(back) {
const FILE = "timerclk.json";
// Load settings
var settings = require('Storage').readJSON(FILE, true) || {}
settings.clock = Object.assign({
"timeFont":"Anton",
"timeFontSize":0,
"dateFont":"6x8",
"dateFontSize":2,
"dowFont":"6x8",
"dowFontSize":2,
"specialFont":"6x8",
"specialFontSize":2,
"srssFont":"6x8",
"srssFontSize":2,
2022-01-21 10:46:13 +00:00
"shortDate":true,
"showStopwatches":true,
"showTimers":true,
"showSrss":false,
2022-01-21 10:46:13 +00:00
}, settings.clock||{});
settings.stopwatch = Object.assign({
"font":"Vector",
"fontSize":40,
"indexFont":"6x8",
"indexFontSize":3,
"buttonHeight":40,
}, settings.stopwatch||{});
settings.timer = Object.assign({
"font":"Vector",
"fontSize":40,
"indexFont":"6x8",
"indexFontSize":3,
"buttonHeight":40,
"vibrate":10,
}, settings.timer||{});
settings.alarm = Object.assign({
"font":"Vector",
"fontSize":40,
"indexFont":"6x8",
"indexFontSize":3,
"buttonHeight":40,
"vibrate":10,
}, settings.alarm||{});
var timeFonts = ["Anton"].concat(g.getFonts());
function writeSettings() {
require('Storage').writeJSON(FILE, settings);
}
// Show the menu
var mainMenu = {
"" : { "title" : "Timer Clock" },
"< Back" : () => back(),
"Clock": ()=>{E.showMenu(clockMenu);},
"Stopwatch": ()=>{E.showMenu(stopwatchMenu);},
"Timer": ()=>{E.showMenu(timerMenu);},
"Alarm": ()=>{E.showMenu(alarmMenu);},
};
var clockMenu = {
"" : { "title" : "Clock" },
"< Back" : () => E.showMenu(mainMenu),
"time font":{
value: 0|timeFonts.indexOf(settings.clock.timeFont),
format: v => timeFonts[v],
min: 0, max: timeFonts.length-1,
onchange: v => {
settings.clock.timeFont = timeFonts[v];
writeSettings();
}
},
"time size":{
value: 0|settings.clock.timeFontSize,
min: 0,
onchange: v => {
settings.clock.timeFontSize = v;
writeSettings();
}
},
"date font":{
value: 0|g.getFonts().indexOf(settings.clock.dateFont),
format: v => g.getFonts()[v],
min: 0, max: g.getFonts().length-1,
onchange: v => {
settings.clock.dateFont = g.getFonts()[v];
writeSettings();
}
},
"date size":{
value: 0|settings.clock.dateFontSize,
min: 0,
onchange: v => {
settings.clock.dateFontSize = v;
writeSettings();
}
},
"dow font":{
value: 0|g.getFonts().indexOf(settings.clock.dowFont),
format: v => g.getFonts()[v],
min: 0, max: g.getFonts().length-1,
onchange: v => {
settings.clock.dowFont = g.getFonts()[v];
writeSettings();
}
},
"dow size":{
value: 0|settings.clock.dowFontSize,
min: 0,
onchange: v => {
settings.clock.dowFontSize = v;
writeSettings();
}
},
"sun font":{
value: 0|g.getFonts().indexOf(settings.clock.srssFont),
format: v => g.getFonts()[v],
min: 0, max: g.getFonts().length-1,
onchange: v => {
settings.clock.srssFont = g.getFonts()[v];
writeSettings();
}
},
"sun size":{
value: 0|settings.clock.srssFontSize,
min: 0,
onchange: v => {
settings.clock.srssFontSize = v;
writeSettings();
}
},
2022-01-21 10:46:13 +00:00
"short date": {
value: !!settings.clock.shortDate,
onchange: v => {
settings.clock.shortDate = v;
writeSettings();
}
},
"stopwatches": {
value: !!settings.clock.showStopwatches,
onchange: v => {
settings.clock.showStopwatches = v;
writeSettings();
}
},
"timers": {
value: !!settings.clock.showTimers,
onchange: v => {
settings.clock.showTimers = v;
writeSettings();
}
},
"sun times": {
value: !!settings.clock.showSrss,
onchange: v => {
settings.clock.showSrss = v;
writeSettings();
}
},
2022-01-21 10:46:13 +00:00
};
var stopwatchMenu = {
"" : { "title" : "Stopwatch" },
"< Back" : () => E.showMenu(mainMenu),
"font":{
value: 0|g.getFonts().indexOf(settings.stopwatch.font),
format: v => g.getFonts()[v],
min: 0, max: g.getFonts().length-1,
onchange: v => {
settings.settings.stopwatch.font = g.getFonts()[v];
writeSettings();
}
},
"fontsize":{
value: 0|settings.stopwatch.fontSize,
min: 0,
onchange: v => {
settings.stopwatch.fontSize = v;
writeSettings();
}
},
"index font":{
value: 0|g.getFonts().indexOf(settings.stopwatch.indexFont),
format: v => g.getFonts()[v],
min: 0, max: g.getFonts().length-1,
onchange: v => {
settings.settings.stopwatch.indexFont = g.getFonts()[v];
writeSettings();
}
},
"index size":{
value: 0|settings.stopwatch.indexFontSize,
min: 0,
onchange: v => {
settings.stopwatch.indexFontSize = v;
writeSettings();
}
},
"button height":{
value: 0|settings.stopwatch.buttonHeight,
min: 0,
onchange: v => {
settings.stopwatch.buttonHeight = v;
writeSettings();
}
},
};
var timerMenu = {
"" : { "title" : "Timer" },
"< Back" : () => E.showMenu(mainMenu),
"font":{
value: 0|g.getFonts().indexOf(settings.timer.font),
format: v => g.getFonts()[v],
min: 0, max: g.getFonts().length-1,
onchange: v => {
settings.settings.timer.font = g.getFonts()[v];
writeSettings();
}
},
"fontsize":{
value: 0|settings.timer.fontSize,
min: 0,
onchange: v => {
settings.timer.fontSize = v;
writeSettings();
}
},
"index font":{
value: 0|g.getFonts().indexOf(settings.timer.indexFont),
format: v => g.getFonts()[v],
min: 0, max: g.getFonts().length-1,
onchange: v => {
settings.settings.timer.indexFont = g.getFonts()[v];
writeSettings();
}
},
"index size":{
value: 0|settings.timer.indexFontSize,
min: 0,
onchange: v => {
settings.timer.indexFontSize = v;
writeSettings();
}
},
"button height":{
value: 0|settings.timer.buttonHeight,
min: 0,
onchange: v => {
settings.timer.buttonHeight = v;
writeSettings();
}
},
"vibrate":{
value: 0|settings.timer.vibrate,
min: 0,
onchange: v=>{
settings.timer.vibrate = v;
writeSettings();
}
}
};
var alarmMenu = {
"" : { "title" : "Alarm" },
"< Back" : () => E.showMenu(mainMenu),
"font":{
value: 0|g.getFonts().indexOf(settings.alarm.font),
format: v => g.getFonts()[v],
min: 0, max: g.getFonts().length-1,
onchange: v => {
settings.settings.alarm.font = g.getFonts()[v];
writeSettings();
}
},
"fontsize":{
value: 0|settings.alarm.fontSize,
min: 0,
onchange: v => {
settings.alarm.fontSize = v;
writeSettings();
}
},
"index font":{
value: 0|g.getFonts().indexOf(settings.alarm.indexFont),
format: v => g.getFonts()[v],
min: 0, max: g.getFonts().length-1,
onchange: v => {
settings.settings.alarm.indexFont = g.getFonts()[v];
writeSettings();
}
},
"index size":{
value: 0|settings.alarm.indexFontSize,
min: 0,
onchange: v => {
settings.alarm.indexFontSize = v;
writeSettings();
}
},
"button height":{
value: 0|settings.alarm.buttonHeight,
min: 0,
onchange: v => {
settings.alarm.buttonHeight = v;
writeSettings();
}
},
"vibrate":{
value: 0|settings.alarm.vibrate,
min: 0,
onchange: v=>{
settings.alarm.vibrate = v;
writeSettings();
}
}
};
E.showMenu(mainMenu);
});