playlist: Add a Subtitle column to the PlaylistView
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
7c009655ed
commit
81dc5f1b76
|
@ -58,6 +58,11 @@ class AlbumFactory(LabelFactory):
|
||||||
def get_track_text(self, track): return track.album.name
|
def get_track_text(self, track): return track.album.name
|
||||||
|
|
||||||
|
|
||||||
|
class SubtitleFactory(LabelFactory):
|
||||||
|
def __init__(self): LabelFactory.__init__(self, xalign=0)
|
||||||
|
def get_track_text(self, track): return track.disc.subtitle
|
||||||
|
|
||||||
|
|
||||||
class Column(Gtk.ColumnViewColumn):
|
class Column(Gtk.ColumnViewColumn):
|
||||||
def __init__(self, title, factory, width=-1, **kwargs):
|
def __init__(self, title, factory, width=-1, **kwargs):
|
||||||
Gtk.ColumnViewColumn.__init__(self, title=title, **kwargs)
|
Gtk.ColumnViewColumn.__init__(self, title=title, **kwargs)
|
||||||
|
@ -77,6 +82,7 @@ def TitleColumn(): return Column("Title", TitleFactory(), width=250, expand=True
|
||||||
def LengthColumn(): return Column("Length", LengthFactory())
|
def LengthColumn(): return Column("Length", LengthFactory())
|
||||||
def ArtistColumn(): return Column("Artist", ArtistFactory(), width=150, expand=True)
|
def ArtistColumn(): return Column("Artist", ArtistFactory(), width=150, expand=True)
|
||||||
def AlbumColumn(): return Column("Album", AlbumFactory(), width=150, expand=True)
|
def AlbumColumn(): return Column("Album", AlbumFactory(), width=150, expand=True)
|
||||||
|
def SubtitleColumn(): return Column("Subtitle", SubtitleFactory(), width=150, expand=True)
|
||||||
|
|
||||||
|
|
||||||
class OldColumn(Gtk.ColumnViewColumn):
|
class OldColumn(Gtk.ColumnViewColumn):
|
||||||
|
|
|
@ -75,6 +75,13 @@ class TestColumnFactories(unittest.TestCase):
|
||||||
self.assertIsInstance(factory, column.LabelFactory)
|
self.assertIsInstance(factory, column.LabelFactory)
|
||||||
self.assertEqual(factory.get_track_text(self.track), "Test Album")
|
self.assertEqual(factory.get_track_text(self.track), "Test Album")
|
||||||
|
|
||||||
|
def test_subtitle(self):
|
||||||
|
factory = column.SubtitleFactory()
|
||||||
|
self.assertIsInstance(factory, column.LabelFactory)
|
||||||
|
self.assertEqual(factory.get_track_text(self.track), "")
|
||||||
|
self.track.disc._subtitle = "Test Subtitle"
|
||||||
|
self.assertEqual(factory.get_track_text(self.track), "Test Subtitle")
|
||||||
|
|
||||||
|
|
||||||
class TestColumn(unittest.TestCase):
|
class TestColumn(unittest.TestCase):
|
||||||
def test_init(self):
|
def test_init(self):
|
||||||
|
@ -139,6 +146,14 @@ class TestColumns(unittest.TestCase):
|
||||||
self.assertEqual(col.get_fixed_width(), 150)
|
self.assertEqual(col.get_fixed_width(), 150)
|
||||||
self.assertTrue(col.get_expand())
|
self.assertTrue(col.get_expand())
|
||||||
|
|
||||||
|
def test_subtitle(self):
|
||||||
|
col = column.SubtitleColumn()
|
||||||
|
self.assertIsInstance(col, column.Column)
|
||||||
|
self.assertIsInstance(col.get_factory(), column.SubtitleFactory)
|
||||||
|
self.assertEqual(col.get_title(), "Subtitle")
|
||||||
|
self.assertEqual(col.get_fixed_width(), 150)
|
||||||
|
self.assertTrue(col.get_expand())
|
||||||
|
|
||||||
|
|
||||||
class TestPlaylistColumn(unittest.TestCase):
|
class TestPlaylistColumn(unittest.TestCase):
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
|
|
|
@ -17,6 +17,7 @@ class PlaylistView(Gtk.ColumnView):
|
||||||
self.append_column(column.LengthColumn())
|
self.append_column(column.LengthColumn())
|
||||||
self.append_column(column.ArtistColumn())
|
self.append_column(column.ArtistColumn())
|
||||||
self.append_column(column.AlbumColumn())
|
self.append_column(column.AlbumColumn())
|
||||||
|
self.append_column(column.SubtitleColumn())
|
||||||
|
|
||||||
def get_filter_model(self): return self.get_model().get_filter_model()
|
def get_filter_model(self): return self.get_model().get_filter_model()
|
||||||
def get_playlist(self): return self.get_model().get_playlist()
|
def get_playlist(self): return self.get_model().get_playlist()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user