[gnome-music/wip/mschraal/core: 89/93] coremodel: Move CoreDisc to a seperate source
- From: Marinus Schraal <mschraal src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-music/wip/mschraal/core: 89/93] coremodel: Move CoreDisc to a seperate source
- Date: Fri, 21 Jun 2019 22:48:10 +0000 (UTC)
commit e9225dbd1433ff191095e5cbe1132125aac7f553
Author: Marinus Schraal <mschraal gnome org>
Date: Fri Jun 21 16:22:08 2019 +0200
coremodel: Move CoreDisc to a seperate source
gnomemusic/coredisc.py | 33 +++++++++++++++++++++++++++++++++
gnomemusic/coremodel.py | 27 +--------------------------
2 files changed, 34 insertions(+), 26 deletions(-)
---
diff --git a/gnomemusic/coredisc.py b/gnomemusic/coredisc.py
new file mode 100644
index 00000000..97e44c63
--- /dev/null
+++ b/gnomemusic/coredisc.py
@@ -0,0 +1,33 @@
+import gi
+from gi.repository import GObject, Gio, Gfm, Grl, GLib
+from gi._gi import pygobject_new_full
+
+from gnomemusic.coregrilo import CoreGrilo
+from gnomemusic.coresong import CoreSong
+
+
+class CoreDisc(GObject.GObject):
+
+ duration = GObject.Property(type=int, default=None)
+ media = GObject.Property(type=Grl.Media, default=None)
+ model = GObject.Property(type=Gio.ListModel, default=None)
+
+ def __init__(self, media, model):
+ super().__init__()
+
+ self.props.model = model
+ self.update(media)
+
+ self.props.model.connect("items-changed", self._on_list_items_changed)
+
+ def update(self, media):
+ self.props.media = media
+
+ def _on_list_items_changed(self, model, pos, removed, added):
+ print("items changed")
+ duration = 0
+
+ for coresong in model:
+ duration += coresong.props.duration
+
+ self.props.duration = duration
diff --git a/gnomemusic/coremodel.py b/gnomemusic/coremodel.py
index 2fde31cb..6711dd4a 100644
--- a/gnomemusic/coremodel.py
+++ b/gnomemusic/coremodel.py
@@ -5,6 +5,7 @@ from gi._gi import pygobject_new_full
from gnomemusic import log
from gnomemusic.coreartist import CoreArtist
+from gnomemusic.coredisc import CoreDisc
from gnomemusic.coregrilo import CoreGrilo
from gnomemusic.coresong import CoreSong
from gnomemusic.grilo import grilo
@@ -26,32 +27,6 @@ from gnomemusic.widgets.songwidget import SongWidget
# occurences of the same song: same grilo id, but unique object.
-class CoreDisc(GObject.GObject):
-
- duration = GObject.Property(type=int, default=None)
- media = GObject.Property(type=Grl.Media, default=None)
- model = GObject.Property(type=Gio.ListModel, default=None)
-
- def __init__(self, media, model):
- super().__init__()
-
- self.props.model = model
- self.update(media)
-
- self.props.model.connect("items-changed", self._on_list_items_changed)
-
- def update(self, media):
- self.props.media = media
-
- def _on_list_items_changed(self, model, pos, removed, added):
- duration = 0
-
- for coresong in model:
- duration += coresong.props.duration
-
- self.props.duration = duration
-
-
class CoreArtistAlbum(GObject.GObject):
media = GObject.Property(type=Grl.Media, default=None)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]