Skip to content

Commit 1f56464

Browse files
committed
playlist select tweaks
- Renames file_select to playlist_select to better describe what its used for - Changes the file browser to instead of changing file_path for the output instead changes a different variable so it can be reused
1 parent fa1d26f commit 1f56464

File tree

12 files changed

+55
-52
lines changed

12 files changed

+55
-52
lines changed

nfc_playlist.c

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ static void (*const nfc_playlist_scene_on_enter_handlers[])(void*) = {
55
nfc_playlist_main_menu_scene_on_enter,
66
nfc_playlist_settings_scene_on_enter,
77
nfc_playlist_emulation_scene_on_enter,
8-
nfc_playlist_file_select_scene_on_enter,
8+
nfc_playlist_playlist_select_scene_on_enter,
99
nfc_playlist_file_edit_scene_on_enter,
1010
nfc_playlist_file_rename_scene_on_enter,
1111
nfc_playlist_confirm_delete_scene_on_enter
@@ -15,7 +15,7 @@ static bool (*const nfc_playlist_scene_on_event_handlers[])(void*, SceneManagerE
1515
nfc_playlist_main_menu_scene_on_event,
1616
nfc_playlist_settings_scene_on_event,
1717
nfc_playlist_emulation_scene_on_event,
18-
nfc_playlist_file_select_scene_on_event,
18+
nfc_playlist_playlist_select_scene_on_event,
1919
nfc_playlist_file_edit_scene_on_event,
2020
nfc_playlist_file_rename_scene_on_event,
2121
nfc_playlist_confirm_delete_scene_on_event
@@ -25,7 +25,7 @@ static void (*const nfc_playlist_scene_on_exit_handlers[])(void*) = {
2525
nfc_playlist_main_menu_scene_on_exit,
2626
nfc_playlist_settings_scene_on_exit,
2727
nfc_playlist_emulation_scene_on_exit,
28-
nfc_playlist_file_select_scene_on_exit,
28+
nfc_playlist_playlist_select_scene_on_exit,
2929
nfc_playlist_file_edit_scene_on_exit,
3030
nfc_playlist_file_rename_scene_on_exit,
3131
nfc_playlist_confirm_delete_scene_on_exit
@@ -61,15 +61,16 @@ static NfcPlaylist* nfc_playlist_alloc() {
6161
nfc_playlist->widget= widget_alloc();
6262

6363
nfc_playlist->settings.base_file_path = furi_string_alloc_set_str("/ext/apps_data/nfc_playlist/");
64-
nfc_playlist->settings.file_path = nfc_playlist->settings.base_file_path;
65-
nfc_playlist->settings.file_selected = false;
66-
nfc_playlist->settings.file_selected_check = false;
64+
nfc_playlist->settings.file_path = furi_string_alloc();
65+
nfc_playlist->file_browser_output = furi_string_alloc();
66+
nfc_playlist->settings.playlist_selected = false;
67+
nfc_playlist->settings.playlist_selected_check = false;
6768
nfc_playlist->settings.emulate_timeout = default_emulate_timeout;
6869
nfc_playlist->settings.emulate_delay = default_emulate_delay;
6970
nfc_playlist->settings.emulate_led_indicator = default_emulate_led_indicator;
7071

7172
nfc_playlist->notification = furi_record_open(RECORD_NOTIFICATION);
72-
nfc_playlist->file_browser = file_browser_alloc(nfc_playlist->settings.file_path);
73+
nfc_playlist->file_browser = file_browser_alloc(nfc_playlist->file_browser_output);
7374
nfc_playlist->text_input = text_input_alloc();
7475
nfc_playlist->popup = popup_alloc();
7576

@@ -79,7 +80,7 @@ static NfcPlaylist* nfc_playlist_alloc() {
7980
view_dispatcher_add_view(nfc_playlist->view_dispatcher, NfcPlaylistView_Menu, submenu_get_view(nfc_playlist->submenu));
8081
view_dispatcher_add_view(nfc_playlist->view_dispatcher, NfcPlaylistView_Settings, variable_item_list_get_view(nfc_playlist->variable_item_list));
8182
view_dispatcher_add_view(nfc_playlist->view_dispatcher, NfcPlaylistView_Popup, popup_get_view(nfc_playlist->popup));
82-
view_dispatcher_add_view(nfc_playlist->view_dispatcher, NfcPlaylistView_FileSelect, file_browser_get_view(nfc_playlist->file_browser));
83+
view_dispatcher_add_view(nfc_playlist->view_dispatcher, NfcPlaylistView_PlaylistSelect, file_browser_get_view(nfc_playlist->file_browser));
8384
view_dispatcher_add_view(nfc_playlist->view_dispatcher, NfcPlaylistView_FileEdit, submenu_get_view(nfc_playlist->submenu));
8485
view_dispatcher_add_view(nfc_playlist->view_dispatcher, NfcPlaylistView_FileRename, text_input_get_view(nfc_playlist->text_input));
8586
view_dispatcher_add_view(nfc_playlist->view_dispatcher, NfcPlaylistView_ConfirmDelete, widget_get_view(nfc_playlist->widget));
@@ -99,7 +100,7 @@ static void nfc_playlist_free(NfcPlaylist* nfc_playlist) {
99100
view_dispatcher_remove_view(nfc_playlist->view_dispatcher, NfcPlaylistView_Menu);
100101
view_dispatcher_remove_view(nfc_playlist->view_dispatcher, NfcPlaylistView_Settings);
101102
view_dispatcher_remove_view(nfc_playlist->view_dispatcher, NfcPlaylistView_Popup);
102-
view_dispatcher_remove_view(nfc_playlist->view_dispatcher, NfcPlaylistView_FileSelect);
103+
view_dispatcher_remove_view(nfc_playlist->view_dispatcher, NfcPlaylistView_PlaylistSelect);
103104
view_dispatcher_remove_view(nfc_playlist->view_dispatcher, NfcPlaylistView_FileEdit);
104105
view_dispatcher_remove_view(nfc_playlist->view_dispatcher, NfcPlaylistView_FileRename);
105106
view_dispatcher_remove_view(nfc_playlist->view_dispatcher, NfcPlaylistView_ConfirmDelete);
@@ -117,6 +118,7 @@ static void nfc_playlist_free(NfcPlaylist* nfc_playlist) {
117118

118119
furi_string_free(nfc_playlist->settings.base_file_path);
119120
furi_string_free(nfc_playlist->settings.file_path);
121+
furi_string_free(nfc_playlist->file_browser_output);
120122
free(nfc_playlist);
121123
}
122124

nfc_playlist.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ typedef enum {
2020
NfcPlaylistView_Menu,
2121
NfcPlaylistView_Settings,
2222
NfcPlaylistView_Popup,
23-
NfcPlaylistView_FileSelect,
23+
NfcPlaylistView_PlaylistSelect,
2424
NfcPlaylistView_FileEdit,
2525
NfcPlaylistView_FileRename,
2626
NfcPlaylistView_ConfirmDelete
@@ -30,7 +30,7 @@ typedef enum {
3030
NfcPlaylistScene_MainMenu,
3131
NfcPlaylistScene_Settings,
3232
NfcPlaylistScene_EmulatingPopup,
33-
NfcPlaylistScene_FileSelect,
33+
NfcPlaylistScene_PlaylistSelect,
3434
NfcPlaylistScene_FileEdit,
3535
NfcPlaylistScene_FileRename,
3636
NfcPlaylistScene_ConfirmDelete,
@@ -40,8 +40,8 @@ typedef enum {
4040
typedef struct {
4141
FuriString* base_file_path;
4242
FuriString* file_path;
43-
bool file_selected;
44-
bool file_selected_check;
43+
bool playlist_selected;
44+
bool playlist_selected_check;
4545
uint8_t emulate_timeout;
4646
uint8_t emulate_delay;
4747
bool emulate_led_indicator;
@@ -52,6 +52,7 @@ typedef struct {
5252
ViewDispatcher* view_dispatcher;
5353
VariableItemList* variable_item_list;
5454
FileBrowser* file_browser;
55+
FuriString* file_browser_output;
5556
TextInput* text_input;
5657
Submenu* submenu;
5758
Popup* popup;

nfc_playlist_i.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#include "scences/main_menu.h"
33
#include "scences/settings.h"
44
#include "scences/emulation.h"
5-
#include "scences/file_select.h"
5+
#include "scences/playlist_select.h"
66
#include "scences/file_edit.h"
77
#include "scences/file_rename.h"
88
#include "scences/confirm_delete.h"

scences/confirm_delete.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ bool nfc_playlist_confirm_delete_scene_on_event(void* context, SceneManagerEvent
3333
case GuiButtonTypeRight:
3434
Storage* storage = furi_record_open(RECORD_STORAGE);
3535
storage_simply_remove(storage, furi_string_get_cstr(nfc_playlist->settings.file_path));
36-
nfc_playlist->settings.file_selected = false;
37-
nfc_playlist->settings.file_selected_check = false;
36+
nfc_playlist->settings.playlist_selected = false;
37+
nfc_playlist->settings.playlist_selected_check = false;
3838
nfc_playlist->settings.file_path = nfc_playlist->settings.base_file_path;
3939
furi_record_close(RECORD_STORAGE);
4040
consumed = true;

scences/emulation.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ int32_t nfc_playlist_emulation_task(void* context) {
1313
popup_set_context(nfc_playlist->popup, nfc_playlist);
1414
view_dispatcher_switch_to_view(nfc_playlist->view_dispatcher, NfcPlaylistView_Popup);
1515

16-
if (file_stream_open(stream, furi_string_get_cstr(nfc_playlist->settings.file_path), FSAM_READ, FSOM_OPEN_EXISTING) && nfc_playlist->settings.file_selected_check) {
16+
if (file_stream_open(stream, furi_string_get_cstr(nfc_playlist->settings.file_path), FSAM_READ, FSOM_OPEN_EXISTING) && nfc_playlist->settings.playlist_selected_check) {
1717
EmulationState = NfcPlaylistEmulationState_Emulating;
1818
int file_position = 0;
1919

scences/file_edit.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ void nfc_playlist_file_edit_scene_on_enter(void* context) {
1717
NfcPlaylistMenuSelection_DeletePlaylist,
1818
nfc_playlist_file_edit_menu_callback,
1919
nfc_playlist,
20-
!nfc_playlist->settings.file_selected_check,
20+
!nfc_playlist->settings.playlist_selected_check,
2121
"No\nplaylist\nselected");
2222

2323
submenu_add_lockable_item(
@@ -26,7 +26,7 @@ void nfc_playlist_file_edit_scene_on_enter(void* context) {
2626
NfcPlaylistMenuSelection_RenamePlaylist,
2727
nfc_playlist_file_edit_menu_callback,
2828
nfc_playlist,
29-
!nfc_playlist->settings.file_selected_check,
29+
!nfc_playlist->settings.playlist_selected_check,
3030
"No\nplaylist\nselected");
3131

3232
view_dispatcher_switch_to_view(nfc_playlist->view_dispatcher, NfcPlaylistView_FileEdit);

scences/file_select.h

Lines changed: 0 additions & 9 deletions
This file was deleted.

scences/main_menu.c

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,30 @@ void nfc_playlist_main_menu_menu_callback(void* context, uint32_t index) {
88

99
void nfc_playlist_main_menu_scene_on_enter(void* context) {
1010
NfcPlaylist* nfc_playlist = context;
11-
if (!nfc_playlist->settings.file_selected) {
12-
nfc_playlist->settings.file_selected = true;
13-
scene_manager_next_scene(nfc_playlist->scene_manager, NfcPlaylistScene_FileSelect);
11+
if (!nfc_playlist->settings.playlist_selected) {
12+
nfc_playlist->settings.playlist_selected = true;
13+
scene_manager_next_scene(nfc_playlist->scene_manager, NfcPlaylistScene_PlaylistSelect);
1414
return;
1515
}
1616

17-
submenu_set_header(nfc_playlist->submenu, "NFC Playlist");
17+
FuriString* tmp_str = furi_string_alloc();
18+
furi_string_printf(tmp_str, "NFC Playlist v%s", FAP_VERSION);
19+
submenu_set_header(nfc_playlist->submenu, furi_string_get_cstr(tmp_str));
20+
furi_string_free(tmp_str);
1821

1922
submenu_add_lockable_item(
2023
nfc_playlist->submenu,
2124
"Start",
2225
NfcPlaylistMenuSelection_Start,
2326
nfc_playlist_main_menu_menu_callback,
2427
nfc_playlist,
25-
!nfc_playlist->settings.file_selected_check,
28+
!nfc_playlist->settings.playlist_selected_check,
2629
"No\nplaylist\nselected");
2730

2831
submenu_add_item(
2932
nfc_playlist->submenu,
3033
"Select playlist",
31-
NfcPlaylistMenuSelection_FileSelect,
34+
NfcPlaylistMenuSelection_PlaylistSelect,
3235
nfc_playlist_main_menu_menu_callback,
3336
nfc_playlist);
3437

@@ -57,8 +60,8 @@ bool nfc_playlist_main_menu_scene_on_event(void* context, SceneManagerEvent even
5760
scene_manager_next_scene(nfc_playlist->scene_manager, NfcPlaylistScene_EmulatingPopup);
5861
consumed = true;
5962
break;
60-
case NfcPlaylistEvent_ShowFileSelect:
61-
scene_manager_next_scene(nfc_playlist->scene_manager, NfcPlaylistScene_FileSelect);
63+
case NfcPlaylistEvent_ShowPlaylistSelect:
64+
scene_manager_next_scene(nfc_playlist->scene_manager, NfcPlaylistScene_PlaylistSelect);
6265
consumed = true;
6366
break;
6467
case NfcPlaylistEvent_ShowFileEdit:

scences/main_menu.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ void nfc_playlist_main_menu_scene_on_exit(void* context);
1010

1111
typedef enum {
1212
NfcPlaylistEvent_ShowEmulatingPopup,
13-
NfcPlaylistEvent_ShowFileSelect,
13+
NfcPlaylistEvent_ShowPlaylistSelect,
1414
NfcPlaylistEvent_ShowFileEdit,
1515
NfcPlaylistEvent_ShowSettings
1616
} NfcPlaylistMainMenuEvent;
1717

1818
typedef enum {
1919
NfcPlaylistMenuSelection_Start,
20-
NfcPlaylistMenuSelection_FileSelect,
20+
NfcPlaylistMenuSelection_PlaylistSelect,
2121
NfcPlaylistMenuSelection_FileEdit,
2222
NfcPlaylistMenuSelection_Settings
2323
} NfcPlaylistMainMenuMenuSelection;
Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
#include "nfc_playlist.h"
2-
#include "scences/file_select.h"
2+
#include "scences/playlist_select.h"
33

4-
void nfc_playlist_file_select_menu_callback(void* context) {
4+
void nfc_playlist_playlist_select_menu_callback(void* context) {
55
NfcPlaylist* nfc_playlist = context;
6-
nfc_playlist->settings.file_selected_check = true;
6+
nfc_playlist->settings.playlist_selected_check = true;
7+
furi_string_move(nfc_playlist->settings.file_path, nfc_playlist->file_browser_output);
8+
furi_string_reset(nfc_playlist->file_browser_output);
79
scene_manager_previous_scene(nfc_playlist->scene_manager);
810
}
911

10-
void nfc_playlist_file_select_scene_on_enter(void* context) {
12+
void nfc_playlist_playlist_select_scene_on_enter(void* context) {
1113
NfcPlaylist* nfc_playlist = context;
1214
file_browser_configure(
1315
nfc_playlist->file_browser,
@@ -17,18 +19,18 @@ void nfc_playlist_file_select_scene_on_enter(void* context) {
1719
true,
1820
&I_sub1_10px,
1921
true);
20-
view_dispatcher_switch_to_view(nfc_playlist->view_dispatcher, NfcPlaylistView_FileSelect);
21-
file_browser_set_callback(nfc_playlist->file_browser, nfc_playlist_file_select_menu_callback, nfc_playlist);
22+
view_dispatcher_switch_to_view(nfc_playlist->view_dispatcher, NfcPlaylistView_PlaylistSelect);
23+
file_browser_set_callback(nfc_playlist->file_browser, nfc_playlist_playlist_select_menu_callback, nfc_playlist);
2224
file_browser_start(nfc_playlist->file_browser, nfc_playlist->settings.base_file_path);
2325
}
2426

25-
bool nfc_playlist_file_select_scene_on_event(void* context, SceneManagerEvent event) {
27+
bool nfc_playlist_playlist_select_scene_on_event(void* context, SceneManagerEvent event) {
2628
UNUSED(event);
2729
UNUSED(context);
2830
return false;
2931
}
3032

31-
void nfc_playlist_file_select_scene_on_exit(void* context) {
33+
void nfc_playlist_playlist_select_scene_on_exit(void* context) {
3234
NfcPlaylist* nfc_playlist = context;
3335
file_browser_stop(nfc_playlist->file_browser);
3436
}

0 commit comments

Comments
 (0)