From 896be4bf64c34b3752ca0a75e6296da2316b0f92 Mon Sep 17 00:00:00 2001 From: Pavel Machek Date: Wed, 4 Jun 2025 20:06:35 +0200 Subject: [PATCH 1/4] fileman: Move next to the top, for easy browsing. Implement free space option. --- apps/fileman/fileman.app.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/apps/fileman/fileman.app.js b/apps/fileman/fileman.app.js index 5baae298be..59612f23aa 100644 --- a/apps/fileman/fileman.app.js +++ b/apps/fileman/fileman.app.js @@ -65,6 +65,11 @@ function visit_file(fn) { E.showMenu(menu); } +function drawUtilMenu() { + var free = (require("Storage").getFree() / (1024*1024)).toFixed(2) + " MB\n"; + E.showAlert(free).then( function() { drawMenu(); } ); +} + function drawMenu() { nend = (nstart+n next"] = function() { if (nstart+n Date: Wed, 4 Jun 2025 20:24:29 +0200 Subject: [PATCH 2/4] fileman: Add utils submenu, implement jumping among files --- apps/fileman/fileman.app.js | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/apps/fileman/fileman.app.js b/apps/fileman/fileman.app.js index 59612f23aa..34d95ae9f2 100644 --- a/apps/fileman/fileman.app.js +++ b/apps/fileman/fileman.app.js @@ -65,11 +65,30 @@ function visit_file(fn) { E.showMenu(menu); } -function drawUtilMenu() { +function showFree() { var free = (require("Storage").getFree() / (1024*1024)).toFixed(2) + " MB\n"; E.showAlert(free).then( function() { drawMenu(); } ); } +function jumpTo(v) { + nstart = Math.round((v/100)*files.length); + if (nstart >= files.length) { nstart = 0; } + drawMenu(); +} + +function drawUtilMenu() { + var menu = { + '' : {'title' : "Utils"} + }; + menu['Show free'] = showFree; + for (let i=0; i<10; i++) { + let v = i*10; + menu['Jump to '+v+'%'] = function() { jumpTo(v); }; + } + menu['< Back'] = drawMenu; + E.showMenu(menu); +} + function drawMenu() { nend = (nstart+n0 ? files.length-n : 0; menu = {}; drawMenu(); - } + }; menu["> next"] = function() { if (nstart+n Date: Sat, 7 Jun 2025 13:27:38 +0200 Subject: [PATCH 3/4] fileman: Mark this as 0.04 --- apps/fileman/ChangeLog | 1 + apps/fileman/metadata.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/fileman/ChangeLog b/apps/fileman/ChangeLog index cc1456b311..ad2f4c4fe6 100644 --- a/apps/fileman/ChangeLog +++ b/apps/fileman/ChangeLog @@ -1,4 +1,5 @@ 0.01: New app! 0.02: Improve handling of large amounts of files (fix #579) 0.03: Update RegExp use (Was using backreference instead of character code) +0.04: Add submenu to display free space and to allow quick navigation with many files diff --git a/apps/fileman/metadata.json b/apps/fileman/metadata.json index 52f2fd06d5..7ee2f3c946 100644 --- a/apps/fileman/metadata.json +++ b/apps/fileman/metadata.json @@ -2,7 +2,7 @@ "id": "fileman", "name": "File manager", "shortName": "FileManager", - "version": "0.03", + "version": "0.04", "description": "Simple file manager, allows user to examine watch storage and display, load or delete individual files", "icon": "icons8-filing-cabinet-48.png", "tags": "tools", From 23f8dba95f850dbb732ef4a6326af7aea5b4ba68 Mon Sep 17 00:00:00 2001 From: Pavel Machek Date: Sat, 7 Jun 2025 13:32:44 +0200 Subject: [PATCH 4/4] fileman: fix warning --- apps/fileman/fileman.app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/fileman/fileman.app.js b/apps/fileman/fileman.app.js index 34d95ae9f2..bb0f00e40e 100644 --- a/apps/fileman/fileman.app.js +++ b/apps/fileman/fileman.app.js @@ -15,7 +15,7 @@ function delete_file(fn) { } else STOR.erase(fn); } - }).then(function() { filed=[];files=get_pruned_file_list(); }).then(drawMenu); + }).then(function() { files=get_pruned_file_list(); }).then(drawMenu); } function get_length(fn) {