summaryrefslogtreecommitdiff
path: root/apps/playlist_menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/playlist_menu.c')
-rw-r--r--apps/playlist_menu.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/apps/playlist_menu.c b/apps/playlist_menu.c
index 444e0ae3d2..c6ccd5a45a 100644
--- a/apps/playlist_menu.c
+++ b/apps/playlist_menu.c
@@ -20,13 +20,33 @@
20#include <string.h> 20#include <string.h>
21 21
22#include "menu.h" 22#include "menu.h"
23#include "file.h"
23#include "keyboard.h" 24#include "keyboard.h"
24#include "playlist.h" 25#include "playlist.h"
25#include "tree.h" 26#include "tree.h"
26#include "settings.h" 27#include "settings.h"
28#include "playlist_viewer.h"
27#include "talk.h" 29#include "talk.h"
28#include "lang.h" 30#include "lang.h"
29 31
32/* FIXME: there is a very similar function in onplay.c */
33static bool save_playlist(void)
34{
35 char filename[MAX_PATH+1];
36
37 strncpy(filename, DEFAULT_DYNAMIC_PLAYLIST_NAME, sizeof(filename));
38
39 if (!kbd_input(filename, sizeof(filename)))
40 {
41 playlist_save(NULL, filename);
42
43 /* reload in case playlist was saved to cwd */
44 reload_directory();
45 }
46
47 return false;
48}
49
30static bool recurse_directory(void) 50static bool recurse_directory(void)
31{ 51{
32 static const struct opt_items names[] = { 52 static const struct opt_items names[] = {
@@ -46,6 +66,9 @@ bool playlist_menu(void)
46 bool result; 66 bool result;
47 67
48 static const struct menu_item items[] = { 68 static const struct menu_item items[] = {
69 { ID2P(LANG_CREATE_PLAYLIST), create_playlist },
70 { ID2P(LANG_VIEW_DYNAMIC_PLAYLIST), playlist_viewer },
71 { ID2P(LANG_SAVE_DYNAMIC_PLAYLIST), save_playlist },
49 { ID2P(LANG_RECURSE_DIRECTORY), recurse_directory }, 72 { ID2P(LANG_RECURSE_DIRECTORY), recurse_directory },
50 }; 73 };
51 74