summaryrefslogtreecommitdiff
path: root/apps/playlist_viewer.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/playlist_viewer.c')
-rw-r--r--apps/playlist_viewer.c32
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 */
534bool playlist_viewer(void) 539enum 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. */
609bool playlist_viewer_ex(const char* filename) 614enum 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;