diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/filetypes.c | 23 | ||||
-rw-r--r-- | apps/gui/icon.c | 8 | ||||
-rw-r--r-- | apps/plugins/viewers.config | 2 |
3 files changed, 28 insertions, 5 deletions
diff --git a/apps/filetypes.c b/apps/filetypes.c index f91df19652..cb05a60ad6 100644 --- a/apps/filetypes.c +++ b/apps/filetypes.c | |||
@@ -75,12 +75,33 @@ static char *filetypes_strdup(char* string) | |||
75 | static void read_builtin_types(void); | 75 | static void read_builtin_types(void); |
76 | static void read_config(char* config_file); | 76 | static void read_config(char* config_file); |
77 | #ifdef HAVE_LCD_BITMAP | 77 | #ifdef HAVE_LCD_BITMAP |
78 | |||
79 | static void reset_icons(void) | ||
80 | { | ||
81 | int i, j, count; | ||
82 | const struct filetype *types; | ||
83 | tree_get_filetypes(&types, &count); | ||
84 | for (i=1; i<filetype_count; i++) /* 0 is folders */ | ||
85 | { | ||
86 | filetypes[i].icon = Icon_Questionmark; | ||
87 | for (j=0; j<count; j++) | ||
88 | { | ||
89 | if (filetypes[i].extension && | ||
90 | !strcmp(filetypes[i].extension, types[j].extension)) | ||
91 | { | ||
92 | filetypes[i].icon = types[j].icon; | ||
93 | break; | ||
94 | } | ||
95 | } | ||
96 | } | ||
97 | } | ||
78 | void read_viewer_theme_file(void) | 98 | void read_viewer_theme_file(void) |
79 | { | 99 | { |
80 | char buffer[MAX_PATH]; | 100 | char buffer[MAX_PATH]; |
81 | int fd; | 101 | int fd; |
82 | char *ext, *icon; | 102 | char *ext, *icon; |
83 | int i; | 103 | int i; |
104 | reset_icons(); | ||
84 | snprintf(buffer, MAX_PATH, "%s/%s.icons", ICON_DIR, | 105 | snprintf(buffer, MAX_PATH, "%s/%s.icons", ICON_DIR, |
85 | global_settings.viewers_icon_file); | 106 | global_settings.viewers_icon_file); |
86 | fd = open(buffer, O_RDONLY); | 107 | fd = open(buffer, O_RDONLY); |
@@ -265,6 +286,8 @@ char* filetype_get_plugin(const struct entry* file) | |||
265 | int index = find_attr(file->attr); | 286 | int index = find_attr(file->attr); |
266 | if (index < 0) | 287 | if (index < 0) |
267 | return NULL; | 288 | return NULL; |
289 | if (filetypes[index].viewer == NULL) | ||
290 | return NULL; | ||
268 | snprintf(plugin_name, MAX_PATH, "%s/%s.%s", | 291 | snprintf(plugin_name, MAX_PATH, "%s/%s.%s", |
269 | filetypes[index].viewer? VIEWERS_DIR: PLUGIN_DIR, | 292 | filetypes[index].viewer? VIEWERS_DIR: PLUGIN_DIR, |
270 | filetypes[index].plugin, ROCK_EXTENSION); | 293 | filetypes[index].plugin, ROCK_EXTENSION); |
diff --git a/apps/gui/icon.c b/apps/gui/icon.c index 2cb0035ad7..b283ec2c80 100644 --- a/apps/gui/icon.c +++ b/apps/gui/icon.c | |||
@@ -42,7 +42,7 @@ | |||
42 | #define DEFAULT_VIEWER_BMP ICON_DIR "/viewers.bmp" | 42 | #define DEFAULT_VIEWER_BMP ICON_DIR "/viewers.bmp" |
43 | #define DEFAULT_REMOTE_VIEWER_BMP ICON_DIR "/remote_viewers.bmp" | 43 | #define DEFAULT_REMOTE_VIEWER_BMP ICON_DIR "/remote_viewers.bmp" |
44 | 44 | ||
45 | /* These should robably be moved to config-<target>.h */ | 45 | /* These should probably be moved to config-<target>.h */ |
46 | #define MAX_ICON_HEIGHT 24 | 46 | #define MAX_ICON_HEIGHT 24 |
47 | #define MAX_ICON_WIDTH 24 | 47 | #define MAX_ICON_WIDTH 24 |
48 | 48 | ||
@@ -213,9 +213,9 @@ static void load_icons(const char* filename, enum Iconset iconset) | |||
213 | break; | 213 | break; |
214 | #ifdef HAVE_REMOTE_LCD | 214 | #ifdef HAVE_REMOTE_LCD |
215 | case Iconset_Remotescreen: | 215 | case Iconset_Remotescreen: |
216 | loaded_ok = &custom_icons_loaded[SCREEN_MAIN]; | 216 | loaded_ok = &custom_icons_loaded[SCREEN_REMOTE]; |
217 | bmp = &user_iconset[SCREEN_MAIN]; | 217 | bmp = &user_iconset[SCREEN_REMOTE]; |
218 | bmp->data = icon_buffer[SCREEN_MAIN]; | 218 | bmp->data = icon_buffer[SCREEN_REMOTE]; |
219 | break; | 219 | break; |
220 | case Iconset_Remotescreen_viewers: | 220 | case Iconset_Remotescreen_viewers: |
221 | loaded_ok = &viewer_icons_loaded[SCREEN_REMOTE]; | 221 | loaded_ok = &viewer_icons_loaded[SCREEN_REMOTE]; |
diff --git a/apps/plugins/viewers.config b/apps/plugins/viewers.config index d53fb2371e..4abdfb106f 100644 --- a/apps/plugins/viewers.config +++ b/apps/plugins/viewers.config | |||
@@ -19,7 +19,7 @@ rsp,viewers/searchengine,8 | |||
19 | ss,rocks/sudoku,1 | 19 | ss,rocks/sudoku,1 |
20 | wav,viewers/wav2wv,- | 20 | wav,viewers/wav2wv,- |
21 | wav,viewers/mp3_encoder,- | 21 | wav,viewers/mp3_encoder,- |
22 | wav,viewers/wavplay,*0 | 22 | wav,viewers/wavplay,10 |
23 | wav,viewers/wavview,10 | 23 | wav,viewers/wavview,10 |
24 | bmp,rocks/rockpaint,11 | 24 | bmp,rocks/rockpaint,11 |
25 | mpg,viewers/mpegplayer,4 | 25 | mpg,viewers/mpegplayer,4 |