Fixed Dialog

This commit is contained in:
Maddox Werts 2024-09-05 18:54:38 -04:00
parent f045026f93
commit bae7928ac4

View file

@ -55,12 +55,12 @@ void FP_Scene_Callback_Overview(void* context, uint32_t index) {
// Sending it to the scene manager // Sending it to the scene manager
scene_manager_handle_custom_event(app->scene_manager, index); scene_manager_handle_custom_event(app->scene_manager, index);
} }
void FP_Scene_Callback_View(void* context, uint32_t index) { void FP_Scene_Callback_View(DialogExResult result, void* context) {
// Setting context // Setting context
FP_App* app = context; FP_App* app = context;
// Sending it to the scene manager // Sending it to the scene manager
scene_manager_handle_custom_event(app->scene_manager, index); scene_manager_handle_custom_event(app->scene_manager, result);
} }
void FP_Scene_Enter_MainMenu(void* context) { void FP_Scene_Enter_MainMenu(void* context) {
@ -127,19 +127,42 @@ void FP_Scene_Enter_Overview(void* context) {
void FP_Scene_Enter_View(void* context) { void FP_Scene_Enter_View(void* context) {
// Setting context // Setting context
FP_App* app = context; FP_App* app = context;
Password* current = app->manager->current;
// Freeing Dialog // Freeing Dialog
dialog_ex_reset(app->dialog); dialog_ex_reset(app->dialog);
// Username
FuriString* text = furi_string_alloc();
furi_string_printf(text, "U: %s", app->manager->current->user);
// Adding some content // Adding some content
dialog_ex_set_header( dialog_ex_set_header(
app->dialog, app->dialog,
current->name, app->manager->current->name,
0, 0, 0, 0,
AlignLeft, AlignLeft,
AlignTop AlignTop
); );
dialog_ex_set_text(
app->dialog,
furi_string_get_cstr(text),
5,
15,
AlignLeft,
AlignTop
);
dialog_ex_set_left_button_text(
app->dialog,
"Pass"
);
dialog_ex_set_center_button_text(
app->dialog,
"BadUSB"
);
// Left & Right
dialog_ex_set_result_callback(app->dialog, FP_Scene_Callback_View);
dialog_ex_set_context(app->dialog, app);
// Sending view to Flipper // Sending view to Flipper
view_dispatcher_switch_to_view(app->view_dispatcher, FP_View_Dialog); view_dispatcher_switch_to_view(app->view_dispatcher, FP_View_Dialog);
@ -233,6 +256,29 @@ bool FP_Scene_Event_View(void* context, SceneManagerEvent event) {
// We consumed it // We consumed it
consumed = true; consumed = true;
// What did we press?
switch (event.event) {
case DialogExResultLeft:
// Getting password and storing it in memory
FuriString* text = furi_string_alloc();
furi_string_printf(text, "U: %s\nP: %s",
app->manager->current->user,
app->manager->current->phrase
);
dialog_ex_set_text(
app->dialog,
furi_string_get_cstr(text),
5,15,
AlignLeft,
AlignTop
);
dialog_ex_set_left_button_text(app->dialog, NULL);
break;
default:
break;
}
// Switching based on event // Switching based on event
UNUSED(app); UNUSED(app);
} else { } else {