BangleApps/apps/kbtouch/settings.js

52 lines
1.7 KiB
JavaScript

(function(back) {
function settings() {
let settings = require('Storage').readJSON("kbtouch.settings.json", true) || {};
if (settings.textSize===undefined) settings.textSize=1;
if (settings.offsetKeyboard===undefined) settings.offsetKeyboard=0;
if (settings.loopAround===undefined) settings.loopAround=1;
if (settings.oneToOne===undefined) settings.oneToOne=0;
if (settings.speedScaling===undefined) settings.speedScaling=24;
return settings;
}
function updateSetting(setting, value) {
let settings = require('Storage').readJSON("kbtouch.settings.json", true) || {};
settings[setting] = value;
require('Storage').writeJSON("kbtouch.settings.json", settings);
}
var mainmenu = {
"" : { "title" : /*LANG*/"Touch Keyboard" },
"< Back" : back,
/*LANG*/'Text size': {
value: settings().textSize,
min: 0, max: 1,
format: v => [/*LANG*/"Small",/*LANG*/"Big"][v],
onchange: v => updateSetting("textSize", v)
},
/*LANG*/'Offset keyboard': {
value: !!settings().offsetKeyboard,
onchange: v => updateSetting("offsetKeyboard", v?1:0)
},
/*LANG*/'Loop around': {
value: !!settings().loopAround,
onchange: v => updateSetting("loopAround", v?1:0)
},
/*LANG*/'One-to-one input and release to select': {
value: !!settings().oneToOne,
onchange: v => updateSetting("oneToOne", v?1:0)
},
/*LANG*/'Speed scaling': {
value: settings().speedScaling,
min: 1, max: 24, step : 1,
format: v => v,
onchange: v => updateSetting("speedScaling", v)
}
///*LANG*/'Release to select': {
// value: !!(1|settings().fontSize),
// onchange: v => updateSetting("releaseToSelect", v?1:0)
//}
};
E.showMenu(mainmenu);
})