1
0
Fork 0
forked from len0rd/rockbox

#ifdef HAVE_TAGCACHE

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12656 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Jonathan Gordon 2007-03-07 04:36:02 +00:00
parent e900a90e11
commit 798ddf201c

View file

@ -72,13 +72,17 @@ static int last_screen = GO_TO_ROOT; /* unfortunatly needed so we can resume
static int browser(void* param) static int browser(void* param)
{ {
int ret_val; int ret_val;
#ifdef HAVE_TAGCACHE
struct tree_context* tc = tree_get_context(); struct tree_context* tc = tree_get_context();
#endif
int filter = SHOW_SUPPORTED; int filter = SHOW_SUPPORTED;
char folder[MAX_PATH] = "/"; char folder[MAX_PATH] = "/";
/* stuff needed to remember position in file browser */ /* stuff needed to remember position in file browser */
static char last_folder[MAX_PATH] = "/"; static char last_folder[MAX_PATH] = "/";
/* and stuff for the database browser */ /* and stuff for the database browser */
#ifdef HAVE_TAGCACHE
static int last_db_dirlevel = 0; static int last_db_dirlevel = 0;
#endif
switch ((intptr_t)param) switch ((intptr_t)param)
{ {
@ -93,6 +97,7 @@ static int browser(void* param)
else else
strcpy(folder, last_folder); strcpy(folder, last_folder);
break; break;
#ifdef HAVE_TAGCACHE
case GO_TO_DBBROWSER: case GO_TO_DBBROWSER:
if ((last_screen != GO_TO_ROOT) && !tagcache_is_usable()) if ((last_screen != GO_TO_ROOT) && !tagcache_is_usable())
{ {
@ -102,6 +107,7 @@ static int browser(void* param)
filter = SHOW_ID3DB; filter = SHOW_ID3DB;
tc->dirlevel = last_db_dirlevel; tc->dirlevel = last_db_dirlevel;
break; break;
#endif
case GO_TO_BROWSEPLUGINS: case GO_TO_BROWSEPLUGINS:
filter = SHOW_PLUGINS; filter = SHOW_PLUGINS;
snprintf(folder, MAX_PATH, "%s/", PLUGIN_DIR); snprintf(folder, MAX_PATH, "%s/", PLUGIN_DIR);
@ -113,9 +119,11 @@ static int browser(void* param)
case GO_TO_FILEBROWSER: case GO_TO_FILEBROWSER:
get_current_file(last_folder, MAX_PATH); get_current_file(last_folder, MAX_PATH);
break; break;
#ifdef HAVE_TAGCACHE
case GO_TO_DBBROWSER: case GO_TO_DBBROWSER:
last_db_dirlevel = tc->dirlevel; last_db_dirlevel = tc->dirlevel;
break; break;
#endif
} }
/* hopefully only happens trying to go back into the WPS /* hopefully only happens trying to go back into the WPS
from plugins, if music is stopped... */ from plugins, if music is stopped... */
@ -223,8 +231,10 @@ int item_callback(int action, const struct menu_item_ex *this_item) ;
MENUITEM_RETURNVALUE(file_browser, ID2P(LANG_DIR_BROWSER), GO_TO_FILEBROWSER, MENUITEM_RETURNVALUE(file_browser, ID2P(LANG_DIR_BROWSER), GO_TO_FILEBROWSER,
NULL, Icon_file_view_menu); NULL, Icon_file_view_menu);
#ifdef HAVE_TAGCACHE
MENUITEM_RETURNVALUE(db_browser, ID2P(LANG_TAGCACHE), GO_TO_DBBROWSER, MENUITEM_RETURNVALUE(db_browser, ID2P(LANG_TAGCACHE), GO_TO_DBBROWSER,
NULL, Icon_Audio); NULL, Icon_Audio);
#endif
MENUITEM_RETURNVALUE(rocks_browser, ID2P(LANG_PLUGINS), GO_TO_BROWSEPLUGINS, MENUITEM_RETURNVALUE(rocks_browser, ID2P(LANG_PLUGINS), GO_TO_BROWSEPLUGINS,
NULL, Icon_Plugin); NULL, Icon_Plugin);
char *get_wps_item_name(int selected_item, void * data, char *buffer) char *get_wps_item_name(int selected_item, void * data, char *buffer)
@ -259,7 +269,10 @@ MENUITEM_FUNCTION(do_shutdown_item, ID2P(LANG_SHUTDOWN), do_shutdown, NULL, Icon
#endif #endif
MAKE_MENU(root_menu_, ID2P(LANG_ROCKBOX_TITLE), MAKE_MENU(root_menu_, ID2P(LANG_ROCKBOX_TITLE),
NULL, Icon_Rockbox, NULL, Icon_Rockbox,
&bookmarks, &file_browser, &db_browser, &bookmarks, &file_browser,
#ifdef HAVE_TAGCACHE
&db_browser,
#endif
&wps_item, &menu_, &wps_item, &menu_,
#ifdef HAVE_RECORDING #ifdef HAVE_RECORDING
&rec, &rec,
@ -365,16 +378,20 @@ void root_menu(void)
break; break;
case GO_TO_PREVIOUS_BROWSER: case GO_TO_PREVIOUS_BROWSER:
#ifdef HAVE_TAGCACHE
if ((previous_browser == GO_TO_DBBROWSER) && if ((previous_browser == GO_TO_DBBROWSER) &&
!tagcache_is_usable()) !tagcache_is_usable())
ret_val = GO_TO_FILEBROWSER; ret_val = GO_TO_FILEBROWSER;
else else
#endif
ret_val = previous_browser; ret_val = previous_browser;
/* fall through */ /* fall through */
case GO_TO_FILEBROWSER: case GO_TO_FILEBROWSER:
#ifdef HAVE_TAGCACHE
case GO_TO_DBBROWSER: case GO_TO_DBBROWSER:
previous_browser = ret_val; previous_browser = ret_val;
break; break;
#endif
case GO_TO_PREVIOUS_MUSIC: case GO_TO_PREVIOUS_MUSIC:
ret_val = previous_music; ret_val = previous_music;