mirror of https://github.com/espruino/BangleApps
Convert Yes/No On/Off in settings to checkboxes, add /*LANG*/ to some more text strings
parent
8bc9c5de25
commit
0ba8cef33c
|
@ -3,3 +3,4 @@
|
|||
0.03: Exit as first menu option, dont show decimal places for seconds
|
||||
0.04: Localisation, change Exit->Back to allow back-arrow to appear on 2v13 firmware
|
||||
0.05: Add max G values during recording, record actual G values and magnitude to CSV
|
||||
0.06: Convert Yes/No On/Off in settings to checkboxes
|
||||
|
|
|
@ -26,8 +26,7 @@ function showMenu() {
|
|||
viewLogs();
|
||||
},
|
||||
/*LANG*/"Log raw data" : {
|
||||
value : logRawData,
|
||||
format : v => v?/*LANG*/"Yes":/*LANG*/"No",
|
||||
value : !!logRawData,
|
||||
onchange : v => { logRawData=v; }
|
||||
},
|
||||
};
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"id": "accellog",
|
||||
"name": "Acceleration Logger",
|
||||
"shortName": "Accel Log",
|
||||
"version": "0.05",
|
||||
"version": "0.06",
|
||||
"description": "Logs XYZ acceleration data to a CSV file that can be downloaded to your PC",
|
||||
"icon": "app.png",
|
||||
"tags": "outdoor",
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
var mainmenu = {
|
||||
"" : { "title" : "Android" },
|
||||
"< Back" : back,
|
||||
/*LANG*/"Connected" : { value : NRF.getSecurityStatus().connected?"Yes":"No" },
|
||||
/*LANG*/"Connected" : { value : NRF.getSecurityStatus().connected?/*LANG*/"Yes":/*LANG*/"No" },
|
||||
/*LANG*/"Find Phone" : () => E.showMenu({
|
||||
"" : { "title" : /*LANG*/"Find Phone" },
|
||||
"< Back" : ()=>E.showMenu(mainmenu),
|
||||
|
|
|
@ -96,7 +96,7 @@ function draw(){
|
|||
if (!isNaN(bt.battery)) layout.btBattery.label = bt.battery + "%";
|
||||
if (bt.rr) layout.btRR.label = bt.rr.join(",");
|
||||
if (!isNaN(bt.location)) layout.btLocation.label = BODY_LOCS[bt.location];
|
||||
if (bt.contact !== undefined) layout.btContact.label = bt.contact ? "Yes":"No";
|
||||
if (bt.contact !== undefined) layout.btContact.label = bt.contact ? /*LANG*/"Yes":/*LANG*/"No";
|
||||
if (!isNaN(bt.energy)) layout.btEnergy.label = bt.energy.toFixed(0) + "kJ";
|
||||
} else {
|
||||
layout.bt.label = "--";
|
||||
|
|
|
@ -4,3 +4,4 @@
|
|||
0.04: Use default Bangle formatter for booleans
|
||||
0.05: Improved colors (connected vs disconnected)
|
||||
0.06: Tell clock widgets to hide.
|
||||
0.07: Convert Yes/No On/Off in settings to checkboxes
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "clockcal",
|
||||
"name": "Clock & Calendar",
|
||||
"version": "0.06",
|
||||
"version": "0.07",
|
||||
"description": "Clock with Calendar",
|
||||
"readme":"README.md",
|
||||
"icon": "app.png",
|
||||
|
|
|
@ -106,18 +106,11 @@
|
|||
writeSettings();
|
||||
}
|
||||
},
|
||||
'Load deafauls?': {
|
||||
value: 0,
|
||||
min: 0, max: 1,
|
||||
format: v => ["No", "Yes"][v],
|
||||
onchange: v => {
|
||||
if (v == 1) {
|
||||
'Load defaults': () => {
|
||||
settings = defaults;
|
||||
writeSettings();
|
||||
load();
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
// Show the menu
|
||||
E.showMenu(menu);
|
||||
|
|
|
@ -6,3 +6,4 @@
|
|||
0.06: Now read wheel rev as well as cadence sensor
|
||||
Improve connection code
|
||||
0.07: Make Bangle.js 2 compatible
|
||||
0.08: Convert Yes/No On/Off in settings to checkboxes
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"id": "cscsensor",
|
||||
"name": "Cycling speed sensor",
|
||||
"shortName": "CSCSensor",
|
||||
"version": "0.07",
|
||||
"version": "0.08",
|
||||
"description": "Read BLE enabled cycling speed and cadence sensor and display readings on watch",
|
||||
"icon": "icons8-cycling-48.png",
|
||||
"tags": "outdoors,exercise,ble,bluetooth",
|
||||
|
|
|
@ -23,17 +23,17 @@
|
|||
}
|
||||
}
|
||||
const menu = {
|
||||
'': { 'title': 'Cycle speed sensor' },
|
||||
'': { 'title': /*LANG*/'Cycle speed sensor' },
|
||||
'< Back': back,
|
||||
'Wheel circ.(mm)': {
|
||||
/*LANG*/'Wheel circ.(mm)': {
|
||||
value: s.wheelcirc,
|
||||
min: 800,
|
||||
max: 2400,
|
||||
step: 5,
|
||||
onchange: save('wheelcirc'),
|
||||
},
|
||||
'Reset total distance': function() {
|
||||
E.showPrompt("Zero total distance?", {buttons: {"No":false, "Yes":true}}).then(function(v) {
|
||||
/*LANG*/'Reset total distance': function() {
|
||||
E.showPrompt(/*LANG*/"Zero total distance?", {buttons: {/*LANG*/"No":false, /*LANG*/"Yes":true}}).then(function(v) {
|
||||
if (v) {
|
||||
s['totaldist'] = 0;
|
||||
storage.write(SETTINGS_FILE, s);
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
0.01: New App!
|
||||
0.02: Add lightning
|
||||
0.03: Convert Yes/No On/Off in settings to checkboxes
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ "id": "f9lander",
|
||||
"name": "Falcon9 Lander",
|
||||
"shortName":"F9lander",
|
||||
"version":"0.02",
|
||||
"version":"0.03",
|
||||
"description": "Land a rocket booster",
|
||||
"icon": "f9lander.png",
|
||||
"screenshots" : [ { "url":"f9lander_screenshot1.png" }, { "url":"f9lander_screenshot2.png" }, { "url":"f9lander_screenshot3.png" }],
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
/**
|
||||
* @param {function} back Use back() to return to settings menu
|
||||
*/
|
||||
const boolFormat = v => v ? /*LANG*/"On" : /*LANG*/"Off";
|
||||
(function(back) {
|
||||
const SETTINGS_FILE = 'f9settings.json'
|
||||
// initialize with default settings...
|
||||
|
@ -27,8 +26,7 @@ const boolFormat = v => v ? /*LANG*/"On" : /*LANG*/"Off";
|
|||
'': { 'title': 'OpenWind' },
|
||||
'< Back': back,
|
||||
'Lightning': {
|
||||
value: settings.lightning,
|
||||
format: boolFormat,
|
||||
value: !!settings.lightning,
|
||||
onchange: save('lightning'),
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ var m;
|
|||
var files;
|
||||
|
||||
function delete_file(fn) {
|
||||
E.showPrompt("Delete\n"+fn+"?", {buttons: {"No":false, "Yes":true}}).then(function(v) {
|
||||
E.showPrompt(/*LANG*/"Delete\n"+fn+"?", {buttons: {/*LANG*/"No":false, /*LANG*/"Yes":true}}).then(function(v) {
|
||||
if (v) {
|
||||
if (fn.charCodeAt(fn.length-1)==1) {
|
||||
var fh = STOR.open(fn.substr(0, fn.length-1), "r");
|
||||
|
|
|
@ -24,13 +24,13 @@
|
|||
var mainmenu = {
|
||||
"" : { "title" : "Gadgetbridge" },
|
||||
"< Back" : back,
|
||||
"Connected" : { value : NRF.getSecurityStatus().connected?"Yes":"No" },
|
||||
"Show Icon" : {
|
||||
/*LANG*/"Connected" : { value : NRF.getSecurityStatus().connected?/*LANG*/"Yes":/*LANG*/"No" },
|
||||
/*LANG*/"Show Icon" : {
|
||||
value: settings().showIcon,
|
||||
onchange: setIcon
|
||||
},
|
||||
"Find Phone" : function() { E.showMenu(findPhone); },
|
||||
"Record HRM" : {
|
||||
/*LANG*/"Find Phone" : function() { E.showMenu(findPhone); },
|
||||
/*LANG*/"Record HRM" : {
|
||||
value: !!settings().hrm,
|
||||
onchange: v => updateSetting('hrm', v)
|
||||
}
|
||||
|
@ -38,8 +38,8 @@
|
|||
|
||||
var findPhone = {
|
||||
"" : { "title" : "-- Find Phone --" },
|
||||
"On" : _=>gb({t:"findPhone",n:true}),
|
||||
"Off" : _=>gb({t:"findPhone",n:false}),
|
||||
/*LANG*/"On" : _=>gb({t:"findPhone",n:true}),
|
||||
/*LANG*/"Off" : _=>gb({t:"findPhone",n:false}),
|
||||
"< Back" : function() { E.showMenu(mainmenu); },
|
||||
};
|
||||
|
||||
|
|
|
@ -73,3 +73,5 @@
|
|||
* Display current and next segment in red so that you know where to go.
|
||||
* Avoid angles flickering at low speed at the cost of less refresh.
|
||||
* Splash screen while waiting for gps signal.
|
||||
|
||||
0.17: Convert Yes/No On/Off in settings to checkboxes
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"id": "gipy",
|
||||
"name": "Gipy",
|
||||
"shortName": "Gipy",
|
||||
"version": "0.16",
|
||||
"version": "0.17",
|
||||
"description": "Follow gpx files using the gps. Don't get lost in your bike trips and hikes.",
|
||||
"allow_emulator":false,
|
||||
"icon": "gipy.png",
|
||||
|
|
|
@ -19,8 +19,7 @@
|
|||
"< Back": () => back(),
|
||||
"keep gps alive": {
|
||||
value: !!settings.keep_gps_alive, // !! converts undefined to false
|
||||
format: (v) => (v ? "Yes" : "No"),
|
||||
onchange: (v) => {
|
||||
onchange: v => {
|
||||
settings.keep_gps_alive = v;
|
||||
writeSettings();
|
||||
},
|
||||
|
|
|
@ -46,8 +46,8 @@ var mainMenu = {
|
|||
"Reset Homework": function() {
|
||||
E.showPrompt("Are you sure you want to delete homework.txt?", {
|
||||
buttons: {
|
||||
"No": false,
|
||||
"Yes": true
|
||||
/*LANG*/"No": false,
|
||||
/*LANG*/"Yes": true
|
||||
}
|
||||
}).then(function(v) {
|
||||
if (v) {
|
||||
|
|
|
@ -21,11 +21,11 @@ var screens = [
|
|||
name: "Hardware",
|
||||
items: [
|
||||
{name: "Battery", fun: () => E.getBattery() + "%"},
|
||||
{name: "Charge?", fun: () => Bangle.isCharging() ? "Yes" : "No"},
|
||||
{name: "Charge?", fun: () => Bangle.isCharging() ? /*LANG*/"Yes" : /*LANG*/"No"},
|
||||
{name: "TempInt.", fun: () => locale.temp(parseInt(E.getTemperature()))},
|
||||
{name: "Bluetooth", fun: () => NRF.getSecurityStatus().connected ? "Conn" : "NoConn"},
|
||||
{name: "GPS", fun: () => Bangle.isGPSOn() ? "On" : "Off"},
|
||||
{name: "Compass", fun: () => Bangle.isCompassOn() ? "On" : "Off"},
|
||||
{name: "Bluetooth", fun: () => NRF.getSecurityStatus().connected ? /*LANG*/"Conn" : /*LANG*/"NoConn"},
|
||||
{name: "GPS", fun: () => Bangle.isGPSOn() ? /*LANG*/"On" : /*LANG*/"Off"},
|
||||
{name: "Compass", fun: () => Bangle.isCompassOn() ? /*LANG*/"On" : /*LANG*/"Off"},
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
0.01: New App!
|
||||
0.02: Introduced settings to customize the layout and functionality of the keyboard.
|
||||
0.03: Convert Yes/No On/Off in settings to checkboxes
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ "id": "kbtouch",
|
||||
"name": "Touch keyboard",
|
||||
"version":"0.02",
|
||||
"version":"0.03",
|
||||
"description": "A library for text input via onscreen keyboard",
|
||||
"icon": "app.png",
|
||||
"type":"textinput",
|
||||
|
|
|
@ -25,22 +25,16 @@
|
|||
onchange: v => updateSetting("textSize", v)
|
||||
},
|
||||
/*LANG*/'Offset keyboard': {
|
||||
value: settings().offsetKeyboard,
|
||||
min: 0, max: 1,
|
||||
format: v => [/*LANG*/"No",/*LANG*/"Yes"][v],
|
||||
onchange: v => updateSetting("offsetKeyboard", v)
|
||||
value: !!settings().offsetKeyboard,
|
||||
onchange: v => updateSetting("offsetKeyboard", v?1:0)
|
||||
},
|
||||
/*LANG*/'Loop around': {
|
||||
value: settings().loopAround,
|
||||
min: 0, max: 1,
|
||||
format: v => [/*LANG*/"No",/*LANG*/"Yes"][v],
|
||||
onchange: v => updateSetting("loopAround", v)
|
||||
value: !!settings().loopAround,
|
||||
onchange: v => updateSetting("loopAround", v?1:0)
|
||||
},
|
||||
/*LANG*/'One-to-one input and release to select': {
|
||||
value: settings().oneToOne,
|
||||
min: 0, max: 1,
|
||||
format: v => [/*LANG*/"No",/*LANG*/"Yes"][v],
|
||||
onchange: v => updateSetting("oneToOne", v)
|
||||
value: !!settings().oneToOne,
|
||||
onchange: v => updateSetting("oneToOne", v?1:0)
|
||||
},
|
||||
/*LANG*/'Speed scaling': {
|
||||
value: settings().speedScaling,
|
||||
|
@ -49,10 +43,8 @@
|
|||
onchange: v => updateSetting("speedScaling", v)
|
||||
}
|
||||
///*LANG*/'Release to select': {
|
||||
// value: 1|settings().fontSize,
|
||||
// min: 0, max: 1,
|
||||
// format: v => [/*LANG*/"No",/*LANG*/"Yes"][v],
|
||||
// onchange: v => updateSetting("releaseToSelect", v)
|
||||
// value: !!(1|settings().fontSize),
|
||||
// onchange: v => updateSetting("releaseToSelect", v?1:0)
|
||||
//}
|
||||
};
|
||||
E.showMenu(mainmenu);
|
||||
|
|
|
@ -73,7 +73,7 @@ let lastTemp = 0;
|
|||
|
||||
const phone = {
|
||||
get status() {
|
||||
return NRF.getSecurityStatus().connected ? "Yes" : "No";
|
||||
return NRF.getSecurityStatus().connected ? /*LANG*/"Yes" : /*LANG*/"No";
|
||||
},
|
||||
message: null,
|
||||
messageTimeout: null,
|
||||
|
|
|
@ -3,4 +3,5 @@
|
|||
0.03: Optional show lock status via color
|
||||
0.04: Ensure that widgets are always hidden in fullscreen mode
|
||||
0.05: Better lock/unlock animation
|
||||
0.06: Use widget_utils.
|
||||
0.06: Use widget_utils
|
||||
0.07: Convert Yes/No On/Off in settings to checkboxes
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"id": "neonx",
|
||||
"name": "Neon X & IO X Clock",
|
||||
"shortName": "Neon X Clock",
|
||||
"version": "0.06",
|
||||
"version": "0.07",
|
||||
"description": "Pebble Neon X & Neon IO X for Bangle.js",
|
||||
"icon": "neonx.png",
|
||||
"type": "clock",
|
||||
|
|
|
@ -25,11 +25,9 @@
|
|||
"" : { "title":"Neon X & IO"},
|
||||
"< Back": back,
|
||||
"Neon IO X": {
|
||||
value: 0 | neonXSettings.io,
|
||||
min: 0, max: 1,
|
||||
format: v => v ? "On" : "Off",
|
||||
value: !!neonXSettings.io,
|
||||
onchange: v => {
|
||||
neonXSettings.io = v;
|
||||
neonXSettings.io = v?1:0;
|
||||
updateSettings();
|
||||
}
|
||||
},
|
||||
|
@ -43,27 +41,23 @@
|
|||
}
|
||||
},
|
||||
"Date on touch": {
|
||||
value: 0 | neonXSettings.showDate,
|
||||
min: 0, max: 1,
|
||||
format: v => v ? "On" : "Off",
|
||||
value: !!neonXSettings.showDate,
|
||||
onchange: v => {
|
||||
neonXSettings.showDate = v;
|
||||
neonXSettings.showDate = v?1:0;
|
||||
updateSettings();
|
||||
}
|
||||
},
|
||||
'Fullscreen': {
|
||||
value: false | neonXSettings.fullscreen,
|
||||
format: () => (neonXSettings.fullscreen ? 'Yes' : 'No'),
|
||||
onchange: () => {
|
||||
neonXSettings.fullscreen = !neonXSettings.fullscreen;
|
||||
value: !!neonXSettings.fullscreen,
|
||||
onchange: v => {
|
||||
neonXSettings.fullscreen = v;
|
||||
updateSettings();
|
||||
},
|
||||
},
|
||||
'Show lock': {
|
||||
value: false | neonXSettings.showLock,
|
||||
format: () => (neonXSettings.showLock ? 'Yes' : 'No'),
|
||||
onchange: () => {
|
||||
neonXSettings.showLock = !neonXSettings.showLock;
|
||||
value: !!neonXSettings.showLock,
|
||||
onchange: v => {
|
||||
neonXSettings.showLock = v;
|
||||
updateSettings();
|
||||
},
|
||||
},
|
||||
|
|
|
@ -8,3 +8,4 @@
|
|||
0.08: Add new draw styles, tidy up draw functionality
|
||||
0.09: Tweak for faster rendering
|
||||
0.10: Enhance for use with Bangle2, insert new draw mode 'thickfill'
|
||||
0.11: Convert Yes/No On/Off in settings to checkboxes
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"id": "numerals",
|
||||
"name": "Numerals Clock",
|
||||
"shortName": "Numerals Clock",
|
||||
"version": "0.10",
|
||||
"version": "0.11",
|
||||
"description": "A simple big numerals clock",
|
||||
"icon": "numerals.png",
|
||||
"type": "clock",
|
||||
|
|
|
@ -30,10 +30,8 @@
|
|||
onchange: v=> { numeralsSettings.drawMode=dm[v]; updateSettings();}
|
||||
},
|
||||
"Date on touch": {
|
||||
value: 0|numeralsSettings.showDate,
|
||||
min:0,max:1,
|
||||
format: v=>v?"On":"Off",
|
||||
onchange: v=> { numeralsSettings.showDate=v; updateSettings();}
|
||||
value: !!numeralsSettings.showDate,
|
||||
onchange: v=> { numeralsSettings.showDate=v?1:0; updateSettings();}
|
||||
},
|
||||
"< back": back
|
||||
};
|
||||
|
|
|
@ -6,3 +6,4 @@
|
|||
0.05: Add back button to settings menu.
|
||||
0.06: Allow logging of some things using power
|
||||
Add widget for live monitoring of power use
|
||||
0.07: Convert Yes/No On/Off in settings to checkboxes
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"id": "powermanager",
|
||||
"name": "Power Manager",
|
||||
"shortName": "Power Manager",
|
||||
"version": "0.06",
|
||||
"version": "0.07",
|
||||
"description": "Allow configuration of warnings and thresholds for battery charging and display.",
|
||||
"icon": "app.png",
|
||||
"type": "bootloader",
|
||||
|
|
|
@ -106,7 +106,6 @@
|
|||
},
|
||||
'Enabled': {
|
||||
value: !!settings.warnEnabled,
|
||||
format: v => settings.warnEnabled ? "On" : "Off",
|
||||
onchange: v => {
|
||||
writeSettings("warnEnabled", v);
|
||||
}
|
||||
|
|
|
@ -25,3 +25,4 @@
|
|||
0.19: Fix track plotting code
|
||||
0.20: Automatic translation of some more strings.
|
||||
0.21: Speed report now uses speed units from locale
|
||||
0.22: Convert Yes/No On/Off in settings to checkboxes
|
||||
|
|
|
@ -56,7 +56,6 @@ function showMainMenu() {
|
|||
'< Back': ()=>{load();},
|
||||
/*LANG*/'RECORD': {
|
||||
value: !!settings.recording,
|
||||
format: v=>v?/*LANG*/"On":/*LANG*/"Off",
|
||||
onchange: v => {
|
||||
setTimeout(function() {
|
||||
E.showMenu();
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"id": "recorder",
|
||||
"name": "Recorder",
|
||||
"shortName": "Recorder",
|
||||
"version": "0.21",
|
||||
"version": "0.22",
|
||||
"description": "Record GPS position, heart rate and more in the background, then download to your PC.",
|
||||
"icon": "app.png",
|
||||
"tags": "tool,outdoors,gps,widget",
|
||||
|
|
|
@ -63,3 +63,4 @@
|
|||
0.56: make System menu items shorter and more consistant, Eg 'Clock', intead
|
||||
of 'Select Clock'
|
||||
0.57: Settings.log = 0,1,2,3 for off,display,log,both
|
||||
0.58: On/Off settings items now use checkboxes
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "setting",
|
||||
"name": "Settings",
|
||||
"version": "0.57",
|
||||
"version": "0.58",
|
||||
"description": "A menu for setting up Bangle.js",
|
||||
"icon": "settings.png",
|
||||
"tags": "tool,system",
|
||||
|
|
|
@ -64,8 +64,6 @@ if (("object" != typeof settings) ||
|
|||
("object" != typeof settings.options))
|
||||
resetSettings();
|
||||
|
||||
const boolFormat = v => v ? /*LANG*/"On" : /*LANG*/"Off";
|
||||
|
||||
function showMainMenu() {
|
||||
|
||||
const mainmenu = {
|
||||
|
@ -102,7 +100,6 @@ function showAlertsMenu() {
|
|||
if (BANGLEJS2) {
|
||||
beepMenuItem = {
|
||||
value: settings.beep!=false,
|
||||
format: boolFormat,
|
||||
onchange: v => {
|
||||
settings.beep = v;
|
||||
updateSettings();
|
||||
|
@ -134,7 +131,6 @@ function showAlertsMenu() {
|
|||
/*LANG*/'Beep': beepMenuItem,
|
||||
/*LANG*/'Vibration': {
|
||||
value: settings.vibrate,
|
||||
format: boolFormat,
|
||||
onchange: () => {
|
||||
settings.vibrate = !settings.vibrate;
|
||||
updateSettings();
|
||||
|
@ -169,7 +165,6 @@ function showBLEMenu() {
|
|||
/*LANG*/'Make Connectable': ()=>makeConnectable(),
|
||||
/*LANG*/'BLE': {
|
||||
value: settings.ble,
|
||||
format: boolFormat,
|
||||
onchange: () => {
|
||||
settings.ble = !settings.ble;
|
||||
updateSettings();
|
||||
|
@ -177,7 +172,6 @@ function showBLEMenu() {
|
|||
},
|
||||
/*LANG*/'Programmable': {
|
||||
value: settings.blerepl,
|
||||
format: boolFormat,
|
||||
onchange: () => {
|
||||
settings.blerepl = !settings.blerepl;
|
||||
updateSettings();
|
||||
|
@ -428,7 +422,6 @@ function showLCDMenu() {
|
|||
},
|
||||
/*LANG*/'Wake on BTN1': {
|
||||
value: settings.options.wakeOnBTN1,
|
||||
format: boolFormat,
|
||||
onchange: () => {
|
||||
settings.options.wakeOnBTN1 = !settings.options.wakeOnBTN1;
|
||||
updateOptions();
|
||||
|
@ -439,7 +432,6 @@ function showLCDMenu() {
|
|||
Object.assign(lcdMenu, {
|
||||
/*LANG*/'Wake on BTN2': {
|
||||
value: settings.options.wakeOnBTN2,
|
||||
format: boolFormat,
|
||||
onchange: () => {
|
||||
settings.options.wakeOnBTN2 = !settings.options.wakeOnBTN2;
|
||||
updateOptions();
|
||||
|
@ -447,7 +439,6 @@ function showLCDMenu() {
|
|||
},
|
||||
/*LANG*/'Wake on BTN3': {
|
||||
value: settings.options.wakeOnBTN3,
|
||||
format: boolFormat,
|
||||
onchange: () => {
|
||||
settings.options.wakeOnBTN3 = !settings.options.wakeOnBTN3;
|
||||
updateOptions();
|
||||
|
@ -456,7 +447,6 @@ function showLCDMenu() {
|
|||
Object.assign(lcdMenu, {
|
||||
/*LANG*/'Wake on FaceUp': {
|
||||
value: settings.options.wakeOnFaceUp,
|
||||
format: boolFormat,
|
||||
onchange: () => {
|
||||
settings.options.wakeOnFaceUp = !settings.options.wakeOnFaceUp;
|
||||
updateOptions();
|
||||
|
@ -464,7 +454,6 @@ function showLCDMenu() {
|
|||
},
|
||||
/*LANG*/'Wake on Touch': {
|
||||
value: settings.options.wakeOnTouch,
|
||||
format: boolFormat,
|
||||
onchange: () => {
|
||||
settings.options.wakeOnTouch = !settings.options.wakeOnTouch;
|
||||
updateOptions();
|
||||
|
@ -472,7 +461,6 @@ function showLCDMenu() {
|
|||
},
|
||||
/*LANG*/'Wake on Twist': {
|
||||
value: settings.options.wakeOnTwist,
|
||||
format: boolFormat,
|
||||
onchange: () => {
|
||||
settings.options.wakeOnTwist = !settings.options.wakeOnTwist;
|
||||
updateOptions();
|
||||
|
|
|
@ -17,3 +17,4 @@
|
|||
0.14: Reduce update interval of current time when seconds are not shown
|
||||
Limit logging on Bangle.js 1 to one day due to low memory
|
||||
Add plot logged data to settings
|
||||
0.15: Convert Yes/No On/Off in settings to checkboxes
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"id": "sleepphasealarm",
|
||||
"name": "SleepPhaseAlarm",
|
||||
"shortName": "SleepPhaseAlarm",
|
||||
"version": "0.14",
|
||||
"version": "0.15",
|
||||
"description": "Uses the accelerometer to estimate sleep and wake states with the principle of Estimation of Stationary Sleep-segments (ESS, see https://ubicomp.eti.uni-siegen.de/home/datasets/ichi14/index.html.en). This app will read the next alarm from the alarm application and will wake you up to 30 minutes early at the best guessed time when you are almost already awake.",
|
||||
"icon": "app.png",
|
||||
"tags": "tool,alarm",
|
||||
|
|
|
@ -91,7 +91,6 @@
|
|||
"" : { "title" : "SleepPhaseAlarm" },
|
||||
'Keep alarm enabled': {
|
||||
value: !!config.settings.disableAlarm,
|
||||
format: v => v?"No":"Yes",
|
||||
onchange: v => {
|
||||
config.settings.disableAlarm = v;
|
||||
writeSettings();
|
||||
|
|
|
@ -9,3 +9,4 @@
|
|||
0.09: Added button control toggle and other live controls to new settings screen.
|
||||
0.10: Tell clock widgets to hide.
|
||||
0.11: Added new styling and watch faces
|
||||
0.12: Convert Yes/No On/Off in settings to checkboxes
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "slidingtext",
|
||||
"name": "Sliding Clock",
|
||||
"version": "0.11",
|
||||
"version": "0.12",
|
||||
"description": "Inspired by the Pebble sliding clock, old times are scrolled off the screen and new times on. You are also able to change language on the fly so you can see the time written in other languages using button 1. Currently English, French, Japanese, Spanish and German are supported",
|
||||
"icon": "slidingtext.png",
|
||||
"screenshots": [{"url":"slidingtext-screenshot.english.png"},{"url":"slidingtext-screenshot.english2.png"},{"url":"slidingtext-screenshot.hybrid.png"}],
|
||||
|
|
|
@ -173,8 +173,7 @@
|
|||
"Colour": stringInSettings("color_scheme", ["black","white", "red","grey","purple","blue"]),
|
||||
"Style": 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",
|
||||
value: (settings.enable_live_controls !== undefined ? !!settings.enable_live_controls : true),
|
||||
onchange: v => {
|
||||
settings.enable_live_controls = v;
|
||||
writeSettings();
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
'': {'title': 'SloMo Clock'},
|
||||
'< Back': back,
|
||||
'Colours' : function() { E.showMenu(colMenu); }
|
||||
//,'Widget Space Top' : {value : settings.widTop, format : v => v?"On":"Off",onchange : () => { settings.widTop = !settings.widTop; writeSettings(); }
|
||||
//,'Widget Space Bottom' : {value : settings.widBot, format : v => v?"On":"Off",onchange : () => { settings.widBot = !settings.widBot; writeSettings(); }
|
||||
//,'Widget Space Top' : {value : settings.widTop, onchange : () => { settings.widTop = !settings.widTop; writeSettings(); }
|
||||
//,'Widget Space Bottom' : {value : settings.widBot, onchange : () => { settings.widBot = !settings.widBot; writeSettings(); }
|
||||
};
|
||||
|
||||
const colMenu = {
|
||||
|
|
|
@ -6,3 +6,4 @@
|
|||
0.06: Added adjustment for Bangle.js magnetometer heading fix
|
||||
0.07: Add settings file with the option to disable the slow direction updates
|
||||
0.08: Use tilt compensation from new magnav library
|
||||
0.09: Convert Yes/No On/Off in settings to checkboxes
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "waypointer",
|
||||
"name": "Way Pointer",
|
||||
"version": "0.08",
|
||||
"version": "0.09",
|
||||
"description": "Navigate to a waypoint using the GPS for bearing and compass to point way, uses the same waypoint interface as GPS Navigation",
|
||||
"icon": "waypointer.png",
|
||||
"tags": "tool,outdoors,gps",
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
"< Back" : () => back(),
|
||||
'Smooth arrow rot': {
|
||||
value: !!settings.smoothDirection,
|
||||
format: v => v?"Yes":"No",
|
||||
onchange: v => {
|
||||
settings.smoothDirection = v;
|
||||
writeSettings();
|
||||
|
|
|
@ -5,3 +5,4 @@
|
|||
0.03: Fix Bell not appearing on alarms > 24h and redrawing interval
|
||||
Update to match the default alarm widget, and not show itself when an alarm is hidden.
|
||||
0.04: Fix check for active alarm
|
||||
0.05: Convert Yes/No On/Off in settings to checkboxes
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"id": "widalarmeta",
|
||||
"name": "Alarm & Timer ETA",
|
||||
"shortName": "Alarm ETA",
|
||||
"version": "0.04",
|
||||
"version": "0.05",
|
||||
"description": "A widget that displays the time to the next Alarm or Timer in hours and minutes, maximum 24h (configurable).",
|
||||
"icon": "widget.png",
|
||||
"type": "widget",
|
||||
|
|
|
@ -26,7 +26,6 @@
|
|||
},
|
||||
/*LANG*/'Draw bell': {
|
||||
value: !!settings.drawBell,
|
||||
format: v => v?/*LANG*/"Yes":/*LANG*/"No",
|
||||
onchange: v => {
|
||||
settings.drawBell = v;
|
||||
writeSettings();
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
0.01: Initial version
|
||||
0.02: Checks for correct firmware; E.setDST(...) moved to boot.js
|
||||
0.03: Convert Yes/No On/Off in settings to checkboxes
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ "id": "widdst",
|
||||
"name": "Daylight Saving",
|
||||
"version":"0.02",
|
||||
"version":"0.03",
|
||||
"description": "Widget to set daylight saving rules. Requires Espruino 2v14.49 or later - see the instructions below for more information.",
|
||||
"icon": "icon.png",
|
||||
"type": "widget",
|
||||
|
|
|
@ -138,16 +138,14 @@
|
|||
},
|
||||
"< Back": () => back(),
|
||||
/*LANG*/"Enabled": {
|
||||
value: settings.has_dst,
|
||||
format: v => v ? /*LANG*/"Yes" : /*LANG*/"No",
|
||||
value: !!settings.has_dst,
|
||||
onchange: v => {
|
||||
settings.has_dst = v;
|
||||
writeSettings();
|
||||
}
|
||||
},
|
||||
/*LANG*/"Icon": {
|
||||
value: settings.show_icon,
|
||||
format: v => v ? /*LANG*/"Yes" : /*LANG*/"No",
|
||||
value: !!settings.show_icon,
|
||||
onchange: v => {
|
||||
settings.show_icon = v;
|
||||
writeSettings();
|
||||
|
|
Loading…
Reference in New Issue