Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorflorent <florent.pigout@gmail.com>2011-06-22 09:20:29 (GMT)
committer florent <florent.pigout@gmail.com>2011-06-22 09:20:29 (GMT)
commit4d981d9c821ffe563d56d841cb6687a49ca0ecf7 (patch)
treeb621bec4b015d1e269553d0cf27d565fea5ba002
parent6329f5f55e5e1b0a2fb8b2e877a4764cbff29d43 (diff)
move remove frame to sequence action to preview item list for easier use
-rw-r--r--atoidejouer/ui/preview.py81
-rw-r--r--atoidejouer/ui/toolbar.py20
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