summaryrefslogtreecommitdiff
path: root/apps/filetree.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/filetree.c')
-rw-r--r--apps/filetree.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/apps/filetree.c b/apps/filetree.c
index d645b7225c..cfa14f86b5 100644
--- a/apps/filetree.c
+++ b/apps/filetree.c
@@ -357,7 +357,8 @@ int ft_load(struct tree_context* c, const char* tempdir)
357 (*c->dirfilter == SHOW_LNG && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_LNG) || 357 (*c->dirfilter == SHOW_LNG && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_LNG) ||
358 (*c->dirfilter == SHOW_MOD && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_MOD) || 358 (*c->dirfilter == SHOW_MOD && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_MOD) ||
359 (*c->dirfilter == SHOW_PLUGINS && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_ROCK && 359 (*c->dirfilter == SHOW_PLUGINS && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_ROCK &&
360 (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_LUA) || 360 (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_LUA &&
361 (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_OPX) ||
361 (callback_show_item && !callback_show_item(entry->d_name, dptr->attr, c))) 362 (callback_show_item && !callback_show_item(entry->d_name, dptr->attr, c)))
362 { 363 {
363 continue; 364 continue;
@@ -625,6 +626,7 @@ int ft_enter(struct tree_context* c)
625 /* plugin file */ 626 /* plugin file */
626 case FILE_ATTR_ROCK: 627 case FILE_ATTR_ROCK:
627 case FILE_ATTR_LUA: 628 case FILE_ATTR_LUA:
629 case FILE_ATTR_OPX:
628 { 630 {
629 char *plugin = buf, *argument = NULL, lua_path[MAX_PATH]; 631 char *plugin = buf, *argument = NULL, lua_path[MAX_PATH];
630 int ret; 632 int ret;
@@ -634,6 +636,11 @@ int ft_enter(struct tree_context* c)
634 plugin = lua_path; 636 plugin = lua_path;
635 argument = buf; 637 argument = buf;
636 } 638 }
639 else if ((file_attr & FILE_ATTR_MASK) == FILE_ATTR_OPX) {
640 snprintf(lua_path, sizeof(lua_path)-1, "%s/open_plugins.rock", VIEWERS_DIR); /* Use a #define here ? */
641 plugin = lua_path;
642 argument = buf;
643 }
637 644
638 if (global_settings.party_mode && audio_status()) { 645 if (global_settings.party_mode && audio_status()) {
639 splash(HZ, ID2P(LANG_PARTY_MODE)); 646 splash(HZ, ID2P(LANG_PARTY_MODE));
@@ -645,6 +652,9 @@ int ft_enter(struct tree_context* c)
645 case PLUGIN_GOTO_WPS: 652 case PLUGIN_GOTO_WPS:
646 play = true; 653 play = true;
647 break; 654 break;
655 case PLUGIN_GOTO_PLUGIN:
656 rc = GO_TO_PLUGIN;
657 break;
648 case PLUGIN_USB_CONNECTED: 658 case PLUGIN_USB_CONNECTED:
649 if(*c->dirfilter > NUM_FILTER_MODES) 659 if(*c->dirfilter > NUM_FILTER_MODES)
650 /* leave sub-browsers after usb, doing 660 /* leave sub-browsers after usb, doing
@@ -690,6 +700,9 @@ int ft_enter(struct tree_context* c)
690 case PLUGIN_USB_CONNECTED: 700 case PLUGIN_USB_CONNECTED:
691 rc = GO_TO_FILEBROWSER; 701 rc = GO_TO_FILEBROWSER;
692 break; 702 break;
703 case PLUGIN_GOTO_PLUGIN:
704 rc = GO_TO_PLUGIN;
705 break;
693 case PLUGIN_GOTO_WPS: 706 case PLUGIN_GOTO_WPS:
694 rc = GO_TO_WPS; 707 rc = GO_TO_WPS;
695 break; 708 break;