playlist: Add a PlayCount column to the PlaylistView
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
36893317c2
commit
67d0ba4e44
|
@ -68,6 +68,11 @@ class YearFactory(LabelFactory):
|
|||
def get_track_text(self, track): return str(track.year.year)
|
||||
|
||||
|
||||
class PlayCountFactory(LabelFactory):
|
||||
def __init__(self): LabelFactory.__init__(self, xalign=1)
|
||||
def get_track_text(self, track): return str(track.playcount)
|
||||
|
||||
|
||||
class Column(Gtk.ColumnViewColumn):
|
||||
def __init__(self, title, factory, width=-1, **kwargs):
|
||||
Gtk.ColumnViewColumn.__init__(self, title=title, **kwargs)
|
||||
|
@ -89,6 +94,7 @@ def ArtistColumn(): return Column("Artist", ArtistFactory(), width=150, expand=T
|
|||
def AlbumColumn(): return Column("Album", AlbumFactory(), width=150, expand=True)
|
||||
def SubtitleColumn(): return Column("Subtitle", SubtitleFactory(), width=150, expand=True)
|
||||
def YearColumn(): return Column("Year", YearFactory())
|
||||
def PlayCountColumn(): return Column("Count", PlayCountFactory())
|
||||
|
||||
|
||||
class OldColumn(Gtk.ColumnViewColumn):
|
||||
|
|
|
@ -88,6 +88,12 @@ class TestColumnFactories(unittest.TestCase):
|
|||
self.assertEqual(factory.get_track_text(self.track), "2021")
|
||||
self.assertEqual(factory.xalign, 1)
|
||||
|
||||
def test_playcount(self):
|
||||
factory = column.PlayCountFactory()
|
||||
self.assertIsInstance(factory, column.LabelFactory)
|
||||
self.assertEqual(factory.get_track_text(self.track), "0")
|
||||
self.assertEqual(factory.xalign, 1)
|
||||
|
||||
|
||||
class TestColumn(unittest.TestCase):
|
||||
def test_init(self):
|
||||
|
@ -166,6 +172,12 @@ class TestColumns(unittest.TestCase):
|
|||
self.assertIsInstance(col.get_factory(), column.YearFactory)
|
||||
self.assertEqual(col.get_title(), "Year")
|
||||
|
||||
def test_playcount(self):
|
||||
col = column.PlayCountColumn()
|
||||
self.assertIsInstance(col, column.Column)
|
||||
self.assertIsInstance(col.get_factory(), column.PlayCountFactory)
|
||||
self.assertEqual(col.get_title(), "Count")
|
||||
|
||||
|
||||
class TestPlaylistColumn(unittest.TestCase):
|
||||
def tearDown(self):
|
||||
|
|
|
@ -19,6 +19,7 @@ class PlaylistView(Gtk.ColumnView):
|
|||
self.append_column(column.AlbumColumn())
|
||||
self.append_column(column.SubtitleColumn())
|
||||
self.append_column(column.YearColumn())
|
||||
self.append_column(column.PlayCountColumn())
|
||||
|
||||
def get_filter_model(self): return self.get_model().get_filter_model()
|
||||
def get_playlist(self): return self.get_model().get_playlist()
|
||||
|
|
Loading…
Reference in New Issue