From 37e386f3d81ebe7ad4f32e919d529391f8f4ced0 Mon Sep 17 00:00:00 2001 From: Miika Pekkarinen Date: Sat, 8 Apr 2006 08:59:47 +0000 Subject: Show progress when searching tagcache. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9560 a1c6a512-1295-4272-9138-f99709370657 --- apps/tagtree.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'apps') diff --git a/apps/tagtree.c b/apps/tagtree.c index db35ee0d0c..1756617629 100644 --- a/apps/tagtree.c +++ b/apps/tagtree.c @@ -363,6 +363,7 @@ int tagtree_load(struct tree_context* c) int namebufused = 0; struct tagentry *dptr = (struct tagentry *)c->dircache; bool sort = false; + int last_tick; int table = c->currtable; int extra = c->currextra; @@ -395,6 +396,12 @@ int tagtree_load(struct tree_context* c) case navibrowse: logf("navibrowse..."); +#ifdef HAVE_TC_RAMCACHE + if (!tagcache_is_ramcache()) +#endif + gui_syncsplash(0, true, str(LANG_PLAYLIST_SEARCH_MSG), + 0, csi->name); + tagcache_search(&tcs, csi->tagorder[extra]); for (i = 0; i < extra; i++) { @@ -421,6 +428,7 @@ int tagtree_load(struct tree_context* c) i = 0; namebufused = 0; c->dirfull = false; + last_tick = current_tick; while (tagcache_get_next(&tcs)) { dptr->newtable = tcs.result_seek; @@ -473,6 +481,19 @@ int tagtree_load(struct tree_context* c) break ; } + if (!tcs.ramsearch && current_tick - last_tick > HZ/2) + { + gui_syncsplash(0, true, str(LANG_PLAYLIST_SEARCH_MSG), i, +#if CONFIG_KEYPAD == PLAYER_PAD + str(LANG_STOP_ABORT) +#else + str(LANG_OFF_ABORT) +#endif + ); + if (SETTINGS_CANCEL == button_get(false)) + break ; + last_tick = current_tick; + } } if (sort) -- cgit v1.2.3