db: Set the Queued Tracks playlist as active when adding tracks

I do this unconditionally, so even if the track is already on the
playlist we set it as active. I think this is what the user would
expect, but I'm open to revising this approach later.

Fixes: #62 ("Queueing tracks doesn't activate the Queued Tracks playlist")
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2023-06-06 09:22:22 -04:00
parent 93cdd9137a
commit 59fb7d12f3
2 changed files with 8 additions and 0 deletions

View File

@ -113,6 +113,9 @@ class Table(playlist.Table):
case self.previous:
self.add_system_track(playlist, track)
return True
case self.queued:
self.sql.set_active_playlist(playlist)
return self.add_user_track(playlist, track)
case self.unplayed: return track.playcount == 0
case _: return self.add_user_track(playlist, track)

View File

@ -615,6 +615,11 @@ class TestSystemPlaylists(tests.util.TestCase):
self.table.queued.propertyid).fetchall()
self.assertEqual(len(rows), 1)
self.assertEqual(rows[0]["trackid"], self.track.trackid)
self.assertEqual(self.sql.active_playlist, self.table.queued)
self.sql.set_active_playlist(self.table.collection)
self.table.queued.add_track(self.track)
self.assertEqual(self.sql.active_playlist, self.table.queued)
self.library.deleting = True
self.table.queued.reload_tracks()