options for onewordclock
parent
6c75c85876
commit
14b95d6a5e
|
|
@ -3,6 +3,17 @@
|
|||
var drawTimeout;
|
||||
require('Font4x5Numeric').add(Graphics);
|
||||
|
||||
// Load settings
|
||||
const SETTINGS_FILE = "onewordclock.setting.json";
|
||||
let settings = {
|
||||
mode: "Named",
|
||||
smallNumeralClock: true
|
||||
};
|
||||
let stored = require('Storage').readJSON(SETTINGS_FILE, 1) || {};
|
||||
for (const key in stored) {
|
||||
settings[key] = stored[key];
|
||||
}
|
||||
|
||||
// https://www.espruino.com/Bangle.js+Locale
|
||||
// schedule a draw for the next 3 minutes
|
||||
const queueDraw = () => {
|
||||
|
|
@ -13,35 +24,62 @@
|
|||
}, 180000 - (Date.now() % 180000));
|
||||
};
|
||||
|
||||
const wordFromHour = (h) => {
|
||||
const HOUR_WORDS = [
|
||||
'Midnight',
|
||||
'Early',
|
||||
'Quiet',
|
||||
'Still',
|
||||
'Dawn',
|
||||
'Earlybird',
|
||||
'Sunrise',
|
||||
'Morning',
|
||||
'Bright',
|
||||
'Active',
|
||||
'Busy',
|
||||
'Pre-noon',
|
||||
'Noon',
|
||||
'Post-noon',
|
||||
'Afternoon',
|
||||
'Siesta',
|
||||
'Breezy',
|
||||
'Evening',
|
||||
'Twilight',
|
||||
'Dinner',
|
||||
'Cozy',
|
||||
'Relax',
|
||||
'Quietude',
|
||||
'Night',
|
||||
];
|
||||
const HOUR_WORDS = [
|
||||
'Midnight',
|
||||
'Early',
|
||||
'Quiet',
|
||||
'Still',
|
||||
'Dawn',
|
||||
'Earlybird',
|
||||
'Sunrise',
|
||||
'Morning',
|
||||
'Bright',
|
||||
'Active',
|
||||
'Busy',
|
||||
'Pre-noon',
|
||||
'Noon',
|
||||
'Post-noon',
|
||||
'Afternoon',
|
||||
'Siesta',
|
||||
'Breezy',
|
||||
'Evening',
|
||||
'Twilight',
|
||||
'Dinner',
|
||||
'Cozy',
|
||||
'Relax',
|
||||
'Quietude',
|
||||
'Night',
|
||||
];
|
||||
|
||||
return HOUR_WORDS[h];
|
||||
const LITERAL_HOURS = [
|
||||
'Twelve',
|
||||
'One',
|
||||
'Two',
|
||||
'Three',
|
||||
'Four',
|
||||
'Five',
|
||||
'Six',
|
||||
'Seven',
|
||||
'Eight',
|
||||
'Nine',
|
||||
'Ten',
|
||||
'Eleven',
|
||||
'Twelve',
|
||||
'One',
|
||||
'Two',
|
||||
'Three',
|
||||
'Four',
|
||||
'Five',
|
||||
'Six',
|
||||
'Seven',
|
||||
'Eight',
|
||||
'Nine',
|
||||
'Ten',
|
||||
'Eleven'
|
||||
];
|
||||
|
||||
const wordFromHour = (h) => {
|
||||
return settings.mode === "Named" ? HOUR_WORDS[h] : LITERAL_HOURS[h];
|
||||
};
|
||||
|
||||
const wordsFromDayMonth = (day) => {
|
||||
|
|
@ -67,11 +105,13 @@
|
|||
g.setBgColor(g.theme.bg);
|
||||
g.clear();
|
||||
|
||||
// Draw military time at the top
|
||||
g.setColor(g.theme.bg2);
|
||||
g.setFontAlign(0, 0).setFont('4x5Numeric', 2);
|
||||
var militaryTime = ('0' + h).slice(-2) + ('0' + m).slice(-2);
|
||||
g.drawString(militaryTime, x, 20);
|
||||
// Draw military time at the top only if smallNumeralClock is true
|
||||
if (settings.smallNumeralClock) {
|
||||
g.setColor(g.theme.bg2);
|
||||
g.setFontAlign(0, 0).setFont('4x5Numeric', 1);
|
||||
var militaryTime = ('0' + h).slice(-2) + ('0' + m).slice(-2);
|
||||
g.drawString(militaryTime, x, 15);
|
||||
}
|
||||
|
||||
g.setFontAlign(-1, 0).setFont('Vector', 36);
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
"id": "onewordclock",
|
||||
"name": "One Word Clock",
|
||||
"shortName": "One Word",
|
||||
"version": "0.93",
|
||||
"version": "0.94",
|
||||
"description": "A unique clock that displays a single evocative word for each hour of the day",
|
||||
"icon": "app.png",
|
||||
"tags": "clock",
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@
|
|||
// initialize with default settings...
|
||||
const storage = require('Storage');
|
||||
let settings = {
|
||||
screen: "Named",
|
||||
smallNumeralClock: false
|
||||
mode: "Named",
|
||||
smallNumeralClock: true
|
||||
};
|
||||
let saved_settings = storage.readJSON(SETTINGS_FILE, 1) || settings;
|
||||
for (const key in saved_settings) {
|
||||
|
|
@ -20,12 +20,12 @@
|
|||
E.showMenu({
|
||||
'': { 'title': 'One Word Clock' },
|
||||
'< Back': back,
|
||||
'Screen': {
|
||||
value: 0 | screenOptions.indexOf(settings.screen),
|
||||
'Mode': {
|
||||
value: 0 | screenOptions.indexOf(settings.mode),
|
||||
min: 0, max: 1,
|
||||
format: v => screenOptions[v],
|
||||
onchange: v => {
|
||||
settings.screen = screenOptions[v];
|
||||
settings.mode = screenOptions[v];
|
||||
save();
|
||||
},
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in New Issue