summaryrefslogtreecommitdiff
path: root/apps/plugin.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/plugin.c
parent85aad9b3972208b0e34ba0241ebb5314118ae05e (diff)
downloadrockbox-b2eb44ce0eb24632a46b0ea8c8c46a8f2ba35e24.zip
rockbox-b2eb44ce0eb24632a46b0ea8c8c46a8f2ba35e24.tar.gz
rockbox-b2eb44ce0eb24632a46b0ea8c8c46a8f2ba35e24.tar.bz2
rockbox-b2eb44ce0eb24632a46b0ea8c8c46a8f2ba35e24.tar.xz
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/plugin.c')
-rw-r--r--apps/plugin.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/apps/plugin.c b/apps/plugin.c
index cc208e7..0349720 100644
--- a/apps/plugin.c
+++ b/apps/plugin.c
@@ -230,7 +230,6 @@ static const struct plugin_api rockbox_api = {
lcd_remote_bitmap,
#endif
viewport_set_defaults,
- viewportmanager_set_statusbar,
/* list */
gui_synclist_init,
@@ -680,8 +679,7 @@ static const struct plugin_api rockbox_api = {
int plugin_load(const char* plugin, const void* parameter)
{
- int rc;
- int oldbars;
+ int rc, i;
struct plugin_header *hdr;
#ifdef SIMULATOR
void *pd;
@@ -787,7 +785,8 @@ int plugin_load(const char* plugin, const void* parameter)
lcd_remote_update();
#endif
- oldbars = viewportmanager_set_statusbar(VP_SB_HIDE_ALL);
+ FOR_NB_SCREENS(i)
+ viewportmanager_theme_enable(i, false, NULL);
cpucache_invalidate();
@@ -834,12 +833,8 @@ int plugin_load(const char* plugin, const void* parameter)
#endif
#endif
- viewportmanager_set_statusbar(oldbars);
-
- if (rc != PLUGIN_GOTO_WPS)
- {
- send_event(GUI_EVENT_REFRESH, NULL);
- }
+ FOR_NB_SCREENS(i)
+ viewportmanager_theme_undo(i);
if (pfn_tsr_exit == NULL)
plugin_loaded = false;