diff options
author | Jonathan Gordon <rockbox@jdgordon.info> | 2007-10-21 13:47:43 +0000 |
---|---|---|
committer | Jonathan Gordon <rockbox@jdgordon.info> | 2007-10-21 13:47:43 +0000 |
commit | 0465101f92e45c06009a4d94079cea2218734785 (patch) | |
tree | a76c9920bb7d4ed3135cf072a9d0dd097dfea9fd /apps/gui/list.c | |
parent | c1051549b93d1905602ba25409cbd8f4a607c3b5 (diff) | |
download | rockbox-0465101f92e45c06009a4d94079cea2218734785.tar.gz rockbox-0465101f92e45c06009a4d94079cea2218734785.zip |
allow simplelists to set the timeout and the start selection.
set a slightly saner default timeout
talk the selected item when the list is first displayed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15247 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui/list.c')
-rw-r--r-- | apps/gui/list.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/apps/gui/list.c b/apps/gui/list.c index 5c16c00aeb..2450720a13 100644 --- a/apps/gui/list.c +++ b/apps/gui/list.c | |||
@@ -1179,13 +1179,17 @@ bool simplelist_show_list(struct simplelist_info *info) | |||
1179 | gui_synclist_set_nb_items(&lists, simplelist_line_count*info->selection_size); | 1179 | gui_synclist_set_nb_items(&lists, simplelist_line_count*info->selection_size); |
1180 | else | 1180 | else |
1181 | gui_synclist_set_nb_items(&lists, info->count*info->selection_size); | 1181 | gui_synclist_set_nb_items(&lists, info->count*info->selection_size); |
1182 | 1182 | ||
1183 | gui_synclist_select_item(&lists, info->start_selection); | ||
1184 | |||
1185 | if (info->get_talk) | ||
1186 | info->get_talk(gui_synclist_get_sel_pos(&lists), info->callback_data); | ||
1183 | gui_synclist_draw(&lists); | 1187 | gui_synclist_draw(&lists); |
1184 | 1188 | ||
1185 | while(1) | 1189 | while(1) |
1186 | { | 1190 | { |
1187 | gui_syncstatusbar_draw(&statusbars, true); | 1191 | gui_syncstatusbar_draw(&statusbars, true); |
1188 | action = get_action(CONTEXT_STD, HZ/100); | 1192 | action = get_action(CONTEXT_STD, info->timeout); |
1189 | if (gui_synclist_do_button(&lists, &action, LIST_WRAP_UNLESS_HELD)) | 1193 | if (gui_synclist_do_button(&lists, &action, LIST_WRAP_UNLESS_HELD)) |
1190 | continue; | 1194 | continue; |
1191 | if (info->action_callback) | 1195 | if (info->action_callback) |
@@ -1218,6 +1222,8 @@ void simplelist_info_init(struct simplelist_info *info, char* title, | |||
1218 | info->selection_size = 1; | 1222 | info->selection_size = 1; |
1219 | info->hide_selection = false; | 1223 | info->hide_selection = false; |
1220 | info->scroll_all = false; | 1224 | info->scroll_all = false; |
1225 | info->timeout = HZ/10; | ||
1226 | info->start_selection = 0; | ||
1221 | info->action_callback = NULL; | 1227 | info->action_callback = NULL; |
1222 | info->get_icon = NULL; | 1228 | info->get_icon = NULL; |
1223 | info->get_name = NULL; | 1229 | info->get_name = NULL; |