summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorMiika Pekkarinen <miipekk@ihme.org>2006-07-26 06:44:39 +0000
committerMiika Pekkarinen <miipekk@ihme.org>2006-07-26 06:44:39 +0000
commit7374ca75f7b62e44ada6d9b0aade9d4c6a770db8 (patch)
treee2214fc1eb2b6e328e7449de4e03ae488e8cdf2a /apps
parent073d73be51079078e48d51cafe79c3b87cc835ed (diff)
downloadrockbox-7374ca75f7b62e44ada6d9b0aade9d4c6a770db8.zip
rockbox-7374ca75f7b62e44ada6d9b0aade9d4c6a770db8.tar.gz
rockbox-7374ca75f7b62e44ada6d9b0aade9d4c6a770db8.tar.bz2
rockbox-7374ca75f7b62e44ada6d9b0aade9d4c6a770db8.tar.xz
Fixed single track insertion to playlist from tagcache. Fixes FS#5719.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10328 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/tagtree.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/apps/tagtree.c b/apps/tagtree.c
index b92e4cb..b5ec10b 100644
--- a/apps/tagtree.c
+++ b/apps/tagtree.c
@@ -424,7 +424,7 @@ static void tagtree_unbuffer_event(struct mp3entry *id3, bool last_track)
bool tagtree_export(void)
{
- gui_syncsplash(0, true, str(LANG_WAIT));
+ gui_syncsplash(0, true, str(LANG_CREATING));
if (!tagcache_create_changelog(&tcs))
{
gui_syncsplash(HZ*2, true, str(LANG_FAILED));
@@ -962,10 +962,24 @@ bool insert_all_playlist(struct tree_context *c, int position, bool queue)
bool tagtree_insert_selection_playlist(int position, bool queue)
{
struct tagentry *dptr;
+ char buf[MAX_PATH];
int dirlevel = tc->dirlevel;
dptr = tagtree_get_entry(tc, tc->selected_item);
+ /* Insert a single track? */
+ if (dptr->newtable == playtrack)
+ {
+ if (tagtree_get_filename(tc, buf, sizeof buf) < 0)
+ {
+ logf("tagtree_get_filename failed");
+ return false;
+ }
+ playlist_insert_track(NULL, buf, position, queue);
+
+ return true;
+ }
+
/* We need to set the table to allsubentries. */
if (dptr->newtable == navibrowse)
{