diff options
Diffstat (limited to 'apps/filetree.c')
-rw-r--r-- | apps/filetree.c | 48 |
1 files changed, 37 insertions, 11 deletions
diff --git a/apps/filetree.c b/apps/filetree.c index d4681ae2c7..87ac37c2e0 100644 --- a/apps/filetree.c +++ b/apps/filetree.c | |||
@@ -552,22 +552,35 @@ int ft_enter(struct tree_context* c) | |||
552 | 552 | ||
553 | /* plugin file */ | 553 | /* plugin file */ |
554 | case FILE_ATTR_ROCK: | 554 | case FILE_ATTR_ROCK: |
555 | { | ||
556 | int ret; | ||
555 | if (global_settings.party_mode && audio_status()) { | 557 | if (global_settings.party_mode && audio_status()) { |
556 | splash(HZ, ID2P(LANG_PARTY_MODE)); | 558 | splash(HZ, ID2P(LANG_PARTY_MODE)); |
557 | break; | 559 | break; |
558 | } | 560 | } |
559 | 561 | ret = plugin_load(buf,NULL); | |
560 | if (plugin_load(buf,NULL) == PLUGIN_USB_CONNECTED) | 562 | switch (ret) |
561 | { | 563 | { |
562 | if(*c->dirfilter > NUM_FILTER_MODES) | 564 | case PLUGIN_GOTO_WPS: |
563 | /* leave sub-browsers after usb, doing | 565 | play = true; |
564 | otherwise might be confusing to the user */ | 566 | break; |
565 | exit_func = true; | 567 | case PLUGIN_USB_CONNECTED: |
566 | else | 568 | if(*c->dirfilter > NUM_FILTER_MODES) |
567 | reload_dir = true; | 569 | /* leave sub-browsers after usb, doing |
570 | otherwise might be confusing to the user */ | ||
571 | exit_func = true; | ||
572 | else | ||
573 | reload_dir = true; | ||
574 | break; | ||
575 | /* | ||
576 | case PLUGIN_ERROR: | ||
577 | case PLUGIN_OK: | ||
578 | */ | ||
579 | default: | ||
580 | break; | ||
568 | } | 581 | } |
569 | break; | 582 | break; |
570 | 583 | } | |
571 | case FILE_ATTR_CUE: | 584 | case FILE_ATTR_CUE: |
572 | display_cuesheet_content(buf); | 585 | display_cuesheet_content(buf); |
573 | break; | 586 | break; |
@@ -584,8 +597,21 @@ int ft_enter(struct tree_context* c) | |||
584 | plugin = filetype_get_plugin(file); | 597 | plugin = filetype_get_plugin(file); |
585 | if (plugin) | 598 | if (plugin) |
586 | { | 599 | { |
587 | if (plugin_load(plugin,buf) == PLUGIN_USB_CONNECTED) | 600 | switch (plugin_load(plugin,buf)) |
588 | reload_dir = true; | 601 | { |
602 | case PLUGIN_USB_CONNECTED: | ||
603 | reload_dir = true; | ||
604 | break; | ||
605 | case PLUGIN_GOTO_WPS: | ||
606 | play = true; | ||
607 | break; | ||
608 | /* | ||
609 | case PLUGIN_OK: | ||
610 | case PLUGIN_ERROR: | ||
611 | */ | ||
612 | default: | ||
613 | break; | ||
614 | } | ||
589 | } | 615 | } |
590 | break; | 616 | break; |
591 | } | 617 | } |