file_edit.c 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #include "nfc_playlist.h"
  2. #include "scences/file_edit.h"
  3. void nfc_playlist_file_edit_menu_callback(void* context, uint32_t index) {
  4. NfcPlaylist* nfc_playlist = context;
  5. scene_manager_handle_custom_event(nfc_playlist->scene_manager, index);
  6. }
  7. void nfc_playlist_file_edit_scene_on_enter(void* context) {
  8. NfcPlaylist* nfc_playlist = context;
  9. submenu_set_header(nfc_playlist->submenu, "Edit Playlist");
  10. submenu_add_lockable_item(
  11. nfc_playlist->submenu,
  12. "Delete Playlist",
  13. NfcPlaylistMenuSelection_DeletePlaylist,
  14. nfc_playlist_file_edit_menu_callback,
  15. nfc_playlist,
  16. !nfc_playlist->settings.playlist_selected_check,
  17. "No\nplaylist\nselected");
  18. submenu_add_lockable_item(
  19. nfc_playlist->submenu,
  20. "Rename Playlist",
  21. NfcPlaylistMenuSelection_RenamePlaylist,
  22. nfc_playlist_file_edit_menu_callback,
  23. nfc_playlist,
  24. !nfc_playlist->settings.playlist_selected_check,
  25. "No\nplaylist\nselected");
  26. view_dispatcher_switch_to_view(nfc_playlist->view_dispatcher, NfcPlaylistView_FileEdit);
  27. }
  28. bool nfc_playlist_file_edit_scene_on_event(void* context, SceneManagerEvent event) {
  29. NfcPlaylist* nfc_playlist = context;
  30. bool consumed = false;
  31. if(event.type == SceneManagerEventTypeCustom) {
  32. switch(event.event) {
  33. case NfcPlaylistMenuSelection_DeletePlaylist:
  34. scene_manager_next_scene(nfc_playlist->scene_manager, NfcPlaylistScene_ConfirmDelete);
  35. consumed = true;
  36. break;
  37. case NfcPlaylistMenuSelection_RenamePlaylist:
  38. scene_manager_next_scene(nfc_playlist->scene_manager, NfcPlaylistScene_FileRename);
  39. consumed = true;
  40. break;
  41. default:
  42. break;
  43. }
  44. }
  45. return consumed;
  46. }
  47. void nfc_playlist_file_edit_scene_on_exit(void* context) {
  48. NfcPlaylist* nfc_playlist = context;
  49. submenu_reset(nfc_playlist->submenu);
  50. }