diff --git a/apps/slidingtext/custom.html b/apps/slidingtext/custom.html deleted file mode 100644 index 5e89e230b..000000000 --- a/apps/slidingtext/custom.html +++ /dev/null @@ -1,71 +0,0 @@ - -
- - - - -Please select watch languages (Max 3, only the first 3 selected will be loaded)
- -Enabled | -Name | -
---|
Click
- - - - - - diff --git a/apps/slidingtext/metadata.json b/apps/slidingtext/metadata.json index 15707c1ad..0e36f61b8 100644 --- a/apps/slidingtext/metadata.json +++ b/apps/slidingtext/metadata.json @@ -8,7 +8,6 @@ "tags": "clock", "supports": ["BANGLEJS","BANGLEJS2"], "readme": "README.md", - "custom": "custom.html", "allow_emulator": false, "storage": [ {"name":"slidingtext.app.js","url":"slidingtext.js"}, diff --git a/apps/slidingtext/slidingtext.dtfmt.js b/apps/slidingtext/slidingtext.dtfmt.js index 2dd0d09b4..352804c28 100644 --- a/apps/slidingtext/slidingtext.dtfmt.js +++ b/apps/slidingtext/slidingtext.dtfmt.js @@ -14,7 +14,11 @@ class DateFormatter { {major_minor: 'major', info_type: 'time'} : {major_minor: 'minor', info_type: 'time'}; } - formatProperties(){ return {}; } + formatProperties(){ + return { + default_style: {} + }; + } } module.exports = DateFormatter; \ No newline at end of file diff --git a/apps/slidingtext/slidingtext.js b/apps/slidingtext/slidingtext.js index 01485f589..20ebc48fb 100644 --- a/apps/slidingtext/slidingtext.js +++ b/apps/slidingtext/slidingtext.js @@ -300,7 +300,10 @@ var style; var style_settings; function init_style() { if(style_settings == null){ - style_settings = date_formatter.formatProperties().default_style; + var formatProps = date_formatter.formatProperties(); + if(formatProps != null){ + style_settings = formatProps.default_style; + } } if(style_settings == null){ style_settings = {}; @@ -658,16 +661,20 @@ class DigitDateTimeFormatter { } } -var date_formatter = new DigitDateTimeFormatter(); +var date_formatter; function set_dateformat(shortname){ console.log("setting date format:" + shortname); try { if (date_formatter == null || date_formatter.shortName() !== shortname) { - date_formatter = require("slidingtext.locale." + shortname + ".js"); + var date_formatter_class = require("slidingtext.locale." + shortname + ".js"); + date_formatter = new date_formatter_class(); } } catch(e){ console.log("Failed to load " + shortname); } + if(date_formatter == null){ + date_formatter = new DigitDateTimeFormatter(); + } } var enable_live_controls = false; @@ -682,7 +689,6 @@ function load_settings() { if (settings != null) { console.log("loaded:" + JSON.stringify(settings)); - if (settings.date_format != null) { set_dateformat(settings.date_format); if (settings.style_settings != null) { diff --git a/apps/slidingtext/slidingtext.settings.js b/apps/slidingtext/slidingtext.settings.js index d1006990e..d87dfce26 100644 --- a/apps/slidingtext/slidingtext.settings.js +++ b/apps/slidingtext/slidingtext.settings.js @@ -7,19 +7,16 @@ settings.enable_live_controls = (g.getHeight()> 200); } console.log("loaded:" + JSON.stringify(settings)); - - const LANGUAGES_FILE = "slidingtext.languages.json"; - const LANGUAGES_DEFAULT = ["en","en2"]; - var locales = null; - try { - locales = require("Storage").readJSON(LANGUAGES_FILE); - } catch(e) { - console.log("failed to load languages:" + e); - } - if(locales == null || locales.length == 0){ - locales = LANGUAGES_DEFAULT; - console.log("defaulting languages to locale:" + locales); + var locale_mappings = { + 'English Time':'en', + 'English Date + Time': 'en3', + 'English Time (Trad)': 'en2', + 'French': 'fr', + 'German': 'de', + 'Spanish': 'es', + 'Japanese': 'jp', } + var locales = Object.keys(locale_mappings); function writeSettings() { console.log("saving:" + JSON.stringify(settings)); @@ -27,7 +24,7 @@ } // Helper method which uses int-based menu item for set of string values - function stringItems(startvalue, writer, values) { + function stringItems(startvalue, writer, values, value_mapping) { return { value: (startvalue === undefined ? 0 : values.indexOf(startvalue)), format: v => values[v], @@ -36,7 +33,8 @@ wrap: true, step: 1, onchange: v => { - writer(values[v]); + var write_value = (value_mapping == null)? values[v] : value_mapping(values[v]); + writer(write_value); writeSettings(); } }; @@ -52,7 +50,7 @@ "" : { "title" : "Sliding Text" }, "< Back" : () => back(), "Colour": stringInSettings("color_scheme", ["white", "black", "red","grey","purple","blue"]), - "Languages": stringInSettings("date_format", locales), + "Languages": stringInSettings("date_format", locales, (l)=>locale_mappings[l] ), "Live Control": { value: (settings.enable_live_controls !== undefined ? settings.enable_live_controls : true), format: v => v ? "On" : "Off",