summaryrefslogtreecommitdiff
path: root/apps/gui/list.c
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2009-12-09 07:25:46 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2009-12-09 07:25:46 +0000
commitb2eb44ce0eb24632a46b0ea8c8c46a8f2ba35e24 (patch)
treeff3c0e14e9a53c08749ee1f233a5b1e887d3561a /apps/gui/list.c
parent85aad9b3972208b0e34ba0241ebb5314118ae05e (diff)
downloadrockbox-b2eb44ce0eb24632a46b0ea8c8c46a8f2ba35e24.tar.gz
rockbox-b2eb44ce0eb24632a46b0ea8c8c46a8f2ba35e24.zip
FS#10824 - viewport/statusbar API rework.
Hopefully the only user visible changes are: - fm and recording screens go by the statusbar setting (sbs or inbuilt) - plugins go back to using the theme as they should for menus and lists - splash screens might get cut a bit... entirely theme and splash dependant.. if there is a problematic one we can look at it later. - hopefully nothing more than very minor screen flickerings... let me know exactly where they are so they can be fixed New GUI screen rules: * Screens assume that the theme (sbs+ui viewport+ maybe background image) are always enabled. They may be disabled on a per display basis, but MUST be re-enabled on exit * Screens must not be coded in a way that requires a statusbar of any type.. the inbuilt bar will be removed shortly. ALWAYS RESPECT THE USERS SETTINGS unless the screen requires the full display to fit. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23904 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui/list.c')
-rw-r--r--apps/gui/list.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/apps/gui/list.c b/apps/gui/list.c
index 340175c0d0..eacebb5c30 100644
--- a/apps/gui/list.c
+++ b/apps/gui/list.c
@@ -822,14 +822,17 @@ static const char* simplelist_static_getname(int item,
822bool simplelist_show_list(struct simplelist_info *info) 822bool simplelist_show_list(struct simplelist_info *info)
823{ 823{
824 struct gui_synclist lists; 824 struct gui_synclist lists;
825 int action, old_line_count = simplelist_line_count; 825 int action, old_line_count = simplelist_line_count, i;
826 int oldbars = viewportmanager_set_statusbar(VP_SB_ALLSCREENS);
827 const char* (*getname)(int item, void * data, char *buffer, size_t buffer_len); 826 const char* (*getname)(int item, void * data, char *buffer, size_t buffer_len);
828 int wrap = LIST_WRAP_UNLESS_HELD; 827 int wrap = LIST_WRAP_UNLESS_HELD;
829 if (info->get_name) 828 if (info->get_name)
830 getname = info->get_name; 829 getname = info->get_name;
831 else 830 else
832 getname = simplelist_static_getname; 831 getname = simplelist_static_getname;
832
833 FOR_NB_SCREENS(i)
834 viewportmanager_theme_enable(i, true, NULL);
835
833 gui_synclist_init(&lists, getname, info->callback_data, 836 gui_synclist_init(&lists, getname, info->callback_data,
834 info->scroll_all, info->selection_size, NULL); 837 info->scroll_all, info->selection_size, NULL);
835 838
@@ -904,7 +907,8 @@ bool simplelist_show_list(struct simplelist_info *info)
904 return true; 907 return true;
905 } 908 }
906 talk_shutup(); 909 talk_shutup();
907 viewportmanager_set_statusbar(oldbars); 910 FOR_NB_SCREENS(i)
911 viewportmanager_theme_undo(i);
908 return false; 912 return false;
909} 913}
910 914