file_edit.c 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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->settings.file_path));
  14. nfc_playlist->settings.file_selected = false;
  15. nfc_playlist->settings.file_selected_check = false;
  16. nfc_playlist->settings.file_path = nfc_playlist->settings.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_lockable_item(
  36. nfc_playlist->submenu,
  37. "Delete Playlist",
  38. NfcPlaylistMenuSelection_DeletePlaylist,
  39. nfc_playlist_file_edit_menu_callback,
  40. nfc_playlist,
  41. !nfc_playlist->settings.file_selected_check,
  42. "No\nplaylist\nselected");
  43. submenu_add_lockable_item(
  44. nfc_playlist->submenu,
  45. "Rename Playlist",
  46. NfcPlaylistMenuSelection_RenamePlaylist,
  47. nfc_playlist_file_edit_menu_callback,
  48. nfc_playlist,
  49. !nfc_playlist->settings.file_selected_check,
  50. "No\nplaylist\nselected");
  51. view_dispatcher_switch_to_view(nfc_playlist->view_dispatcher, NfcPlaylistView_FileEdit);
  52. }
  53. bool nfc_playlist_file_edit_scene_on_event(void* context, SceneManagerEvent event) {
  54. UNUSED(event);
  55. UNUSED(context);
  56. return false;
  57. }
  58. void nfc_playlist_file_edit_scene_on_exit(void* context) {
  59. NfcPlaylist* nfc_playlist = context;
  60. submenu_reset(nfc_playlist->submenu);
  61. }