diff options
-rw-r--r-- | apps/filetree.c | 13 | ||||
-rw-r--r-- | apps/filetypes.c | 1 | ||||
-rw-r--r-- | apps/filetypes.h | 1 |
3 files changed, 13 insertions, 2 deletions
diff --git a/apps/filetree.c b/apps/filetree.c index 3b31358321..945b9ac504 100644 --- a/apps/filetree.c +++ b/apps/filetree.c | |||
@@ -344,7 +344,8 @@ int ft_load(struct tree_context* c, const char* tempdir) | |||
344 | (*c->dirfilter == SHOW_CFG && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_CFG) || | 344 | (*c->dirfilter == SHOW_CFG && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_CFG) || |
345 | (*c->dirfilter == SHOW_LNG && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_LNG) || | 345 | (*c->dirfilter == SHOW_LNG && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_LNG) || |
346 | (*c->dirfilter == SHOW_MOD && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_MOD) || | 346 | (*c->dirfilter == SHOW_MOD && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_MOD) || |
347 | (*c->dirfilter == SHOW_PLUGINS && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_ROCK)) | 347 | (*c->dirfilter == SHOW_PLUGINS && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_ROCK && |
348 | (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_LUA)) | ||
348 | { | 349 | { |
349 | i--; | 350 | i--; |
350 | continue; | 351 | continue; |
@@ -582,13 +583,21 @@ int ft_enter(struct tree_context* c) | |||
582 | 583 | ||
583 | /* plugin file */ | 584 | /* plugin file */ |
584 | case FILE_ATTR_ROCK: | 585 | case FILE_ATTR_ROCK: |
586 | case FILE_ATTR_LUA: | ||
585 | { | 587 | { |
588 | char *plugin = buf, *argument = NULL; | ||
586 | int ret; | 589 | int ret; |
590 | |||
591 | if ((file->attr & FILE_ATTR_MASK) == FILE_ATTR_LUA) { | ||
592 | plugin = VIEWERS_DIR "/lua.rock"; /* Use a #define here ? */ | ||
593 | argument = buf; | ||
594 | } | ||
595 | |||
587 | if (global_settings.party_mode && audio_status()) { | 596 | if (global_settings.party_mode && audio_status()) { |
588 | splash(HZ, ID2P(LANG_PARTY_MODE)); | 597 | splash(HZ, ID2P(LANG_PARTY_MODE)); |
589 | break; | 598 | break; |
590 | } | 599 | } |
591 | ret = plugin_load(buf,NULL); | 600 | ret = plugin_load(plugin, argument); |
592 | switch (ret) | 601 | switch (ret) |
593 | { | 602 | { |
594 | case PLUGIN_GOTO_WPS: | 603 | case PLUGIN_GOTO_WPS: |
diff --git a/apps/filetypes.c b/apps/filetypes.c index 2c737ce883..b442a9ec2c 100644 --- a/apps/filetypes.c +++ b/apps/filetypes.c | |||
@@ -102,6 +102,7 @@ static const struct filetype inbuilt_filetypes[] = { | |||
102 | #endif | 102 | #endif |
103 | { "lng", FILE_ATTR_LNG, Icon_Language, LANG_LANGUAGE }, | 103 | { "lng", FILE_ATTR_LNG, Icon_Language, LANG_LANGUAGE }, |
104 | { "rock",FILE_ATTR_ROCK,Icon_Plugin, VOICE_EXT_ROCK }, | 104 | { "rock",FILE_ATTR_ROCK,Icon_Plugin, VOICE_EXT_ROCK }, |
105 | { "lua", FILE_ATTR_LUA, Icon_Plugin, VOICE_EXT_ROCK }, | ||
105 | #ifdef HAVE_LCD_BITMAP | 106 | #ifdef HAVE_LCD_BITMAP |
106 | { "fnt", FILE_ATTR_FONT,Icon_Font, VOICE_EXT_FONT }, | 107 | { "fnt", FILE_ATTR_FONT,Icon_Font, VOICE_EXT_FONT }, |
107 | { "kbd", FILE_ATTR_KBD, Icon_Keyboard, VOICE_EXT_KBD }, | 108 | { "kbd", FILE_ATTR_KBD, Icon_Keyboard, VOICE_EXT_KBD }, |
diff --git a/apps/filetypes.h b/apps/filetypes.h index d3846b03bf..068ec3b259 100644 --- a/apps/filetypes.h +++ b/apps/filetypes.h | |||
@@ -43,6 +43,7 @@ | |||
43 | #define FILE_ATTR_CUE 0x0E00 /* cuesheet file */ | 43 | #define FILE_ATTR_CUE 0x0E00 /* cuesheet file */ |
44 | #define FILE_ATTR_SBS 0x0F00 /* statusbar file */ | 44 | #define FILE_ATTR_SBS 0x0F00 /* statusbar file */ |
45 | #define FILE_ATTR_RSBS 0x1000 /* remote statusbar file */ | 45 | #define FILE_ATTR_RSBS 0x1000 /* remote statusbar file */ |
46 | #define FILE_ATTR_LUA 0x1100 /* Lua rockbox plugin */ | ||
46 | #define FILE_ATTR_MASK 0xFF00 /* which bits tree.c uses for file types */ | 47 | #define FILE_ATTR_MASK 0xFF00 /* which bits tree.c uses for file types */ |
47 | 48 | ||
48 | struct filetype { | 49 | struct filetype { |