- 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.
- 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 '.')
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Requested changes highlighted.
@@ -0,0 +1,272 @@{Core->Search - Reusable file-oriented search, sort, and format utilities.This should be namespaced to core.strings.helpers to be more clear about what it does.
fde535d7c7toee7dcd107bLooks good 👍