Change Keyboard, fix a but or two, allow delete

pull/2818/head
Philip Andresen 2023-06-13 13:19:12 -04:00
parent 4fb3088d21
commit 52776eff78
1 changed files with 28 additions and 10 deletions

View File

@ -281,8 +281,8 @@ function setMenu(menu) {
let keyboardAlpha;
if (textInput.generateKeyboard) {
const charSet = textInput.createCharSet("ABCDEFGHIJKLMNOPQRSTUVWXYZ", ["spc", "ok", "del"]);
keyboardAlpha = textInput.generateKeyboard(charSet)
//const charSet = textInput.createCharSet("ABCDEFGHIJKLMNOPQRSTUVWXYZ", ["spc", "ok", "del"]);
keyboardAlpha = textInput.generateKeyboard([["A", "B", "C", "J", "K", "L", "S", "T", "U"],["D", "E", "F", "M", "N", "O", "V", "W", "X"],["G", "H", "I", "P", "Q", "R", "Y", "Z"], "spc", "ok", "del"])
}
function newTask(initialText) {
@ -348,7 +348,6 @@ function concludeUnresponsive(task) {
function showTempMessage(text, title, thenFn) {
E.showMessage(text, {title});
setTimeout(() => {
Bangle.setLocked(true);
thenFn();
}, 1500);
}
@ -417,7 +416,7 @@ function getTaskMenu(task, backFn) {
taskSwipeControls.push(createSwipeControl(SWIPE.UP, "Restart", () => restartTask(task)));
taskSwipeControls.push(createSwipeControl(SWIPE.DOWN,
"Task List",
() => showTaskList(allTasks, () => startTask(task))));
() => showTaskList(() => true, () => startTask(task))));
items.push({text: task.text + " completed!", size: 1});
const nextTask = getNextTask(task, allTasks);
if (nextTask) {
@ -470,12 +469,30 @@ function editTask(task, backFn) {
editMenu.push({title: "Rename", onchange: st5(() => renameTask(task, () => editTask(task, backFn)))});
editMenu.push({title: "Interval", value: task.interval, min: 10, step: 10, onchange: v => task.interval = v});
editMenu.push({title: "Incremental Backoff", value: !!task.useBackoff, onchange: v => task.useBackoff = v});
editMenu.push({title: "Statistics:"})
editMenu.push({title: "On Task: " + task.affirmCount})
editMenu.push({title: "DELETE", onchange: st5(() => deleteTask(task, () => editTask(task, backFn), backFn))});
editMenu.push({title: "Statistics:"});
editMenu.push({title: "On Task: " + task.affirmCount});
editMenu.push({title: "Distracted: " + task.distractCount});
editMenu.push({title: "Unresponsive: " + task.unresponsiveCount});
editMenu[""] = {title: task.text, back: backFn};
E.showMenu(editMenu);
}
function deleteTask(task, backFn, deleteBackFn) {
E.showPrompt("Delete " + task.text + "?")
.then(shouldDelete => {
if (shouldDelete) {
const foundIndex = allTasks.findIndex(t => t === task);
if (foundIndex !== -1) {
allTasks.splice(foundIndex, 1);
}
deleteBackFn();
} else {
backFn();
}
});
}
function renameTask(task, backFn) {
return textInput.input({text: task.text, keyboardMain: keyboardAlpha})
.then(text => {
@ -485,12 +502,13 @@ function renameTask(task, backFn) {
})
}
function showTaskList(list, backFn) {
function showTaskList(filterFn, backFn) {
let taskMenu = [];
const list = allTasks.filter(filterFn);
taskMenu = taskMenu.concat(list.map(task => {
return {
// Workaround - navigation has phantom buttons rendered with E.showMenu unless you delay slightly.
title: task.text, onchange: st5(() => editTask(task, () => showTaskList(list, backFn)))
title: task.text, onchange: st5(() => editTask(task, () => showTaskList(filterFn, backFn)))
}
}))
taskMenu[""] = {title: "Tasks", back: backFn};
@ -502,8 +520,8 @@ function showSettingsMenu(backFn) {
const incompleteTasks = allTasks.filter(task => !task.complete);
const settingsMenu = {
"" : {title: "Manage", back: backFn},
"Pending Tasks" : () => showTaskList(incompleteTasks, () => showSettingsMenu(backFn)),
"Completed Tasks": () => showTaskList(completeTasks, () => showSettingsMenu(backFn)),
"Pending Tasks" : () => showTaskList(task => !task.complete, () => showSettingsMenu(backFn)),
"Completed Tasks": () => showTaskList(task => task.complete, () => showSettingsMenu(backFn)),
"Text Outlines" : {value: savedData.settings.textOutlines, onchange: v => savedData.settings.textOutlines = v},
"No Word Breaks" : {value: savedData.settings.noWordBreaks, onchange: v => savedData.settings.noWordBreaks = v}
}