diff options
Diffstat (limited to 'apps/playlist_viewer.c')
-rw-r--r-- | apps/playlist_viewer.c | 34 |
1 files changed, 29 insertions, 5 deletions
diff --git a/apps/playlist_viewer.c b/apps/playlist_viewer.c index 5b6e2991bc..0eaf559c66 100644 --- a/apps/playlist_viewer.c +++ b/apps/playlist_viewer.c | |||
@@ -76,6 +76,7 @@ enum direction | |||
76 | enum pv_onplay_result { | 76 | enum pv_onplay_result { |
77 | PV_ONPLAY_USB, | 77 | PV_ONPLAY_USB, |
78 | PV_ONPLAY_USB_CLOSED, | 78 | PV_ONPLAY_USB_CLOSED, |
79 | PV_ONPLAY_WPS_CLOSED, | ||
79 | PV_ONPLAY_CLOSED, | 80 | PV_ONPLAY_CLOSED, |
80 | PV_ONPLAY_ITEM_REMOVED, | 81 | PV_ONPLAY_ITEM_REMOVED, |
81 | PV_ONPLAY_CHANGED, | 82 | PV_ONPLAY_CHANGED, |
@@ -519,9 +520,17 @@ static enum pv_onplay_result open_with(const struct playlist_entry *current_trac | |||
519 | 520 | ||
520 | strmemccpy(selected_track, current_track->name, sizeof(selected_track)); | 521 | strmemccpy(selected_track, current_track->name, sizeof(selected_track)); |
521 | 522 | ||
523 | int plugin_return = filetype_list_viewers(selected_track); | ||
522 | 524 | ||
523 | return (filetype_list_viewers(selected_track) == | 525 | switch (plugin_return) |
524 | PLUGIN_USB_CONNECTED ? PV_ONPLAY_USB_CLOSED : PV_ONPLAY_CLOSED); | 526 | { |
527 | case PLUGIN_USB_CONNECTED: | ||
528 | return PV_ONPLAY_USB_CLOSED; | ||
529 | case PLUGIN_GOTO_WPS: | ||
530 | return PV_ONPLAY_WPS_CLOSED; | ||
531 | default: | ||
532 | return PV_ONPLAY_CLOSED; | ||
533 | } | ||
525 | } | 534 | } |
526 | #endif /* HAVE_HOTKEY */ | 535 | #endif /* HAVE_HOTKEY */ |
527 | 536 | ||
@@ -533,8 +542,17 @@ static enum pv_onplay_result open_pictureflow(const struct playlist_entry *curre | |||
533 | 542 | ||
534 | strmemccpy(selected_track, current_track->name, sizeof(selected_track)); | 543 | strmemccpy(selected_track, current_track->name, sizeof(selected_track)); |
535 | 544 | ||
536 | return (filetype_load_plugin((void *)"pictureflow", selected_track) == | 545 | int plugin_return = filetype_load_plugin((void *)"pictureflow", selected_track); |
537 | PLUGIN_USB_CONNECTED ? PV_ONPLAY_USB_CLOSED : PV_ONPLAY_CLOSED); | 546 | |
547 | switch (plugin_return) | ||
548 | { | ||
549 | case PLUGIN_USB_CONNECTED: | ||
550 | return PV_ONPLAY_USB_CLOSED; | ||
551 | case PLUGIN_GOTO_WPS: | ||
552 | return PV_ONPLAY_WPS_CLOSED; | ||
553 | default: | ||
554 | return PV_ONPLAY_CLOSED; | ||
555 | } | ||
538 | } | 556 | } |
539 | #endif | 557 | #endif |
540 | 558 | ||
@@ -959,6 +977,8 @@ enum playlist_viewer_result playlist_viewer_ex(const char* filename) | |||
959 | } | 977 | } |
960 | else if (pv_onplay_result == PV_ONPLAY_USB_CLOSED) | 978 | else if (pv_onplay_result == PV_ONPLAY_USB_CLOSED) |
961 | return PLAYLIST_VIEWER_USB; | 979 | return PLAYLIST_VIEWER_USB; |
980 | else if (pv_onplay_result == PV_ONPLAY_WPS_CLOSED) | ||
981 | return PLAYLIST_VIEWER_OK; | ||
962 | else if (pv_onplay_result == PV_ONPLAY_CLOSED) | 982 | else if (pv_onplay_result == PV_ONPLAY_CLOSED) |
963 | { | 983 | { |
964 | if (!open_playlist_viewer(filename, &playlist_lists, true)) | 984 | if (!open_playlist_viewer(filename, &playlist_lists, true)) |
@@ -1004,8 +1024,12 @@ enum playlist_viewer_result playlist_viewer_ex(const char* filename) | |||
1004 | 1024 | ||
1005 | if (do_plugin != NULL) | 1025 | if (do_plugin != NULL) |
1006 | { | 1026 | { |
1007 | if (do_plugin(current_track) == PV_ONPLAY_USB_CLOSED) | 1027 | int plugin_result = do_plugin(current_track); |
1028 | |||
1029 | if (plugin_result == PV_ONPLAY_USB_CLOSED) | ||
1008 | return PLAYLIST_VIEWER_USB; | 1030 | return PLAYLIST_VIEWER_USB; |
1031 | else if (plugin_result == PV_ONPLAY_WPS_CLOSED) | ||
1032 | return PLAYLIST_VIEWER_OK; | ||
1009 | else if (!open_playlist_viewer(filename, &playlist_lists, true)) | 1033 | else if (!open_playlist_viewer(filename, &playlist_lists, true)) |
1010 | { | 1034 | { |
1011 | ret = PLAYLIST_VIEWER_CANCEL; | 1035 | ret = PLAYLIST_VIEWER_CANCEL; |