diff options
Diffstat (limited to 'apps/playlist_viewer.c')
-rw-r--r-- | apps/playlist_viewer.c | 32 |
1 files changed, 13 insertions, 19 deletions
diff --git a/apps/playlist_viewer.c b/apps/playlist_viewer.c index 0a247fa01d..e2be36ce5d 100644 --- a/apps/playlist_viewer.c +++ b/apps/playlist_viewer.c | |||
@@ -448,7 +448,8 @@ static int onplay_menu(int index) | |||
448 | playlist_buffer_get_track(&viewer.buffer, index); | 448 | playlist_buffer_get_track(&viewer.buffer, index); |
449 | MENUITEM_STRINGLIST(menu_items, ID2P(LANG_PLAYLIST), NULL, | 449 | MENUITEM_STRINGLIST(menu_items, ID2P(LANG_PLAYLIST), NULL, |
450 | ID2P(LANG_REMOVE), ID2P(LANG_MOVE), | 450 | ID2P(LANG_REMOVE), ID2P(LANG_MOVE), |
451 | ID2P(LANG_CATALOG_ADD_TO), ID2P(LANG_CATALOG_ADD_TO_NEW)); | 451 | ID2P(LANG_CATALOG_ADD_TO), ID2P(LANG_CATALOG_ADD_TO_NEW), |
452 | ID2P(LANG_PLAYLISTVIEWER_SETTINGS)); | ||
452 | bool current = (current_track->index == viewer.current_playing_track); | 453 | bool current = (current_track->index == viewer.current_playing_track); |
453 | 454 | ||
454 | result = do_menu(&menu_items, NULL, NULL, false); | 455 | result = do_menu(&menu_items, NULL, NULL, false); |
@@ -503,6 +504,10 @@ static int onplay_menu(int index) | |||
503 | result==3, NULL); | 504 | result==3, NULL); |
504 | ret = 0; | 505 | ret = 0; |
505 | break; | 506 | break; |
507 | case 4: /* playlist viewer settings */ | ||
508 | /* true on usb connect */ | ||
509 | ret = viewer_menu() ? -1 : 0; | ||
510 | break; | ||
506 | } | 511 | } |
507 | } | 512 | } |
508 | return ret; | 513 | return ret; |
@@ -531,7 +536,7 @@ static int save_playlist_func(void) | |||
531 | } | 536 | } |
532 | 537 | ||
533 | /* View current playlist */ | 538 | /* View current playlist */ |
534 | bool playlist_viewer(void) | 539 | enum playlist_viewer_result playlist_viewer(void) |
535 | { | 540 | { |
536 | return playlist_viewer_ex(NULL); | 541 | return playlist_viewer_ex(NULL); |
537 | } | 542 | } |
@@ -606,9 +611,9 @@ static enum themable_icons playlist_callback_icons(int selected_item, | |||
606 | 611 | ||
607 | /* Main viewer function. Filename identifies playlist to be viewed. If NULL, | 612 | /* Main viewer function. Filename identifies playlist to be viewed. If NULL, |
608 | view current playlist. */ | 613 | view current playlist. */ |
609 | bool playlist_viewer_ex(const char* filename) | 614 | enum playlist_viewer_result playlist_viewer_ex(const char* filename) |
610 | { | 615 | { |
611 | bool ret = false; /* return value */ | 616 | enum playlist_viewer_result ret = PLAYLIST_VIEWER_OK; |
612 | bool exit=false; /* exit viewer */ | 617 | bool exit=false; /* exit viewer */ |
613 | int button; | 618 | int button; |
614 | struct gui_synclist playlist_lists; | 619 | struct gui_synclist playlist_lists; |
@@ -730,7 +735,7 @@ bool playlist_viewer_ex(const char* filename) | |||
730 | 735 | ||
731 | if (ret_val < 0) | 736 | if (ret_val < 0) |
732 | { | 737 | { |
733 | ret = true; | 738 | ret = PLAYLIST_VIEWER_USB; |
734 | goto exit; | 739 | goto exit; |
735 | } | 740 | } |
736 | else if (ret_val > 0) | 741 | else if (ret_val > 0) |
@@ -747,23 +752,12 @@ bool playlist_viewer_ex(const char* filename) | |||
747 | break; | 752 | break; |
748 | } | 753 | } |
749 | case ACTION_STD_MENU: | 754 | case ACTION_STD_MENU: |
750 | if (viewer_menu()) | 755 | ret = PLAYLIST_VIEWER_MAINMENU; |
751 | { | 756 | goto exit; |
752 | ret = true; | ||
753 | goto exit; | ||
754 | } | ||
755 | gui_synclist_set_icon_callback( | ||
756 | &playlist_lists, | ||
757 | global_settings.playlist_viewer_icons? | ||
758 | &playlist_callback_icons:NULL | ||
759 | ); | ||
760 | gui_synclist_draw(&playlist_lists); | ||
761 | break; | ||
762 | |||
763 | default: | 757 | default: |
764 | if(default_event_handler(button) == SYS_USB_CONNECTED) | 758 | if(default_event_handler(button) == SYS_USB_CONNECTED) |
765 | { | 759 | { |
766 | ret = true; | 760 | ret = PLAYLIST_VIEWER_USB; |
767 | goto exit; | 761 | goto exit; |
768 | } | 762 | } |
769 | break; | 763 | break; |