Index: apps/screen_access.c =================================================================== --- apps/screen_access.c (revision 23672) +++ apps/screen_access.c (working copy) @@ -55,14 +55,10 @@ static int screen_helper_getnblines(void) { int height=screens[0].lcdheight; -#ifdef HAVE_LCD_BITMAP - if(global_settings.statusbar != STATUSBAR_OFF) - height -= STATUSBAR_HEIGHT; #ifdef HAVE_BUTTONBAR if(global_settings.buttonbar && screens[0].has_buttonbar) height -= BUTTONBAR_HEIGHT; #endif -#endif return height / screens[0].getcharheight(); } @@ -88,14 +84,10 @@ static int screen_helper_remote_getnblines(void) { int height=screens[1].lcdheight; -#ifdef HAVE_LCD_BITMAP - if(global_settings.statusbar != STATUSBAR_OFF) - height -= STATUSBAR_HEIGHT; #ifdef HAVE_BUTTONBAR if(global_settings.buttonbar && screens[1].has_buttonbar) height -= BUTTONBAR_HEIGHT; #endif -#endif return height / screens[1].getcharheight(); } #endif Index: apps/screens.c =================================================================== --- apps/screens.c (revision 23672) +++ apps/screens.c (working copy) @@ -47,7 +47,6 @@ #include "led.h" #include "sound.h" #include "splash.h" -#include "statusbar.h" #include "screen_access.h" #include "pcmbuf.h" #include "list.h" @@ -258,7 +257,6 @@ do { - gui_syncstatusbar_draw(&statusbars, false); charging_display_info(true); button = get_action(CONTEXT_STD,HZ/3); if (button == ACTION_STD_OK) @@ -347,7 +345,6 @@ { bool done = false; int cursorpos = 0; - unsigned int statusbar_height = 0; unsigned char offsets_ptr[] = { OFF_HOURS, OFF_MINUTES, OFF_SECONDS, OFF_YEAR, 0, OFF_DAY }; @@ -359,9 +356,6 @@ offsets_ptr[IDX_DAY] = OFF_YEAR; } - if(global_settings.statusbar) - statusbar_height = STATUSBAR_HEIGHT; - /* speak selection when screen is entered */ say_time(cursorpos, tm); @@ -453,7 +447,7 @@ prev_line_height *= 2; } screen->getstringsize(ptr[i], &width, NULL); - cursor[i][INDEX_Y] = prev_line_height + statusbar_height; + cursor[i][INDEX_Y] = prev_line_height; cursor[i][INDEX_X] = j; j += width + separator_width; } Index: apps/settings.c =================================================================== --- apps/settings.c (revision 23672) +++ apps/settings.c (working copy) @@ -740,6 +740,7 @@ char buf[MAX_PATH]; /* re-initialize the skin buffer before we start reloading skins */ skin_buffer_init(); + sb_skin_init(); /* load the inbuilt sbs before doing any real sbs loading */ #ifdef HAVE_LCD_BITMAP if ( global_settings.sbs_file[0] && global_settings.sbs_file[0] != 0xff ) Index: apps/onplay.c =================================================================== --- apps/onplay.c (revision 23672) +++ apps/onplay.c (working copy) @@ -64,6 +64,7 @@ #include "backdrop.h" #include "pitchscreen.h" #include "viewport.h" +#include "statusbar.h" static int context; static char* selected_file = NULL; Index: apps/gui/usb_screen.c =================================================================== --- apps/gui/usb_screen.c (revision 23672) +++ apps/gui/usb_screen.c (working copy) @@ -33,6 +33,7 @@ #endif #endif #include "settings.h" +#include "statusbar-skinned.h" #include "led.h" #include "appevents.h" Index: apps/gui/statusbar-skinned.c =================================================================== --- apps/gui/statusbar-skinned.c (revision 23672) +++ apps/gui/statusbar-skinned.c (working copy) @@ -40,13 +40,39 @@ static struct wps_data sb_skin_data[NB_SCREENS] = {{ .wps_loaded = 0 }}; static struct wps_sync_data sb_skin_sync_data = { .do_full_update = false }; +static struct wps_data inbuilt_skin_data[NB_SCREENS] = {{ .wps_loaded = 0 }}; + +#if (LCD_DEPTH > 1) +#define VIEWPORT_END "-|-|" +#else +#define VIEWPORT_END +#endif +static char *inbuilt_sbs[NB_SCREENS] = { + "%Vi|0|8|-|-|1|" VIEWPORT_END "\n" /* UI viewport */ + "%V|0|0|-|8|0|" VIEWPORT_END "\n" /* Bar viewport */ + " Batt:%bl %bc%ac%?lh<*|> %mh%ar" +#if CONFIG_RTC + "%?ca<%?St|time format|<%cH|%cI>:%cM|--:--> \n" +#endif +#if NB_SCREENS > 1 + , + "%Vi|0|8|-|-|1|\n" /* UI viewport */ + "%V|0|0|-|8|0|\n" /* Bar viewport */ + " Batt:%bl %bc%ac%?lh<*|> %mr%ar" +#if CONFIG_RTC + "%?ca<%?St|time format|<%cH|%cI>:%cM|--:--> \n" +#endif +#endif + }; + + /* initial setup of wps_data */ static void sb_skin_update(void*); static bool loaded_ok[NB_SCREENS] = { false }; static int update_delay = DEFAULT_UPDATE_DELAY; -void sb_skin_data_load(enum screen_type screen, const char *buf, bool isfile) +bool sb_skin_data_load(enum screen_type screen, const char *buf, bool isfile) { struct wps_data *data = sb_skin[screen].data; @@ -69,50 +95,22 @@ } if (!success) + { remove_event(GUI_EVENT_ACTIONUPDATE, sb_skin_update); + } loaded_ok[screen] = success; + return success; } -/* temporary viewport structs while the non-skinned bar is in the build */ -static struct viewport inbuilt[NB_SCREENS]; struct viewport *sb_skin_get_info_vp(enum screen_type screen) { - int bar_setting = statusbar_position(screen); - if (bar_setting == STATUSBAR_CUSTOM) - return &find_viewport(VP_INFO_LABEL, sb_skin[screen].data)->vp; - else if (bar_setting == STATUSBAR_OFF) - return NULL; - else - { - viewport_set_fullscreen(&inbuilt[screen], screen); - /* WE need to return the UI area.. NOT the statusbar area! */ - if (bar_setting == STATUSBAR_TOP) - inbuilt[screen].y = STATUSBAR_HEIGHT; - inbuilt[screen].height -= STATUSBAR_HEIGHT; - return &inbuilt[screen]; - } + return &find_viewport(VP_INFO_LABEL, sb_skin[screen].data)->vp; } inline bool sb_skin_get_state(enum screen_type screen) { - int skinbars = sb_skin[screen].sync_data->statusbars; - /* Temp fix untill the hardcoded bar is removed */ - int bar_setting = global_settings.statusbar; -#if NB_SCREENS > 1 - if (screen == SCREEN_REMOTE) - bar_setting = global_settings.remote_statusbar; -#endif - switch (bar_setting) - { - case STATUSBAR_CUSTOM: - return loaded_ok[screen] && (skinbars & VP_SB_ONSCREEN(screen)); - case STATUSBAR_TOP: - case STATUSBAR_BOTTOM: - case STATUSBAR_OFF: - return (viewportmanager_get_statusbar()&VP_SB_ONSCREEN(screen)); - } - return false; /* Should never actually get here */ + return loaded_ok[screen]; } @@ -169,11 +167,12 @@ static long next_update = 0; int i; int forced_draw = param || sb_skin[SCREEN_MAIN].sync_data->do_full_update; + int bars = viewportmanager_get_statusbar(); if (TIME_AFTER(current_tick, next_update) || forced_draw) { FOR_NB_SCREENS(i) { - if (sb_skin_get_state(i)) + if (bars&VP_SB_ONSCREEN(i)) { #if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP) /* currently, all remotes are readable without backlight @@ -204,12 +203,16 @@ sb_skin_data[i].albumart = NULL; sb_skin_data[i].playback_aa_slot = -1; #endif - sb_skin[i].data = &sb_skin_data[i]; sb_skin[i].display = &screens[i]; /* Currently no seperate wps_state needed/possible so use the only available ( "global" ) one */ sb_skin[i].state = &wps_state; sb_skin_sync_data.statusbars = VP_SB_HIDE_ALL; sb_skin[i].sync_data = &sb_skin_sync_data; + + /* load the inbuilt bar so its ready if anyone wants it */ + sb_skin[i].data = &inbuilt_skin_data[i]; + sb_skin_data_load(i, inbuilt_sbs[i], false); + sb_skin[i].data = &sb_skin_data[i]; } } Index: apps/gui/statusbar-skinned.h =================================================================== --- apps/gui/statusbar-skinned.h (revision 23672) +++ apps/gui/statusbar-skinned.h (working copy) @@ -31,7 +31,7 @@ #include "config.h" -void sb_skin_data_load(enum screen_type screen, const char *buf, bool isfile); +bool sb_skin_data_load(enum screen_type screen, const char *buf, bool isfile); /* probably temporary, to shut the classic statusbar up */ bool sb_skin_get_state(enum screen_type screen); @@ -42,6 +42,7 @@ void sb_skin_set_update_delay(int delay); #else /* CHARCELL */ +#include "statusbar.h" #define sb_skin_init() #define sb_skin_data_load(a,b,c) #define sb_skin_set_update_delay(a) Index: apps/gui/skin_engine/skin_display.c =================================================================== --- apps/gui/skin_engine/skin_display.c (revision 23672) +++ apps/gui/skin_engine/skin_display.c (working copy) @@ -79,38 +79,6 @@ #ifdef HAVE_LCD_BITMAP -void skin_statusbar_changed(struct gui_wps *skin) -{ - if (!skin) - return; - struct wps_data *data = skin->data; - const struct screen *display = skin->display; - const int screen = display->screen_type; - - struct viewport *vp = &find_viewport(VP_DEFAULT_LABEL, data)->vp; - viewport_set_defaults(vp, screen); - - if (data->wps_sb_tag) - { /* fix up the default viewport */ - if (data->show_sb_on_wps) - { - if (statusbar_position(screen) != STATUSBAR_OFF) - return; /* vp is fixed already */ - - vp->y = STATUSBAR_HEIGHT; - vp->height = display->lcdheight - STATUSBAR_HEIGHT; - } - else - { - if (statusbar_position(screen) == STATUSBAR_OFF) - return; /* vp is fixed already */ - vp->y = vp->x = 0; - vp->height = display->lcdheight; - vp->width = display->lcdwidth; - } - } -} - static void draw_progressbar(struct gui_wps *gwps, struct skin_viewport *wps_vp) { Index: apps/gui/wps.c =================================================================== --- apps/gui/wps.c (revision 23672) +++ apps/gui/wps.c (working copy) @@ -568,8 +568,10 @@ { gui_wps[i].display->stop_scroll(); gui_wps[i].display->backdrop_show(BACKDROP_MAIN); - if (statusbar_position(i) != STATUSBAR_OFF) +#ifdef HAVE_LCD_BITMAP + if (sb_skin_get_state(i)) oldbars |= VP_SB_ONSCREEN(i); +#endif } viewportmanager_set_statusbar(oldbars); @@ -1280,16 +1282,12 @@ int *wpsbars = &wps_sync_data.statusbars; *wpsbars = VP_SB_HIDE_ALL; FOR_NB_SCREENS(i) - { /* fix viewports if needed */ - skin_statusbar_changed(&gui_wps[i]); + { + bool draw = draw; - bool draw = false; - /* fix up gui_wps::statusbars, so that the viewportmanager accepts it*/ if (gui_wps[i].data->wps_sb_tag) draw = gui_wps[i].data->show_sb_on_wps; - else if (statusbar_position(i) != STATUSBAR_OFF) - draw = true; if (draw) *wpsbars |= (VP_SB_ONSCREEN(i) | VP_SB_IGNORE_SETTING(i)); @@ -1317,9 +1315,6 @@ gui_wps[i].sync_data = &wps_sync_data; gui_wps[i].sync_data->statusbars = VP_SB_ALLSCREENS; } -#ifdef HAVE_LCD_BITMAP - add_event(GUI_EVENT_STATUSBAR_TOGGLE, false, statusbar_toggle_handler); -#endif } Index: apps/gui/quickscreen.c =================================================================== --- apps/gui/quickscreen.c (revision 23672) +++ apps/gui/quickscreen.c (working copy) @@ -412,7 +412,7 @@ qs.items[QUICKSCREEN_LEFT] = find_setting(&global_settings.scrollbar, NULL); qs.items[QUICKSCREEN_RIGHT] = - find_setting(&global_settings.statusbar, NULL); + find_setting(&global_settings.scroll_paginated, NULL); qs.items[QUICKSCREEN_BOTTOM] = find_setting(&global_settings.flip_display, NULL); qs.callback = NULL; Index: apps/gui/viewport.c =================================================================== --- apps/gui/viewport.c (revision 23672) +++ apps/gui/viewport.c (working copy) @@ -90,15 +90,18 @@ { if (statusbar_enabled & VP_SB_ONSCREEN(screen)) { + return true; + } + else + { #ifdef HAVE_LCD_BITMAP int ignore; ignore = statusbar_enabled & VP_SB_IGNORE_SETTING(screen); - return ignore || (statusbar_position(screen) != STATUSBAR_OFF); + return ignore; #else - return true; + return false; #endif } - return false; } @@ -124,11 +127,9 @@ FOR_NB_SCREENS(i) { - if (showing_bars(i) - && statusbar_position(i) != STATUSBAR_CUSTOM) + if (showing_bars(i)) { add_event(GUI_EVENT_ACTIONUPDATE, false, viewportmanager_redraw); - gui_statusbar_draw(&statusbars.statusbars[i], true); } else remove_event(GUI_EVENT_ACTIONUPDATE, viewportmanager_redraw); @@ -137,8 +138,7 @@ #ifdef HAVE_LCD_BITMAP FOR_NB_SCREENS(i) { - sb_skin_set_state(showing_bars(i) - && statusbar_position(i) == STATUSBAR_CUSTOM, i); + sb_skin_set_state(showing_bars(i), i); } #endif return old; @@ -146,14 +146,8 @@ static void viewportmanager_redraw(void* data) { - int i; - - FOR_NB_SCREENS(i) - { - if (showing_bars(i) - && statusbar_position(i) != STATUSBAR_CUSTOM) - gui_statusbar_draw(&statusbars.statusbars[i], NULL != data); - } + (void)data; + /* FIXME? yeah this will be removed shortly, or actuualy used. */ } #ifdef HAVE_LCD_BITMAP @@ -194,8 +188,8 @@ statusbar_enabled = 0; FOR_NB_SCREENS(i) { - if (statusbar_position(i) != STATUSBAR_OFF) - statusbar_enabled |= VP_SB_ONSCREEN(i); + if (sb_skin_get_state(i)) + statusbar_enabled |= VP_SB_ONSCREEN(i); } viewportmanager_set_statusbar(statusbar_enabled); @@ -213,7 +207,6 @@ FOR_NB_SCREENS(i) { event_add |= ui_vp_info.active[i]; - event_add |= (statusbar_position(i) == STATUSBAR_CUSTOM); } /* add one of those to ensure the draw function is called always */ @@ -366,7 +359,7 @@ /* get the two viewports */ if (ui_vp_info.active[screen]) user_setting = &ui_vp_info.vp[screen]; - if (sb_skin_get_state(screen)) + if (showing_bars(screen)) sbs_area = sb_skin_get_info_vp(screen); /* have both? get their intersection */ if (sbs_area && user_setting) Index: apps/menu.c =================================================================== --- apps/menu.c (revision 23672) +++ apps/menu.c (working copy) @@ -51,6 +51,7 @@ #include "audio.h" #include "viewport.h" #include "quickscreen.h" +#include "statusbar-skinned.h" #ifdef HAVE_LCD_BITMAP #include "icons.h" @@ -686,7 +687,14 @@ *start_selected = get_menu_selection( gui_synclist_get_sel_pos(&lists), menu); } +#ifdef HAVE_LCD_BITMAP + oldbars = 0; + FOR_NB_SCREENS(i) + { + oldbars |= sb_skin_get_state(i); /* bandaid untill the skin bar api is fixed */ + } viewportmanager_set_statusbar(oldbars); +#endif return ret; } Index: apps/settings.h =================================================================== --- apps/settings.h (revision 23672) +++ apps/settings.h (working copy) @@ -26,7 +26,6 @@ #include #include "inttypes.h" #include "config.h" -#include "statusbar.h" /* for the statusbar values */ #include "quickscreen.h" #include "button.h" #if CONFIG_CODEC == SWCODEC @@ -567,11 +566,7 @@ int max_files_in_playlist; /* Max entries in playlist */ int volume_type; /* how volume is displayed: 0=graphic, 1=percent */ int battery_display; /* how battery is displayed: 0=graphic, 1=percent */ - bool show_icons; /* 0=hide 1=show */ - int statusbar; /* STATUSBAR_* enum values */ -#ifdef HAVE_REMOTE_LCD - int remote_statusbar; -#endif + bool show_icons; /* 0=hide 1=show */ #if CONFIG_KEYPAD == RECORDER_PAD bool buttonbar; /* 0=hide, 1=show */ Index: apps/menus/theme_menu.c =================================================================== --- apps/menus/theme_menu.c (revision 23672) +++ apps/menus/theme_menu.c (working copy) @@ -148,43 +148,6 @@ #ifdef HAVE_LCD_BITMAP -static int statusbar_callback_ex(int action,const struct menu_item_ex *this_item, - enum screen_type screen) -{ - (void)this_item; - /* we save the old statusbar value here, so the old statusbars can get - * removed and cleared from the display properly on exiting - * (in gui_statusbar_changed() ) */ - static enum statusbar_values old_bar[NB_SCREENS]; - switch (action) - { - case ACTION_ENTER_MENUITEM: - old_bar[screen] = statusbar_position(screen); - break; - case ACTION_EXIT_MENUITEM: - send_event(GUI_EVENT_STATUSBAR_TOGGLE, NULL); - send_event(GUI_EVENT_ACTIONUPDATE, (void*)true); - if ((old_bar[screen] == STATUSBAR_CUSTOM) - || (statusbar_position(screen) == STATUSBAR_CUSTOM)) - send_event(GUI_EVENT_REFRESH, NULL); - else - gui_statusbar_changed(screen, old_bar[screen]); - break; - } - return ACTION_REDRAW; -} - -#ifdef HAVE_REMOTE_LCD -static int statusbar_callback_remote(int action,const struct menu_item_ex *this_item) -{ - return statusbar_callback_ex(action, this_item, SCREEN_REMOTE); -} -#endif -static int statusbar_callback(int action,const struct menu_item_ex *this_item) -{ - return statusbar_callback_ex(action, this_item, SCREEN_MAIN); -} - #ifdef HAVE_BUTTONBAR static int buttonbar_callback(int action, const struct menu_item_ex *this_item) { @@ -200,22 +163,13 @@ #endif MENUITEM_SETTING(scrollbar_item, &global_settings.scrollbar, NULL); MENUITEM_SETTING(scrollbar_width, &global_settings.scrollbar_width, NULL); -MENUITEM_SETTING(statusbar, &global_settings.statusbar, - statusbar_callback); -#ifdef HAVE_REMOTE_LCD -MENUITEM_SETTING(remote_statusbar, &global_settings.remote_statusbar, - statusbar_callback_remote); -#endif #ifdef HAVE_BUTTONBAR MENUITEM_SETTING(buttonbar, &global_settings.buttonbar, buttonbar_callback); #endif MENUITEM_SETTING(volume_type, &global_settings.volume_type, NULL); MENUITEM_SETTING(battery_display, &global_settings.battery_display, NULL); MAKE_MENU(bars_menu, ID2P(LANG_BARS_MENU), 0, Icon_NOICON, - &scrollbar_item, &scrollbar_width, &statusbar, -#ifdef HAVE_REMOTE_LCD - &remote_statusbar, -#endif + &scrollbar_item, &scrollbar_width, #if CONFIG_KEYPAD == RECORDER_PAD &buttonbar, #endif Index: apps/menus/main_menu.c =================================================================== --- apps/menus/main_menu.c (revision 23672) +++ apps/menus/main_menu.c (working copy) @@ -51,6 +51,7 @@ #include "time.h" #include "wps.h" #include "skin_engine/skin_buffer.h" +#include "statusbar.h" static const struct browse_folder_info config = {ROCKBOX_DIR, SHOW_CFG}; Index: apps/settings_list.c =================================================================== --- apps/settings_list.c (revision 23672) +++ apps/settings_list.c (working copy) @@ -51,7 +51,6 @@ #ifdef IPOD_ACCESSORY_PROTOCOL #include "iap.h" #endif -#include "statusbar.h" #ifdef HAVE_TOUCHSCREEN #include "touchscreen.h" #include "ctype.h" /* For isspace() */ @@ -199,7 +198,7 @@ /* Default theme settings */ #define DEFAULT_WPSNAME "cabbiev2" -#define DEFAULT_SBS_NAME DEFAULT_WPSNAME +#define DEFAULT_SBSNAME "rockbox_classic" #ifdef HAVE_LCD_BITMAP @@ -617,16 +616,6 @@ ID2P(LANG_INVERT_CURSOR_POINTER), ID2P(LANG_INVERT_CURSOR_BAR)), #endif - CHOICE_SETTING(F_THEMESETTING|F_TEMPVAR, statusbar, - LANG_STATUS_BAR, STATUSBAR_TOP, "statusbar","off,top,bottom,custom", - NULL, 4, ID2P(LANG_OFF), ID2P(LANG_STATUSBAR_TOP), - ID2P(LANG_STATUSBAR_BOTTOM), ID2P(LANG_STATUSBAR_CUSTOM)), -#ifdef HAVE_REMOTE_LCD - CHOICE_SETTING(F_THEMESETTING|F_TEMPVAR, remote_statusbar, - LANG_REMOTE_STATUSBAR, STATUSBAR_TOP, "remote statusbar","off,top,bottom,custom", - NULL, 4, ID2P(LANG_OFF), ID2P(LANG_STATUSBAR_TOP), - ID2P(LANG_STATUSBAR_BOTTOM), ID2P(LANG_STATUSBAR_CUSTOM)), -#endif CHOICE_SETTING(F_THEMESETTING|F_TEMPVAR, scrollbar, LANG_SCROLL_BAR, SCROLLBAR_LEFT, "scrollbar","off,left,right", NULL, 3, ID2P(LANG_OFF), ID2P(LANG_LEFT), ID2P(LANG_RIGHT)), @@ -1430,13 +1419,13 @@ DEFAULT_WPSNAME, WPS_DIR "/", ".wps"), #ifdef HAVE_LCD_BITMAP TEXT_SETTING(F_THEMESETTING,sbs_file, "sbs", - DEFAULT_SBS_NAME, SBS_DIR "/", ".sbs"), + DEFAULT_SBSNAME, SBS_DIR "/", ".sbs"), #endif #ifdef HAVE_REMOTE_LCD TEXT_SETTING(F_THEMESETTING,rwps_file,"rwps", - DEFAULT_SBS_NAME, WPS_DIR "/", ".rwps"), + DEFAULT_WPSNAME, WPS_DIR "/", ".rwps"), TEXT_SETTING(F_THEMESETTING,rsbs_file, "rsbs", - DEFAULT_WPSNAME, SBS_DIR "/", ".rsbs"), + DEFAULT_SBSNAME, SBS_DIR "/", ".rsbs"), #endif TEXT_SETTING(0,lang_file,"lang","",LANG_DIR "/",".lng"), #if LCD_DEPTH > 1 Index: apps/filetree.c =================================================================== --- apps/filetree.c (revision 23672) +++ apps/filetree.c (working copy) @@ -487,7 +487,6 @@ splash(0, ID2P(LANG_WAIT)); set_file(buf, (char *)global_settings.sbs_file, MAX_FILENAME); - global_settings.statusbar = STATUSBAR_CUSTOM; settings_apply_skins(); break; #endif @@ -496,7 +495,6 @@ splash(0, ID2P(LANG_WAIT)); set_file(buf, (char *)global_settings.rsbs_file, MAX_FILENAME); - global_settings.remote_statusbar = STATUSBAR_CUSTOM; settings_apply_skins(); break; #endif Index: apps/plugin.c =================================================================== --- apps/plugin.c (revision 23672) +++ apps/plugin.c (working copy) @@ -521,9 +521,6 @@ /* menu */ do_menu, - /* statusbars */ - &statusbars, - gui_syncstatusbar_draw, /* options */ get_settings_list, find_setting, Index: apps/SOURCES =================================================================== --- apps/SOURCES (revision 23672) +++ apps/SOURCES (working copy) @@ -80,9 +80,10 @@ gui/wps.c gui/scrollbar.c gui/splash.c -gui/statusbar.c #ifdef HAVE_LCD_BITMAP gui/statusbar-skinned.c +#else +gui/statusbar.c #endif gui/yesno.c gui/viewport.c Index: apps/plugin.h =================================================================== --- apps/plugin.h (revision 23672) +++ apps/plugin.h (working copy) @@ -83,7 +83,6 @@ #include "jpeg_load.h" #include "../recorder/bmp.h" #endif -#include "statusbar.h" #include "menu.h" #include "rbunicode.h" #include "list.h" @@ -656,10 +655,6 @@ int (*do_menu)(const struct menu_item_ex *menu, int *start_selected, struct viewport parent[NB_SCREENS], bool hide_bars); - /* scroll bar */ - struct gui_syncstatusbar *statusbars; - void (*gui_syncstatusbar_draw)(struct gui_syncstatusbar * bars, bool force_redraw); - /* options */ const struct settings_list* (*get_settings_list)(int*count); const struct settings_list* (*find_setting)(const void* variable, int *id); Index: apps/main.c =================================================================== --- apps/main.c (revision 23672) +++ apps/main.c (working copy) @@ -74,6 +74,7 @@ #include "scrobbler.h" #include "icon.h" #include "viewport.h" +#include "skin_engine/skin_engine.h" #include "statusbar-skinned.h" #ifdef IPOD_ACCESSORY_PROTOCOL @@ -319,9 +320,9 @@ #ifdef DEBUG debug_init(); #endif - /* Keep the order of this 3 (viewportmanager handles statusbars) + /* Keep the order of these 3 (viewportmanager handles statusbars) * Must be done before any code uses the multi-screen API */ - gui_syncstatusbar_init(&statusbars); + skin_buffer_init(); sb_skin_init(); viewportmanager_init(); @@ -447,9 +448,9 @@ radio_init(); #endif - /* Keep the order of this 3 (viewportmanager handles statusbars) + /* Keep the order of these 3 (viewportmanager handles statusbars) * Must be done before any code uses the multi-screen API */ - gui_syncstatusbar_init(&statusbars); + skin_buffer_init(); sb_skin_init(); viewportmanager_init();