Added Password Viewer (TEMP)
This commit is contained in:
parent
09b676fc21
commit
9b42cc862b
1 changed files with 74 additions and 4 deletions
|
@ -18,7 +18,8 @@ typedef enum { FP_View_Submenu, FP_View_Popup } FP_View;
|
||||||
|
|
||||||
/* All events */
|
/* All events */
|
||||||
typedef enum {
|
typedef enum {
|
||||||
FP_Event_SwitchTo_About
|
FP_Event_SwitchTo_About,
|
||||||
|
FP_Event_SwitchTo_Overview
|
||||||
} FP_Event;
|
} FP_Event;
|
||||||
|
|
||||||
/* Scene events */
|
/* Scene events */
|
||||||
|
@ -39,11 +40,22 @@ void FP_Scene_Callback_MainMenu(void* context, uint32_t index) {
|
||||||
case FP_Scene_MainMenu_Event_About:
|
case FP_Scene_MainMenu_Event_About:
|
||||||
scene_manager_handle_custom_event(app->scene_manager, FP_Event_SwitchTo_About);
|
scene_manager_handle_custom_event(app->scene_manager, FP_Event_SwitchTo_About);
|
||||||
break;
|
break;
|
||||||
|
case FP_Scene_MainMenu_Event_View:
|
||||||
|
scene_manager_handle_custom_event(app->scene_manager, FP_Event_SwitchTo_Overview);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
FURI_LOG_I(TAG, "S_MAINMENU: Unimplemented!");
|
FURI_LOG_I(TAG, "S_MAINMENU: Unimplemented!");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
void FP_Scene_Callback_Overview(void* context, uint32_t index) {
|
||||||
|
// Setting context
|
||||||
|
FP_App* app = context;
|
||||||
|
|
||||||
|
// Sending it to the scene manager
|
||||||
|
scene_manager_handle_custom_event(app->scene_manager, index);
|
||||||
|
}
|
||||||
|
|
||||||
void FP_Scene_Enter_MainMenu(void* context) {
|
void FP_Scene_Enter_MainMenu(void* context) {
|
||||||
// Setting context
|
// Setting context
|
||||||
FP_App* app = context;
|
FP_App* app = context;
|
||||||
|
@ -84,6 +96,28 @@ void FP_Scene_Enter_MainMenu(void* context) {
|
||||||
// Switching to current view
|
// Switching to current view
|
||||||
view_dispatcher_switch_to_view(app->view_dispatcher, FP_View_Submenu);
|
view_dispatcher_switch_to_view(app->view_dispatcher, FP_View_Submenu);
|
||||||
}
|
}
|
||||||
|
void FP_Scene_Enter_Overview(void* context) {
|
||||||
|
// Setting context
|
||||||
|
FP_App* app = context;
|
||||||
|
|
||||||
|
// Reset menu
|
||||||
|
submenu_reset(app->submenu);
|
||||||
|
|
||||||
|
// Adding menu items
|
||||||
|
for (int i = 0; i < 4; i++) {
|
||||||
|
submenu_add_item(
|
||||||
|
app->submenu,
|
||||||
|
"PASSWORD",
|
||||||
|
0,
|
||||||
|
FP_Scene_Callback_Overview,
|
||||||
|
app
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sending view to Flipper
|
||||||
|
view_dispatcher_switch_to_view(app->view_dispatcher, FP_View_Submenu);
|
||||||
|
}
|
||||||
|
|
||||||
void FP_Scene_Exit_MainMenu(void* context) {
|
void FP_Scene_Exit_MainMenu(void* context) {
|
||||||
// Setting context
|
// Setting context
|
||||||
FP_App* app = context;
|
FP_App* app = context;
|
||||||
|
@ -91,6 +125,14 @@ void FP_Scene_Exit_MainMenu(void* context) {
|
||||||
// Reset menu
|
// Reset menu
|
||||||
submenu_reset(app->submenu);
|
submenu_reset(app->submenu);
|
||||||
}
|
}
|
||||||
|
void FP_Scene_Exit_Overview(void* context) {
|
||||||
|
// Setting context
|
||||||
|
FP_App* app = context;
|
||||||
|
|
||||||
|
// Reset menu
|
||||||
|
submenu_reset(app->submenu);
|
||||||
|
}
|
||||||
|
|
||||||
bool FP_Scene_Event_MainMenu(void* context, SceneManagerEvent event) {
|
bool FP_Scene_Event_MainMenu(void* context, SceneManagerEvent event) {
|
||||||
// Setting context
|
// Setting context
|
||||||
FP_App* app = context;
|
FP_App* app = context;
|
||||||
|
@ -106,6 +148,9 @@ bool FP_Scene_Event_MainMenu(void* context, SceneManagerEvent event) {
|
||||||
case FP_Event_SwitchTo_About:
|
case FP_Event_SwitchTo_About:
|
||||||
scene_manager_next_scene(app->scene_manager, FP_Scene_About);
|
scene_manager_next_scene(app->scene_manager, FP_Scene_About);
|
||||||
break;
|
break;
|
||||||
|
case FP_Event_SwitchTo_Overview:
|
||||||
|
scene_manager_next_scene(app->scene_manager, FP_Scene_Overview);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -116,16 +161,41 @@ bool FP_Scene_Event_MainMenu(void* context, SceneManagerEvent event) {
|
||||||
// Return result
|
// Return result
|
||||||
return consumed;
|
return consumed;
|
||||||
}
|
}
|
||||||
|
bool FP_Scene_Event_Overview(void* context, SceneManagerEvent event) {
|
||||||
|
// Setting context
|
||||||
|
FP_App* app = context;
|
||||||
|
bool consumed = false;
|
||||||
|
|
||||||
|
// Switching based on event
|
||||||
|
if (event.type == SceneManagerEventTypeCustom) {
|
||||||
|
// We consumed it
|
||||||
|
consumed = true;
|
||||||
|
|
||||||
|
// DEBUG
|
||||||
|
FURI_LOG_D(TAG, "Opening password %li", event.event);
|
||||||
|
|
||||||
|
// Switch to password view screen
|
||||||
|
scene_manager_next_scene(app->scene_manager, FP_Scene_View);
|
||||||
|
} else {
|
||||||
|
consumed = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return result
|
||||||
|
return consumed;
|
||||||
|
}
|
||||||
|
|
||||||
/* Handlers */
|
/* Handlers */
|
||||||
void (*const FP_Scene_Enter_Handlers[])(void*) = {
|
void (*const FP_Scene_Enter_Handlers[])(void*) = {
|
||||||
FP_Scene_Enter_MainMenu
|
FP_Scene_Enter_MainMenu,
|
||||||
|
FP_Scene_Enter_Overview
|
||||||
};
|
};
|
||||||
bool (*const FP_Scene_Event_Handlers[])(void*, SceneManagerEvent) = {
|
bool (*const FP_Scene_Event_Handlers[])(void*, SceneManagerEvent) = {
|
||||||
FP_Scene_Event_MainMenu
|
FP_Scene_Event_MainMenu,
|
||||||
|
FP_Scene_Event_Overview
|
||||||
};
|
};
|
||||||
void (*const FP_Scene_Exit_Handlers[])(void*) = {
|
void (*const FP_Scene_Exit_Handlers[])(void*) = {
|
||||||
FP_Scene_Exit_MainMenu
|
FP_Scene_Exit_MainMenu,
|
||||||
|
FP_Scene_Exit_Overview
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Event Handlers */
|
/* Event Handlers */
|
||||||
|
|
Loading…
Reference in a new issue