diff options
author | Jonathan Gordon <rockbox@jdgordon.info> | 2011-09-03 13:24:56 +0000 |
---|---|---|
committer | Jonathan Gordon <rockbox@jdgordon.info> | 2011-09-03 13:24:56 +0000 |
commit | 573f2206c1934e925b35565f472613d4917552d3 (patch) | |
tree | ba795d7ab27f2070117bc29f2f54c8772a51098c /apps | |
parent | 29f04cc9860a032a9182e77d02679c4faa6ec148 (diff) |
Add the list colour callback and a proper title icon to the simplelist api
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30419 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r-- | apps/gui/list.c | 10 | ||||
-rw-r--r-- | apps/gui/list.h | 8 |
2 files changed, 16 insertions, 2 deletions
diff --git a/apps/gui/list.c b/apps/gui/list.c index 72f27ce527..f450bd579f 100644 --- a/apps/gui/list.c +++ b/apps/gui/list.c @@ -823,11 +823,15 @@ bool simplelist_show_list(struct simplelist_info *info) info->scroll_all, info->selection_size, NULL); if (info->title) - gui_synclist_set_title(&lists, info->title, NOICON); + gui_synclist_set_title(&lists, info->title, info->title_icon); if (info->get_icon) gui_synclist_set_icon_callback(&lists, info->get_icon); if (info->get_talk) gui_synclist_set_voice_callback(&lists, info->get_talk); +#ifdef HAVE_LCD_COLOR + if (info->get_color) + gui_synclist_set_color_callback(&lists, info->get_color); +#endif if (info->hide_selection) { @@ -909,9 +913,13 @@ void simplelist_info_init(struct simplelist_info *info, char* title, info->timeout = HZ/10; info->selection = 0; info->action_callback = NULL; + info->title_icon = Icon_NOICON; info->get_icon = NULL; info->get_name = NULL; info->get_talk = NULL; +#ifdef HAVE_LCD_COLOR + info->get_color = NULL; +#endif info->callback_data = data; simplelist_line_count = 0; } diff --git a/apps/gui/list.h b/apps/gui/list.h index 84673d866c..38d7e95f8d 100644 --- a/apps/gui/list.h +++ b/apps/gui/list.h @@ -213,10 +213,14 @@ struct simplelist_info { /* action_callback notes: action == the action pressed by the user _after_ gui_synclist_do_button returns. - lists == the lists sturct so the callack can get selection and count etc. */ + lists == the lists struct so the callback can get selection and count etc. */ + enum themable_icons title_icon; list_get_icon *get_icon; /* can be NULL */ list_get_name *get_name; /* NULL if you're using simplelist_addline() */ list_speak_item *get_talk; /* can be NULL to not speak */ +#ifdef HAVE_LCD_COLOR + list_get_color *get_color; +#endif void *callback_data; /* data for callbacks */ }; @@ -242,9 +246,11 @@ void simplelist_addline(int line_number, const char *fmt, ...); info.hide_selection = false; info.scroll_all = false; info.action_callback = NULL; + info.title_icon = Icon_NOICON; info.get_icon = NULL; info.get_name = NULL; info.get_voice = NULL; + info.get_color = NULL; info.timeout = HZ/10; info.selection = 0; */ |