diff options
Diffstat (limited to 'atoidejouer/ui/toolbar.py')
-rw-r--r-- | atoidejouer/ui/toolbar.py | 59 |
1 files changed, 37 insertions, 22 deletions
diff --git a/atoidejouer/ui/toolbar.py b/atoidejouer/ui/toolbar.py index 80f156e..0ebcd5d 100644 --- a/atoidejouer/ui/toolbar.py +++ b/atoidejouer/ui/toolbar.py @@ -111,10 +111,13 @@ def _cb_import(widget, toolbar): def _cb_play(widget, toolbar): - # replace play button - toolbar._replace_button('play', 'pause') - # trigger playing - toolbar.activity._thread.play() + if toolbar.activity._current == 'story': + # replace play button + toolbar._replace_button('play', 'pause') + # trigger playing + toolbar.activity._thread.play() + else: + __switch(toolbar, 'story') def _cb_pause(widget, toolbar): @@ -202,22 +205,30 @@ def _cb_format_value(widget, value, toolbar): TOOLBAR_INDEXES = ['activity', 'story', 'edit', 'help'] -def _cb_help_back(widget, toolbar): - _previous = toolbar.activity._previous - # restore default tab - toolbar.activity._toolbox.set_current_toolbar( - TOOLBAR_INDEXES.index(_previous.replace('_add', ''))) - # restore previous - toolbar.activity.change_screen(_previous) + +def __switch(toolbar, scr): + # focus tab + toolbar.activity._toolbox.set_current_toolbar(TOOLBAR_INDEXES.index(scr)) + # do switch + toolbar.activity.change_screen(scr) + + +def _cb_help(widget, toolbar): + __switch(toolbar, 'help') + + +def _cb_edit(widget, toolbar): + __switch(toolbar, 'edit') BUTTONS = { 'add' : ['list-add', _cb_add], 'back' : ['edit-undo', _cb_back], 'backward' : ['media-seek-backward', _cb_backward], + 'edit': ['view-lastedit', _cb_edit], 'forward' : ['media-seek-forward', _cb_forward], 'frame_entry' : [None, None], - 'help_back' : ['edit-undo', _cb_help_back], + 'help': ['view-details', _cb_help], 'import' : ['insert-image', _cb_import], 'open' : ['media', _cb_open], 'pause' : ['media-playback-pause', _cb_pause], @@ -234,17 +245,17 @@ TOOLBARS = { ['stop', 'play', 'slider', # 'backward', 'forward' 'separator', 'view_fullscreen'], - [] + ['edit', 'help'] ], 'edit' : [ - ['stop', 'play', 'slider', 'backward', 'forward' + ['slider', 'backward', 'forward' # 'separator', 'add' ], - [] + ['play', 'help'] ], 'help' : [ [], - ['help_back'] + ['play', 'edit'] ] } @@ -255,6 +266,8 @@ TITLES = { # 'open': _('Open Story'), # 'backward': _('Seek Backward'), # 'forward': _('Seek Forward'), + 'edit': _('Edit Story'), + 'help': _('Help'), 'pause': _('Pause Story'), 'play': _('Play Story'), 'slider': _('Progress Bar'), @@ -268,6 +281,7 @@ TITLES = { 'buttons': { 'backward': _('Seek Backward'), 'forward': _('Seek Forward'), + 'help': _('Help'), 'pause': _('Pause Story'), 'play': _('Play Story'), 'slider': _('Progress Bar'), @@ -278,7 +292,8 @@ TITLES = { 'help' : { 'toolbox': _('Help'), 'buttons': { - 'help_back': _('Back') + 'play': _('Play Story'), + 'edit': _('Edit Story') } }, } @@ -286,7 +301,7 @@ TITLES = { class Toolbar(gtk.Toolbar): - def __init__(self, activity, name='player'): + def __init__(self, activity, name): # init parent gtk.Toolbar.__init__(self) # keep the name @@ -307,10 +322,9 @@ class Toolbar(gtk.Toolbar): if _toolbox_name is None: pass else: - _toolbox = self.activity.get_toolbox() - _toolbox.add_toolbar(_toolbox_name, self) + self.activity._toolbox.add_toolbar(_toolbox_name, self) # connect focus event - self.connect('focus', self._on_focus) + # self.connect('focus', self._on_focus) # show self.show() @@ -383,7 +397,8 @@ class Toolbar(gtk.Toolbar): # update adjustment # if hasattr(self._adjustment, 'set_upper'): ??? # self._adjustment.set_upper(_max) - self._adjustment.upper = self.activity.max_time + if self._adjustment: + self._adjustment.upper = self.activity.max_time # get slider _s = self.get_slider() # slider stuff |