Update settings.js
parent
7027baea54
commit
ae221a9cd7
|
|
@ -1,107 +1,92 @@
|
||||||
// Settings menu for the enhanced Anton clock
|
(function (back) {
|
||||||
|
var FILE = "clockcal.json";
|
||||||
|
|
||||||
(function(back) {
|
settings = Object.assign({
|
||||||
var FILE = "clockcal.json";
|
CAL_ROWS: 4, //number of calendar rows.(weeks) Shouldn't exceed 5 when using widgets.
|
||||||
// Load settings
|
BUZZ_ON_BT: true, //2x slow buzz on disconnect, 2x fast buzz on connect. Will be extra widget eventually
|
||||||
var settings = Object.assign({
|
MODE24: true, //24h mode vs 12h mode
|
||||||
secondsOnUnlock: false,
|
FIRSTDAY: 6, //First day of the week: mo, tu, we, th, fr, sa, su
|
||||||
}, require('Storage').readJSON(FILE, true) || {});
|
REDSUN: true, // Use red color for sunday?
|
||||||
|
REDSAT: true, // Use red color for saturday?
|
||||||
|
}, require('Storage').readJSON(FILE, true) || {});
|
||||||
|
|
||||||
function writeSettings() {
|
|
||||||
require('Storage').writeJSON(FILE, settings);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Helper method which uses int-based menu item for set of string values
|
function writeSettings() {
|
||||||
function stringItems(startvalue, writer, values) {
|
require('Storage').writeJSON(FILE, settings);
|
||||||
return {
|
}
|
||||||
value: (startvalue === undefined ? 0 : values.indexOf(startvalue)),
|
|
||||||
format: v => values[v],
|
|
||||||
min: 0,
|
|
||||||
max: values.length - 1,
|
|
||||||
wrap: true,
|
|
||||||
step: 1,
|
|
||||||
onchange: v => {
|
|
||||||
writer(values[v]);
|
|
||||||
writeSettings();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
// Helper method which breaks string set settings down to local settings object
|
menu = {
|
||||||
function stringInSettings(name, values) {
|
"": { "title": "Clock & Calendar" },
|
||||||
return stringItems(settings[name], v => settings[name] = v, values);
|
"< Back": () => back(),
|
||||||
}
|
'Buzz(dis)conn.?': {
|
||||||
|
value: settings.BUZZ_ON_BT,
|
||||||
var mainmenu = {
|
format: v => v ? "On" : "Off",
|
||||||
"": {
|
onchange: v => {
|
||||||
"title": "clockcal clock"
|
settings.BUZZ_ON_BT = v;
|
||||||
},
|
writeSettings();
|
||||||
"< Back": () => back(),
|
}
|
||||||
"Seconds...": () => E.showMenu(secmenu),
|
},
|
||||||
"Date": stringInSettings("dateOnMain", ["Long", "Short", "ISO8601"]),
|
'#Calendar Rows': {
|
||||||
"Show Weekday": {
|
value: settings.CAL_ROWS,
|
||||||
value: (settings.weekDay !== undefined ? settings.weekDay : true),
|
min: 0, max: 6,
|
||||||
format: v => v ? "On" : "Off",
|
onchange: v => {
|
||||||
onchange: v => {
|
settings.CAL_ROWS = v;
|
||||||
settings.weekDay = v;
|
writeSettings();
|
||||||
writeSettings();
|
}
|
||||||
}
|
},
|
||||||
},
|
'Clock mode': {
|
||||||
"Show CalWeek": {
|
value: settings.MODE24,
|
||||||
value: (settings.calWeek !== undefined ? settings.calWeek : false),
|
format: v => v ? "24h" : "12h",
|
||||||
format: v => v ? "On" : "Off",
|
onchange: v => {
|
||||||
onchange: v => {
|
settings.MODE24 = v;
|
||||||
settings.calWeek = v;
|
writeSettings();
|
||||||
writeSettings();
|
}
|
||||||
}
|
},
|
||||||
},
|
'First Day': {
|
||||||
"Uppercase": {
|
value: settings.FIRSTDAY,
|
||||||
value: (settings.upperCase !== undefined ? settings.upperCase : true),
|
min: 0, max: 6,
|
||||||
format: v => v ? "On" : "Off",
|
format: v => ["Sun", "Sat", "Fri", "Thu", "Wed", "Tue", "Mon"][v],
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.upperCase = v;
|
settings.FIRSTDAY = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Vector font": {
|
'Red Saturday?': {
|
||||||
value: (settings.vectorFont !== undefined ? settings.vectorFont : false),
|
value: settings.REDSAT,
|
||||||
format: v => v ? "On" : "Off",
|
format: v => v ? "On" : "Off",
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.vectorFont = v;
|
settings.REDSAT = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
};
|
'Red Sunday?': {
|
||||||
|
value: settings.REDSUN,
|
||||||
// Submenu
|
format: v => v ? "On" : "Off",
|
||||||
var secmenu = {
|
onchange: v => {
|
||||||
"": {
|
settings.REDSUN = v;
|
||||||
"title": "Show seconds..."
|
writeSettings();
|
||||||
},
|
}
|
||||||
"< Back": () => E.showMenu(mainmenu),
|
},
|
||||||
"Show": stringInSettings("secondsMode", ["Never", "Unlocked", "Always"]),
|
'Load deafauls?': {
|
||||||
"With \":\"": {
|
value: 0,
|
||||||
value: (settings.secondsWithColon !== undefined ? settings.secondsWithColon : true),
|
min: 0, max: 1,
|
||||||
format: v => v ? "On" : "Off",
|
format: v => ["No", "Yes"][v],
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.secondsWithColon = v;
|
if (v == 1) {
|
||||||
writeSettings();
|
settings = {
|
||||||
}
|
CAL_ROWS: 4, //number of calendar rows.(weeks) Shouldn't exceed 5 when using widgets.
|
||||||
},
|
BUZZ_ON_BT: true, //2x slow buzz on disconnect, 2x fast buzz on connect.
|
||||||
"Color": {
|
MODE24: true, //24h mode vs 12h mode
|
||||||
value: (settings.secondsColoured !== undefined ? settings.secondsColoured : true),
|
FIRSTDAY: 6, //First day of the week: mo, tu, we, th, fr, sa, su
|
||||||
format: v => v ? "On" : "Off",
|
REDSUN: true, // Use red color for sunday?
|
||||||
onchange: v => {
|
REDSAT: true, // Use red color for saturday?
|
||||||
settings.secondsColoured = v;
|
};
|
||||||
writeSettings();
|
writeSettings();
|
||||||
}
|
load()
|
||||||
},
|
}
|
||||||
"Date": stringInSettings("dateOnSecs", ["Year", "Weekday", "No"])
|
}
|
||||||
};
|
},
|
||||||
|
}
|
||||||
// Actually display the menu
|
// Show the menu
|
||||||
E.showMenu(mainmenu);
|
E.showMenu(menu);
|
||||||
|
})
|
||||||
});
|
|
||||||
|
|
||||||
// end of file
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue