diff --git a/apps/daisy/app.js b/apps/daisy/app.js index b7db28072..fc65ec7e2 100644 --- a/apps/daisy/app.js +++ b/apps/daisy/app.js @@ -206,7 +206,20 @@ function loadSettings() { } } - settings.fg = settings.fg||'#0ff'; + getInnerOuterMostRing(); + settings.color = settings.color||'Outer'; + settings.fg = settings.fg||'#0f0'; + switch (settings.color) { + case 'Outer': + if (outerMostRing == 0) break; + settings.fg = settings.rings[outerMostRing - 1].fg; + break; + case 'Inner': + if (innerMostRing == 0) break; + settings.fg = settings.rings[innerMostRing - 1].fg; + break; + } + settings.idle_check = (settings.idle_check === undefined ? true : settings.idle_check); settings.batt_hours = (settings.batt_hours === undefined ? false : settings.batt_hours); settings.hr_12 = (global_settings["12hour"] === undefined ? false : global_settings["12hour"]); @@ -525,7 +538,7 @@ function drawClock() { drawAllRings(date, null); setLargeFont(); - g.setColor(settings.rings[outerMostRing - 1].fg); + g.setColor(settings.fg); g.setFontAlign(1,0); // right aligned g.drawString(hh, (w/2) - 1, h/2); @@ -947,7 +960,6 @@ Bangle.setUI("clockupdown", btn=> { loadSettings(); loadLocation(); -getInnerOuterMostRing(); var infoMode = infoList[settings.idxInfo]; updateSunRiseSunSet(new Date(), location.lat, location.lon, true); nextUpdateMs = getDelayMs(1000, settings.rings, Date.now())[0]; diff --git a/apps/daisy/settings.js b/apps/daisy/settings.js index dbf9ee36b..1fe60dda0 100644 --- a/apps/daisy/settings.js +++ b/apps/daisy/settings.js @@ -4,6 +4,7 @@ // default settings let s = { rings: [{}, {}, {}], + color: 'Outer', fg: '#0f0', check_idle: true, batt_hours: false, @@ -57,6 +58,8 @@ function save() { var ring_options = ['Hours', 'Minutes', 'Seconds', 'Day', 'Sun', 'Steps', 'Battery']; var ring_types = ['None', 'Full', 'Semi', 'C']; var step_options = [100, 1000, 5000, 10000, 15000, 20000]; + var color_options_font = ['Outer', 'Inner'].concat(color_options); + var fg_code_font = [null, null].concat(color_options); function showRingMenu(ringIndex) { const ring = s.rings[ringIndex]; @@ -124,6 +127,16 @@ function save() { 'Ring 1': () => showRingMenu(0), 'Ring 2': () => showRingMenu(1), 'Ring 3': () => showRingMenu(2), + 'Hour Color': { + value: 0 | color_options_font.indexOf(s.color), + min: 0, max: color_options_font.length - 1, + format: v => color_options_font[v], + onchange: v => { + s.color = color_options_font[v]; + s.fg = fg_code_font[v]; + save(); + }, + }, 'Battery Life Format' : { value: !!s.batt_hours, format: value => value?"Days":"%",