feature/file_browser #61

Merged
Aaron merged 8 commits from feature/file_browser into develop 2026-03-12 19:26:25 +00:00
Member
No description provided.
Aaron added this to the 2.0.0 milestone 2026-03-10 18:51:57 +00:00
Aaron added the ImprovementFeature labels 2026-03-10 18:51:57 +00:00
Aaron added 3 commits 2026-03-10 18:51:59 +00:00
- Add extension-based dispatch to driver.storage.filedispatch with typed
  union (variant record THandlerKind = hkMagic/hkExtension)
- Extract file-type icon constants and mapping to core.gfx.fileicons
- Add core.search utility (getFileExtension, fmtFileSize, sortStringArray)
- Generate PUA bitmap icon fonts (32/64/128px) from Font Awesome via
  gen_file_icons.py + compile_icons.sh toolchain
- Integrate file dispatch into file browser (double-click triggers dispatch)
- Register notepad as handler for text file extensions
- Fix init order in app.mgr (filedispatch.init before app inits)
- Refactor notepad from singleton to multi-instance (up to 8 windows)
  using instance array, findStateByWid, and LVGL user_data on msgboxes
Removed driver.hid.mouse dependency that caused page fault on close.
Context menu now triggers via LV_EVENT_LONG_PRESSED on content rows.
Cleaned up onClose teardown ordering and removed debug syslog markers.
removed unused icons
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
badcf8df5e
Aaron requested review from admin 2026-03-10 18:51:59 +00:00
Aaron requested review from t3hn3rd 2026-03-10 18:52:00 +00:00
Aaron added 1 commit 2026-03-10 18:57:11 +00:00
remove debug file
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
587177f6bb
admin requested changes 2026-03-10 19:03:45 +00:00
Dismissed
admin left a comment
Owner

Requested changes highlighted.

Requested changes highlighted.
@@ -0,0 +1,272 @@
{
Core->Search - Reusable file-oriented search, sort, and format utilities.
Owner

This should be namespaced to core.strings.helpers to be more clear about what it does.

This should be namespaced to core.strings.helpers to be more clear about what it does.
Aaron marked this conversation as resolved
Aaron added 1 commit 2026-03-10 19:07:34 +00:00
refactor: rename core.search to core.stringhelpers
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
80f30d8e69
Aaron added 1 commit 2026-03-10 19:10:43 +00:00
refactor: rename core.stringhelpers to core.strings.helpers
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
b20b88abfd
Aaron added 1 commit 2026-03-11 07:39:37 +00:00
fix: FAT32 >1024 byte read/write truncation, VFS write notifications & dir watch
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is failing
1633a1e76c
- FAT32 writeFile: replace hardcoded spc=4 with bootRecord^.spc for
  cluster allocation and per-sector write loop
- FAT32 writeFile: update directory entry byteSize on disk after write
- FAT32 readFile: use dir^.byteSize instead of cluster-based estimate,
  fix off-by-one in read loop, remove spurious +sectorSize allocation
- VFS: fire VFS_OnMutation on sync/async writes (cache invalidate + watch)
- VFS: invalidate all cache entries for volume on mutation (relPath mismatch)
- VFS: add vfsParentDir helper, store VFSDir in file descriptors
- FDTable: add VFSDir field, free on close
- File browser: enable directory watch & poll timer, two-step new file
  creation (open + write), remove io.syslog import
- Linker: add --no-warn-execstack to suppress ld exit code 1 on warning
- Add core.strings.helpers unit (getFileExtension, fmtFileSize, sort)
Aaron added 1 commit 2026-03-11 19:31:17 +00:00
feat(filebrowser): add delete button to toolbar, fix FAT32 delete/rename with raw sector scanning
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is failing
fde535d7c7
- Add SYM_TRASH toolbar button wired to fb_delete_cb (was missing entirely)
- Filter '.' and '..' entries in fb_collect_cb so they never appear
- Rewrite deleteFile/deleteDir/renameFile to use raw sector scanning
  instead of getDirEntries linked-list indices (fixes  gap mismatch)
- Handle root directory correctly (use bootRecord^.rootCluster instead
  of assuming entry 0 is '.')
Aaron force-pushed feature/file_browser from fde535d7c7 to ee7dcd107b 2026-03-11 19:42:28 +00:00 Compare
Aaron scheduled this pull request to auto merge when all checks succeed 2026-03-11 19:47:11 +00:00
admin approved these changes 2026-03-12 19:26:18 +00:00
admin left a comment
Owner

Looks good 👍

Looks good 👍
Aaron merged commit dd56ffbcb4 into develop 2026-03-12 19:26:25 +00:00
Sign in to join this conversation.