Added settings for fullscreen mode
parent
034026019a
commit
1267860420
|
|
@ -1 +1,2 @@
|
|||
0.01: New App!
|
||||
0.02: Fullscreen settings.
|
||||
|
|
@ -1,4 +1,13 @@
|
|||
# 90s Clock
|
||||
|
||||
A watch face in 90s style:
|
||||
|
||||

|
||||
|
||||
|
||||
# Settings
|
||||
In the settings you can enable / disable the fullscreen mode.
|
||||
|
||||
|
||||
## Creator
|
||||
- [David Peer](https://github.com/peerdavid)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,19 @@
|
|||
const SETTINGS_FILE = "90sclk.setting.json";
|
||||
const locale = require('locale');
|
||||
const storage = require('Storage');
|
||||
|
||||
|
||||
/*
|
||||
* Load settings
|
||||
*/
|
||||
let settings = {
|
||||
fullscreen: false,
|
||||
};
|
||||
|
||||
let saved_settings = storage.readJSON(SETTINGS_FILE, 1) || settings;
|
||||
for (const key in saved_settings) {
|
||||
settings[key] = saved_settings[key]
|
||||
}
|
||||
|
||||
|
||||
function getImg() {
|
||||
|
|
@ -60,9 +75,9 @@ function getSteps() {
|
|||
|
||||
|
||||
function draw() {
|
||||
for (let wd of WIDGETS) {wd.draw=()=>{};wd.area="";}
|
||||
var x = g.getWidth()/2;
|
||||
var y = g.getHeight()/2-20;
|
||||
var y_offset = settings.fullscreen ? 0 : 10;
|
||||
var y = g.getHeight()/2-20 + y_offset;
|
||||
|
||||
g.reset().clearRect(0,24,g.getWidth(),g.getHeight());
|
||||
g.drawImage(getImg(),0,0);
|
||||
|
|
@ -89,6 +104,13 @@ function draw() {
|
|||
var steps = parseInt(getSteps() / 1000);
|
||||
drawBorderString(steps, g.getWidth()-10, g.getHeight()-10, 3, "#f0f");
|
||||
|
||||
// Draw widgets if not fullscreen
|
||||
if(settings.fullscreen){
|
||||
for (let wd of WIDGETS) {wd.draw=()=>{};wd.area="";}
|
||||
} else {
|
||||
Bangle.drawWidgets();
|
||||
}
|
||||
|
||||
// queue draw in one minute
|
||||
queueDraw();
|
||||
}
|
||||
|
|
@ -96,7 +118,7 @@ function draw() {
|
|||
Bangle.loadWidgets();
|
||||
|
||||
// Clear the screen once, at startup
|
||||
g.setTheme({bg:"#fff",fg:"#fff",dark:false}).clear();
|
||||
g.setTheme({bg:"#000",fg:"#fff",dark:false}).clear();
|
||||
// draw immediately at first, queue update
|
||||
draw();
|
||||
// Stop updates when LCD is off, restart when on
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
{
|
||||
"id": "90sclk",
|
||||
"name": "90s Clock",
|
||||
"version": "0.01",
|
||||
"description": "A clock in 90s style",
|
||||
"version": "0.02",
|
||||
"description": "A 90s style watch-face",
|
||||
"readme": "README.md",
|
||||
"icon": "app.png",
|
||||
"screenshots": [{"url":"screenshot.png"}],
|
||||
"type": "clock",
|
||||
|
|
@ -11,6 +12,7 @@
|
|||
"allow_emulator": true,
|
||||
"storage": [
|
||||
{"name":"90sclk.app.js","url":"app.js"},
|
||||
{"name":"90sclk.img","url":"app-icon.js","evaluate":true}
|
||||
{"name":"90sclk.img","url":"app-icon.js","evaluate":true},
|
||||
{"name":"90sclk.settings.js","url":"settings.js"}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,31 @@
|
|||
(function(back) {
|
||||
const SETTINGS_FILE = "90sclk.setting.json";
|
||||
|
||||
// initialize with default settings...
|
||||
const storage = require('Storage')
|
||||
let settings = {
|
||||
fullscreen: false,
|
||||
};
|
||||
let saved_settings = storage.readJSON(SETTINGS_FILE, 1) || settings;
|
||||
for (const key in saved_settings) {
|
||||
settings[key] = saved_settings[key]
|
||||
}
|
||||
|
||||
function save() {
|
||||
storage.write(SETTINGS_FILE, settings)
|
||||
}
|
||||
|
||||
|
||||
E.showMenu({
|
||||
'': { 'title': '90s Clock' },
|
||||
'< Back': back,
|
||||
'Full Screen': {
|
||||
value: settings.fullscreen,
|
||||
format: () => (settings.fullscreen ? 'Yes' : 'No'),
|
||||
onchange: () => {
|
||||
settings.fullscreen = !settings.fullscreen;
|
||||
save();
|
||||
},
|
||||
}
|
||||
});
|
||||
})
|
||||
Loading…
Reference in New Issue