[gnome-music/wip/mschraal/core: 93/93] coredisc: Make model on-demand
- From: Marinus Schraal <mschraal src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-music/wip/mschraal/core: 93/93] coredisc: Make model on-demand
- Date: Fri, 21 Jun 2019 22:48:30 +0000 (UTC)
commit fecd146497da2747285c246e2ab26f379a3bcd75
Author: Marinus Schraal <mschraal gnome org>
Date: Sat Jun 22 00:38:39 2019 +0200
coredisc: Make model on-demand
breaks play?
gnomemusic/coredisc.py | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
---
diff --git a/gnomemusic/coredisc.py b/gnomemusic/coredisc.py
index a8e9319d..215aec3e 100644
--- a/gnomemusic/coredisc.py
+++ b/gnomemusic/coredisc.py
@@ -17,17 +17,26 @@ class CoreDisc(GObject.GObject):
super().__init__()
self._coremodel = coremodel
+ self._filter_model = None
+ self._model = None
self._old_album_ids = []
+ self._sort_model = None
+
+ self.update(media)
self.props.disc_nr = nr
+ def update(self, media):
+ self.props.media = media
+
+ @GObject.Property(type=Gio.ListModel, default=None)
+ def model(self):
self._filter_model = Dazzle.ListModelFilter.new(
self._coremodel.get_model())
self._filter_model.set_filter_func(lambda a: False)
self._sort_model = Gfm.SortListModel.new(self._filter_model)
self._sort_model.set_sort_func(self._wrap_sort_func(self._disc_sort))
- self.props.model = self._sort_model
- self.update(media)
+ self._model = self._sort_model
self._coremodel.get_model().connect(
"items-changed", self._on_core_changed)
@@ -35,8 +44,7 @@ class CoreDisc(GObject.GObject):
self._get_album_disc(
self.props.media, self.props.disc_nr, self._filter_model)
- def update(self, media):
- self.props.media = media
+ return self._model
def _on_core_changed(self, model, position, removed, added):
self._get_album_disc(
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]