file_edit.c 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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. submenu_add_lockable_item(
  35. nfc_playlist->submenu,
  36. "Add NFC Item",
  37. NfcPlaylistMenuSelection_AddNfcItem,
  38. nfc_playlist_file_edit_menu_callback,
  39. nfc_playlist,
  40. furi_string_empty(nfc_playlist->settings.file_path),
  41. "No\nplaylist\nselected");
  42. view_dispatcher_switch_to_view(nfc_playlist->view_dispatcher, NfcPlaylistView_FileEdit);
  43. }
  44. bool nfc_playlist_file_edit_scene_on_event(void* context, SceneManagerEvent event) {
  45. NfcPlaylist* nfc_playlist = context;
  46. bool consumed = false;
  47. if(event.type == SceneManagerEventTypeCustom) {
  48. switch(event.event) {
  49. case NfcPlaylistMenuSelection_DeletePlaylist:
  50. scene_manager_next_scene(nfc_playlist->scene_manager, NfcPlaylistScene_ConfirmDelete);
  51. consumed = true;
  52. break;
  53. case NfcPlaylistMenuSelection_RenamePlaylist:
  54. scene_manager_next_scene(nfc_playlist->scene_manager, NfcPlaylistScene_FileRename);
  55. consumed = true;
  56. break;
  57. case NfcPlaylistMenuSelection_ViewPlaylistContent:
  58. scene_manager_next_scene(nfc_playlist->scene_manager, NfcPlaylistScene_ViewPlaylistContent);
  59. consumed = true;
  60. break;
  61. case NfcPlaylistMenuSelection_AddNfcItem:
  62. scene_manager_next_scene(nfc_playlist->scene_manager, NfcPlaylistScene_NfcSelect);
  63. consumed = true;
  64. break;
  65. default:
  66. break;
  67. }
  68. }
  69. return consumed;
  70. }
  71. void nfc_playlist_file_edit_scene_on_exit(void* context) {
  72. NfcPlaylist* nfc_playlist = context;
  73. submenu_reset(nfc_playlist->submenu);
  74. }