Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gui: Submenu and VarItemList API additions and improvements #3621

Draft
wants to merge 12 commits into
base: dev
Choose a base branch
from

Commits on Apr 30, 2024

  1. Gui: Submenu and VarItemList API additions and improvements

    API additions:
    - `submenu_add_lockable_item()`: based on flipperdevices#2289 which was rejected, CFWs merged it and improved it over time, theres a few apps that use it by now (example usecase: highlighting that some features are not available in current configuration / state)
    - `submenu_set_orientation()`: can have vertical submenu (user's preference for ux, same concept works great in infrared app, could be reused there to make more of the app vertical instead of having to keep switching)
    - `variable_item_list_get()`: get and allow editing an item after creation (example usecase: editing one option changes state of other entries in the list, like if they are locked due to incompatible settings or if they have different labels or values)
    - `variable_item_list_set_header()`: feature parity with `submenu` widget (example usecase: headers are pretty but want editable options not just a list)
    - `variable_item_set_item_label()`: allow changing label after adding item (example usecase: want to show index of item, can have value shown and put (1/10) in label dynamically, also probably more, allows more creativity)
    - `variable_item_set_locked()`: same as above for `submenu`, based on same code but ported to varitemlist by me. also allows setting locked state after the fact, remembers locked message so after creation you can toggle with `set_locked(item, false/true, NULL)` (example usecase, some settings combinations in this screen are incompatible, like GPIO pins overlapping when configuring)
    
    General improvements:
    - Can have header in Variable Item List
    - Can have a vertical Submenu
    - Can lock items in Variable Item List and Submenu
    - Variable Item List label and value scroll if too long
    - Variable Item List value arrows shrink if value is < 4 characters
    - More freedom and usefulness in Variable Item List API
    - Cleaned up some parts of the code and some magic numbers are now defined
    
    Acknowlegments:
    - Original submenu lockable items code by @giacomoferretti in flipperdevices#2289
    - Vertical submenu and some code improvements by Unleashed CFW team
    - Most other edits by me @Willy-JL
    - Hope I'm not forgetting someone else that was involved
    Willy-JL committed Apr 30, 2024
    Configuration menu
    Copy the full SHA
    6fe017a View commit details
    Browse the repository at this point in the history
  2. Fix ellipsis

    Willy-JL committed Apr 30, 2024
    Configuration menu
    Copy the full SHA
    3a1a539 View commit details
    Browse the repository at this point in the history

Commits on May 3, 2024

  1. Configuration menu
    Copy the full SHA
    20cb434 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ba8b8e3 View commit details
    Browse the repository at this point in the history
  3. Update symbols

    Willy-JL committed May 3, 2024
    Configuration menu
    Copy the full SHA
    add64ef View commit details
    Browse the repository at this point in the history
  4. Fix typo

    Willy-JL committed May 3, 2024
    Configuration menu
    Copy the full SHA
    3237c24 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    942f78a View commit details
    Browse the repository at this point in the history

Commits on May 15, 2024

  1. Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-f…

    …irmware into submenu-varitemlist-api
    Willy-JL committed May 15, 2024
    Configuration menu
    Copy the full SHA
    d0c4d0c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fadef34 View commit details
    Browse the repository at this point in the history

Commits on May 16, 2024

  1. Configuration menu
    Copy the full SHA
    5624c5f View commit details
    Browse the repository at this point in the history
  2. Bump API symbols version

    skotopes committed May 16, 2024
    Configuration menu
    Copy the full SHA
    974cd38 View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2024

  1. Configuration menu
    Copy the full SHA
    1b88828 View commit details
    Browse the repository at this point in the history