Fixes and improvements

master
David Peer 2022-09-29 21:57:12 +02:00
parent f54cdd2025
commit 98d8ad46dd
1 changed files with 33 additions and 13 deletions

View File

@ -6,11 +6,16 @@
const storage = require('Storage'); const storage = require('Storage');
const locale = require('locale'); const locale = require('locale');
/*
* Some vars
*/
var W = g.getWidth();
var H = g.getHeight();
/************************************************ /************************************************
* Settings * Settings
*/ */
const SETTINGS_FILE = "bwclk.setting.json"; const SETTINGS_FILE = "linuxclock.setting.json";
let settings = { let settings = {
menuPosX: 0, menuPosX: 0,
menuPosY: 0, menuPosY: 0,
@ -72,7 +77,6 @@
menu = menu.concat(dateMenu); menu = menu.concat(dateMenu);
// Set draw functions for each item // Set draw functions for each item
var line = 0;
menu.forEach((menuItm, x) => { menu.forEach((menuItm, x) => {
menuItm.items.forEach((item, y) => { menuItm.items.forEach((item, y) => {
function drawItem() { function drawItem() {
@ -153,6 +157,9 @@ function runMenuItem(){
// Draw menu items depending on our y value // Draw menu items depending on our y value
drawMenuItems(menuItem); drawMenuItems(menuItem);
// And draw the cursor
drawCursor();
} }
function drawMenuItems(menuItem) { function drawMenuItems(menuItem) {
@ -164,7 +171,10 @@ function drawMenuItems(menuItem) {
lock_input++; lock_input++;
menuItem.items[i].show(); menuItem.items[i].show();
} }
}
function drawCursor(){
g.clearRect(0, 27 + 28, 15, H);
if(!Bangle.isLocked()){ if(!Bangle.isLocked()){
g.drawString(">", -2, ((settings.menuPosY % 4) + 1) * 27 + 28); g.drawString(">", -2, ((settings.menuPosY % 4) + 1) * 27 + 28);
} }
@ -279,6 +289,7 @@ function drawMenuItems(menuItem) {
var is_right = e.x > right && !is_upper && !is_lower; var is_right = e.x > right && !is_upper && !is_lower;
var is_center = !is_upper && !is_lower && !is_left && !is_right; var is_center = !is_upper && !is_lower && !is_left && !is_right;
var oldYScreen = parseInt(settings.menuPosY/4);
if(is_lower){ if(is_lower){
if(settings.menuPosY >= menu[settings.menuPosX].items.length-1){ if(settings.menuPosY >= menu[settings.menuPosX].items.length-1){
return; return;
@ -286,6 +297,10 @@ function drawMenuItems(menuItem) {
Bangle.buzz(40, 0.6); Bangle.buzz(40, 0.6);
settings.menuPosY++; settings.menuPosY++;
if(parseInt(settings.menuPosY/4) == oldYScreen){
drawCursor();
return;
}
} }
if(is_upper){ if(is_upper){
@ -299,6 +314,11 @@ function drawMenuItems(menuItem) {
Bangle.buzz(40, 0.6); Bangle.buzz(40, 0.6);
settings.menuPosY--; settings.menuPosY--;
settings.menuPosY = settings.menuPosY < 0 ? 0 : settings.menuPosY; settings.menuPosY = settings.menuPosY < 0 ? 0 : settings.menuPosY;
if(parseInt(settings.menuPosY/4) == oldYScreen){
drawCursor();
return;
}
} }
if(is_right){ if(is_right){