457 Commits

Author SHA1 Message Date
WillyJL 720eec34c8 Merge branch 'ofw-pr-4261' into mntm-dev --nobuild 2025-10-06 03:58:32 +02:00
WillyJL 5d5fa5e9aa Merge branch 'feat/nfc-type-4-final' into mntm-dev 2025-10-06 01:32:15 +02:00
hedger 649e173e03 Merge branch 'dev' into feat/nfc-type-4-final 2025-09-25 12:11:54 +01:00
Aaron Tulino 0351c85ad5 Merge branch 'dev' into datetime-module 2025-09-24 21:37:19 -07:00
Anna Antonenko d0360625d6 [FL-3925] JS views finished (#4155)
* js: value destructuring and tests

* js: temporary fix to see size impact

* js_val: reduce code size 1

* i may be stupid.

* test: js_value args

* Revert "js: temporary fix to see size impact"

This reverts commit f51d726dbafc4300d3552020de1c3b8f9ecd3ac1.

* pvs: silence warnings

* style: formatting

* pvs: silence warnings?

* pvs: silence warnings??

* js_value: redesign declaration types for less code

* js: temporary fix to see size impact

* style: formatting

* pvs: fix helpful warnings

* js_value: reduce .rodata size

* pvs: fix helpful warning

* js_value: reduce code size 1

* fix build error

* style: format

* Revert "js: temporary fix to see size impact"

This reverts commit d6a46f01794132e882e03fd273dec24386a4f8ba.

* style: format

* js: move to new arg parser

* style: format

* feat: all js views done

* js, toolbox: generalize string owning

* toolbox: silence pvs warning

---------

Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-09-24 23:24:28 +04:00
MMX 30077dd512 Fix PVS warnings (#4277)
* Fixing PVS warns

* pvs: additional fixes

---------

Co-authored-by: hedger <hedger@nanode.su>
2025-09-24 21:00:39 +04:00
Alexander Bays 5c54be4d9c Infrared: Add text scroll to remote buttons (#4210)
* Infrared: Add text scroll to universal remote buttons

Replaces center aligned text in the infrared universal remote with scrollable text if wider than the button and is cut off. Allows long descriptive button functions to be seen in some remotes.

* linter fixes

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-09-24 19:45:40 +04:00
Aaron Tulino (Aaronjamt) 2dd3673dcd Improve 12-hour UI 2025-09-23 15:37:12 -07:00
Aaron Tulino (Aaronjamt) d35976cf6c Add 12-hour time support 2025-09-23 15:13:25 -07:00
Aaron Tulino (Aaronjamt) 8e0f7cfb72 Add usage example app 2025-09-23 10:15:55 -07:00
Aaron Tulino (Aaronjamt) 65cd636f50 Update Date/Time Input GUI module
Add an option to control which fields can be edited by the user
2025-09-08 03:19:54 -07:00
WillyJL a368946a6e Merge branch 'ofw-pr-4261' into mntm-dev --nobuild 2025-09-06 04:06:13 +02:00
WillyJL 5a4a8c71d8 Revert "Fix ByteInput to properly zero bytes"
This reverts commit e583c105b9.
2025-09-06 03:35:18 +02:00
WillyJL 3a35730a24 Merge remote-tracking branch 'xero/dev' into mntm-dev 2025-09-06 03:32:17 +02:00
noproto 1b88b86a11 Merge remote-tracking branch 'flipperdevices/dev' into ulcdict 2025-08-17 17:54:56 -04:00
Aaron Tulino (Aaronjamt) 64a638d7da Add date/time input module 2025-08-13 00:18:29 -07: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
WillyJL 9e1baf715e Merge remote-tracking branch 'fork-ofw/feat/nfc-type-4-final' into mntm-dev --nobuild 2025-06-29 03:43:52 +01:00
WillyJL 18d4110d7b Merge branch 'ofw-pr-4210' into mntm-dev --nobuild 2025-05-22 19:06:25 +01:00
956MB b4b5f8a1a2 Infrared: Add text scroll to universal remote buttons
Replaces center aligned text in the infrared universal remote with scrollable text if wider than the button and is cut off. Allows long descriptive button functions to be seen in some remotes.
2025-05-02 19:38:54 -05:00
Willy-JL bc4bf99f77 Merge remote-tracking branch 'ul/dev' into mntm-dev 2025-04-23 04:21:50 +01:00
Alexander Bays 16fb7e44df GUI: Checkerboard overlay behind popup elements (#380)
* GUI: Checkerboard overlay behind popup elements

Adds setting 'Popup Overlay' (default ON) which draws a checkerboard pattern behind popups, like the Archive actions menu, keypad/pin lock modal, and the varitemlist locked message. Gives the illusion of separation from the popup element and the background content and is an aesthetic improvement.

* Refactor

* Update changelog

---------

Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
2025-04-13 03:59:28 +01:00
Willy-JL 49d7ce7349 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2025-04-12 10:36:13 +01:00
Willy-JL 04415bf7dc Merge remote-tracking branch 'ofw/dev' into feat/nfc-type-4 2025-04-10 03:42:55 +01:00
MX edb327e50a Merge remote-tracking branch 'OFW/dev' into dev 2025-04-07 18:01:37 +03:00
Anna Antonenko eb0f5ef8c0 [FL-3947] Pinning of settings options (#4077)
* feat: pinning settings in favorites

* include archive in unit tests fw

* change settings icon

* update text with suggestions from the ui team

* Small touch of constness

---------

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-04-07 03:17:58 +04:00
WillyJL 3bd6ee03ef GUI: Fix widget text scroll with 256+ lines (#4160)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-03-31 19:11:05 +04:00
MX 65b1b943d1 GUI: Fix widget text scroll with 256+ lines [ci skip]
by Willy-JL in OFW PR 4160
2025-03-28 14:05:47 +03:00
Willy-JL ebb6194155 Merge branch 'fix/widget-textscroll-256' into mntm-dev 2025-03-26 11:35:11 +00:00
Willy-JL d02f13bef1 GUI: Fix widget text scroll with 256+ lines 2025-03-26 07:37:43 +00:00
Willy-JL 5ed0dc2066 GUI: Add submenu_remove_item() 2025-03-21 05:08:29 +00:00
Alexander Bays c3bfebb6e6 GUI: Add marquee 'Text Scroll' option (#363)
* GUI: Add marquee 'Text Scroll' option

- Adds the tiny `Text Scroll` option under `MNTM > Interface > General` to either use the standard scroll, or a new marquee style back and forth on any scrollable text.
- `elements_scrollable_text_line_centered` renamed to `elements_scrollable_text_line_ex` to be more general. Has `bool marquee`.

* Unnecessary switch here

* Apply setting internally

* Revert a few usages

* Update changelog

* Last thing

---------

Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
2025-03-02 04:50:56 +00:00
Alexander Bays adc66d78da Clock: 12 hour "midnight format" (#341)
* Clock: 12 hour midnight format

- References #317 and adds the options `12:XX` and `00:XX` in `Settings > System > Midnight Format` to display the preferred clock format past midnight on all clocks (Desktop, Main Menu MNTM style, Lock screen and Nightstand clock app). "12:30 AM" -> "00:30" OR "12:30".

* Fix: Move midnight format setting out of furi_rtc

- Also felt like the midnight format setting was too out of place in `MNTM > Interface` with the 5 other submenu entries, so I put it in Misc for now.

* clock app external

* Moved midnight format setting into new `Interface > General`

* Update applications/main/momentum_app/scenes/momentum_app_scene_interface_general.c

* Update changelog

---------

Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
2025-03-02 04:20:38 +00:00
Alexander Bays 3b96cc47a7 Main Menu: Refine CoverFlow menu style (#379)
* Main Menu: Refine CoverFlow menu style

- Rounds the corners of the cards
- Adds 1px margin around the center card
- Fixes vertical spacing of the cards, text label and the scrollbar.

* Update changelog

---------

Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
2025-03-02 04:04:19 +00:00
Willy-JL bd2ee18e48 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2025-02-28 02:03:45 +00:00
MX b887d6af21 Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2025-02-21 05:18:29 +03:00
WillyJL 404764b660 GUI: Widget view extra options for JS (#4120)
* Fill option for widget frame
* Add widget circle element
* Add widget line element
* Fix missing include for InputType
* Fix missing comment
* Update api symbols
* Load .fxbm from file
* Fix copy pasta
* Add fill param to example
* Fix some comments
* Bump JS SDK 0.3
* Fix free
* Rename widget frame to rect
* Gui: add widget_add_frame_element backward compatibility macros

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2025-02-21 10:47:56 +09:00
MX f242eef26f Merge remote-tracking branch 'OFW/dev' into dev 2025-02-21 03:08:00 +03:00
Akiva-Cohen 4e9aa3883b Updated Button Panel (#4119)
* updated button panel
* fixed mismateched .c and .h files
* Gui: extra events for ok button handling in button_panel
* Gui: extra events for other buttons handling in button_panel

Co-authored-by: あく <alleteam@gmail.com>
2025-02-21 06:57:28 +09:00
Alexander Bays 1e9db6bfaf Main Menu: Fixes scrollable text in CoverFlow (#357)
- `elements_scrollable_text_line_centered` was using 0 on scroll, so text wider than the screen would not scroll. Uses `menu_scroll_counter` to fix it.
- Also makes the width 124 to give a 1px margin so the text isn't touching the outside lines
2025-01-21 02:52:50 +00:00
Willy-JL 574933a500 Small cleanup of #314 --nobuild 2025-01-17 00:06:48 +00:00
Cody Tolene 530f3d4f22 Main Menu: Add coverflow menu style (#314)
* Add coverflow menu style.

* Update with new canvas extended function `canvas_draw_icon_animation_ex`
2025-01-16 23:50:33 +00:00
Alexander Bays 7d4ea20701 Main Menu: Fix MNTM style battery percent off by 1 (#339)
* Battery: MNTM menu style battery off by 1

- Uses the same `furi_hal_power_get_pct` function used on the desktop to fix the apparent rounded error that's happening and show the same battery %.

* Update changelog

---------

Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
2025-01-13 02:39:46 +00:00
noproto e583c105b9 Fix ByteInput to properly zero bytes 2024-11-10 17:08:55 -05:00
Willy-JL 59a7dad7a5 GUI: Replace strcat() usage with strlcat() 2024-11-08 04:48:25 +00:00
Willy-JL 4ee5789168 GUI: Ascii input for ByteInput 2024-10-29 22:23:50 +00:00
Willy-JL 38471fdd75 GUI: Refactor TextInput illegal symbols API 2024-10-29 22:08:52 +00:00
Willy-JL 88dfe97a89 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-10-15 23:43:33 +01:00
MX 45bc0e1ce6 after merge fix p1 2024-10-15 00:43:52 +03:00
MX 4b9b1769f7 Merge remote-tracking branch 'OFW/dev' into dev 2024-10-15 00:08:47 +03:00