playlist: Add a Title column to the PlaylistView
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
8e7db2c472
commit
0cdc83c21e
|
@ -36,6 +36,11 @@ class TracknoFactory(LabelFactory):
|
|||
def get_track_text(self, track): return f"{track.disc.number}-{track.number:02}"
|
||||
|
||||
|
||||
class TitleFactory(LabelFactory):
|
||||
def __init__(self): LabelFactory.__init__(self, xalign=0)
|
||||
def get_track_text(self, track): return track.title
|
||||
|
||||
|
||||
class Column(Gtk.ColumnViewColumn):
|
||||
def __init__(self, title, factory, width=-1, **kwargs):
|
||||
Gtk.ColumnViewColumn.__init__(self, title=title, **kwargs)
|
||||
|
@ -51,6 +56,7 @@ class Column(Gtk.ColumnViewColumn):
|
|||
|
||||
|
||||
def TracknoColumn(): return Column("#", TracknoFactory())
|
||||
def TitleColumn(): return Column("Title", TitleFactory(), width=250, expand=True)
|
||||
|
||||
|
||||
class OldColumn(Gtk.ColumnViewColumn):
|
||||
|
|
|
@ -54,6 +54,11 @@ class TestColumnFactories(unittest.TestCase):
|
|||
self.assertEqual(factory.get_track_text(self.track), "1-01")
|
||||
self.assertEqual(factory.xalign, 1)
|
||||
|
||||
def test_title(self):
|
||||
factory = column.TitleFactory()
|
||||
self.assertIsInstance(factory, column.LabelFactory)
|
||||
self.assertEqual(factory.get_track_text(self.track), "Test Track")
|
||||
|
||||
|
||||
class TestColumn(unittest.TestCase):
|
||||
def test_init(self):
|
||||
|
@ -88,6 +93,14 @@ class TestColumns(unittest.TestCase):
|
|||
self.assertIsInstance(col.get_factory(), column.TracknoFactory)
|
||||
self.assertEqual(col.get_title(), "#")
|
||||
|
||||
def test_title(self):
|
||||
col = column.TitleColumn()
|
||||
self.assertIsInstance(col, column.Column)
|
||||
self.assertIsInstance(col.get_factory(), column.TitleFactory)
|
||||
self.assertEqual(col.get_title(), "Title")
|
||||
self.assertEqual(col.get_fixed_width(), 250)
|
||||
self.assertTrue(col.get_expand())
|
||||
|
||||
|
||||
class TestPlaylistColumn(unittest.TestCase):
|
||||
def tearDown(self):
|
||||
|
|
|
@ -13,6 +13,7 @@ class PlaylistView(Gtk.ColumnView):
|
|||
self.set_vexpand(True)
|
||||
|
||||
self.append_column(column.TracknoColumn())
|
||||
self.append_column(column.TitleColumn())
|
||||
|
||||
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