68 Commits

Author SHA1 Message Date
Alexander Bays 0e3e1b352b Desktop / MNTM Settings: Directories and generic files support for Keybinds / Main Menu (#331)
* feat(Desktop): Directories support for keybinds

- Adds *RIGHT* button select in the file browser dialogs and changing the `Open File` action to `Open File/Directory` in `Settings > Desktop > Keybinds Setup`. This adds the ability to open to any directory in the Archive app, in addition to the default behavior of opening a file in it's default app.

* line order mixup

* Main Menu: Allow adding JS files (or any file)

- Normal files and directories are now able to be added to then main menu and are run in their appropriate apps.
- e.g. .txt files shown in text viewer, .js files are run in the JS Runner app, and folders are navigated to by the Archive app. All similar to the desktop keybinds functionality.
- Icons are also assigned appropriately based on the extensions, though more could probably be added to the `loader_menu_get_ext_icon` function.
- Also replaced some of the long arduous is_dir checks and just used the `storage_dir_exists` function since its already there and does the same.

* should be checking `ext` for NULL

* Move select_right at end of structs for binary compatibility

apps may blindly reach into these structs so need to keep the basics in same structure

for DialogsFileBrowserOptions this is even in public api and after compilation this would be incompatible with other firmwares even without reaching into private structs

* Select menu item / folder for directories too

* Move api below too

* Keep ofw order here too

* Refactor starting archive into desktop, less FuriString passing around

* Dont leave main menu when launching archive

* Simplify/fix a few things

* Handle folders in run_with_default_app()

* Update App -> Item naming in MNTM settings

* Fix build

* Explain pressing right

* Update changelog

---------

Co-authored-by: WillyJL <me@willyjl.dev>
2025-07-22 01:51:33 +00:00
Willy-JL 02f7207d28 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-07-15 22:18:35 +01:00
hedger ffa3996a5e [FL-3867] Code formatting update (#3765)
* clang-format: AllowShortEnumsOnASingleLine: false
* clang-format: InsertNewlineAtEOF: true
* clang-format: Standard:        c++20
* clang-format: AlignConsecutiveBitFields
* clang-format: AlignConsecutiveMacros
* clang-format: RemoveParentheses: ReturnStatement
* clang-format: RemoveSemicolon: true
* Restored RemoveParentheses: Leave, retained general changes for it
* formatting: fixed logging TAGs
* Formatting update for dev

Co-authored-by: あく <alleteam@gmail.com>
2024-07-15 13:38:49 +09:00
Willy-JL 4830ef94c6 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-07-05 20:01:29 +02:00
hedger 7879876ba1 [FL-3863] toolchain: v37 (#3746)
* toolchain: v36
* toolchain: fixed cert path; lib: nanopb: updated to 0.4.8
* fbtenv: rolled back cert path for 3.11
* clang-format: updated config for v18
* linter fixes
* clang-format: properly regenerated config (`clang-format -style=file:.clang-format -dump-config > .clang-format-new; mv .clang-format-new .clang-format`)
* clang-format: AllowShortLoopsOnASingleLine: false
* toolchain: v37
* fbt: compilation_db.py: fixes for Windows
2024-07-05 18:27:21 +01:00
Willy-JL 06aea09169 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-03-20 04:18:26 +00:00
あく acc39a4bc0 Api Symbols: replace asserts with checks (#3507)
* Api Symbols: replace asserts with checks
* Api Symbols: replace asserts with checks part 2
* Update no args function signatures with void, to help compiler to track incorrect usage
* More unavoidable void
* Update PVS config and code to make it happy
* Format sources
* nfc: fix checks
* dead code cleanup & include fixes

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2024-03-19 23:43:52 +09:00
Willy-JL b7220237de Small bump in the road
- Update assets and references for new project
- Revert DFU image and CLI motd
- Remove NSFW text and flag
- Remove credits animation (will be replaced with a setting menu soon)
- New EvilPortal example HTML and better error message
- Initial standalone naming for asset packs and mainmenu apps
- File migration fixes/improvements
- Remove hotfix workflow
2024-03-01 06:11:16 +00:00
Willy-JL 0a55300926 Fix xtreme lib import 2023-12-02 06:32:04 +00:00
Willy-JL 28bcc09d9b This can just be made global at this point lol 2023-10-26 04:03:42 +01:00
Willy-JL 52d4b3f905 Fix some missing browser screen updates 2023-07-14 16:47:29 +02:00
Willy-JL 6ecb6d93ab Fix browser input ignore while loading 2023-07-14 16:46:23 +02:00
Willy-JL f78da36c50 Hide browser cursor while loading 2023-07-14 16:45:52 +02:00
Willy-JL 86ce145651 Fix build 2023-07-14 15:44:30 +02:00
Willy-JL f274c5899c Improve browser wrap around behavior 2023-07-14 15:41:49 +02:00
Willy-JL a377178a35 Item idx not needed anymore 2023-07-14 15:26:56 +02:00
Willy-JL ae8488ecba Re-merge the file browser changes properly 2023-07-14 15:25:02 +02:00
Willy-JL 7ce9e41091 Revert "Merge previous file browser commits"
This reverts commit 06c44031e7.
2023-07-14 14:25:26 +02:00
Willy-JL 16795085b2 Unsorted idx is not needed anymore 2023-07-14 14:24:59 +02:00
Willy-JL 2ace772397 OFW compatible elements_scrollable_text_line 2023-07-14 13:45:01 +02:00
Willy-JL 06c44031e7 Merge previous file browser commits 2023-07-14 03:52:23 +02:00
Nikolay Minaylov 92c0baa461 [FL-3383, FL-3413] Archive and file browser fixes (#2862)
* File browser: flickering and reload fixes
* The same for archive browser
2023-07-12 20:35:11 +04:00
Willy-JL 0c3a8a3ca1 Fix scroll acceleration wrap-around 2023-06-29 03:39:09 +02:00
Astra bf975ad786 Fix roll-over in file browser and archive (#2811) 2023-06-28 20:46:42 +09:00
Willy-JL 1d7feabffb Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into xfw-dev 2023-06-27 17:45:45 +02:00
Astra 168fa72d53 [FL-3373] Scroll acceleration (#2784)
* Support for scroll acceleration
* Revert keyboard acceleration
* Add scroll acceleration to the text box
* Remove redundant code from the file manager input handler
* Archive: slightly better scrolling
* Gui,Archive: final version of accelerated scrolling

Co-authored-by: あく <alleteam@gmail.com>
2023-06-27 18:22:35 +09:00
Willy-JL a6bc7f8abb Rework xtreme settings and assets implementation 2023-05-01 15:28:59 +01:00
Willy-JL 9e08427c01 Expose CUSTOM_ICON_MAX_SIZE 2023-03-15 16:19:56 +00:00
Willy-JL 9bfcf08b22 Scrollable text support center alignment 2023-03-14 22:10:04 +00:00
Willy-JL 2a51958d77 Sort apps and files by display name 2023-03-14 02:56:26 +00:00
Willy-JL 462a0c8efc Cleaner settings implementation (proper defaults) 2023-02-17 23:30:28 +00:00
Willy-JL abeb34b983 Fix archive sorting (skip on big folders) 2023-02-13 05:01:31 +00:00
Willy-JL 9fe3136993 Skip browser inputs while loading / sorting 2023-02-13 04:57:44 +00:00
MX e5b9289da8 Fix large folders parsing 2023-02-12 21:05:19 +00:00
Willy-JL 205da2920e File browser load speed improvements (skip redraw) 2023-02-12 11:16:12 +00:00
Willy-JL 9b16c2178b Fix file browser back history 2023-02-12 11:15:11 +00:00
Willy-JL 7d2fdc5c6d Hide files in browser while still loading 2023-02-11 23:44:19 +00:00
Willy-JL 9ed14fe773 Remove unused imports and old code 2023-02-11 20:07:53 +00:00
Willy-JL efb11dfcbd Properly integrate xtreme apis and headers 2023-02-11 05:19:37 +00:00
VerstreuteSeele 9b81f93fd2 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into dev 2023-02-07 19:12:13 +01:00
hedger 224d0aefe4 [FL-2733] multitarget support for fbt (#2209)
* First part of multitarget porting
* Delete firmware/targets/f7/Inc directory
* Delete firmware/targets/f7/Src directory
* gpio: cli fixes; about: using version from HAL
* sdk: path fixes
* gui: include fixes
* applications: more include fixes
* gpio: ported to new apis
* hal: introduced furi_hal_target_hw.h; libs: added one_wire
* hal: f18 target
* github: also build f18 by default
* typo fix
* fbt: removed extra checks on app list
* api: explicitly bundling select mlib headers with sdk
* hal: f18: changed INPUT_DEBOUNCE_TICKS to match f7
* cleaned up commented out code
* docs: added info on hw targets
* docs: targets: formatting fixes
* f18: fixed link error
* f18: fixed API version to match f7
* docs: hardware: minor wording fixes
* faploader: added fw target check
* docs: typo fixes
* github: not building komi target by default
* fbt: support for `targets` field for built-in apps
* github: reworked build flow to exclude app_set; fbt: removed komi-specific appset; added additional target buildset check
* github: fixed build; nfc: fixed pvs warnings
* attempt to fix target id
* f7, f18: removed certain HAL function from public API
* apps: debug: enabled bt_debug_app for f18
* Targets: backport input pins configuration routine from F7 to F18

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-02-08 01:33:05 +09:00
Willy-JL edd3171d6c Add xfw setting for sort dirs before files 2023-02-07 00:50:38 +00:00
Willy-JL e98ad6fc2c Fix file browser sorting for good 2023-02-07 00:24:19 +00:00
Willy-JL d6dcf0efa2 Case insensitive file browser list 2023-02-06 20:51:07 +00:00
Nikolay Minaylov 08eb666f7b [FL-3000] File browser: Empty folder label (#2188)
Co-authored-by: あく <alleteam@gmail.com>
2022-12-27 17:39:04 +09:00
RogueMaster c361305a10 Merge branch 'UNLEASHED' into 420 2022-12-26 16:14:07 -05:00
RogueMaster a1d293712c Empty Folder Declaration 2022-12-26 15:36:21 -05:00
Georgii Surkov 8582670a34 [FL-2811] Fix PVS-Studio warnings (#2142)
Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
2022-12-26 21:13:30 +09:00
RogueMaster c1d9423c04 Merge branch 'UNLEASHED' into 420 2022-12-20 10:04:43 -05:00
あく e7107e39f7 Gui: scrollable long file names in FileBrowser and Archive Browser (#2159)
* Gui: scrollable long file names in FileBrowser
* Archive: scroll long file names
* Gui: elements code cleanup
2022-12-20 20:11:52 +09:00