summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/gui/list.c4
-rw-r--r--apps/menu.c10
-rw-r--r--apps/tree.c14
3 files changed, 11 insertions, 17 deletions
diff --git a/apps/gui/list.c b/apps/gui/list.c
index c649528690..5d5733b4e9 100644
--- a/apps/gui/list.c
+++ b/apps/gui/list.c
@@ -222,7 +222,7 @@ static void gui_list_draw(struct gui_list * gui_list)
222 int cursor_pos = 0; 222 int cursor_pos = 0;
223 int icon_pos = 1; 223 int icon_pos = 1;
224 int text_pos; 224 int text_pos;
225 bool draw_icons = (gui_list->callback_get_item_icon != NULL ) ; 225 bool draw_icons = (gui_list->callback_get_item_icon != NULL && global_settings.show_icons);
226 bool draw_cursor; 226 bool draw_cursor;
227 int i; 227 int i;
228 int lines; 228 int lines;
@@ -238,7 +238,7 @@ static void gui_list_draw(struct gui_list * gui_list)
238 i = 1; 238 i = 1;
239 lines = display->nb_lines - 1; 239 lines = display->nb_lines - 1;
240 240
241 if (gui_list->title_icon != NOICON) 241 if (gui_list->title_icon != NOICON && draw_icons)
242 { 242 {
243 screen_put_iconxy(display, 0, 0, gui_list->title_icon); 243 screen_put_iconxy(display, 0, 0, gui_list->title_icon);
244#ifdef HAVE_LCD_BITMAP 244#ifdef HAVE_LCD_BITMAP
diff --git a/apps/menu.c b/apps/menu.c
index 8656c903c7..c4b9317e6c 100644
--- a/apps/menu.c
+++ b/apps/menu.c
@@ -415,20 +415,16 @@ static void init_menu_lists(const struct menu_item_ex *menu,
415 415
416 gui_synclist_init(lists,get_menu_item_name,(void*)menu,false,1); 416 gui_synclist_init(lists,get_menu_item_name,(void*)menu,false,1);
417#ifdef HAVE_LCD_BITMAP 417#ifdef HAVE_LCD_BITMAP
418 if (global_settings.show_icons == false) 418 if (menu->callback_and_desc->icon == NOICON)
419 icon = NOICON;
420 else if (menu->callback_and_desc->icon == NOICON)
421 icon = bitmap_icons_6x8[Icon_Submenu_Entered]; 419 icon = bitmap_icons_6x8[Icon_Submenu_Entered];
422 else 420 else
423 icon = menu->callback_and_desc->icon; 421 icon = menu->callback_and_desc->icon;
424 gui_synclist_set_title(lists, P2STR(menu->callback_and_desc->desc), icon); 422 gui_synclist_set_title(lists, P2STR(menu->callback_and_desc->desc), icon);
425 if (global_settings.show_icons) 423 gui_synclist_set_icon_callback(lists, menu_get_icon);
426 gui_synclist_set_icon_callback(lists, menu_get_icon);
427 else
428#else 424#else
429 (void)icon; 425 (void)icon;
426 gui_synclist_set_icon_callback(lists, NULL);
430#endif 427#endif
431 gui_synclist_set_icon_callback(lists, NULL);
432 gui_synclist_set_nb_items(lists,current_subitems_count); 428 gui_synclist_set_nb_items(lists,current_subitems_count);
433 gui_synclist_limit_scroll(lists,true); 429 gui_synclist_limit_scroll(lists,true);
434 gui_synclist_select_item(lists, find_menu_selection(selected)); 430 gui_synclist_select_item(lists, find_menu_selection(selected));
diff --git a/apps/tree.c b/apps/tree.c
index ac64fff1f5..a8f40f3d07 100644
--- a/apps/tree.c
+++ b/apps/tree.c
@@ -272,8 +272,7 @@ void browse_root(void)
272 gui_buttonbar_set_display(&tree_buttonbar, &(screens[SCREEN_MAIN]) ); 272 gui_buttonbar_set_display(&tree_buttonbar, &(screens[SCREEN_MAIN]) );
273#endif 273#endif
274 gui_synclist_init(&tree_lists, &tree_get_filename, &tc, false, 1); 274 gui_synclist_init(&tree_lists, &tree_get_filename, &tc, false, 1);
275 gui_synclist_set_icon_callback(&tree_lists, 275 gui_synclist_set_icon_callback(&tree_lists, &tree_get_fileicon);
276 global_settings.show_icons?&tree_get_fileicon:NULL);
277 /* not the best place for this call... but... */ 276 /* not the best place for this call... but... */
278 root_menu(); 277 root_menu();
279} 278}
@@ -377,7 +376,7 @@ static int update_dir(void)
377 || global_settings.show_path_in_browser == SHOW_PATH_CURRENT) 376 || global_settings.show_path_in_browser == SHOW_PATH_CURRENT)
378 { 377 {
379 gui_synclist_set_title(&tree_lists, tagtree_get_title(&tc), 378 gui_synclist_set_title(&tree_lists, tagtree_get_title(&tc),
380 global_settings.show_icons?filetype_get_icon(ATTR_DIRECTORY):(ICON)NULL); 379 filetype_get_icon(ATTR_DIRECTORY));
381 } 380 }
382 else 381 else
383 { 382 {
@@ -391,7 +390,7 @@ static int update_dir(void)
391 if (global_settings.show_path_in_browser == SHOW_PATH_FULL) 390 if (global_settings.show_path_in_browser == SHOW_PATH_FULL)
392 { 391 {
393 gui_synclist_set_title(&tree_lists, tc.currdir, 392 gui_synclist_set_title(&tree_lists, tc.currdir,
394 global_settings.show_icons?filetype_get_icon(ATTR_DIRECTORY):(ICON)NULL); 393 filetype_get_icon(ATTR_DIRECTORY));
395 } 394 }
396 else if (global_settings.show_path_in_browser == SHOW_PATH_CURRENT) 395 else if (global_settings.show_path_in_browser == SHOW_PATH_CURRENT)
397 { 396 {
@@ -400,11 +399,11 @@ static int update_dir(void)
400 { 399 {
401 /* Display "Files" for the root dir */ 400 /* Display "Files" for the root dir */
402 gui_synclist_set_title(&tree_lists, str(LANG_DIR_BROWSER), 401 gui_synclist_set_title(&tree_lists, str(LANG_DIR_BROWSER),
403 global_settings.show_icons?filetype_get_icon(ATTR_DIRECTORY):(ICON)NULL); 402 filetype_get_icon(ATTR_DIRECTORY));
404 } 403 }
405 else 404 else
406 gui_synclist_set_title(&tree_lists, title, 405 gui_synclist_set_title(&tree_lists, title,
407 global_settings.show_icons?filetype_get_icon(ATTR_DIRECTORY):(ICON)NULL); 406 filetype_get_icon(ATTR_DIRECTORY));
408 } 407 }
409 else 408 else
410 { 409 {
@@ -414,8 +413,7 @@ static int update_dir(void)
414 } 413 }
415 414
416 gui_synclist_set_nb_items(&tree_lists, tc.filesindir); 415 gui_synclist_set_nb_items(&tree_lists, tc.filesindir);
417 gui_synclist_set_icon_callback(&tree_lists, 416 gui_synclist_set_icon_callback(&tree_lists, tree_get_fileicon);
418 global_settings.show_icons?&tree_get_fileicon:NULL);
419 if( tc.selected_item >= tc.filesindir) 417 if( tc.selected_item >= tc.filesindir)
420 tc.selected_item=tc.filesindir-1; 418 tc.selected_item=tc.filesindir-1;
421 419