diff options
author | florent <florent.pigout@gmail.com> | 2011-06-22 09:20:29 (GMT) |
---|---|---|
committer | florent <florent.pigout@gmail.com> | 2011-06-22 09:20:29 (GMT) |
commit | 4d981d9c821ffe563d56d841cb6687a49ca0ecf7 (patch) | |
tree | b621bec4b015d1e269553d0cf27d565fea5ba002 | |
parent | 6329f5f55e5e1b0a2fb8b2e877a4764cbff29d43 (diff) |
move remove frame to sequence action to preview item list for easier use
-rw-r--r-- | atoidejouer/ui/preview.py | 81 | ||||
-rw-r--r-- | atoidejouer/ui/toolbar.py | 20 |
2 files changed, 60 insertions, 41 deletions
diff --git a/atoidejouer/ui/preview.py b/atoidejouer/ui/preview.py index 81a6129..25c48f7 100644 --- a/atoidejouer/ui/preview.py +++ b/atoidejouer/ui/preview.py @@ -19,7 +19,7 @@ logger = logging.getLogger('atoidejouer') COLOR_GREY_DARK = ui.get_color(0.5, 0.5, 0.5) -COLOR_GREY_LIGHT = ui.get_color(0.7, 0.7, 0.7) +COLOR_GREY_LIGHT = ui.get_color(0.75, 0.75, 0.75) COLOR_GREY_WHITE = ui.get_color(0.85, 0.85, 0.85) COLOR_WHITE = ui.get_color(1.0, 1.0, 1.0) @@ -39,6 +39,29 @@ def _cb_on_click(button, sequence_preview, filename): _entry.set_text(_current) +def _cb_on_remove(button, sequence_preview, filename): + # set current first + sequence_preview.set_current(filename) + # udpate sequence preview + sequence_preview.remove_current() + # seq name + _seq_name = sequence_preview.screen.notebook.current_sequence + # .. + _keys = sequence_preview.screen.toolbar.activity.graphic_keys\ + if sequence_preview.screen.toolbar.name == 'graphics_add'\ + else sequence_preview.screen.toolbar.activity.sound_keys + # remove from keys + _keys.remove_filename_from_all(_seq_name, filename) + # update sequence file + storage.sequence_save(sequence_preview.screen.toolbar, remove=True) + + +def _set_preview_buttom_bg(button): + # set color + button.modify_bg(gtk.STATE_NORMAL, COLOR_GREY_LIGHT) + button.modify_bg(gtk.STATE_PRELIGHT, COLOR_GREY_WHITE) + button.modify_bg(gtk.STATE_ACTIVE, COLOR_WHITE) + class SequencePreview(gtk.Frame): def __init__(self, screen, type_): @@ -157,12 +180,15 @@ class SequencePreview(gtk.Frame): self.__remove(_index) def add_item(self, filename, pos=None): + # .. + _item_box = gtk.HBox(homogeneous=False, spacing=2) + _item_box.show() + self._hbox.pack_start(_item_box, expand=False, fill=False) # prepare vbox item _vbox = gtk.VBox(homogeneous=False, spacing=2) - # ... _vbox.show() + _item_box.pack_start(_vbox, expand=False, fill=False) # ... - self._hbox.pack_start(_vbox, expand=False, fill=False) # simple add if filename in self.items: pass @@ -176,27 +202,22 @@ class SequencePreview(gtk.Frame): # second pass .. reorder self._hbox.reorder_child(_vbox, pos) # init event box to manage color - _button = gtk.Button() - # ... - _vbox.pack_start(_button, expand=False, fill=True) - # set color - _button.modify_bg(gtk.STATE_NORMAL, COLOR_GREY_LIGHT) - _button.modify_bg(gtk.STATE_PRELIGHT, COLOR_GREY_WHITE) - _button.modify_bg(gtk.STATE_ACTIVE, COLOR_WHITE) + _item = gtk.Button() + _vbox.pack_start(_item, expand=False, fill=True) + # .. + _set_preview_buttom_bg(_item) # set size - _button.set_size_request(96, 78) + _item.set_size_request(96, 78) # set relief - _button.set_relief(gtk.RELIEF_NONE) + _item.set_relief(gtk.RELIEF_NONE) # cb - _button.connect('clicked', _cb_on_click, self, filename) + _item.connect('clicked', _cb_on_click, self, filename) # .. - _button.show() + _item.show() # add a picture here - _image = gtk.Image() - # show - _image.show() - # .. add - _button.add(_image) + _item_img = gtk.Image() + _item_img.show() + _item.add(_item_img) # get graphics path if self._type == 'graphics': _path = storage.get_image_path(filename) @@ -206,14 +227,32 @@ class SequencePreview(gtk.Frame): else: _path = storage.get_image_path('blank', dir_='data') # get pixbuff and update image - _image.set_from_pixbuf(image.get_pixbuf(_path, 96, 62)) + _item_img.set_from_pixbuf(image.get_pixbuf(_path, 96, 62)) # add label _label = gtk.Label(filename) # ... _label.show() # ... _vbox.pack_start(_label, expand=False, fill=True) - # set current + # .. remove button + _rm_button = gtk.Button() + _rm_button.show() + _rm_button.set_tooltip_text(_('Remove ') + filename) + # cb + _rm_button.connect('clicked', _cb_on_remove, self, filename) + # add + _item_box.pack_start(_rm_button, expand=False, fill=False) + # add a remove image here + _rm_img = gtk.Image() + _rm_img.show() + _rm_button.add(_rm_img) + _rm_button.set_size_request(30, 30) + # .. + _set_preview_buttom_bg(_rm_button) + # get pixbuff and update image + _path = storage.get_icon_path('less_small') + _rm_img.set_from_pixbuf(image.get_pixbuf(_path, 24, 24)) + # set current file nam eat the end self.set_current(filename) diff --git a/atoidejouer/ui/toolbar.py b/atoidejouer/ui/toolbar.py index 6b7fd4a..4a9600e 100644 --- a/atoidejouer/ui/toolbar.py +++ b/atoidejouer/ui/toolbar.py @@ -142,29 +142,9 @@ def _cb_remove(widget, toolbar): # browser screen factory if toolbar.name == 'graphics': pass - # add graphic to the sequence - elif toolbar.name in ['graphics_add', 'sounds_add']: - # .. - _screen = toolbar.activity.get_current_screen() - # udpate sequence preview - _screen.sequence_preview.remove_current() - # seq name - _seq_name = _screen.notebook.current_sequence - _file_name = _screen.notebook.current_item - # .. - _keys = toolbar.activity.graphic_keys\ - if toolbar.name == 'graphics_add'\ - else toolbar.activity.sound_keys - # remove from keys - _keys.remove_filename_from_all(_seq_name, _file_name) - # update sequence file - _cb_seq_save(widget, toolbar, remove=True) # .. elif toolbar.name == 'sounds': pass - # add graphic to the sequence - elif toolbar.name == 'sounds_add': - pass # ?? else: # ERROR |