archive_scene_browser.c 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #include "../archive_i.h"
  2. #include "../views/archive_main_view.h"
  3. void archive_scene_browser_callback(ArchiveBrowserEvent event, void* context) {
  4. ArchiveApp* archive = (ArchiveApp*)context;
  5. view_dispatcher_send_custom_event(archive->view_dispatcher, event);
  6. }
  7. const void archive_scene_browser_on_enter(void* context) {
  8. ArchiveApp* archive = (ArchiveApp*)context;
  9. ArchiveMainView* main_view = archive->main_view;
  10. archive_browser_set_callback(main_view, archive_scene_browser_callback, archive);
  11. archive_browser_update(main_view);
  12. view_dispatcher_switch_to_view(archive->view_dispatcher, ArchiveViewBrowser);
  13. }
  14. const bool archive_scene_browser_on_event(void* context, SceneManagerEvent event) {
  15. ArchiveApp* archive = (ArchiveApp*)context;
  16. bool consumed;
  17. if(event.type == SceneManagerEventTypeCustom) {
  18. switch(event.event) {
  19. case ArchiveBrowserEventRename:
  20. scene_manager_next_scene(archive->scene_manager, ArchiveAppSceneRename);
  21. consumed = true;
  22. break;
  23. case ArchiveBrowserEventExit:
  24. view_dispatcher_stop(archive->view_dispatcher);
  25. consumed = true;
  26. break;
  27. default:
  28. break;
  29. }
  30. }
  31. return consumed;
  32. }
  33. const void archive_scene_browser_on_exit(void* context) {
  34. // ArchiveApp* archive = (ArchiveApp*)context;
  35. }