|
1 | 1 | (function(back) { |
2 | 2 | const iconColorModes = ['color', 'mono']; |
3 | 3 |
|
4 | | - function settings() { |
| 4 | + function loadSettings() { |
5 | 5 | let settings = require('Storage').readJSON("messages.settings.json", true) || {}; |
6 | 6 | if (settings.vibrate===undefined) settings.vibrate=":"; |
7 | 7 | if (settings.vibrateCalls===undefined) settings.vibrateCalls=":"; |
|
19 | 19 | return settings; |
20 | 20 | } |
21 | 21 | function updateSetting(setting, value) { |
22 | | - let settings = require('Storage').readJSON("messages.settings.json", true) || {}; |
23 | 22 | settings[setting] = value; |
24 | 23 | require('Storage').writeJSON("messages.settings.json", settings); |
25 | 24 | } |
| 25 | + var settings = loadSettings(); |
26 | 26 |
|
27 | 27 | var mainmenu = { |
28 | 28 | "" : { "title" : /*LANG*/"Messages" }, |
29 | 29 | "< Back" : back, |
30 | | - /*LANG*/'Vibrate': require("buzz_menu").pattern(settings().vibrate, v => updateSetting("vibrate", v)), |
31 | | - /*LANG*/'Vibrate for calls': require("buzz_menu").pattern(settings().vibrateCalls, v => updateSetting("vibrateCalls", v)), |
| 30 | + /*LANG*/'Vibrate': require("buzz_menu").pattern(settings.vibrate, v => updateSetting("vibrate", v)), |
| 31 | + /*LANG*/'Vibrate for calls': require("buzz_menu").pattern(settings.vibrateCalls, v => updateSetting("vibrateCalls", v)), |
32 | 32 | /*LANG*/'Repeat': { |
33 | | - value: settings().repeat, |
| 33 | + value: settings.repeat, |
34 | 34 | min: 0, max: 10, |
35 | 35 | format: v => v?v+"s":/*LANG*/"Off", |
36 | 36 | onchange: v => updateSetting("repeat", v) |
37 | 37 | }, |
38 | 38 | /*LANG*/'Repeat for calls': { |
39 | | - value: settings().repeatCalls, |
| 39 | + value: settings.repeatCalls, |
40 | 40 | min: 0, max: 10, |
41 | 41 | format: v => v?v+"s":/*LANG*/"Off", |
42 | 42 | onchange: v => updateSetting("repeatCalls", v) |
43 | 43 | }, |
44 | 44 | /*LANG*/'Vibrate timer': { |
45 | | - value: settings().vibrateTimeout, |
46 | | - min: 0, max: settings().maxUnreadTimeout, step : 10, |
| 45 | + value: settings.vibrateTimeout, |
| 46 | + min: 0, max: settings.maxUnreadTimeout, step : 10, |
47 | 47 | format: v => v?v+"s":/*LANG*/"Off", |
48 | 48 | onchange: v => updateSetting("vibrateTimeout", v) |
49 | 49 | }, |
50 | 50 | /*LANG*/'Unread timer': { |
51 | | - value: settings().unreadTimeout, |
52 | | - min: 0, max: settings().maxUnreadTimeout, step : 10, |
| 51 | + value: settings.unreadTimeout, |
| 52 | + min: 0, max: settings.maxUnreadTimeout, step : 10, |
53 | 53 | format: v => v?v+"s":/*LANG*/"Off", |
54 | 54 | onchange: v => updateSetting("unreadTimeout", v) |
55 | 55 | }, |
56 | 56 | /*LANG*/'Min Font': { |
57 | | - value: 0|settings().fontSize, |
| 57 | + value: 0|settings.fontSize, |
58 | 58 | min: 0, max: 1, |
59 | 59 | format: v => [/*LANG*/"Small",/*LANG*/"Medium"][v], |
60 | 60 | onchange: v => updateSetting("fontSize", v) |
|
64 | 64 | onchange: v => updateSetting("ignoreUnread", v) |
65 | 65 | }, |
66 | 66 | /*LANG*/'Auto-Open Music': { |
67 | | - value: !!settings().openMusic, |
| 67 | + value: !!settings.openMusic, |
68 | 68 | onchange: v => updateSetting("openMusic", v) |
69 | 69 | }, |
70 | 70 | /*LANG*/'Unlock Watch': { |
71 | | - value: !!settings().unlockWatch, |
| 71 | + value: !!settings.unlockWatch, |
72 | 72 | onchange: v => updateSetting("unlockWatch", v) |
73 | 73 | }, |
74 | 74 | /*LANG*/'Flash Icon': { |
75 | | - value: !!settings().flash, |
| 75 | + value: !!settings.flash, |
76 | 76 | onchange: v => updateSetting("flash", v) |
77 | 77 | }, |
78 | 78 | /*LANG*/'Quiet mode disables auto-open': { |
79 | | - value: !!settings().quietNoAutOpn, |
| 79 | + value: !!settings.quietNoAutOpn, |
80 | 80 | onchange: v => updateSetting("quietNoAutOpn", v) |
81 | 81 | }, |
82 | 82 | /*LANG*/'Disable auto-open': { |
83 | | - value: !!settings().noAutOpn, |
| 83 | + value: !!settings.noAutOpn, |
84 | 84 | onchange: v => updateSetting("noAutOpn", v) |
85 | 85 | }, |
86 | 86 | /*LANG*/'Widget messages': { |
87 | | - value:0|settings().maxMessages, |
| 87 | + value:0|settings.maxMessages, |
88 | 88 | min: 0, max: 5, |
89 | 89 | format: v => v ? v :/*LANG*/"Hide", |
90 | 90 | onchange: v => updateSetting("maxMessages", v) |
91 | 91 | }, |
92 | 92 | /*LANG*/'Icon color mode': { |
93 | | - value: Math.max(0,iconColorModes.indexOf(settings().iconColorMode)), |
| 93 | + value: Math.max(0,iconColorModes.indexOf(settings.iconColorMode)), |
94 | 94 | min: 0, max: iconColorModes.length - 1, |
95 | 95 | format: v => iconColorModes[v], |
96 | 96 | onchange: v => updateSetting("iconColorMode", iconColorModes[v]) |
97 | 97 | }, |
98 | 98 | /*LANG*/'Car driver pos': { // used by messagegui |
99 | | - value:!!settings().carIsRHD, |
| 99 | + value:!!settings.carIsRHD, |
100 | 100 | format: v => v ? /*LANG*/"Right" :/*LANG*/"Left", |
101 | 101 | onchange: v => updateSetting("carIsRHD", v) |
102 | 102 | }, |
|
0 commit comments