file_edit.c 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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. furi_string_empty(nfc_playlist->settings.file_path),
  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. furi_string_empty(nfc_playlist->settings.file_path),
  25. "No\nplaylist\nselected");
  26. submenu_add_lockable_item(
  27. nfc_playlist->submenu,
  28. "View Playlist Content",
  29. NfcPlaylistMenuSelection_ViewPlaylistContent,
  30. nfc_playlist_file_edit_menu_callback,
  31. nfc_playlist,
  32. furi_string_empty(nfc_playlist->settings.file_path),
  33. "No\nplaylist\nselected");
  34. view_dispatcher_switch_to_view(nfc_playlist->view_dispatcher, NfcPlaylistView_FileEdit);
  35. }
  36. bool nfc_playlist_file_edit_scene_on_event(void* context, SceneManagerEvent event) {
  37. NfcPlaylist* nfc_playlist = context;
  38. bool consumed = false;
  39. if(event.type == SceneManagerEventTypeCustom) {
  40. switch(event.event) {
  41. case NfcPlaylistMenuSelection_DeletePlaylist:
  42. scene_manager_next_scene(nfc_playlist->scene_manager, NfcPlaylistScene_ConfirmDelete);
  43. consumed = true;
  44. break;
  45. case NfcPlaylistMenuSelection_RenamePlaylist:
  46. scene_manager_next_scene(nfc_playlist->scene_manager, NfcPlaylistScene_FileRename);
  47. consumed = true;
  48. break;
  49. case NfcPlaylistMenuSelection_ViewPlaylistContent:
  50. scene_manager_next_scene(nfc_playlist->scene_manager, NfcPlaylistScene_ViewPlaylistContent);
  51. consumed = true;
  52. break;
  53. default:
  54. break;
  55. }
  56. }
  57. return consumed;
  58. }
  59. void nfc_playlist_file_edit_scene_on_exit(void* context) {
  60. NfcPlaylist* nfc_playlist = context;
  61. submenu_reset(nfc_playlist->submenu);
  62. }