Audio: use ElmLayout instead of pure Edje
This way I do not need to manually delete the swallowed images
This commit is contained in:
parent
421ee244a7
commit
8b36f1a429
|
@ -11,8 +11,8 @@ from efl import ecore
|
|||
from efl import evas
|
||||
from efl import edje
|
||||
from efl.dbus_mainloop import DBusEcoreMainLoop
|
||||
from efl.elementary.icon import Icon
|
||||
from efl.elementary.label import Label
|
||||
from efl.elementary.layout import Layout
|
||||
from efl.elementary.slider import Slider
|
||||
|
||||
|
||||
|
@ -104,17 +104,11 @@ class Gadget(e.Gadget):
|
|||
for player, objs in self.player_objs.items():
|
||||
while obj in objs: objs.remove(obj)
|
||||
|
||||
# delete the cover image
|
||||
cover = obj.part_swallow_get('cover.swallow')
|
||||
if cover: cover.delete()
|
||||
|
||||
# and finally delete the player edje obj
|
||||
obj.delete()
|
||||
|
||||
def popup_player_add(self, popup, player):
|
||||
# create the edje obj for this player from 'e/gadgets/audio/player'
|
||||
o = edje.Edje(popup.evas, update_hints=True)
|
||||
o = Layout(popup)
|
||||
e.theme_object_set(o, 'audio', 'player')
|
||||
o.size_hint_min = o.edje.size_min
|
||||
|
||||
o.signal_callback_add('act,play', '', lambda o,sig,src: player.play())
|
||||
o.signal_callback_add('act,prev', '', lambda o,sig,src: player.prev())
|
||||
|
@ -145,10 +139,6 @@ class Gadget(e.Gadget):
|
|||
def player_removed(self, player):
|
||||
if player in self.player_objs:
|
||||
for o in self.player_objs[player]:
|
||||
# delete the cover image
|
||||
cover = o.part_swallow_get('cover.swallow')
|
||||
if cover: cover.delete()
|
||||
# delete the edje object
|
||||
o.delete()
|
||||
# remove the player from our list
|
||||
del self.player_objs[player]
|
||||
|
@ -165,7 +155,7 @@ class Gadget(e.Gadget):
|
|||
obj.signal_emit('state,set,playing', '')
|
||||
else:
|
||||
obj.signal_emit('state,set,paused', '')
|
||||
|
||||
|
||||
# metadata
|
||||
txt = ''
|
||||
if 'xesam:title' in player.metadata:
|
||||
|
@ -177,7 +167,7 @@ class Gadget(e.Gadget):
|
|||
obj.part_text_set('metadata', txt)
|
||||
|
||||
# cover image
|
||||
img = obj.part_swallow_get('cover.swallow')
|
||||
img = obj.content_unset('cover.swallow')
|
||||
if img: img.delete()
|
||||
|
||||
if 'mpris:artUrl' in player.metadata:
|
||||
|
@ -185,7 +175,7 @@ class Gadget(e.Gadget):
|
|||
fname = fname.replace('file://', '')
|
||||
try:
|
||||
img = evas.FilledImage(obj.evas, file=fname)
|
||||
obj.part_swallow('cover.swallow', img)
|
||||
obj.content_set('cover.swallow', img)
|
||||
except:
|
||||
pass
|
||||
|
||||
|
|
|
@ -305,6 +305,7 @@ collections {
|
|||
}
|
||||
|
||||
group { name: "e/gadgets/audio/player";
|
||||
min: 310 100;
|
||||
styles {
|
||||
style { name: "music_control_metadata_style";
|
||||
base: "font="FN" font_size=10 align=left color=#ffff style=shadow,bottom shadow_color=#00000080 wrap=mixed";
|
||||
|
|
Loading…
Reference in New Issue