* 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>
* 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>
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.
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
- `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
* 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>