Commit Graph

81 Commits

Author SHA1 Message Date
WillyJL
934ccec91b Archive: Back out right away for main menu dirs 2025-08-23 22:59:23 +02:00
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
1589e84a6b Archive: Fix setting items having Delete option 2025-04-12 23:28:55 +01:00
Willy-JL
bce27a1463 Archive: Fix memory leak with Search+Info --nobuild 2025-04-12 10:37:20 +01:00
Willy-JL
49d7ce7349 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2025-04-12 10:36:13 +01:00
Alexander Bays
b9c0289847 Archive: Add dynamic paths to browser tab (#322)
* feat(Archive): Adds dynamic paths to browser tab

I thought it would be cool to be able to see when I was in say the
`apps_data/flipchess` folder, or some other nested folder, and have
"flipchess" be shown rather than the just "Browser" all the time. It's
not a huge or really crucial change, just a personal modification that
some people may also find useful.

* fix(Archive): Clean up, built-ins, safer

Cleaned up `archive_update_formatted_path` function using switch case,
and also using the built in furi functions where possible. Also removed
the arbitrary and unnecessary `path_buf[256]`, making formatting the
path in the Brief section more memory safe.

* Rename setting and use setting_enum()

* Remove prev_path

* Enum names

* Single text draw call

* Rename to statusbar title

* Revert "Rename to statusbar title"

This reverts commit 243f2a754f.

* Revert "Single text draw call"

This reverts commit 3bbe30449b.

* Simpler fix

* Shorter setting label

* Update changelog

---------

Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
2025-01-17 01:44:11 +00:00
Willy-JL
9adb1478e6 Fix /mnt path in archive 2024-08-05 20:24:13 +02:00
Willy-JL
b8a6579379 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-08-05 20:05:13 +02:00
あく
4d985ba8f8 Storage: remove LFS (#3577)
* Storage: drop internal storage

* Storage: rollback some unnecessary changes

* Storage: rollback some unnecessary changes part 2

* Storage: cleanup various defines and int handling. Ble: allow short connection interval if internal flash is not used.

* Storage: do not return storage if it is not ready

* Save PIN code to RTC, update settings

* Simplify the code, clean up includes

* Rearrange some code

* apps: storage_move_to_sd: conditionally enable with --extra-define=STORAGE_INT_ON_LFS

* Load Desktop settings automatically

* Redirect /any to /ext

* Abolish storage_move_to_sd app

* Remove as many mentions of ANY_PATH as possible

* Fix desktop settings wrongly not loading

* Improve desktop settings handling and strings

* Load BLE settings and keys automatically

* Improve BLE configuration procedure

* Do not load bluetooth keys twice if they were already loaded

* Load dolphin state automatically

* Fix merge artifact

* Load notification settings automatically

* Update desktop settings strings

* Load expansion settings automatically

* Do not use thread signals to reload desktop settings

* Load region data automatically, separate to its own hook

* Improve ble behaviour with no keys

* Fix Dolphin state not resetting correctly

* Add a status check

* Make Desktop save its own settings

* Check result when taking and releasing mutex

* Improve default thread signal handling in FuriEventLoop

* Make bt service in charge of saving settings, add settings api

* Fix a deadlock due to timer thread not receiving time

* Lock core2 when reinitialising bt

* Update clang-format

* Revert "Update clang-format"

This reverts commit d61295ac063c6ec879375ceeab54d6ff2c90a9a1.

* Format sources with clang-format

* Revert old stack size for desktop settings

* Allocate big struct dynamically

* Simplify PIN comparison

* Save pointer to storage in Desktop object

* Fix region provisioning for hardware regions

* Remove stale TODO + siimplify code

* Clean up region.c

* Use sizeof instead of macro define

* Limit PIN length to 10 for consistency

* Emit a warning upon usage of /any

* Add delay after finding flipper

* Remove unnecessary delay

* Remove all mentions of STORAGE_INT_ON_LFS

* Remove littlefs and internal storage

* Remove all possible LittleFS mentions

* Fix browser tab in Archive

* Ble: fix connection interval explanation

* Bump API Symbols

* BLE: Update comments interval connection comments

* Storage: clear FuriHalRtcFlagStorageFormatInternal if set

---------

Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
2024-08-04 10:54:02 +01: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
aa3db97e9d Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into mntm-dev 2024-06-06 02:19:54 +01:00
MX
17dbb4105d Merge remote-tracking branch 'OFW/dev' into dev 2024-06-06 00:35:40 +03:00
Willy-JL
23da827361 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-06-04 03:03:23 +01:00
hedger
03196fa110 cleanup of various warnings from clangd (#3682)
* cleanup of various warnings from clangs
* lfrfid_debug: cast fixes
* subghz: binraw: round->roundf
* furi: thread: updated internal stack size variable to size_t
* github: fail faster on unsuccessful build
* unit_tests: double trouble
2024-06-03 14:43:23 +01:00
Willy-JL
7135b021cd Enforce "show hidden files" in dialogs and not archive
Archive "file" tabs (like SubGHz and so on) hide dot files
Archive "browser" tabs (like /ext) follow user choice
Dialogs (everything else) follow dev choice, unless user chose to show hidden files
2024-05-17 08:08:05 +01:00
Willy-JL
513c6b8732 Enforce "show hidden files" in browser worker 2024-03-21 03:03:15 +00: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
e229367780 Archive: Support viewing Disk Images with Virtual Mount 2024-02-20 06:14:49 +00:00
Willy-JL
375239341e Archive: Keep clipboard between browser tabs 2024-02-20 06:14:49 +00:00
MX
ae04fc70eb fix archive filebrowser bugs 2024-01-27 17:53:11 +03:00
Willy-JL
28bcc09d9b This can just be made global at this point lol 2023-10-26 04:03:42 +01:00
Willy-JL
3af56c2af8 Last part for 100% OFW compatile API 2023-08-29 02:37:09 +02:00
gid9798
c0eebcb540 Archive: Cut/Copy/Past & NewDir 2023-07-18 23:46:28 +03:00
gid9798
da919372e2 Archive separate menu 2023-07-16 20:28:15 +03:00
Willy-JL
caa1bc9253 Archive merge menus, change buttons, cleanup code 2023-07-16 03:40:15 +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
06c44031e7 Merge previous file browser commits 2023-07-14 03:52:23 +02:00
MX
523f522de0 revert archive fixes temporarily 2023-07-14 04:40:22 +03:00
MX
c4b04a06bb Merge branch 'ofw-dev' into dev 2023-07-12 21:19:16 +03: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
761ea80454 Archive: New tab for searching files 2023-07-03 22:31:54 +02:00
Willy-JL
266538906e Archive switch types for remote/playlist in tabs 2023-07-03 04:12:29 +02:00
Willy-JL
cdfdbed730 Archive fix sort idx=0 + hide cursor while loading 2023-07-03 03:05:17 +02:00
Willy-JL
15bac5e02a Fix archive selection index issues after refresh 2023-06-26 03:05:46 +01:00
Willy-JL
1a0f51bd25 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into xfw-dev 2023-06-25 20:57:33 +01:00
MX
a466885df3 Merge branch 'ofw-dev' into dev 2023-06-25 03:08:40 +03:00
Sergey Gavrilov
761a14e6e2 [FL-2837][FL-3270] Loader refaptoring: second encounter (#2779)
* Core: rename internal FlipperApplication to FlipperInternalApplication
* FAP Loader: move load_name_and_icon to flipper_application library
* Loader menu: rework api
* View holder: move to gui service
* Loader: simple "loading" worker
* Loader: applications dialog
* Loader: fapping
* Update f18 api
* Apps: remove fap_loader
* Libs, flipper application: store args, rename thread allocation
* Loader: error handling
* Apps: use loader error handling
* Loader: documentation
* FBT: accomodate loader
* Loader: do not raise gui error if loader is locked
* Archive: accomodate loader
* Loader: fix loading message
* Flipper: drop some old dolphin legacy
* Loader: generalize error construction

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-06-23 21:01:40 +09:00
Willy-JL
2d7447d979 Use prev basename instead of index on folder exit
Keeps folder history after closing external app
2023-06-21 13:24:51 +01:00
Willy-JL
1e299c1b74 Add hidden files and internal tab settings 2023-06-05 00:39:52 +01:00
Willy-JL
82ad081a48 Fix hiding assets in archive 2023-06-04 22:01:14 +01:00
Willy-JL
b63fe76a71 Properly hide favs tab when no favs are set 2023-06-04 18:54:39 +01:00
Willy-JL
2b2708e635 Archive fix favorites, u2f and app tabs 2023-06-04 17:29:13 +01:00
Willy-JL
f2ce2ad95c Archive fix internal and external browsers 2023-06-04 17:25:35 +01:00
Willy-JL
405a6f76db Archive go brrr 2023-05-22 14:10:12 +01:00
Willy-JL
8d7932467c Archive scene fix 2023-05-22 14:08:36 +01:00
Willy-JL
c2c9257999 Format 2023-03-28 22:02:15 +01:00
Willy-JL
c7f6cd1c64 Hide dot files in browser if not debug mode 2023-03-28 22:01:48 +01:00