playlist: Create a SortOrderView

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2021-11-08 15:04:45 -05:00
parent fd728a7a99
commit d0049e4951
2 changed files with 26 additions and 0 deletions

View File

@ -3,6 +3,7 @@ import db
import unittest
from gi.repository import Gtk
from . import model
from . import sort
from . import view
class TestPlaylistView(unittest.TestCase):
@ -36,3 +37,17 @@ class TestPlaylistWindow(unittest.TestCase):
self.assertIsNone(window.get_playlist())
window.set_playlist(collection)
self.assertEqual(window.get_playlist(), collection)
class TestSortOrderView(unittest.TestCase):
def test_init(self):
collection = db.user.Table.find("Collection")
sview = view.SortOrderView()
self.assertIsInstance(sview, Gtk.ListView)
self.assertIsInstance(sview.get_model(), Gtk.NoSelection)
self.assertIsInstance(sview.get_model().get_model(), model.FlatSortModel)
self.assertIsInstance(sview.get_factory(), sort.Factory)
sview.set_playlist(collection)
self.assertEqual(sview.get_model().get_model().get_enabled_model().playlist, collection)

View File

@ -2,6 +2,7 @@
from gi.repository import Gtk
from . import column
from . import model
from . import sort
class PlaylistView(Gtk.ColumnView):
def __init__(self):
@ -35,3 +36,13 @@ class PlaylistWindow(Gtk.ScrolledWindow):
def get_filter_model(self): return self.get_child().get_filter_model()
def get_playlist(self): return self.get_child().get_playlist()
def set_playlist(self, plist): self.get_child().set_playlist(plist)
class SortOrderView(Gtk.ListView):
def __init__(self):
Gtk.ListView.__init__(self)
self.set_model(Gtk.NoSelection.new(model.FlatSortModel()))
self.set_factory(sort.Factory(self.get_model().get_model()))
def set_playlist(self, plist):
self.get_model().get_model().set_playlist(plist)