diff options
Diffstat (limited to 'atoidejouer/ui/panel/sound.py')
-rw-r--r-- | atoidejouer/ui/panel/sound.py | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/atoidejouer/ui/panel/sound.py b/atoidejouer/ui/panel/sound.py index 2a76332..27a2062 100644 --- a/atoidejouer/ui/panel/sound.py +++ b/atoidejouer/ui/panel/sound.py @@ -22,15 +22,16 @@ COLOR_GREY_WHITE = ui.get_color(0.85, 0.85, 0.85) COLOR_WHITE = ui.get_color(1.0, 1.0, 1.0) -def _cb_on_click(button, panel_sound, key): +def _cb_on_click(button, panel_sound, key, event): pass - # TODO - update edit panel def _cb_on_remove(panel_sound, key, button): - # udpate DB + # remove image on right click story.DB()._del(key) + panel_sound.refresh() # TODO - update edit panel + panel_sound.screen.panel_edit.refresh() def _set_bg(widget): @@ -69,6 +70,8 @@ class PanelSound(gtk.Frame): self.set_size_request(-1, 140) # do show self.show() + # keep the screen + self.screen = screen # keep item list for the sequence self.keys = list() self._current = None @@ -152,7 +155,7 @@ class PanelSound(gtk.Frame): # do remove self.__remove(_index) - def add_key(self, key): + def add_key(self, key, pos=None): # .. _item_box = gtk.HBox(homogeneous=False, spacing=2) _item_box.show() @@ -176,6 +179,7 @@ class PanelSound(gtk.Frame): _set_bg(_item) _item.set_size_request(96, 78) _item.set_relief(gtk.RELIEF_NONE) + _item.add_events(gtk.gdk.BUTTON_PRESS_MASK) _item.connect('clicked', _cb_on_click, self, key) _item.show() # add a picture here @@ -195,4 +199,10 @@ class PanelSound(gtk.Frame): partial(_cb_on_remove, self, key)) def refresh(self): - pass + self.clear() + # get the current frame + _time = 0.0 if self.screen.toolbar.activity._thread is None\ + else self.screen.toolbar.activity._thread._time + # get the current rate + for _k in story.DB().get(story.Key(mime_type='audio/ogg', time=_time)): + self.add_key(_k) |