summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiika Pekkarinen <miipekk@ihme.org>2006-04-08 08:59:47 +0000
committerMiika Pekkarinen <miipekk@ihme.org>2006-04-08 08:59:47 +0000
commit37e386f3d81ebe7ad4f32e919d529391f8f4ced0 (patch)
tree7275159b628ed2a710306f865271cfcdd6e3173a
parent53e921c4c3539fc63b85e9075986d1486b02e48c (diff)
downloadrockbox-37e386f3d81ebe7ad4f32e919d529391f8f4ced0.zip
rockbox-37e386f3d81ebe7ad4f32e919d529391f8f4ced0.tar.gz
rockbox-37e386f3d81ebe7ad4f32e919d529391f8f4ced0.tar.bz2
rockbox-37e386f3d81ebe7ad4f32e919d529391f8f4ced0.tar.xz
Show progress when searching tagcache.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9560 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/tagtree.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/apps/tagtree.c b/apps/tagtree.c
index db35ee0..1756617 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)