Cleaner image loading setup
This commit is contained in:
@@ -15,7 +15,7 @@ from .image_view import ImageView, PImage
|
|||||||
|
|
||||||
|
|
||||||
class Image(Gtk.EventBox):
|
class Image(Gtk.EventBox):
|
||||||
def __init__(self, path = None):
|
def __init__(self, path: str):
|
||||||
super(Image, self).__init__()
|
super(Image, self).__init__()
|
||||||
|
|
||||||
self._thumbnail_with = settings.get_thumbnail_with()
|
self._thumbnail_with = settings.get_thumbnail_with()
|
||||||
@@ -66,10 +66,13 @@ class Image(Gtk.EventBox):
|
|||||||
if path.endswith(".gif"):
|
if path.endswith(".gif"):
|
||||||
pixbuf = GdkPixbuf.PixbufAnimation.new_from_file(path).get_static_image()
|
pixbuf = GdkPixbuf.PixbufAnimation.new_from_file(path).get_static_image()
|
||||||
|
|
||||||
if not pixbuf:
|
if pixbuf:
|
||||||
try:
|
return pixbuf.scale_simple(w, h, 2) # 2 = BILINEAR and is best by default
|
||||||
pixbuf = Gtk.Image.new_from_file(path).get_pixbuf()
|
|
||||||
except Exception:
|
try:
|
||||||
pixbuf = Gtk.Image.new_from_resource(path).get_pixbuf()
|
return GdkPixbuf.Pixbuf.new_from_file_at_scale(path, w, h, True)
|
||||||
|
except Exception:
|
||||||
|
return Gtk.Image.new_from_resource(path) \
|
||||||
|
.get_pixbuf() \
|
||||||
|
.scale_simple(w, h, 2) # 2 = BILINEAR and is best by default
|
||||||
|
|
||||||
return pixbuf.scale_simple(w, h, 2) # 2 = BILINEAR and is best by default
|
|
||||||
|
|||||||
Reference in New Issue
Block a user