Overly missed feature: Infrared: move button (change button order in a remote) (#2894)

* Feature: Infrared: move button (change button order in a remote)
* little fix in furi_assert (case Move button to the end)
This commit is contained in:
plgcoder
2023-08-02 05:43:36 +02:00
committed by GitHub
parent a677b2bcc2
commit be86b0f38a
8 changed files with 215 additions and 4 deletions

View File

@@ -3,6 +3,7 @@
typedef enum {
SubmenuIndexAddButton,
SubmenuIndexRenameButton,
SubmenuIndexMoveButton,
SubmenuIndexDeleteButton,
SubmenuIndexRenameRemote,
SubmenuIndexDeleteRemote,
@@ -30,6 +31,12 @@ void infrared_scene_edit_on_enter(void* context) {
SubmenuIndexRenameButton,
infrared_scene_edit_submenu_callback,
context);
submenu_add_item(
submenu,
"Move Button",
SubmenuIndexMoveButton,
infrared_scene_edit_submenu_callback,
context);
submenu_add_item(
submenu,
"Delete Button",
@@ -74,6 +81,11 @@ bool infrared_scene_edit_on_event(void* context, SceneManagerEvent event) {
infrared->app_state.edit_mode = InfraredEditModeRename;
scene_manager_next_scene(scene_manager, InfraredSceneEditButtonSelect);
consumed = true;
} else if(submenu_index == SubmenuIndexMoveButton) {
infrared->app_state.edit_target = InfraredEditTargetButton;
infrared->app_state.edit_mode = InfraredEditModeMove;
scene_manager_next_scene(scene_manager, InfraredSceneEditButtonSelect);
consumed = true;
} else if(submenu_index == SubmenuIndexDeleteButton) {
infrared->app_state.edit_target = InfraredEditTargetButton;
infrared->app_state.edit_mode = InfraredEditModeDelete;