diff options
author | Jonathan Gordon <rockbox@jdgordon.info> | 2009-12-09 07:25:46 +0000 |
---|---|---|
committer | Jonathan Gordon <rockbox@jdgordon.info> | 2009-12-09 07:25:46 +0000 |
commit | b2eb44ce0eb24632a46b0ea8c8c46a8f2ba35e24 (patch) | |
tree | ff3c0e14e9a53c08749ee1f233a5b1e887d3561a /apps/gui/list.c | |
parent | 85aad9b3972208b0e34ba0241ebb5314118ae05e (diff) | |
download | rockbox-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.c | 10 |
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, | |||
822 | bool simplelist_show_list(struct simplelist_info *info) | 822 | bool 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 | ||