diff options
Diffstat (limited to 'apps/root_menu.c')
-rw-r--r-- | apps/root_menu.c | 29 |
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 | |||
341 | static 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 | |||
339 | static int playlist_view(void * param) | 354 | static 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 |
416 | MENUITEM_RETURNVALUE(rocks_browser, ID2P(LANG_PLUGINS), GO_TO_BROWSEPLUGINS, | 431 | MENUITEM_RETURNVALUE(rocks_browser, ID2P(LANG_PLUGINS), GO_TO_BROWSEPLUGINS, |
417 | NULL, Icon_Plugin); | 432 | NULL, Icon_Plugin); |
433 | |||
434 | MENUITEM_RETURNVALUE(playlist_browser, ID2P(LANG_CATALOG), GO_TO_PLAYLIST_VIEWER, | ||
435 | NULL, Icon_Playlist); | ||
436 | |||
418 | static char *get_wps_item_name(int selected_item, void * data, char *buffer) | 437 | static 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, | |||
437 | MENUITEM_RETURNVALUE(bookmarks, ID2P(LANG_BOOKMARK_MENU_RECENT_BOOKMARKS), | 456 | MENUITEM_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); |
440 | MENUITEM_RETURNVALUE(playlists, ID2P(LANG_PLAYLISTS), GO_TO_PLAYLISTS_SCREEN, | 459 | MENUITEM_RETURNVALUE(playlists, ID2P(LANG_CATALOG), GO_TO_PLAYLISTS_SCREEN, |
441 | NULL, Icon_Playlist); | 460 | NULL, Icon_Playlist); |
442 | MENUITEM_RETURNVALUE(system_menu_, ID2P(LANG_SYSTEM), GO_TO_SYSTEM_SCREEN, | 461 | MENUITEM_RETURNVALUE(system_menu_, ID2P(LANG_SYSTEM), GO_TO_SYSTEM_SCREEN, |
443 | NULL, Icon_System_menu); | 462 | NULL, Icon_System_menu); |