From de7f24104650a03590d009be28283e9b361d6652 Mon Sep 17 00:00:00 2001 From: Thomas Martitz Date: Mon, 19 Oct 2009 16:08:43 +0000 Subject: Add a browse (remote) custom statusbar item in the theme settings. Uses the same icon that browse wps uses for now. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23261 a1c6a512-1295-4272-9138-f99709370657 --- apps/filetree.c | 6 +++++- apps/lang/english.lang | 34 ++++++++++++++++++++++++++++++++++ apps/menus/theme_menu.c | 15 +++++++++++++++ apps/settings.h | 3 ++- apps/tree.c | 10 ++++++++++ 5 files changed, 66 insertions(+), 2 deletions(-) diff --git a/apps/filetree.c b/apps/filetree.c index 601e0a0b2e..1f7559f5fe 100644 --- a/apps/filetree.c +++ b/apps/filetree.c @@ -330,8 +330,13 @@ int ft_load(struct tree_context* c, const char* tempdir) (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_M3U) || (*c->dirfilter == SHOW_SUPPORTED && !filetype_supported(dptr->attr)))) || (*c->dirfilter == SHOW_WPS && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_WPS) || +#ifdef HAVE_LCD_BITMAP + (*c->dirfilter == SHOW_FONT && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_FONT) || + (*c->dirfilter == SHOW_SBS && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_SBS) || +#endif #ifdef HAVE_REMOTE_LCD (*c->dirfilter == SHOW_RWPS && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_RWPS) || + (*c->dirfilter == SHOW_RSBS && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_RSBS) || #endif #if CONFIG_TUNER (*c->dirfilter == SHOW_FMR && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_FMR) || @@ -339,7 +344,6 @@ int ft_load(struct tree_context* c, const char* tempdir) (*c->dirfilter == SHOW_CFG && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_CFG) || (*c->dirfilter == SHOW_LNG && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_LNG) || (*c->dirfilter == SHOW_MOD && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_MOD) || - (*c->dirfilter == SHOW_FONT && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_FONT) || (*c->dirfilter == SHOW_PLUGINS && (dptr->attr & FILE_ATTR_MASK) != FILE_ATTR_ROCK)) { i--; diff --git a/apps/lang/english.lang b/apps/lang/english.lang index 2a2a34c021..16fc022af6 100644 --- a/apps/lang/english.lang +++ b/apps/lang/english.lang @@ -13131,3 +13131,37 @@ *: "remote statusbar skin" + + id: LANG_CUSTOM_STATUSBAR + desc: browse for custom statusbar in theme settings + user: core + + *:none + lcd_bitmap: "Custom Statusbar" + + + *:none + lcd_bitmap: "Custom Statusbar" + + + *:none + lcd_bitmap: "Custom Statusbar" + + + + id: LANG_REMOTE_CUSTOM_STATUSBAR + desc: browse for remote custom statusbar in theme settings + user: core + + *:none + remote: "Remote Custom Statusbar" + + + *:none + remote: "Remote Custom Statusbar" + + + *:none + remote: "Remote Custom Statusbar" + + diff --git a/apps/menus/theme_menu.c b/apps/menus/theme_menu.c index 704bbe6df1..21ad2b0713 100644 --- a/apps/menus/theme_menu.c +++ b/apps/menus/theme_menu.c @@ -228,10 +228,12 @@ MAKE_MENU(bars_menu, ID2P(LANG_BARS_MENU), 0, Icon_NOICON, #ifdef HAVE_LCD_BITMAP static struct browse_folder_info fonts = {FONT_DIR, SHOW_FONT}; +static struct browse_folder_info sbs = {SBS_DIR, SHOW_SBS}; #endif static struct browse_folder_info wps = {WPS_DIR, SHOW_WPS}; #ifdef HAVE_REMOTE_LCD static struct browse_folder_info rwps = {WPS_DIR, SHOW_RWPS}; +static struct browse_folder_info rsbs = {SBS_DIR, SHOW_RSBS}; #endif static struct browse_folder_info themes = {THEME_DIR, SHOW_CFG}; @@ -246,6 +248,10 @@ int browse_folder(void *param) MENUITEM_FUNCTION(browse_fonts, MENU_FUNC_USEPARAM, ID2P(LANG_CUSTOM_FONT), browse_folder, (void*)&fonts, NULL, Icon_Font); + +MENUITEM_FUNCTION(browse_sbs, MENU_FUNC_USEPARAM, + ID2P(LANG_CUSTOM_STATUSBAR), + browse_folder, (void*)&sbs, NULL, Icon_Wps); #endif MENUITEM_FUNCTION(browse_wps, MENU_FUNC_USEPARAM, ID2P(LANG_WHILE_PLAYING), @@ -254,6 +260,9 @@ MENUITEM_FUNCTION(browse_wps, MENU_FUNC_USEPARAM, MENUITEM_FUNCTION(browse_rwps, MENU_FUNC_USEPARAM, ID2P(LANG_REMOTE_WHILE_PLAYING), browse_folder, (void*)&rwps, NULL, Icon_Wps); +MENUITEM_FUNCTION(browse_rsbs, MENU_FUNC_USEPARAM, + ID2P(LANG_REMOTE_CUSTOM_STATUSBAR), + browse_folder, (void*)&rsbs, NULL, Icon_Wps); #endif MENUITEM_SETTING(show_icons, &global_settings.show_icons, NULL); @@ -273,6 +282,12 @@ MAKE_MENU(theme_menu, ID2P(LANG_THEME_MENU), &browse_wps, #ifdef HAVE_REMOTE_LCD &browse_rwps, +#endif +#ifdef HAVE_LCD_BITMAP + &browse_sbs, +#endif +#ifdef HAVE_REMOTE_LCD + &browse_rsbs, #endif &show_icons, #if LCD_DEPTH > 1 diff --git a/apps/settings.h b/apps/settings.h index 7ad139e485..d1179ed5bc 100644 --- a/apps/settings.h +++ b/apps/settings.h @@ -142,7 +142,8 @@ enum * must be added after NUM_FILTER_MODES. */ enum { SHOW_ALL, SHOW_SUPPORTED, SHOW_MUSIC, SHOW_PLAYLIST, SHOW_ID3DB, NUM_FILTER_MODES, - SHOW_WPS, SHOW_RWPS, SHOW_FMR, SHOW_CFG, SHOW_LNG, SHOW_MOD, SHOW_FONT, SHOW_PLUGINS}; + SHOW_WPS, SHOW_RWPS, SHOW_SBS, SHOW_RSBS, SHOW_FMR, SHOW_CFG, + SHOW_LNG, SHOW_MOD, SHOW_FONT, SHOW_PLUGINS}; /* file and dir sort options */ enum { SORT_ALPHA, SORT_DATE, SORT_DATE_REVERSED, SORT_TYPE, /* available as settings */ diff --git a/apps/tree.c b/apps/tree.c index 3570798706..db39e838ad 100644 --- a/apps/tree.c +++ b/apps/tree.c @@ -947,6 +947,11 @@ int rockbox_browse(const char *root, int dirfilter) snprintf(current, sizeof(current), WPS_DIR "/%s.rwps", global_settings.rwps_file); } + else if (dirfilter == SHOW_RSBS) + { + snprintf(current, sizeof(current), SBS_DIR "/%s.rsbs", + global_settings.rsbs_file); + } #endif #ifdef HAVE_LCD_BITMAP /* Center on the currently loaded font when browsing fonts */ @@ -955,6 +960,11 @@ int rockbox_browse(const char *root, int dirfilter) snprintf(current, sizeof(current), FONT_DIR "/%s.fnt", global_settings.font_file); } + else if (dirfilter == SHOW_SBS) + { + snprintf(current, sizeof(current), SBS_DIR "/%s.sbs", + global_settings.sbs_file); + } #endif #if CONFIG_TUNER /* Center on the currently loaded FM preset when browsing those */ -- cgit v1.2.3