[gnome-music/wip/mschraal/artrework: 17/23] split out GtkImage
- From: Marinus Schraal <mschraal src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-music/wip/mschraal/artrework: 17/23] split out GtkImage
- Date: Tue, 23 Jan 2018 00:41:01 +0000 (UTC)
commit 41bf04454afb8094d8450b5a6dd098609896bc49
Author: Marinus Schraal <mschraal gnome org>
Date: Mon Jan 15 14:23:29 2018 +0100
split out GtkImage
gnomemusic/albumartcache.py | 30 ++++++++++++++++++------------
gnomemusic/views/albumsview.py | 4 ++--
2 files changed, 20 insertions(+), 14 deletions(-)
---
diff --git a/gnomemusic/albumartcache.py b/gnomemusic/albumartcache.py
index 651df69..9f96f71 100644
--- a/gnomemusic/albumartcache.py
+++ b/gnomemusic/albumartcache.py
@@ -230,7 +230,6 @@ class Art(GObject.GObject):
def __init__(self, size, media):
super().__init__()
- self._image = None
self._size = size
self._media = media
self._media_url = self._media.get_url()
@@ -263,9 +262,6 @@ class Art(GObject.GObject):
surface = _make_icon_frame(pixbuf, self._size, self._scale)
self._surface = surface
- if self._image:
- self._image.set_from_surface(self._surface)
-
def _embedded_art_found(self, klass):
self._embedded_queue.pop()
@@ -303,9 +299,6 @@ class Art(GObject.GObject):
self._surface = DefaultIcon(self._scale).get(
DefaultIcon.Type.music, self._size)
- if self._image:
- self._image.set_from_surface(self._surface)
-
def _add_to_blacklist(self):
album = utils.get_album_title(self._media)
artist = utils.get_artist_name(self._media)
@@ -327,6 +320,24 @@ class Art(GObject.GObject):
return False
+
+class ArtImage(Art):
+
+ def __init__(self, size, media):
+ super().__init__(size, media)
+
+ self._image = None
+
+ def _cache_hit(self, klass, pixbuf):
+ super()._cache_hit(klass, pixbuf)
+
+ self._image.set_from_surface(self._surface)
+
+ def _no_art_available(self):
+ super()._no_art_available()
+
+ self._image.set_from_surface(self._surface)
+
@GObject.Property
@log
def image(self):
@@ -349,11 +360,6 @@ class Art(GObject.GObject):
self._start_art_lookup()
-class ArtImage(Art):
-
- def __init__(self, size, media):
- super().__init__(size, media)
-
class ArtPixbuf(Art):
diff --git a/gnomemusic/views/albumsview.py b/gnomemusic/views/albumsview.py
index 8a37cae..97e5ee2 100644
--- a/gnomemusic/views/albumsview.py
+++ b/gnomemusic/views/albumsview.py
@@ -26,7 +26,7 @@ from gettext import gettext as _
from gi.repository import GLib, GObject, Gtk, Gdk
from gnomemusic import log
-from gnomemusic.albumartcache import Art
+from gnomemusic.albumartcache import Art, ArtImage
from gnomemusic.grilo import grilo
from gnomemusic.toolbar import ToolbarState
from gnomemusic.views.baseview import BaseView
@@ -182,7 +182,7 @@ class AlbumsView(BaseView):
child.add(builder.get_object('main_box'))
child.show()
- art = Art(Art.Size.MEDIUM, item)
+ art = ArtImage(Art.Size.MEDIUM, item)
art.image = child.image
return child
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]