diff -u -r rockbox-bleeding/apps/bookmark.c rockbox-bleed/apps/bookmark.c --- rockbox-bleeding/apps/bookmark.c 2005-12-07 11:30:30.000000000 +0200 +++ rockbox-bleed/apps/bookmark.c 2006-01-19 19:44:08.843750000 +0200 @@ -93,6 +93,7 @@ /* ----------------------------------------------------------------------- */ bool bookmark_create_menu(void) { + status_rem_title(); write_bookmark(true); return false; } @@ -582,6 +583,7 @@ if(bookmark_id <= 0) { gui_syncsplash(HZ, true, str(LANG_BOOKMARK_LOAD_EMPTY)); + status_rem_title(); remove(bookmark_file_name); return NULL; } diff -u -r rockbox-bleeding/apps/filetree.c rockbox-bleed/apps/filetree.c --- rockbox-bleeding/apps/filetree.c 2005-12-09 04:03:08.000000000 +0200 +++ rockbox-bleed/apps/filetree.c 2006-01-19 19:44:08.890625000 +0200 @@ -208,6 +208,20 @@ if(!dir) return -1; /* not a directory */ + char *p = strrchr(c->currdir, '/'); + p++; + if (!c->currdir[1]) { + status_rem_title(); + status_set_title("Root"); + rootdir=false; + } else { + if(p!=NULL && menu_plugins_load==false){ + status_rem_title(); + status_set_title(p); + } + } + + c->dirsindir = 0; c->dirfull = false; @@ -485,7 +499,7 @@ rc = 2; if (exit_func) rc = 3; - + return rc; } @@ -527,6 +541,8 @@ if (exit_func) rc = 3; - + + status_rem_title(); + return rc; } diff -u -r rockbox-bleeding/apps/gui/gwps.c rockbox-bleed/apps/gui/gwps.c --- rockbox-bleeding/apps/gui/gwps.c 2005-12-09 04:03:08.000000000 +0200 +++ rockbox-bleed/apps/gui/gwps.c 2006-01-19 19:44:08.937500000 +0200 @@ -126,7 +126,13 @@ while ( 1 ) { bool audio_paused = (audio_status() & AUDIO_STATUS_PAUSE)?true:false; - + if (audio_paused==true) { + if(status_title[status_title_pl]=="Now Playing" && status_title[status_title_pl]!="Now Pausing") status_rem_title(); + if(status_title[status_title_pl]!="Now Pausing") status_set_title("Now Pausing"); + }else { + if(status_title[status_title_pl]=="Now Pausing" && status_title[status_title_pl]!="Now Playing") status_rem_title(); + if(status_title[status_title_pl]!="Now Playing") status_set_title("Now Playing"); + } /* did someone else (i.e power thread) change audio pause mode? */ if (wps_state.paused != audio_paused) { wps_state.paused = audio_paused; @@ -252,6 +258,7 @@ status_set_record(false); status_set_audio(false); #endif + status_rem_title(); FOR_NB_SCREENS(i) gui_wps[i].display->stop_scroll(); @@ -648,6 +655,8 @@ if (global_settings.fade_on_stop) fade(0); + status_rem_title(); + FOR_NB_SCREENS(i) gui_wps[i].display->stop_scroll(); bookmark_autobookmark(); diff -u -r rockbox-bleeding/apps/gui/quickscreen.c rockbox-bleed/apps/gui/quickscreen.c --- rockbox-bleeding/apps/gui/quickscreen.c 2005-12-06 15:27:56.000000000 +0200 +++ rockbox-bleed/apps/gui/quickscreen.c 2006-01-19 19:44:08.968750000 +0200 @@ -34,6 +34,7 @@ char * left_right_title, quickscreen_callback callback) { + status_set_title("Quick Screen"); qs->left_option=left_option; qs->bottom_option=bottom_option; qs->right_option=right_option; @@ -180,8 +181,10 @@ } else if(raw_key==button_enter) can_quit=true; - if(raw_key==(button_enter | BUTTON_REL) && can_quit) + if(raw_key==(button_enter | BUTTON_REL) && can_quit){ + status_rem_title(); return(false); + } #ifdef QUICKSCREEN_QUIT if(raw_key==QUICKSCREEN_QUIT #ifdef QUICKSCREEN_QUIT2 @@ -190,8 +193,10 @@ #if QUICKSCREEN_RC_QUIT || raw_key==QUICKSCREEN_RC_QUIT #endif - ) - return(false); + ){ + status_rem_title(); + return(false); + } #endif /* QUICKSCREEN_QUIT */ gui_syncstatusbar_draw(&statusbars, false); } diff -u -r rockbox-bleeding/apps/gui/statusbar.c rockbox-bleed/apps/gui/statusbar.c --- rockbox-bleeding/apps/gui/statusbar.c 2006-01-19 11:42:44.000000000 +0200 +++ rockbox-bleed/apps/gui/statusbar.c 2006-01-19 22:44:31.671875000 +0200 @@ -37,72 +37,6 @@ #include "gwps.h" /* for keys_locked */ #include "statusbar.h" - -/* FIXME: should be removed from icon.h to avoid redefinition, - but still needed for compatibility with old system */ -#define ICONS_SPACING 2 -#define STATUSBAR_BATTERY_X_POS 0*ICONS_SPACING -#define STATUSBAR_BATTERY_WIDTH 18 -#define STATUSBAR_PLUG_X_POS STATUSBAR_X_POS + \ - STATUSBAR_BATTERY_WIDTH + \ - ICONS_SPACING -#define STATUSBAR_PLUG_WIDTH 7 -#define STATUSBAR_VOLUME_X_POS STATUSBAR_X_POS + \ - STATUSBAR_BATTERY_WIDTH + \ - STATUSBAR_PLUG_WIDTH + \ - 2*ICONS_SPACING -#define STATUSBAR_VOLUME_WIDTH 16 -#define STATUSBAR_PLAY_STATE_X_POS STATUSBAR_X_POS + \ - STATUSBAR_BATTERY_WIDTH + \ - STATUSBAR_PLUG_WIDTH + \ - STATUSBAR_VOLUME_WIDTH + \ - 3*ICONS_SPACING -#define STATUSBAR_PLAY_STATE_WIDTH 7 -#define STATUSBAR_PLAY_MODE_X_POS STATUSBAR_X_POS + \ - STATUSBAR_BATTERY_WIDTH + \ - STATUSBAR_PLUG_WIDTH + \ - STATUSBAR_VOLUME_WIDTH + \ - STATUSBAR_PLAY_STATE_WIDTH + \ - 4*ICONS_SPACING -#define STATUSBAR_PLAY_MODE_WIDTH 7 -#define STATUSBAR_SHUFFLE_X_POS STATUSBAR_X_POS + \ - STATUSBAR_BATTERY_WIDTH + \ - STATUSBAR_PLUG_WIDTH + \ - STATUSBAR_VOLUME_WIDTH + \ - STATUSBAR_PLAY_STATE_WIDTH + \ - STATUSBAR_PLAY_MODE_WIDTH + \ - 5*ICONS_SPACING -#define STATUSBAR_SHUFFLE_WIDTH 7 -#define STATUSBAR_LOCKM_X_POS STATUSBAR_X_POS + \ - STATUSBAR_BATTERY_WIDTH + \ - STATUSBAR_PLUG_WIDTH + \ - STATUSBAR_VOLUME_WIDTH + \ - STATUSBAR_PLAY_STATE_WIDTH + \ - STATUSBAR_PLAY_MODE_WIDTH + \ - STATUSBAR_SHUFFLE_WIDTH + \ - 6*ICONS_SPACING -#define STATUSBAR_LOCKM_WIDTH 5 -#define STATUSBAR_LOCKR_X_POS STATUSBAR_X_POS + \ - STATUSBAR_BATTERY_WIDTH + \ - STATUSBAR_PLUG_WIDTH + \ - STATUSBAR_VOLUME_WIDTH + \ - STATUSBAR_PLAY_STATE_WIDTH + \ - STATUSBAR_PLAY_MODE_WIDTH + \ - STATUSBAR_SHUFFLE_WIDTH + \ - STATUSBAR_LOCKM_WIDTH + \ - 7*ICONS_SPACING -#define STATUSBAR_LOCKR_WIDTH 5 - -#if (CONFIG_LED == LED_VIRTUAL) || defined(HAVE_REMOTE_LCD) -#define STATUSBAR_DISK_WIDTH 12 -#define STATUSBAR_DISK_X_POS(statusbar_width) statusbar_width - \ - STATUSBAR_DISK_WIDTH -#else -#define STATUSBAR_DISK_WIDTH 0 -#endif -#define STATUSBAR_TIME_X_END(statusbar_width) statusbar_width - 1 - \ - STATUSBAR_DISK_WIDTH - struct gui_syncstatusbar statusbars; void gui_statusbar_init(struct gui_statusbar * bar) @@ -168,7 +102,7 @@ memcmp(&(bar->info), &(bar->lastinfo), sizeof(struct status_info))) { display->set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID); - display->fillrect(0,0,display->width,8); + display->fillrect(0,0,display->width,global_settings.statusbar_height); display->set_drawmode(DRMODE_SOLID); #else @@ -224,19 +158,23 @@ } } } + + /* write the text */ + gui_statusbar_title(display,status_title[status_title_pl]); + #ifdef HAVE_LCD_BITMAP if (battery_state) gui_statusbar_icon_battery(display, bar->info.battlevel); /* draw power plug if charging */ if (bar->info.inserted) display->mono_bitmap(bitmap_icons_7x8[Icon_Plug], - STATUSBAR_PLUG_X_POS, + global_settings.statusbar_plug_x_pos, STATUSBAR_Y_POS, STATUSBAR_PLUG_WIDTH, STATUSBAR_HEIGHT); #ifdef HAVE_USB_POWER else if (bar->info.usb_power) display->mono_bitmap(bitmap_icons_7x8[Icon_USBPlug], - STATUSBAR_PLUG_X_POS, + global_settings.statusbar_plug_x_pos, STATUSBAR_Y_POS, STATUSBAR_PLUG_WIDTH, STATUSBAR_HEIGHT); #endif /* HAVE_USB_POWER */ @@ -277,8 +215,15 @@ if(!display->has_disk_led && bar->info.led) gui_statusbar_led(display); #endif - display->update_rect(0, 0, display->width, STATUSBAR_HEIGHT); + + /* draw the bottom line */ + if (global_settings.statusbar_bot_line==true) + display->hline(0,LCD_WIDTH,global_settings.statusbar_height-1); + + display->update_rect(0, 0, display->width, global_settings.statusbar_height); bar->lastinfo = bar->info; + + #endif /* HAVE_LCD_BITMAP */ } @@ -343,29 +288,38 @@ display->setfont(FONT_SYSFIXED); snprintf(buffer, sizeof(buffer), "%3d", fill); display->getstringsize(buffer, &width, &height); - if (height <= STATUSBAR_HEIGHT) - display->putsxy(STATUSBAR_BATTERY_X_POS + if (height <= global_settings.statusbar_height) + display->putsxy(global_settings.statusbar_bat_x_pos + STATUSBAR_BATTERY_WIDTH / 2 - - width/2, STATUSBAR_Y_POS, buffer); + - width/2, global_settings.sb_icons_y_pos, buffer); display->setfont(FONT_UI); } else { /* draw battery */ - display->drawrect(STATUSBAR_BATTERY_X_POS, STATUSBAR_Y_POS, 17, 7); - display->vline(STATUSBAR_BATTERY_X_POS + 17, STATUSBAR_Y_POS + 2, - STATUSBAR_Y_POS + 4); - - fill = fill * 15 / 100; - display->fillrect(STATUSBAR_BATTERY_X_POS + 1, STATUSBAR_Y_POS + 1, - fill, 5); + if (global_settings.large_icons) { + display->drawrect(global_settings.statusbar_bat_x_pos-1, global_settings.sb_icons_y_pos, 18, 10); + display->vline(global_settings.statusbar_bat_x_pos + 17, global_settings.sb_icons_y_pos + 4, + global_settings.sb_icons_y_pos + 6); + + fill = fill * 15 / 100; + display->fillrect(global_settings.statusbar_bat_x_pos + 1, global_settings.sb_icons_y_pos + 2, + fill-1, 6); + } else { + display->drawrect(global_settings.statusbar_bat_x_pos, global_settings.sb_icons_y_pos, 17, 7); + display->vline(global_settings.statusbar_bat_x_pos + 17, global_settings.sb_icons_y_pos + 2, + global_settings.sb_icons_y_pos + 4); + + fill = fill * 15 / 100; + display->fillrect(global_settings.statusbar_bat_x_pos + 1, global_settings.sb_icons_y_pos + 1, + fill, 5); + } } if (percent == -1) { display->setfont(FONT_SYSFIXED); - display->putsxy(STATUSBAR_BATTERY_X_POS + STATUSBAR_BATTERY_WIDTH / 2 - - 4, STATUSBAR_Y_POS, "?"); - display->setfont(FONT_UI); + display->putsxy(global_settings.statusbar_bat_x_pos + STATUSBAR_BATTERY_WIDTH / 2 + - 4, global_settings.sb_icons_y_pos, "?"); } } @@ -391,8 +345,8 @@ if (volume == minvol) { display->mono_bitmap(bitmap_icons_7x8[Icon_Mute], - STATUSBAR_VOLUME_X_POS + STATUSBAR_VOLUME_WIDTH / 2 - 4, - STATUSBAR_Y_POS, 7, STATUSBAR_HEIGHT); + global_settings.statusbar_vol_x_pos + STATUSBAR_VOLUME_WIDTH / 2 - 4, + global_settings.sb_icons_y_pos+2, 7, STATUSBAR_ICONS_HEIGHT); } else { /* We want to redraw the icon later on */ @@ -413,20 +367,20 @@ display->setfont(FONT_SYSFIXED); snprintf(buffer, sizeof(buffer), "%2d", volume); display->getstringsize(buffer, &width, &height); - if (height <= STATUSBAR_HEIGHT) + if (height <= global_settings.statusbar_height) { - display->putsxy(STATUSBAR_VOLUME_X_POS + display->putsxy(global_settings.statusbar_vol_x_pos + STATUSBAR_VOLUME_WIDTH / 2 - - width/2, STATUSBAR_Y_POS, buffer); + - width/2, global_settings.sb_icons_y_pos, buffer); } display->setfont(FONT_UI); } else { /* display volume bar */ vol = (volume - minvol) * 14 / (maxvol - minvol); for(i=0; i < vol; i++) { - display->vline(STATUSBAR_VOLUME_X_POS + i, - STATUSBAR_Y_POS + 6 - i / 2, - STATUSBAR_Y_POS + 6); + display->vline(global_settings.statusbar_vol_x_pos + i, + global_settings.sb_icons_y_pos + 6 - i / 2, + global_settings.sb_icons_y_pos + 6); } } } @@ -440,9 +394,9 @@ */ void gui_statusbar_icon_play_state(struct screen * display, int state) { - display->mono_bitmap(bitmap_icons_7x8[state], STATUSBAR_PLAY_STATE_X_POS, - STATUSBAR_Y_POS, STATUSBAR_PLAY_STATE_WIDTH, - STATUSBAR_HEIGHT); + display->mono_bitmap(global_settings.large_icons?bitmap_icons_10x10[state]:bitmap_icons_7x8[state], global_settings.statusbar_playstate_x_pos, + global_settings.sb_icons_y_pos, global_settings.large_icons?10:7, + global_settings.large_icons?10:STATUSBAR_ICONS_HEIGHT); } /* @@ -450,9 +404,9 @@ */ void gui_statusbar_icon_play_mode(struct screen * display, int mode) { - display->mono_bitmap(bitmap_icons_7x8[mode], STATUSBAR_PLAY_MODE_X_POS, - STATUSBAR_Y_POS, STATUSBAR_PLAY_MODE_WIDTH, - STATUSBAR_HEIGHT); + display->mono_bitmap(bitmap_icons_7x8[mode], global_settings.statusbar_playmode_x_pos, + global_settings.sb_icons_y_pos, STATUSBAR_PLAY_MODE_WIDTH, + STATUSBAR_ICONS_HEIGHT); } /* @@ -461,8 +415,21 @@ void gui_statusbar_icon_shuffle(struct screen * display) { display->mono_bitmap(bitmap_icons_7x8[Icon_Shuffle], - STATUSBAR_SHUFFLE_X_POS, STATUSBAR_Y_POS, - STATUSBAR_SHUFFLE_WIDTH, STATUSBAR_HEIGHT); + global_settings.statusbar_shuffle_x_pos, global_settings.sb_icons_y_pos, + STATUSBAR_SHUFFLE_WIDTH, STATUSBAR_ICONS_HEIGHT); +} + +void gui_statusbar_title(struct screen * display, char *dsf){ + char buffer[20]; + unsigned int width, height; + snprintf(buffer, sizeof(buffer), dsf); + display->getstringsize(buffer, &width, &height); + if (global_settings.statusbar_title==1) + display->putsxy(LCD_WIDTH/2-width/2, global_settings.sb_icons_y_pos-1, buffer); + else if (global_settings.statusbar_title==2) + display->putsxy(1, global_settings.sb_icons_y_pos-1, buffer); + else if (global_settings.statusbar_title==3) + display->putsxy(LCD_WIDTH-width-1, global_settings.sb_icons_y_pos-1, buffer); } /* @@ -471,8 +438,8 @@ void gui_statusbar_icon_lock(struct screen * display) { display->mono_bitmap(bitmap_icons_5x8[Icon_Lock_Main], - STATUSBAR_LOCKM_X_POS, STATUSBAR_Y_POS, - STATUSBAR_LOCKM_WIDTH, STATUSBAR_HEIGHT); + global_settings.statusbar_lockm_x_pos, global_settings.sb_icons_y_pos, + STATUSBAR_LOCKM_WIDTH, STATUSBAR_ICONS_HEIGHT); } /* @@ -481,8 +448,8 @@ void gui_statusbar_icon_lock_remote(struct screen * display) { display->mono_bitmap(bitmap_icons_5x8[Icon_Lock_Remote], - STATUSBAR_LOCKR_X_POS, STATUSBAR_Y_POS, - STATUSBAR_LOCKR_WIDTH, STATUSBAR_HEIGHT); + global_settings.statusbar_lockr_x_pos, global_settings.sb_icons_y_pos, + STATUSBAR_LOCKR_WIDTH, STATUSBAR_ICONS_HEIGHT); } #if (CONFIG_LED == LED_VIRTUAL) || defined(HAVE_REMOTE_LCD) @@ -492,9 +459,9 @@ void gui_statusbar_led(struct screen * display) { display->mono_bitmap(bitmap_icon_disk, - STATUSBAR_DISK_X_POS(display->width), - STATUSBAR_Y_POS, STATUSBAR_DISK_WIDTH, - STATUSBAR_HEIGHT); + global_settings.statusbar_disk_x_pos, + global_settings.sb_icons_y_pos, STATUSBAR_DISK_WIDTH, + STATUSBAR_ICONS_HEIGHT); } #endif @@ -523,9 +490,9 @@ } display->setfont(FONT_SYSFIXED); display->getstringsize(buffer, &width, &height); - if (height <= STATUSBAR_HEIGHT) { - display->putsxy(STATUSBAR_TIME_X_END(display->width) - width, - STATUSBAR_Y_POS, buffer); + if (height <= global_settings.statusbar_height) { + display->putsxy(global_settings.statusbar_time_x_pos, + global_settings.sb_icons_y_pos, buffer); } display->setfont(FONT_UI); diff -u -r rockbox-bleeding/apps/gui/statusbar.h rockbox-bleed/apps/gui/statusbar.h --- rockbox-bleeding/apps/gui/statusbar.h 2005-12-08 01:28:52.000000000 +0200 +++ rockbox-bleed/apps/gui/statusbar.h 2006-01-19 19:44:09.031250000 +0200 @@ -24,10 +24,27 @@ #include "status.h" #include "screen_access.h" #include "button.h" +#include "settings.h" #define STATUSBAR_X_POS 0 #define STATUSBAR_Y_POS 0 /* MUST be a multiple of 8 */ -#define STATUSBAR_HEIGHT 8 +#define STATUSBAR_HEIGHT global_settings.statusbar_height +#define STATUSBAR_ICONS_HEIGHT 8 + +#define ICONS_SPACING 2 +#define STATUSBAR_PLUG_WIDTH 7 +#define STATUSBAR_VOLUME_WIDTH 16 +#define STATUSBAR_PLAY_STATE_WIDTH 7 +#define STATUSBAR_PLAY_MODE_WIDTH 7 +#define STATUSBAR_SHUFFLE_WIDTH 7 +#define STATUSBAR_LOCKM_WIDTH 5 +#define STATUSBAR_LOCKR_WIDTH 5 +#define STATUSBAR_BATTERY_WIDTH 18 +#if (CONFIG_LED == LED_VIRTUAL) || defined(HAVE_REMOTE_LCD) +#define STATUSBAR_DISK_WIDTH 12 +#else +#define STATUSBAR_DISK_WIDTH 0 +#endif struct status_info { int battlevel; @@ -109,7 +126,7 @@ void gui_statusbar_icon_lock(struct screen * display); void gui_statusbar_icon_lock_remote(struct screen * display); void gui_statusbar_led(struct screen * display); - +void gui_statusbar_title(struct screen * display, char *str); #ifdef CONFIG_RTC void gui_statusbar_time(struct screen * display, int hour, int minute); diff -u -r rockbox-bleeding/apps/lang/english.lang rockbox-bleed/apps/lang/english.lang --- rockbox-bleeding/apps/lang/english.lang 2006-01-10 19:12:42.000000000 +0200 +++ rockbox-bleed/apps/lang/english.lang 2006-01-19 19:44:09.093750000 +0200 @@ -3557,3 +3557,20 @@ voice: "Brightness" new: +id: LANG_CENTER +desc: in settings_menu +eng: "Center" +voice: "Center" +new: + +id: LANG_LEFT +desc: in settings_menu +eng: "Left" +voice: "Left" +new: + +id: LANG_RIGHT +desc: in settings_menu +eng: "Right" +voice: "Right" +new: diff -u -r rockbox-bleeding/apps/main_menu.c rockbox-bleed/apps/main_menu.c --- rockbox-bleeding/apps/main_menu.c 2005-12-06 00:47:38.000000000 +0200 +++ rockbox-bleed/apps/main_menu.c 2006-01-19 22:08:51.703125000 +0200 @@ -315,6 +315,8 @@ bool result; int i = 0; + status_set_title("Main Menu"); + /* main menu */ struct menu_item items[11]; diff -u -r rockbox-bleeding/apps/menu.c rockbox-bleed/apps/menu.c --- rockbox-bleeding/apps/menu.c 2005-12-06 00:47:38.000000000 +0200 +++ rockbox-bleed/apps/menu.c 2006-01-19 19:44:09.125000000 +0200 @@ -114,6 +114,7 @@ void menu_exit(int m) { + status_rem_title(); inuse[m] = false; } @@ -153,6 +154,7 @@ #ifdef MENU_RC_ENTER2 case MENU_RC_ENTER2: #endif + status_set_title(menu_description(m,menu_cursor(m))); return gui_synclist_get_sel_pos(&(menus[m].synclist)); diff -u -r rockbox-bleeding/apps/onplay.c rockbox-bleed/apps/onplay.c --- rockbox-bleeding/apps/onplay.c 2005-12-06 00:47:38.000000000 +0200 +++ rockbox-bleed/apps/onplay.c 2006-01-19 19:44:09.156250000 +0200 @@ -497,8 +497,10 @@ #ifdef MENU_RC_EXIT_MENU || key == MENU_RC_EXIT_MENU #endif - ) - exit_to_main = true; + ){ + status_rem_title(); + exit_to_main = true; + } return key; } @@ -513,6 +515,11 @@ exit_to_main = false; selected_file = file; selected_file_attr = attr; + + if (context == CONTEXT_WPS) + status_set_title("On Play Menu"); + else + status_set_title("Tree Options"); if (context == CONTEXT_WPS) { @@ -613,6 +620,7 @@ else lcd_setmargins(0, 0); #endif + status_rem_title(); } return onplay_result; diff -u -r rockbox-bleeding/apps/playlist.c rockbox-bleed/apps/playlist.c --- rockbox-bleeding/apps/playlist.c 2005-12-06 00:47:38.000000000 +0200 +++ rockbox-bleed/apps/playlist.c 2006-01-19 19:44:09.218750000 +0200 @@ -90,7 +90,7 @@ #include "thread.h" #include "usb.h" #ifdef HAVE_LCD_BITMAP -#include "icons.h" +#include "statusbar.h" #include "widgets.h" #endif diff -u -r rockbox-bleeding/apps/playlist_viewer.c rockbox-bleed/apps/playlist_viewer.c --- rockbox-bleeding/apps/playlist_viewer.c 2006-01-17 16:15:52.000000000 +0200 +++ rockbox-bleed/apps/playlist_viewer.c 2006-01-19 19:44:09.281250000 +0200 @@ -809,7 +809,9 @@ } exit: - if (viewer.playlist) + if (viewer.playlist){ + status_rem_title(); playlist_close(viewer.playlist); + } return ret; } diff -u -r rockbox-bleeding/apps/recorder/icons.c rockbox-bleed/apps/recorder/icons.c --- rockbox-bleeding/apps/recorder/icons.c 2005-11-24 02:10:20.000000000 +0200 +++ rockbox-bleed/apps/recorder/icons.c 2006-01-19 19:44:09.328125000 +0200 @@ -27,6 +27,7 @@ #include "settings.h" #include "icons.h" +#include "statusbar.h" const unsigned char bitmap_icons_5x8[][5] = { @@ -51,6 +52,27 @@ { 0x3e, 0x41, 0x3e, 0x1c, 0x1c, 0x08 }, /* Moving Item */ }; +const unsigned char bitmap_icons_10x10[][20] = { + {0x08,0x1c,0x3e,0x3e,0x3e,0x14,0x14}, /* Power plug (need change for 10*10) */ + {0x1c,0x14,0x3e,0x2a,0x22,0x1c,0x08}, /* USB plug (need change for 10*10) */ + {0x01,0x1e,0x1c,0x3e,0x7f,0x20,0x40}, /* Speaker mute (need change for 10*10) */ + {0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0x78, 0x78, 0x30, 0x30, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},/* Play */ + {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03},/* Stop */ + {0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03}, /* Pause */ + {0xff, 0xfe, 0xfc, 0x78, 0x30, 0xff, 0xfe, 0xfc, 0x78, 0x30, 0x03, 0x01, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x00}, /* Fast forward */ + {0x30, 0x78, 0xfc, 0xfe, 0xff, 0x30, 0x78, 0xfc, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x01, 0x03}, /* Fast backward */ + {0x1c,0x3e,0x7f,0x7f,0x7f,0x3e,0x1c}, /* Record (need change for 10*10) */ + {0x1c,0x3e,0x7f,0x00,0x7f,0x3e,0x1c}, /* Record pause (need change for 10*10) */ + {0x40,0xa0,0xa0,0xa0,0x7f,0x02,0x02}, /* Radio on (need change for 10*10) */ + {0x42,0xa4,0xa8,0xb0,0x7f,0x22,0x42}, /* Radio mute (need change for 10*10) */ + {0x44,0x4e,0x5f,0x44,0x44,0x44,0x38}, /* Repeat playmode (need change for 10*10) */ + {0x44,0x4e,0x5f,0x44,0x38,0x02,0x7f}, /* Repeat-one playmode (need change for 10*10) */ + {0x3e,0x41,0x51,0x41,0x45,0x41,0x3e}, /* Shuffle playmode (dice) (need change for 10*10) */ + {0x04,0x0c,0x1c,0x3c,0x1c,0x0c,0x04}, /* Down-arrow (need change for 10*10) */ + {0x20,0x30,0x38,0x3c,0x38,0x30,0x20}, /* Up-arrow (need change for 10*10) */ + {0x7f,0x04,0x4e,0x5f,0x44,0x38,0x7f} /* Repeat-AB playmode (need change for 10*10) */ +}; + const unsigned char bitmap_icons_7x8[][7] = { {0x08,0x1c,0x3e,0x3e,0x3e,0x14,0x14}, /* Power plug */ @@ -347,8 +369,9 @@ */ void statusbar_icon_play_mode(int mode) { - lcd_mono_bitmap(bitmap_icons_7x8[mode], ICON_PLAY_MODE_X_POS, - STATUSBAR_Y_POS, ICON_PLAY_MODE_WIDTH, STATUSBAR_HEIGHT); + lcd_mono_bitmap(bitmap_icons_7x8[mode], global_settings.statusbar_playmode_x_pos, + global_settings.sb_icons_y_pos, STATUSBAR_PLAY_MODE_WIDTH, + global_settings.statusbar_height); } /* @@ -356,6 +379,7 @@ */ void statusbar_icon_shuffle(void) { - lcd_mono_bitmap(bitmap_icons_7x8[Icon_Shuffle], ICON_SHUFFLE_X_POS, - STATUSBAR_Y_POS, ICON_SHUFFLE_WIDTH, STATUSBAR_HEIGHT); + lcd_mono_bitmap(bitmap_icons_7x8[Icon_Shuffle], global_settings.statusbar_shuffle_x_pos, + global_settings.sb_icons_y_pos, STATUSBAR_SHUFFLE_WIDTH, + global_settings.statusbar_height); } diff -u -r rockbox-bleeding/apps/recorder/icons.h rockbox-bleed/apps/recorder/icons.h --- rockbox-bleeding/apps/recorder/icons.h 2005-12-18 15:08:10.000000000 +0200 +++ rockbox-bleed/apps/recorder/icons.h 2006-01-19 19:44:09.359375000 +0200 @@ -20,7 +20,7 @@ #define _ICONS_H_ #include - +#include "settings.h" /* * Icons of size 6x8 pixels */ @@ -73,6 +73,7 @@ Icon7x8Last }; +extern const unsigned char bitmap_icons_10x10[Icon7x8Last][20]; extern const unsigned char bitmap_icons_5x8[Icon5x8Last][5]; extern const unsigned char bitmap_icons_6x8[Icon6x8Last][6]; extern const unsigned char bitmap_icons_7x8[Icon7x8Last][7]; @@ -93,28 +94,6 @@ extern const unsigned char rockbox160x53x2[]; #endif -#define STATUSBAR_X_POS 0 -#define STATUSBAR_Y_POS 0 /* MUST be a multiple of 8 */ -#define STATUSBAR_HEIGHT 8 -#define STATUSBAR_WIDTH LCD_WIDTH -#define ICON_BATTERY_X_POS 0 -#define ICON_BATTERY_WIDTH 18 -#define ICON_PLUG_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+2 -#define ICON_PLUG_WIDTH 7 -#define ICON_VOLUME_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+ICON_PLUG_WIDTH+2+2 -#define ICON_VOLUME_WIDTH 16 -#define ICON_PLAY_STATE_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+ICON_PLUG_WIDTH+ICON_VOLUME_WIDTH+2+2+2 -#define ICON_PLAY_STATE_WIDTH 7 -#define ICON_PLAY_MODE_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+ICON_PLUG_WIDTH+ICON_VOLUME_WIDTH+ICON_PLAY_STATE_WIDTH+2+2+2+2 -#define ICON_PLAY_MODE_WIDTH 7 -#define ICON_SHUFFLE_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+ICON_PLUG_WIDTH+ICON_VOLUME_WIDTH+ICON_PLAY_STATE_WIDTH+ICON_PLAY_MODE_WIDTH+2+2+2+2+2 -#define ICON_SHUFFLE_WIDTH 7 -#define LOCK_X_POS STATUSBAR_X_POS+ICON_BATTERY_WIDTH+ICON_PLUG_WIDTH+ICON_VOLUME_WIDTH+ICON_PLAY_STATE_WIDTH+ICON_PLAY_MODE_WIDTH+ICON_SHUFFLE_WIDTH+2+2+2+2+2+2 -#define LOCK_WIDTH 5 -#define ICON_DISK_WIDTH 12 -#define ICON_DISK_X_POS STATUSBAR_WIDTH-ICON_DISK_WIDTH -#define TIME_X_END STATUSBAR_WIDTH-1 - extern void statusbar_wipe(void); extern void statusbar_icon_battery(int percent); extern bool statusbar_icon_volume(int percent); diff -u -r rockbox-bleeding/apps/recorder/keyboard.c rockbox-bleed/apps/recorder/keyboard.c --- rockbox-bleeding/apps/recorder/keyboard.c 2006-01-19 14:45:46.000000000 +0200 +++ rockbox-bleed/apps/recorder/keyboard.c 2006-01-19 19:44:09.390625000 +0200 @@ -318,12 +318,12 @@ { /* draw page */ for (i=0; i < KEYBOARD_LINES; i++) - lcd_putsxy(0, 8+i * font_h, line[i]); + lcd_putsxy(0, STATUSBAR_HEIGHT+i * font_h, line[i]); } /* separator */ - lcd_hline(0, LCD_WIDTH - 1, main_y - KEYBOARD_MARGIN); + lcd_hline(0, LCD_WIDTH - 1, STATUSBAR_HEIGHT+main_y - KEYBOARD_MARGIN); /* write out the text */ curpos = MIN(editpos, max_chars - MIN(len_utf8 - editpos, 2)); @@ -337,16 +337,16 @@ } outline[j] = 0; - lcd_putsxy(font_w, main_y, outline); + lcd_putsxy(font_w, main_y+STATUSBAR_HEIGHT, outline); if (leftpos) lcd_putsxy(0, main_y, "<"); if (len_utf8 - leftpos > max_chars) - lcd_putsxy(LCD_WIDTH - font_w, main_y, ">"); + lcd_putsxy(LCD_WIDTH - font_w, STATUSBAR_HEIGHT+main_y, ">"); /* cursor */ i = (curpos + 1) * font_w; - lcd_vline(i, main_y, main_y + font_h); + lcd_vline(i, STATUSBAR_HEIGHT+main_y, STATUSBAR_HEIGHT+main_y + font_h); #ifdef HAS_BUTTONBAR /* draw the status bar */ @@ -360,7 +360,7 @@ { /* highlight the key that has focus */ lcd_set_drawmode(DRMODE_COMPLEMENT); - lcd_fillrect(font_w * x, 8 + font_h * y, font_w, font_h); + lcd_fillrect(font_w * x, STATUSBAR_HEIGHT + font_h * y, font_w, font_h); lcd_set_drawmode(DRMODE_SOLID); } @@ -387,6 +387,7 @@ case KBD_ABORT: lcd_setfont(FONT_UI); + status_rem_title(); return -1; break; @@ -549,6 +550,7 @@ case KBD_DONE: /* accepts what was entered and continues */ + status_rem_title(); #ifdef KBD_DONE_PRE if (lastbutton != KBD_DONE_PRE) break; diff -u -r rockbox-bleeding/apps/recorder/peakmeter.c rockbox-bleed/apps/recorder/peakmeter.c --- rockbox-bleeding/apps/recorder/peakmeter.c 2005-12-02 11:03:00.000000000 +0200 +++ rockbox-bleed/apps/recorder/peakmeter.c 2006-01-19 20:18:10.796875000 +0200 @@ -30,6 +30,7 @@ #include "system.h" #include "font.h" #include "icons.h" +#include "statusbar.h" #include "lang.h" #include "peakmeter.h" @@ -1109,7 +1110,7 @@ barstart = TRIGBAR_WIDTH; barend = TRIGBAR_WIDTH; icon = Icon_Record; - ixpos = TRIG_WIDTH - ICON_PLAY_STATE_WIDTH; + ixpos = TRIG_WIDTH - STATUSBAR_PLAY_STATE_WIDTH; break; case TRIG_POSTREC: @@ -1118,17 +1119,17 @@ / trig_stp_hold; barend = TRIGBAR_WIDTH; icon = Icon_Record; - ixpos = TRIG_WIDTH - ICON_PLAY_STATE_WIDTH; + ixpos = TRIG_WIDTH - STATUSBAR_PLAY_STATE_WIDTH; break; default: return; } - scrollbar(xpos + ICON_PLAY_STATE_WIDTH + 1, ypos + 1, + scrollbar(xpos + STATUSBAR_PLAY_STATE_WIDTH + 1, ypos + 1, TRIGBAR_WIDTH, TRIG_HEIGHT - 2, TRIGBAR_WIDTH, barstart, barend, HORIZONTAL); lcd_mono_bitmap(bitmap_icons_7x8[icon], ixpos, ypos, - ICON_PLAY_STATE_WIDTH, STATUSBAR_HEIGHT); + STATUSBAR_PLAY_STATE_WIDTH, STATUSBAR_HEIGHT); } #endif diff -u -r rockbox-bleeding/apps/recorder/peakmeter.h rockbox-bleed/apps/recorder/peakmeter.h --- rockbox-bleeding/apps/recorder/peakmeter.h 2005-08-29 22:07:30.000000000 +0200 +++ rockbox-bleed/apps/recorder/peakmeter.h 2006-01-19 20:17:54.843750000 +0200 @@ -73,7 +73,7 @@ #define TRIG_WIDTH 112 #define TRIG_HEIGHT 8 -#define TRIGBAR_WIDTH (TRIG_WIDTH - (2 * (ICON_PLAY_STATE_WIDTH + 1))) +#define TRIGBAR_WIDTH (TRIG_WIDTH - (2 * (STATUSBAR_PLAY_STATE_WIDTH + 1))) extern void peak_meter_draw_trig(int x, int y); diff -u -r rockbox-bleeding/apps/recorder/radio.c rockbox-bleed/apps/recorder/radio.c --- rockbox-bleeding/apps/recorder/radio.c 2005-12-15 03:11:24.000000000 +0200 +++ rockbox-bleed/apps/recorder/radio.c 2006-01-19 19:44:09.437500000 +0200 @@ -444,6 +444,7 @@ else #endif { + status_rem_title(); done = true; } update_screen = true; @@ -498,6 +499,7 @@ audio_stop(); #endif keep_playing = true; + status_rem_title(); done = true; break; @@ -687,6 +689,7 @@ default_event_handler(SYS_USB_CONNECTED); screen_freeze = true; /* Cosmetic: makes sure the radio screen doesn't redraw */ + status_rem_title(); done = true; } break; @@ -832,6 +835,7 @@ if(audio_status() & AUDIO_STATUS_ERROR) { + status_rem_title(); done = true; } } diff -u -r rockbox-bleeding/apps/screens.c rockbox-bleed/apps/screens.c --- rockbox-bleeding/apps/screens.c 2005-12-23 02:56:02.000000000 +0200 +++ rockbox-bleed/apps/screens.c 2006-01-19 19:44:09.484375000 +0200 @@ -74,6 +74,7 @@ /* nothing here! */ #else int i; + status_set_title("USB Connected"); FOR_NB_SCREENS(i) { screens[i].backlight_on(); gui_logo_draw(&usb_logos[i], &screens[i]); @@ -100,6 +101,7 @@ #ifdef HAVE_LCD_CHARCELLS status_set_usb(false); #endif /* HAVE_LCD_CHARCELLS */ + status_rem_title(); FOR_NB_SCREENS(i) screens[i].backlight_on(); #endif /* USB_NONE */ diff -u -r rockbox-bleeding/apps/settings.c rockbox-bleed/apps/settings.c --- rockbox-bleeding/apps/settings.c 2006-01-10 19:12:42.000000000 +0200 +++ rockbox-bleed/apps/settings.c 2006-01-19 19:52:20.203125000 +0200 @@ -491,7 +491,24 @@ #ifdef HAVE_BACKLIGHT_BRIGHTNESS {4, S_O(brightness), 9, "brightness", NULL }, #endif - +//{8, S_O(scroll_delay), 100, "scroll delay", NULL } + {8, S_O(statusbar_bat_x_pos), 1, "battery_x_pos", NULL }, + {8, S_O(statusbar_vol_x_pos), 29, "volume_x_pos", NULL }, + {8, S_O(statusbar_playstate_x_pos), 47, "playstate_x_pos", NULL }, + {8, S_O(statusbar_playmode_x_pos), 56, "playmode_x_pos", NULL }, + {8, S_O(statusbar_plug_x_pos), 21, "battery_x_pos", NULL }, + {8, S_O(statusbar_shuffle_x_pos), 65, "shuffle_x_pos", NULL }, + {8, S_O(statusbar_lockm_x_pos), 74, "lockm_x_pos", NULL }, + {8, S_O(statusbar_lockr_x_pos), 81, "lockr_x_pos", NULL }, +#if (CONFIG_LED == LED_VIRTUAL) || defined(HAVE_REMOTE_LCD) + {8, S_O(statusbar_disk_x_pos), 88, "disk_x_pos", NULL }, +#endif + {8, S_O(statusbar_time_x_pos), 92, "time_x_pos", NULL }, + {8, S_O(sb_icons_y_pos), 0, "statusbar_icons_y_pos", NULL }, + {8, S_O(statusbar_height), 8, "statusbar_height", NULL }, + {1, S_O(statusbar_title), 0, "statusbar_title", "Off,Center,Left,Right" }, + {1, S_O(statusbar_bot_line), false, "statusbar_bottom_line", off_on }, + {1, S_O(large_icons), false, "large_statusbar_icons", off_on }, /* If values are just added to the end, no need to bump the version. */ /* new stuff to be added at the end */ @@ -1541,11 +1558,13 @@ *variable=oldvalue; if ( function ) function(*variable); + status_rem_title(); return false; } if(default_event_handler(button) == SYS_USB_CONNECTED) return true; } + status_rem_title(); return false; } @@ -1603,6 +1622,7 @@ gui_syncstatusbar_draw(&statusbars, false); if(select.canceled) { + status_rem_title(); /* *variable=oldvalue; */ set_type_fromint(type, variable, oldvalue); if ( function ) @@ -1612,6 +1632,7 @@ if(default_event_handler(button) == SYS_USB_CONNECTED) return true; } + status_rem_title(); return false; } diff -u -r rockbox-bleeding/apps/settings.h rockbox-bleed/apps/settings.h --- rockbox-bleeding/apps/settings.h 2006-01-18 13:09:14.000000000 +0200 +++ rockbox-bleed/apps/settings.h 2006-01-19 19:44:09.546875000 +0200 @@ -303,7 +303,26 @@ /* show status bar */ bool statusbar; /* 0=hide, 1=show */ - + + /* status bar info */ + int statusbar_bat_x_pos; + int statusbar_vol_x_pos; + int statusbar_playmode_x_pos; + int statusbar_playstate_x_pos; + int statusbar_plug_x_pos; + int statusbar_shuffle_x_pos; + int statusbar_lockm_x_pos; + int statusbar_lockr_x_pos; +#if (CONFIG_LED == LED_VIRTUAL) || defined(HAVE_REMOTE_LCD) + int statusbar_disk_x_pos; +#endif + int statusbar_time_x_pos; + int sb_icons_y_pos; + unsigned int statusbar_height; + int statusbar_title; + bool statusbar_bot_line; + bool large_icons; + /* show button bar */ bool buttonbar; /* 0=hide, 1=show */ diff -u -r rockbox-bleeding/apps/settings_menu.c rockbox-bleed/apps/settings_menu.c --- rockbox-bleeding/apps/settings_menu.c 2005-12-22 12:44:14.000000000 +0200 +++ rockbox-bleed/apps/settings_menu.c 2006-01-19 21:28:58.453125000 +0200 @@ -260,6 +260,116 @@ } #ifdef HAVE_LCD_BITMAP +static bool battery_x_pos(void) +{ + return set_int( "Battery X Pos", "", UNIT_INT, + &global_settings.statusbar_bat_x_pos, + NULL, 1, 0, LCD_WIDTH, NULL ); +} + + +static bool volume_x_pos(void) +{ + return set_int( "Volume X Pos", "", UNIT_INT, + &global_settings.statusbar_vol_x_pos, + NULL, 1, 0, LCD_WIDTH, NULL ); +} + +static bool playmode_x_pos(void) +{ + return set_int( "Play Mode X Pos", "", UNIT_INT, + &global_settings.statusbar_playmode_x_pos, + NULL, 1, 0, LCD_WIDTH, NULL ); +} + +static bool playstate_x_pos(void) +{ + return set_int( "Play State X Pos", "", UNIT_INT, + &global_settings.statusbar_playstate_x_pos, + NULL, 1, 0, LCD_WIDTH, NULL ); +} + +static bool statusb_icons_y_pos(void) +{ + return set_int( "Icons Y Pos", "", UNIT_INT, + &global_settings.sb_icons_y_pos, + NULL, 1, 0, LCD_HEIGHT, NULL ); +} + +static bool plug_x_pos(void) +{ + return set_int( "Plug X Pos", "", UNIT_INT, + &global_settings.statusbar_plug_x_pos, + NULL, 1, 0, LCD_WIDTH, NULL ); +} + +static bool shuffle_x_pos(void) +{ + return set_int( "Shuffle X Pos", "", UNIT_INT, + &global_settings.statusbar_shuffle_x_pos, + NULL, 1, 0, LCD_WIDTH, NULL ); +} + +static bool lockm_x_pos(void) +{ + return set_int( "Button Lock X Pos", "", UNIT_INT, + &global_settings.statusbar_lockm_x_pos, + NULL, 1, 0, LCD_WIDTH, NULL ); +} + +static bool lockr_x_pos(void) +{ + return set_int( "Remote Lock X Pos", "", UNIT_INT, + &global_settings.statusbar_lockr_x_pos, + NULL, 1, 0, LCD_WIDTH, NULL ); +} +#if (CONFIG_LED == LED_VIRTUAL) || defined(HAVE_REMOTE_LCD) +static bool disk_x_pos(void) +{ + return set_int( "Led X Pos", "", UNIT_INT, + &global_settings.statusbar_disk_x_pos, + NULL, 1, 0, LCD_WIDTH, NULL ); +} +#endif +static bool time_x_pos(void) +{ + return set_int( "Time X Pos", "", UNIT_INT, + &global_settings.statusbar_time_x_pos, + NULL, 1, 0, LCD_WIDTH, NULL ); +} + +static bool statusbar_set_height(void) +{ + return set_int( "Status Bar Height", "", UNIT_INT, + &global_settings.statusbar_height, + NULL, 1, 0, LCD_HEIGHT, NULL ); +} + +static bool statusbar_set_title(void) +{ + static const struct opt_items names[] = { + { STR(LANG_OFF) }, + { STR(LANG_CENTER) }, + { STR(LANG_LEFT)}, + { STR(LANG_RIGHT) } + }; + return set_option( "Status Bar Title Pos", &global_settings.statusbar_title, + INT, names, 4, NULL ); +} + +static bool statusbar_line(void) +{ + return set_bool("View Bottom Line",&global_settings.statusbar_bot_line); +} + +static bool statusbar_icons(void) +{ + return set_bool("View Large Icons",&global_settings.large_icons); +} + +#endif + +#ifdef HAVE_LCD_BITMAP /** * Menu to set LCD Mode (normal/inverse) @@ -1584,6 +1694,38 @@ #endif #ifdef HAVE_LCD_BITMAP +static bool status_bar_opt_menu(void) +{ + int m; + bool result; + + static const struct menu_item items[] = { + { "Battery X Pos" , battery_x_pos }, + { "Volume X Pos" , volume_x_pos }, + { "Play Mode X Pos" , playmode_x_pos }, + { "Play State X Pos" , playstate_x_pos }, + { "Plug X Pos" , plug_x_pos }, + { "Shuffle X Pos" , shuffle_x_pos }, + { "Button Lock X Pos" , lockm_x_pos }, + { "Remote Lock X Pos" , lockr_x_pos }, +#if (CONFIG_LED == LED_VIRTUAL) || defined(HAVE_REMOTE_LCD) + { "Led X Pos" , disk_x_pos }, +#endif + { "Time X Pos" , time_x_pos }, + { "Bottom Line" , statusbar_line }, + { "Icons" , statusbar_icons }, + { "Icons Y Pos" , statusb_icons_y_pos }, + { "Status Bar Height" , statusbar_set_height }, + { "Status Bar Title" , statusbar_set_title }, + }; + + m=menu_init( items, sizeof(items) / sizeof(*items), NULL, + NULL, NULL, NULL); + result = menu_run(m); + menu_exit(m); + return result; +} + static bool bars_settings_menu(void) { int m; @@ -1592,6 +1734,7 @@ static const struct menu_item items[] = { { ID2P(LANG_SCROLL_BAR), scroll_bar }, { ID2P(LANG_STATUS_BAR), status_bar }, + { "Status Bar Options" ,status_bar_opt_menu }, #if CONFIG_KEYPAD == RECORDER_PAD { ID2P(LANG_BUTTON_BAR), button_bar }, #endif @@ -1607,7 +1750,6 @@ } #endif - static bool display_settings_menu(void) { int m; diff -u -r rockbox-bleeding/apps/status.c rockbox-bleed/apps/status.c --- rockbox-bleeding/apps/status.c 2005-12-04 17:42:44.000000000 +0200 +++ rockbox-bleed/apps/status.c 2006-01-19 19:44:09.640625000 +0200 @@ -55,6 +55,27 @@ int battery_charge_step = 0; #endif +bool rootdir; +bool menu_plugins_load=false; +int status_title_pl=1; + +void status_set_title(char *stat_title){ + if (stat_title){ + status_title_pl++; + status_title[status_title_pl]=stat_title; + } +} + +void status_rem_title(void) +{ + if (status_title_pl-1>0 && status_title[status_title_pl-1]!=NULL){ + status_title[status_title_pl]=NULL; + status_title_pl--; + } +} + + + void status_init(void) { ff_mode = 0; diff -u -r rockbox-bleeding/apps/status.h rockbox-bleed/apps/status.h --- rockbox-bleeding/apps/status.h 2005-11-20 03:03:10.000000000 +0200 +++ rockbox-bleed/apps/status.h 2006-01-19 19:44:09.656250000 +0200 @@ -52,6 +52,13 @@ enum playmode status_get_ffmode(void); int current_playmode(void); +void status_set_title(char *stat_title); +void status_rem_title(void); +char *status_title[6]; +int status_title_pl; +bool menu_plugins_load; +bool rootdir; + #ifdef SIMULATOR #include #endif diff -u -r rockbox-bleeding/apps/tree.c rockbox-bleed/apps/tree.c --- rockbox-bleeding/apps/tree.c 2005-12-06 00:47:38.000000000 +0200 +++ rockbox-bleed/apps/tree.c 2006-01-19 19:44:09.703125000 +0200 @@ -552,6 +552,7 @@ if (*tc.dirfilter > NUM_FILTER_MODES && numentries==0) { + status_rem_title(); gui_syncsplash(HZ*2, true, str(LANG_NO_FILES)); return false; /* No files found for rockbox_browser() */ } @@ -902,9 +903,11 @@ button_clear_queue(); /* clear button queue */ } - if (exit_func) - break; - + if (exit_func){ + status_rem_title(); + break; + } + if (restore || reload_dir) { /* restore display */ numentries = update_dir();