file_edit.c 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #include "nfc_playlist.h"
  2. #include "scences/file_edit.h"
  3. typedef enum {
  4. NfcPlaylistMenuSelection_DeletePlaylist,
  5. NfcPlaylistMenuSelection_RenamePlaylist,
  6. NfcPlaylistMenuSelection_EditList
  7. } NfcPlaylistMenuSelection;
  8. void nfc_playlist_file_edit_menu_callback(void* context, uint32_t index) {
  9. NfcPlaylist* nfc_playlist = context;
  10. Storage* storage = furi_record_open(RECORD_STORAGE);
  11. switch(index) {
  12. case NfcPlaylistMenuSelection_DeletePlaylist: {
  13. storage_simply_remove(storage, furi_string_get_cstr(nfc_playlist->file_path));
  14. nfc_playlist->file_selected = false;
  15. nfc_playlist->file_selected_check = false;
  16. nfc_playlist->file_path = nfc_playlist->base_file_path;
  17. scene_manager_previous_scene(nfc_playlist->scene_manager);
  18. break;
  19. }
  20. case NfcPlaylistMenuSelection_RenamePlaylist: {
  21. scene_manager_next_scene(nfc_playlist->scene_manager, NfcPlaylistScene_TextInput);
  22. break;
  23. }
  24. case NfcPlaylistMenuSelection_EditList: {
  25. break;
  26. }
  27. default:
  28. break;
  29. }
  30. furi_record_close(RECORD_STORAGE);
  31. }
  32. void nfc_playlist_file_edit_scene_on_enter(void* context) {
  33. NfcPlaylist* nfc_playlist = context;
  34. submenu_set_header(nfc_playlist->submenu, "Edit Playlist");
  35. submenu_add_item(
  36. nfc_playlist->submenu,
  37. "Delete Playlist",
  38. NfcPlaylistMenuSelection_DeletePlaylist,
  39. nfc_playlist_file_edit_menu_callback,
  40. nfc_playlist);
  41. submenu_add_lockable_item(
  42. nfc_playlist->submenu,
  43. "Rename Playlist",
  44. NfcPlaylistMenuSelection_RenamePlaylist,
  45. nfc_playlist_file_edit_menu_callback,
  46. nfc_playlist,
  47. true,
  48. "Under construction");
  49. view_dispatcher_switch_to_view(nfc_playlist->view_dispatcher, NfcPlaylistView_FileEdit);
  50. }
  51. bool nfc_playlist_file_edit_scene_on_event(void* context, SceneManagerEvent event) {
  52. UNUSED(event);
  53. UNUSED(context);
  54. return false;
  55. }
  56. void nfc_playlist_file_edit_scene_on_exit(void* context) {
  57. NfcPlaylist* nfc_playlist = context;
  58. submenu_reset(nfc_playlist->submenu);
  59. }