From 6e1da0f7b4fa1188d2df55ad5ad43d7961ea1ff6 Mon Sep 17 00:00:00 2001 From: Anna Schumaker Date: Tue, 29 Jun 2021 12:52:09 -0400 Subject: [PATCH] playlist: Have the last column expand to fill any remaining space Signed-off-by: Anna Schumaker --- playlist/__init__.py | 2 +- playlist/column.py | 3 ++- playlist/test_column.py | 4 ++++ test_playlist.py | 22 +++++++++++++++++----- 4 files changed, 24 insertions(+), 7 deletions(-) diff --git a/playlist/__init__.py b/playlist/__init__.py index 06c540d..53acfc0 100644 --- a/playlist/__init__.py +++ b/playlist/__init__.py @@ -9,7 +9,7 @@ View.set_hexpand(True) View.set_model(Selection) View.append_column(column.Column("#")) -View.append_column(column.Column("Title", width=250)) +View.append_column(column.Column("Title", width=250, expand=True)) View.append_column(column.Column("Length")) View.append_column(column.Column("Artist", width=150)) View.append_column(column.Column("Album", width=150)) diff --git a/playlist/column.py b/playlist/column.py index f31fb92..fd54b3d 100644 --- a/playlist/column.py +++ b/playlist/column.py @@ -3,12 +3,13 @@ from lib import settings from gi.repository import Gtk class Column(Gtk.ColumnViewColumn): - def __init__(self, title, width=-1): + def __init__(self, title, width=-1, expand=False): Gtk.ColumnViewColumn.__init__(self) settings.initialize(f"column.{title}", width) self.set_fixed_width(settings.get_int(f"column.{title}")) + self.set_expand(expand) self.set_resizable(True) self.set_title(title) self.connect("notify::fixed-width", self.on_width_changed) diff --git a/playlist/test_column.py b/playlist/test_column.py index 7ea5f71..ca2fa77 100644 --- a/playlist/test_column.py +++ b/playlist/test_column.py @@ -14,6 +14,10 @@ class TestPlaylistColumn(unittest.TestCase): self.assertEqual(col.get_title(), "Test") self.assertTrue(col.get_resizable()) + self.assertFalse(col.get_expand()) + + col = column.Column("Test2", expand=True) + self.assertTrue(col.get_expand()) def test_playlist_column_width(self): col = column.Column("Test", width=100) diff --git a/test_playlist.py b/test_playlist.py index a9f78b3..e55b520 100644 --- a/test_playlist.py +++ b/test_playlist.py @@ -3,9 +3,20 @@ from gi.repository import Gtk import playlist import unittest -columns = [ ("#", -1), ("Title", 250), ("Length", -1), - ("Artist", 150), ("Album", 150), - ("Year", -1), ("Count", -1), ("Last Played", 150) ] +class ColumnEV: + def __init__(self, title, width, expand): + self.title = title + self.width = width + self.expand = expand + +columns = [ ColumnEV("#", -1, False), + ColumnEV("Title", 250, True), + ColumnEV("Length", -1, False), + ColumnEV("Artist", 150, False), + ColumnEV("Album", 150, False), + ColumnEV("Year", -1, False), + ColumnEV("Count", -1, False), + ColumnEV("Last Played", 150, False) ] class TestPlaylist(unittest.TestCase): def test_playlist_init(self): @@ -19,5 +30,6 @@ class TestPlaylist(unittest.TestCase): self.assertTrue(playlist.View.get_hexpand()) for (i, c) in enumerate(playlist.View.get_columns()): - self.assertEqual(c.get_title(), columns[i][0]) - self.assertEqual(c.get_fixed_width(), columns[i][1]) + self.assertEqual(c.get_title(), columns[i].title) + self.assertEqual(c.get_fixed_width(), columns[i].width) + self.assertEqual(c.get_expand(), columns[i].expand)