diff --git a/scenes/hex_viewer_scene_menu.c b/scenes/hex_viewer_scene_menu.c index f89004ec8eb..3db5f652755 100644 --- a/scenes/hex_viewer_scene_menu.c +++ b/scenes/hex_viewer_scene_menu.c @@ -2,7 +2,7 @@ enum SubmenuIndex { SubmenuIndexScene1 = 10, - // SubmenuIndexScene2, + SubmenuIndexScene2, // SubmenuIndexScene3, SubmenuIndexScene4, // SubmenuIndexScene5, @@ -32,6 +32,12 @@ void hex_viewer_scene_menu_on_enter(void* context) { SubmenuIndexScene1, hex_viewer_scene_menu_submenu_callback, app); + submenu_add_item( + app->submenu, + "Show info ...", + SubmenuIndexScene2, + hex_viewer_scene_menu_submenu_callback, + app); // submenu_add_item(app->submenu, "Settings", SubmenuIndexSettings, hex_viewer_scene_menu_submenu_callback, app); submenu_set_selected_item( @@ -55,11 +61,11 @@ bool hex_viewer_scene_menu_on_event(void* context, SceneManagerEvent event) { app->scene_manager, HexViewerSceneMenu, SubmenuIndexScene1); scene_manager_next_scene(app->scene_manager, HexViewerSceneScene_1); return true; - // } else if (event.event == SubmenuIndexScene2) { - // scene_manager_set_scene_state( - // app->scene_manager, HexViewerSceneMenu, SubmenuIndexScene2); - // scene_manager_next_scene(app->scene_manager, HexViewerSceneScene_2); - // return true; + } else if(event.event == SubmenuIndexScene2) { + scene_manager_set_scene_state( + app->scene_manager, HexViewerSceneMenu, SubmenuIndexScene2); + scene_manager_next_scene(app->scene_manager, HexViewerSceneScene_2); + return true; // } else if (event.event == SubmenuIndexScene3) { // scene_manager_set_scene_state( // app->scene_manager, HexViewerSceneMenu, SubmenuIndexScene3); diff --git a/scenes/hex_viewer_scene_scene_2.c b/scenes/hex_viewer_scene_scene_2.c index 1338c27d149..bec1983d039 100644 --- a/scenes/hex_viewer_scene_scene_2.c +++ b/scenes/hex_viewer_scene_scene_2.c @@ -4,44 +4,46 @@ #include "../helpers/hex_viewer_led.h" #include "../views/hex_viewer_scene_2.h" -void hex_viewer_scene_2_callback(HexViewerCustomEvent event, void* context) { - furi_assert(context); - HexViewer* app = context; - view_dispatcher_send_custom_event(app->view_dispatcher, event); -} +// void hex_viewer_scene_2_callback(HexViewerCustomEvent event, void* context) { +// furi_assert(context); +// HexViewer* app = context; +// view_dispatcher_send_custom_event(app->view_dispatcher, event); +// } void hex_viewer_scene_scene_2_on_enter(void* context) { furi_assert(context); HexViewer* app = context; - hex_viewer_scene_2_set_callback(app->hex_viewer_scene_2, hex_viewer_scene_2_callback, app); - view_dispatcher_switch_to_view(app->view_dispatcher, HexViewerViewIdScene2); + + FuriString* buffer; + buffer = furi_string_alloc(); + furi_string_printf( + buffer, + "File path: %s\nFile size: %lu (0x%lX)", + furi_string_get_cstr(app->file_path), + app->model->file_size, + app->model->file_size); + + // DialogsApp* dialogs = furi_record_open(RECORD_DIALOGS); + DialogMessage* message = dialog_message_alloc(); + dialog_message_set_header(message, "Hex Viewer v2.0", 16, 2, AlignLeft, AlignTop); + dialog_message_set_icon(message, &I_hex_10px, 3, 2); + dialog_message_set_text(message, furi_string_get_cstr(buffer), 3, 16, AlignLeft, AlignTop); + dialog_message_set_buttons(message, NULL, NULL, "Back"); + dialog_message_show(app->dialogs, message); + + furi_string_free(buffer); + dialog_message_free(message); + // furi_record_close(RECORD_DIALOGS); + + scene_manager_search_and_switch_to_previous_scene( + app->scene_manager, HexViewerViewIdStartscreen); } bool hex_viewer_scene_scene_2_on_event(void* context, SceneManagerEvent event) { HexViewer* app = context; - bool consumed = false; - - if(event.type == SceneManagerEventTypeCustom) { - switch(event.event) { - case HexViewerCustomEventScene2Left: - case HexViewerCustomEventScene2Right: - break; - case HexViewerCustomEventScene2Up: - case HexViewerCustomEventScene2Down: - break; - case HexViewerCustomEventScene2Back: - notification_message(app->notification, &sequence_reset_red); - notification_message(app->notification, &sequence_reset_green); - notification_message(app->notification, &sequence_reset_blue); - if(!scene_manager_search_and_switch_to_previous_scene( - app->scene_manager, HexViewerSceneMenu)) { - scene_manager_stop(app->scene_manager); - view_dispatcher_stop(app->view_dispatcher); - } - consumed = true; - break; - } - } + UNUSED(app); + UNUSED(event); + bool consumed = true; return consumed; } @@ -50,4 +52,3 @@ void hex_viewer_scene_scene_2_on_exit(void* context) { HexViewer* app = context; UNUSED(app); } - diff --git a/views/hex_viewer_startscreen.c b/views/hex_viewer_startscreen.c index 389c6c5b650..841d1419a4c 100644 --- a/views/hex_viewer_startscreen.c +++ b/views/hex_viewer_startscreen.c @@ -44,7 +44,7 @@ void hex_viewer_startscreen_draw(Canvas* canvas, HexViewerStartscreenModel* mode canvas_set_color(canvas, ColorBlack); elements_button_left(canvas, model->mode ? "Addr" : "Text"); - elements_button_right(canvas, "Info"); + //elements_button_right(canvas, "Info"); elements_button_center(canvas, "Menu"); int ROW_HEIGHT = 12; @@ -214,9 +214,7 @@ void hex_viewer_startscreen_enter(void* context) { with_view_model( instance->view, HexViewerStartscreenModel * model, - { - update_local_model_from_app(instance->context, model); - }, + { update_local_model_from_app(instance->context, model); }, true); }