spi_mem_scene_file_info.c 1.1 KB

1234567891011121314151617181920212223242526272829
  1. #include "../spi_mem_app_i.h"
  2. #include "../spi_mem_files.h"
  3. void spi_mem_scene_file_info_on_enter(void* context) {
  4. SPIMemApp* app = context;
  5. FuriString* str = furi_string_alloc();
  6. furi_string_printf(str, "Size: %zu KB", spi_mem_file_get_size(app) / 1024);
  7. widget_add_string_element(
  8. app->widget, 64, 9, AlignCenter, AlignBottom, FontPrimary, "File info");
  9. widget_add_string_element(
  10. app->widget, 64, 20, AlignCenter, AlignBottom, FontSecondary, furi_string_get_cstr(str));
  11. furi_string_free(str);
  12. view_dispatcher_switch_to_view(app->view_dispatcher, SPIMemViewWidget);
  13. }
  14. bool spi_mem_scene_file_info_on_event(void* context, SceneManagerEvent event) {
  15. SPIMemApp* app = context;
  16. bool success = false;
  17. if(event.type == SceneManagerEventTypeBack) {
  18. success = true;
  19. scene_manager_search_and_switch_to_previous_scene(
  20. app->scene_manager, SPIMemSceneSavedFileMenu);
  21. }
  22. return success;
  23. }
  24. void spi_mem_scene_file_info_on_exit(void* context) {
  25. SPIMemApp* app = context;
  26. widget_reset(app->widget);
  27. }