add settings for standard # of swipe and drag handlers

master
thyttan 2023-02-07 20:28:22 +01:00
parent 23e345202a
commit 4649f908d0
2 changed files with 36 additions and 14 deletions

View File

@ -27,7 +27,7 @@
return 0;
} else if (Bangle["#on"+eventType] instanceof Array) {
return Bangle["#on"+eventType].length;
} else if (Bangle["#on"+eventType] !== undefiened) {
} else if (Bangle["#on"+eventType] !== undefined) {
return 1;
}
}
@ -36,7 +36,7 @@
// if it is a left to right swipe
if (lr === 1) {
// if we're in an app that has a back button, run the callback for it
if (global.BACK && countHandlers("swipe")<4 && countHandlers("drag")<1) { // # of allowed handlers should be user configurable in settings
if (global.BACK && countHandlers("swipe")<=settings.standardNumSwipeHandlers && countHandlers("drag")<=settings.standardNumDragHandlers) {
global.BACK();
}
}

View File

@ -4,19 +4,21 @@
// Apps is an array of app info objects, where all the apps that are there are either blocked or allowed, depending on the mode
var DEFAULTS = {
'mode': 0,
'apps': []
'apps': [],
'standardNumSwipeHandlers': 0,
'standardNumDragHandlers': 0
};
var settings = {};
var loadSettings = function() {
settings = require('Storage').readJSON(FILE, 1) || DEFAULTS;
}
};
var saveSettings = function(settings) {
require('Storage').write(FILE, settings);
}
};
// Get all app info files
var getApps = function() {
var apps = require('Storage').list(/\.info$/).map(appInfoFileName => {
@ -35,8 +37,8 @@
return 0;
});
return apps;
}
};
var showMenu = function() {
var menu = {
'': { 'title': 'Backswipe' },
@ -55,11 +57,31 @@
},
'App List': () => {
showAppSubMenu();
},
'standard # of swipe handlers' : { // If more than this many handlers are present backswipe will not go back
value: 0|settings.standardNumSwipeHandlers,
min: 0,
max: 10,
format: v=>v,
onchange: v => {
settings.standardNumSwipeHandlers = v;
saveSettings(settings);
},
},
'standard # of drag handlers' : { // If more than this many handlers are present backswipe will not go back
value: 0|settings.standardNumDragHandlers,
min: 0,
max: 10,
format: v=>v,
onchange: v => {
settings.standardNumDragHandlers = v;
saveSettings(settings);
},
}
};
E.showMenu(menu);
}
};
var showAppSubMenu = function() {
var menu = {
@ -101,4 +123,4 @@
loadSettings();
showMenu();
})
})