Skip to content

Commit 018f9f6

Browse files
committed
Move parse from card menu to card read success
1 parent 56ac248 commit 018f9f6

File tree

2 files changed

+16
-19
lines changed

2 files changed

+16
-19
lines changed

scenes/seader_scene_card_menu.c

-19
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
#include "../seader_i.h"
22

33
enum SubmenuIndex {
4-
SubmenuIndexParse,
54
SubmenuIndexSave,
65
SubmenuIndexSavePicopass,
76
SubmenuIndexSaveRFID,
@@ -18,21 +17,8 @@ void seader_scene_card_menu_submenu_callback(void* context, uint32_t index) {
1817
void seader_scene_card_menu_on_enter(void* context) {
1918
Seader* seader = context;
2019
SeaderCredential* credential = seader->credential;
21-
PluginWiegand* plugin = seader->plugin_wiegand;
2220
Submenu* submenu = seader->submenu;
2321

24-
if(plugin) {
25-
size_t format_count = plugin->count(credential->bit_length, credential->credential);
26-
if(format_count > 0) {
27-
submenu_add_item(
28-
submenu,
29-
"Parse",
30-
SubmenuIndexParse,
31-
seader_scene_card_menu_submenu_callback,
32-
seader);
33-
}
34-
}
35-
3622
submenu_add_item(
3723
submenu, "Save", SubmenuIndexSave, seader_scene_card_menu_submenu_callback, seader);
3824
submenu_add_item(
@@ -100,11 +86,6 @@ bool seader_scene_card_menu_on_event(void* context, SceneManagerEvent event) {
10086
seader->credential->save_format = SeaderCredentialSaveFormatMFC;
10187
scene_manager_next_scene(seader->scene_manager, SeaderSceneSaveName);
10288
consumed = true;
103-
} else if(event.event == SubmenuIndexParse) {
104-
scene_manager_set_scene_state(
105-
seader->scene_manager, SeaderSceneCardMenu, SubmenuIndexParse);
106-
scene_manager_next_scene(seader->scene_manager, SeaderSceneFormats);
107-
consumed = true;
10889
}
10990
} else if(event.type == SceneManagerEventTypeBack) {
11091
consumed = scene_manager_search_and_switch_to_previous_scene(

scenes/seader_scene_read_card_success.c

+16
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ void seader_scene_read_card_success_widget_callback(
1616
void seader_scene_read_card_success_on_enter(void* context) {
1717
Seader* seader = context;
1818
SeaderCredential* credential = seader->credential;
19+
PluginWiegand* plugin = seader->plugin_wiegand;
1920
Widget* widget = seader->widget;
2021

2122
FuriString* type_str = furi_string_alloc();
@@ -58,6 +59,18 @@ void seader_scene_read_card_success_on_enter(void* context) {
5859
widget_add_button_element(
5960
widget, GuiButtonTypeRight, "More", seader_scene_read_card_success_widget_callback, seader);
6061

62+
if(plugin) {
63+
size_t format_count = plugin->count(credential->bit_length, credential->credential);
64+
if(format_count > 0) {
65+
widget_add_button_element(
66+
seader->widget,
67+
GuiButtonTypeCenter,
68+
"Parse",
69+
seader_scene_read_card_success_widget_callback,
70+
seader);
71+
}
72+
}
73+
6174
widget_add_string_element(
6275
widget, 64, 5, AlignCenter, AlignCenter, FontPrimary, furi_string_get_cstr(type_str));
6376
widget_add_string_element(
@@ -100,6 +113,9 @@ bool seader_scene_read_card_success_on_event(void* context, SceneManagerEvent ev
100113
} else if(event.event == GuiButtonTypeRight) {
101114
scene_manager_next_scene(seader->scene_manager, SeaderSceneCardMenu);
102115
consumed = true;
116+
} else if(event.event == GuiButtonTypeCenter) {
117+
scene_manager_next_scene(seader->scene_manager, SeaderSceneFormats);
118+
consumed = true;
103119
}
104120
} else if(event.type == SceneManagerEventTypeBack) {
105121
scene_manager_search_and_switch_to_previous_scene(

0 commit comments

Comments
 (0)