Added settings for fullscreen mode
parent
034026019a
commit
1267860420
|
|
@ -1 +1,2 @@
|
||||||
0.01: New App!
|
0.01: New App!
|
||||||
|
0.02: Fullscreen settings.
|
||||||
|
|
@ -1,4 +1,13 @@
|
||||||
# 90s Clock
|
# 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 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() {
|
function getImg() {
|
||||||
|
|
@ -60,9 +75,9 @@ function getSteps() {
|
||||||
|
|
||||||
|
|
||||||
function draw() {
|
function draw() {
|
||||||
for (let wd of WIDGETS) {wd.draw=()=>{};wd.area="";}
|
|
||||||
var x = g.getWidth()/2;
|
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.reset().clearRect(0,24,g.getWidth(),g.getHeight());
|
||||||
g.drawImage(getImg(),0,0);
|
g.drawImage(getImg(),0,0);
|
||||||
|
|
@ -89,6 +104,13 @@ function draw() {
|
||||||
var steps = parseInt(getSteps() / 1000);
|
var steps = parseInt(getSteps() / 1000);
|
||||||
drawBorderString(steps, g.getWidth()-10, g.getHeight()-10, 3, "#f0f");
|
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
|
// queue draw in one minute
|
||||||
queueDraw();
|
queueDraw();
|
||||||
}
|
}
|
||||||
|
|
@ -96,7 +118,7 @@ function draw() {
|
||||||
Bangle.loadWidgets();
|
Bangle.loadWidgets();
|
||||||
|
|
||||||
// Clear the screen once, at startup
|
// 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 immediately at first, queue update
|
||||||
draw();
|
draw();
|
||||||
// Stop updates when LCD is off, restart when on
|
// Stop updates when LCD is off, restart when on
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
{
|
{
|
||||||
"id": "90sclk",
|
"id": "90sclk",
|
||||||
"name": "90s Clock",
|
"name": "90s Clock",
|
||||||
"version": "0.01",
|
"version": "0.02",
|
||||||
"description": "A clock in 90s style",
|
"description": "A 90s style watch-face",
|
||||||
|
"readme": "README.md",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"screenshots": [{"url":"screenshot.png"}],
|
"screenshots": [{"url":"screenshot.png"}],
|
||||||
"type": "clock",
|
"type": "clock",
|
||||||
|
|
@ -11,6 +12,7 @@
|
||||||
"allow_emulator": true,
|
"allow_emulator": true,
|
||||||
"storage": [
|
"storage": [
|
||||||
{"name":"90sclk.app.js","url":"app.js"},
|
{"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