rendered paste bodyIndex: apps/plugins/viewers.config
===================================================================
--- apps/plugins/viewers.config (revision 27935)
+++ apps/plugins/viewers.config (working copy)
@@ -1,70 +1,116 @@
-wav,viewers/test_codec,-
+*,apps/md5sum,-
+*,viewers/properties,-
+*,viewers/shortcuts_append,-
+*,viewers/sort,-
+bmp,apps/rockpaint,11
+bmp,games/sliding_puzzle,11
+bmp,viewers/bmp,2
+bmp,viewers/sort,-
bmp,viewers/test_greylib_bitmap_scale,-
-jpeg,viewers/test_core_jpeg,-
+cells,games/rocklife,-
+cfg,apps/text_editor,2
+cfg,viewers/theme_remove,-
+cfg,viewers/viewer,1
+ch8,viewers/chip8,0
+colours,apps/text_editor,11
+cue,apps/text_editor,2
+cue,viewers/sort,-
+cue,viewers/viewer,1
+fmr,apps/text_editor,2
+fmr,viewers/sort,-
+fmr,viewers/viewer,1
+gb,viewers/rockboy,6
+gbc,viewers/rockboy,6
+ipod,viewers/crypt_firmware,-
+ipodx,viewers/crypt_firmware,-
+iriver,viewers/iriver_flash,3
+jpe,viewers/bench_mem_jpeg,-
+jpe,viewers/jpeg,2
+jpe,viewers/sort,-
jpe,viewers/test_core_jpeg,-
-jpg,viewers/test_core_jpeg,-
-jpeg,viewers/test_mem_jpeg,-
jpe,viewers/test_mem_jpeg,-
-jpg,viewers/test_mem_jpeg,-
jpeg,viewers/bench_mem_jpeg,-
-jpe,viewers/bench_mem_jpeg,-
+jpeg,viewers/jpeg,2
+jpeg,viewers/sort,-
+jpeg,viewers/test_core_jpeg,-
+jpeg,viewers/test_mem_jpeg,-
jpg,viewers/bench_mem_jpeg,-
-ch8,viewers/chip8,0
-txt,viewers/text_viewer,1
-nfo,viewers/text_viewer,1
-txt,apps/text_editor,2
-bmp,viewers/bmp,2
jpg,viewers/jpeg,2
-jpe,viewers/jpeg,2
-jpeg,viewers/jpeg,2
-png,viewers/png,2
-ucl,viewers/rockbox_flash,3
-rvf,viewers/video,4
-mp3,viewers/vbrfix,5
-m3u,viewers/search,-
-txt,viewers/sort,-
+jpg,viewers/sort,-
+jpg,viewers/test_core_jpeg,-
+jpg,viewers/test_mem_jpeg,-
+kbd,apps/text_editor,2
+kbd,viewers/viewer,1
+link,apps/text_editor,2
+link,viewers/shortcuts_view,-
+link,viewers/sort,-
+link,viewers/viewer,1
+list,apps/text_editor,2
+list,viewers/shopper,1
+list,viewers/sort,-
lrc,apps/lrcplayer,1
lrc8,apps/lrcplayer,1
-snc,apps/lrcplayer,1
-gb,viewers/rockboy,6
-gbc,viewers/rockboy,6
-sgb,viewers/rockboy,6
+lua,viewers/lua,-
+m2v,viewers/mpegplayer,4
+m3u,apps/text_editor,2
m3u,viewers/iriverify,-
+m3u,viewers/search,-
+m3u,viewers/sort,-
+m3u,viewers/viewer,1
+m3u8,apps/text_editor,2
+m3u8,viewers/search,-
+m3u8,viewers/sort,-
+m3u8,viewers/viewer,1
mid,viewers/midi,7
+mid,viewers/sort,-
+mp3,viewers/sort,-
+mp3,viewers/vbrfix,5
+mpeg,viewers/mpegplayer,4
+mpg,viewers/mpegplayer,4
+mpg,viewers/sort,-
+mpv,viewers/mpegplayer,4
+mpv,viewers/sort,-
+nfo,viewers/text_viewer,1
+pd,viewers/pdbox,2
+pgn,apps/text_editor,2
+pgn,games/chessbox,1
+pgn,viewers/sort,-
+pgn,viewers/viewer,1
+png,viewers/png,2
+png,viewers/sort,-
+ppm,viewers/ppmviewer,2
rmi,viewers/midi,7
-pd,viewers/pdbox,2
rsp,viewers/searchengine,8
+rvf,viewers/video,4
+rwps,apps/text_editor,2
+rwps,viewers/viewer,1
+sgb,viewers/rockboy,6
+sgf,games/goban,1
+sna,viewers/zxbox,12
+snc,apps/lrcplayer,1
+sok,apps/text_editor,2
sok,games/sokoban,1
-pgn,games/chessbox,1
-sgf,games/goban,1
+sok,viewers/sort,-
+sok,viewers/viewer,1
+ss,apps/text_editor,2
ss,games/sudoku,1
+ss,viewers/sort,-
+ss,viewers/viewer,1
+ssg,games/superdom,-
+tap,viewers/zxbox,12
+txt,apps/text_editor,2
+txt,viewers/sort,-
+txt,viewers/text_viewer,1
+tzx,viewers/zxbox,12
+ucl,viewers/rockbox_flash,3
+viewers/sort,-
+wav,viewers/mp3_encoder,-
+wav,viewers/test_codec,-
wav,viewers/wav2wv,-
-wav,viewers/mp3_encoder,-
wav,viewers/wavplay,9
wav,viewers/wavview,10
-bmp,apps/rockpaint,11
-bmp,games/sliding_puzzle,11
-mpg,viewers/mpegplayer,4
-mpeg,viewers/mpegplayer,4
-mpv,viewers/mpegplayer,4
-m2v,viewers/mpegplayer,4
-iriver,viewers/iriver_flash,3
-tap,viewers/zxbox,12
-sna,viewers/zxbox,12
-tzx,viewers/zxbox,12
-z80,viewers/zxbox,12
-ppm,viewers/ppmviewer,2
-cfg,viewers/theme_remove,-
-*,viewers/properties,-
-colours,apps/text_editor,11
-ssg,games/superdom,-
-cells,games/rocklife,-
-link,viewers/shortcuts_view,-
-*,viewers/shortcuts_append,-
-*,apps/md5sum,-
-lua,viewers/lua,-
-ipod,viewers/crypt_firmware,-
-ipodx,viewers/crypt_firmware,-
+wps,apps/text_editor,2
+wps,viewers/viewer,1
z1,viewers/frotz,-
z2,viewers/frotz,-
z3,viewers/frotz,-
@@ -73,4 +119,4 @@
z6,viewers/frotz,-
z7,viewers/frotz,-
z8,viewers/frotz,-
-list,viewers/shopper,1
+z80,viewers/zxbox,12
Index: apps/filetypes.c
===================================================================
--- apps/filetypes.c (revision 27935)
+++ apps/filetypes.c (working copy)
@@ -307,6 +307,15 @@
*s = '\0';
}
+static char *get_extension(const char* file)
+{
+ char *extension = strrchr(file, '.');
+ if (!extension)
+ return NULL;
+ extension++;
+ return (char *)extension;
+}
+
static void read_builtin_types(void)
{
int count = sizeof(inbuilt_filetypes)/sizeof(*inbuilt_filetypes), i;
@@ -377,11 +386,10 @@
int filetype_get_attr(const char* file)
{
- char *extension = strrchr(file, '.');
int i;
+ char *extension = get_extension(file);
if (!extension)
return 0;
- extension++;
for (i=0; i<filetype_count; i++)
{
if (filetypes[i].extension &&
@@ -408,14 +416,12 @@
#ifdef HAVE_LCD_COLOR
int filetype_get_color(const char * name, int attr)
{
- char *extension;
int i;
if ((attr & ATTR_DIRECTORY)==ATTR_DIRECTORY)
return custom_colors[0];
- extension = strrchr(name, '.');
+ char *extension = get_extension(name);
if (!extension)
return custom_colors[MAX_FILETYPES];
- extension++;
for (i=1; i<filetype_count; i++)
{
@@ -503,10 +509,16 @@
int items[MAX_FILETYPES];
struct simplelist_info info;
struct cb_data data = { items, current_file };
+ char *ext = get_extension(current_file);
for (i=0; i<filetype_count && count < MAX_FILETYPES; i++)
{
if (filetypes[i].plugin)
{
+ /* do not show unrelated plugins, unless 'show files' is 'all' */
+ if (global_settings.dirfilter != 0)
+ if ( strcmp(filetypes[i].extension, "*") &&
+ strcasecmp(filetypes[i].extension, ext) )
+ continue;
int j;
for (j=0;j<count;j++) /* check if the plugin is in the list yet */
{