summaryrefslogtreecommitdiff
path: root/apps/root_menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/root_menu.c')
-rw-r--r--apps/root_menu.c29
1 files changed, 24 insertions, 5 deletions
diff --git a/apps/root_menu.c b/apps/root_menu.c
index 3e53bd9dc1..573ea9415c 100644
--- a/apps/root_menu.c
+++ b/apps/root_menu.c
@@ -60,6 +60,7 @@
60#include "bookmark.h" 60#include "bookmark.h"
61#include "playlist.h" 61#include "playlist.h"
62#include "playlist_viewer.h" 62#include "playlist_viewer.h"
63#include "playlist_catalog.h"
63#include "menus/exported_menus.h" 64#include "menus/exported_menus.h"
64#ifdef HAVE_RTC_ALARM 65#ifdef HAVE_RTC_ALARM
65#include "rtc.h" 66#include "rtc.h"
@@ -335,7 +336,21 @@ static int miscscrn(void * param)
335 return GO_TO_ROOT; 336 return GO_TO_ROOT;
336 } 337 }
337} 338}
338 339
340
341static int playlist_view_catalog(void * param)
342{
343 /* kludge untill catalog_view_playlists() returns something useful */
344 int old_playstatus = audio_status();
345 (void)param;
346 push_current_activity(ACTIVITY_PLAYLISTBROWSER);
347 catalog_view_playlists();
348 pop_current_activity();
349 if (!old_playstatus && audio_status())
350 return GO_TO_WPS;
351 return GO_TO_PREVIOUS;
352}
353
339static int playlist_view(void * param) 354static int playlist_view(void * param)
340{ 355{
341 (void)param; 356 (void)param;
@@ -397,9 +412,9 @@ static const struct root_items items[] = {
397 412
398 [GO_TO_RECENTBMARKS] = { load_bmarks, NULL, &bookmark_settings_menu }, 413 [GO_TO_RECENTBMARKS] = { load_bmarks, NULL, &bookmark_settings_menu },
399 [GO_TO_BROWSEPLUGINS] = { miscscrn, &plugin_menu, NULL }, 414 [GO_TO_BROWSEPLUGINS] = { miscscrn, &plugin_menu, NULL },
400 [GO_TO_PLAYLISTS_SCREEN] = { miscscrn, &playlist_options, 415 [GO_TO_PLAYLISTS_SCREEN] = { playlist_view_catalog, NULL,
401 &playlist_settings }, 416 &playlist_options },
402 [GO_TO_PLAYLIST_VIEWER] = { playlist_view, NULL, NULL }, 417 [GO_TO_PLAYLIST_VIEWER] = { playlist_view, NULL, &playlist_options },
403 [GO_TO_SYSTEM_SCREEN] = { miscscrn, &info_menu, &system_menu }, 418 [GO_TO_SYSTEM_SCREEN] = { miscscrn, &info_menu, &system_menu },
404 419
405}; 420};
@@ -415,6 +430,10 @@ MENUITEM_RETURNVALUE(db_browser, ID2P(LANG_TAGCACHE), GO_TO_DBBROWSER,
415#endif 430#endif
416MENUITEM_RETURNVALUE(rocks_browser, ID2P(LANG_PLUGINS), GO_TO_BROWSEPLUGINS, 431MENUITEM_RETURNVALUE(rocks_browser, ID2P(LANG_PLUGINS), GO_TO_BROWSEPLUGINS,
417 NULL, Icon_Plugin); 432 NULL, Icon_Plugin);
433
434MENUITEM_RETURNVALUE(playlist_browser, ID2P(LANG_CATALOG), GO_TO_PLAYLIST_VIEWER,
435 NULL, Icon_Playlist);
436
418static char *get_wps_item_name(int selected_item, void * data, char *buffer) 437static char *get_wps_item_name(int selected_item, void * data, char *buffer)
419{ 438{
420 (void)selected_item; (void)data; (void)buffer; 439 (void)selected_item; (void)data; (void)buffer;
@@ -437,7 +456,7 @@ MENUITEM_RETURNVALUE(menu_, ID2P(LANG_SETTINGS), GO_TO_MAINMENU,
437MENUITEM_RETURNVALUE(bookmarks, ID2P(LANG_BOOKMARK_MENU_RECENT_BOOKMARKS), 456MENUITEM_RETURNVALUE(bookmarks, ID2P(LANG_BOOKMARK_MENU_RECENT_BOOKMARKS),
438 GO_TO_RECENTBMARKS, item_callback, 457 GO_TO_RECENTBMARKS, item_callback,
439 Icon_Bookmark); 458 Icon_Bookmark);
440MENUITEM_RETURNVALUE(playlists, ID2P(LANG_PLAYLISTS), GO_TO_PLAYLISTS_SCREEN, 459MENUITEM_RETURNVALUE(playlists, ID2P(LANG_CATALOG), GO_TO_PLAYLISTS_SCREEN,
441 NULL, Icon_Playlist); 460 NULL, Icon_Playlist);
442MENUITEM_RETURNVALUE(system_menu_, ID2P(LANG_SYSTEM), GO_TO_SYSTEM_SCREEN, 461MENUITEM_RETURNVALUE(system_menu_, ID2P(LANG_SYSTEM), GO_TO_SYSTEM_SCREEN,
443 NULL, Icon_System_menu); 462 NULL, Icon_System_menu);