Confirm when removing t5577 password

add extra scene
This commit is contained in:
MX 2023-04-27 02:40:33 +03:00
parent 6119d6e102
commit 243edf7e13
No known key found for this signature in database
GPG key ID: 7CCC66B7DBDD1C83
4 changed files with 53 additions and 5 deletions

View file

@ -83,10 +83,11 @@ bool lfrfid_scene_clear_t5577_on_event(void* context, SceneManagerEvent event) {
LfRfid* app = context;
bool consumed = false;
const uint32_t prev_scene = LfRfidSceneExtraActions;
if(event.type == SceneManagerEventTypeCustom && event.event == LfRfidEventPopupClosed) {
scene_manager_search_and_switch_to_previous_scene(app->scene_manager, prev_scene);
if(event.type == SceneManagerEventTypeBack) {
consumed = true; // Ignore Back button presses
} else if(event.type == SceneManagerEventTypeCustom && event.event == LfRfidEventPopupClosed) {
scene_manager_search_and_switch_to_previous_scene(
app->scene_manager, LfRfidSceneExtraActions);
consumed = true;
}
return consumed;

View file

@ -0,0 +1,46 @@
#include "../lfrfid_i.h"
void lfrfid_scene_clear_t5577_confirm_on_enter(void* context) {
LfRfid* app = context;
Widget* widget = app->widget;
widget_add_button_element(widget, GuiButtonTypeLeft, "Exit", lfrfid_widget_callback, app);
widget_add_button_element(widget, GuiButtonTypeRight, "Start", lfrfid_widget_callback, app);
widget_add_string_multiline_element(
widget, 64, 22, AlignCenter, AlignBottom, FontPrimary, "Apply tag to\nFlipper's back");
widget_add_string_multiline_element(
widget,
64,
45,
AlignCenter,
AlignBottom,
FontSecondary,
"And don't move it\nwhile process is running");
view_dispatcher_switch_to_view(app->view_dispatcher, LfRfidViewWidget);
}
bool lfrfid_scene_clear_t5577_confirm_on_event(void* context, SceneManagerEvent event) {
LfRfid* app = context;
SceneManager* scene_manager = app->scene_manager;
bool consumed = false;
if(event.type == SceneManagerEventTypeBack) {
consumed = true; // Ignore Back button presses
} else if(event.type == SceneManagerEventTypeCustom) {
consumed = true;
if(event.event == GuiButtonTypeLeft) {
scene_manager_search_and_switch_to_previous_scene(
scene_manager, LfRfidSceneExtraActions);
} else if(event.event == GuiButtonTypeRight) {
scene_manager_next_scene(scene_manager, LfRfidSceneClearT5577);
}
}
return consumed;
}
void lfrfid_scene_clear_t5577_confirm_on_exit(void* context) {
LfRfid* app = context;
widget_reset(app->widget);
}

View file

@ -16,6 +16,7 @@ ADD_SCENE(lfrfid, save_data, SaveData)
ADD_SCENE(lfrfid, save_type, SaveType)
ADD_SCENE(lfrfid, saved_info, SavedInfo)
ADD_SCENE(lfrfid, clear_t5577, ClearT5577)
ADD_SCENE(lfrfid, clear_t5577_confirm, ClearT5577Confirm)
ADD_SCENE(lfrfid, delete_success, DeleteSuccess)
ADD_SCENE(lfrfid, extra_actions, ExtraActions)
ADD_SCENE(lfrfid, raw_info, RawInfo)

View file

@ -80,7 +80,7 @@ bool lfrfid_scene_extra_actions_on_event(void* context, SceneManagerEvent event)
DOLPHIN_DEED(DolphinDeedRfidRead);
consumed = true;
} else if(event.event == SubmenuIndexClearT5577) {
scene_manager_next_scene(app->scene_manager, LfRfidSceneClearT5577);
scene_manager_next_scene(app->scene_manager, LfRfidSceneClearT5577Confirm);
consumed = true;
} else if(event.event == SubmenuIndexRAW) {
scene_manager_next_scene(app->scene_manager, LfRfidSceneRawName);