curds: Two small playlist improvements

- Make a shortcut to the Starred playlist for the UI
- Always sort playlists, rather than sorting as soon as they become
visible

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2019-05-15 11:21:46 -04:00
parent e179fe6153
commit ec86ec7910
6 changed files with 11 additions and 8 deletions

View File

@ -15,8 +15,7 @@ Track = tags.Track
def reset():
notify.queued.clear()
tags.tag_map.clear()
playlist.Root.reset()
playlist.library.reset()
playlist.reset()
def stop():
playlist.library.stop()

View File

@ -6,3 +6,10 @@ from . import root
Library = library.LibraryPlaylist
Node = node.PlaylistNode
Root = root.Root
Starred = Root.lookup("Playlists").lookup("Starred")
def reset():
global Starred
Root.reset()
library.reset()
Starred = Root.lookup("Playlists").lookup("Starred")

View File

@ -41,7 +41,7 @@ class Playlist(node.PlaylistNode):
def add(self, track):
if track is not None and track not in self:
if len(self.sort_order) == 0 or self.visible == False:
if len(self.sort_order) == 0:
index = len(self.list)
else:
index = self.bisect_track(track)
@ -128,8 +128,6 @@ class Playlist(node.PlaylistNode):
def show(self):
self.visible = True
if len(self.sort_order) > 0:
self.list.sort(key=self.sort_key)
def sort(self, field):
if field in self.sort_order:

View File

@ -302,7 +302,6 @@ class TestPlaylist(unittest.TestCase):
path = os.path.join(test_library, "Test Artist 01", "Test Album 1")
plist = playlist.Playlist("Test Playlist")
tracks = [ ]
plist.show()
for i in range(1, 11):
if i == 2 or i == 3:

View File

@ -38,8 +38,7 @@ class PlaylistModel(GObject.GObject, Gtk.TreeModel):
if track == None:
return ""
if column == 0:
starred = curds.playlist.Root.lookup("Playlists").lookup("Starred")
if track in starred:
if track in curds.playlist.Starred:
return "starred"
return "non-starred"
elif column == 1:

View File

@ -14,6 +14,7 @@ class TestEmmental(unittest.TestCase):
self.assertEqual(curds.Playlist, curds.playlist.playlist.Playlist)
self.assertEqual(curds.playlist.Library, curds.playlist.library.LibraryPlaylist)
self.assertEqual(curds.playlist.Node, curds.playlist.node.PlaylistNode)
self.assertEqual(curds.playlist.Starred, curds.playlist.Root.lookup("Playlists").lookup("Starred"))
self.assertIsNotNone(curds.notify)
self.assertIsInstance(curds.playlist.Root, curds.playlist.root.PlaylistRoot)