Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorent Pigout <florent.pigout@gmail.com>2011-11-08 10:39:02 (GMT)
committer Florent Pigout <florent.pigout@gmail.com>2011-11-08 10:39:02 (GMT)
commitf4c6563a18015c4d6522aea5fd380e66dc3fa001 (patch)
tree63155e06c53e5c1bfe051c3ffb93f8af9c250d2e
parent47a1745f9c85787339bc0ff5ec2257b1ec5849de (diff)
manage toolbar in another way - switching with button but keeping only one current toolbar
-rw-r--r--activity.py96
-rw-r--r--atoidejouer/ui/panel/edit.py36
-rw-r--r--atoidejouer/ui/panel/notebook.py4
-rw-r--r--atoidejouer/ui/panel/sound.py10
-rw-r--r--atoidejouer/ui/screen/activity.py4
-rw-r--r--atoidejouer/ui/screen/edit.py12
-rw-r--r--atoidejouer/ui/screen/help.py8
-rw-r--r--atoidejouer/ui/screen/splash.py12
-rw-r--r--atoidejouer/ui/screen/story.py41
-rw-r--r--atoidejouer/ui/toolbar.py59
10 files changed, 138 insertions, 144 deletions
diff --git a/activity.py b/activity.py
index 6a14b11..e34067f 100644
--- a/activity.py
+++ b/activity.py
@@ -61,11 +61,11 @@ class ThreadAnim(threading.Thread):
if hasattr(_current_screen, 'refresh'):
_current_screen.refresh(key=key)
# update slider
- if hasattr(_current_screen, 'toolbar'):
- _current_screen.toolbar.refresh(self._time)
- # pause
- if pause and not self._pause:
- _current_screen.toolbar.pause()
+ if self._activity._toolbar:
+ self._activity._toolbar.refresh(self._time)
+ # pause
+ if pause and not self._pause:
+ self._activity._toolbar.pause()
# set pause
self._pause = self._pause if pause is None else pause
@@ -92,9 +92,7 @@ def _toolbar_changed(toolbox, page, activity_):
"""Catch toolbox activity tab focus to display settings screen.
"""
# is the activity tab?
- if page == 0:
- # remove first if exist
- activity_.remove_screen('activity')
+ if page == 0 and activity_._updating is False:
# show the activity screen
activity_.change_screen('activity')
else:
@@ -128,21 +126,15 @@ class AToiDeJouerActivity(activity.Activity):
self.max_time = 0
# show
self._toolbox.show()
- self.__toolbars = {'activity': None}
- # init toolbars
- for _n in ['story', 'edit', 'help']:
- # init toolbar
- self.__toolbars[_n] = toolbar.Toolbar(self, name=_n)
+ self._toolbar = None
# set toolbox cb
+ self._updating = False
self._toolbox.connect('current-toolbar-changed', _toolbar_changed, self)
# do anim
self._thread = ThreadAnim(self)
# show the activity screen
self.change_screen('activity')
- def get_toolbox(self):
- return self._toolbox
-
def update_max_time(self):
self.max_time = story.DB().get_max('time')
@@ -160,12 +152,12 @@ class AToiDeJouerActivity(activity.Activity):
# little check
self.add_screen(name, screen)
- def _update_slider(self, toolbar):
+ def _update_slider(self):
# sync time
if self._thread is None:
pass
else:
- toolbar.update_slider(self._thread._time, self._thread._pause)
+ self._toolbar.update_slider(self._thread._time, self._thread._pause)
def add_screen(self, name, screen):
if name in self._screens:
@@ -190,63 +182,59 @@ class AToiDeJouerActivity(activity.Activity):
return None
def change_screen(self, name):
- # get current toolbar
- toolbar = self.__toolbars[name] if name in self.__toolbars else None
+ self._updating = True
# update current screen name
self._previous = self._current
self._current = name
# already exist
if self._current == 'edit':
if self._splash is None:
- self._splash = screen.Splash(toolbar)
+ self._splash = screen.Splash(self)
else:
self._splash._show()
- # ...
- glib.idle_add(partial(self.__idle_change, toolbar))
- # .. default
+ glib.idle_add(self.__idle_change)
else:
- self.__idle_change(toolbar)
-
- def __idle_change(self, toolbar):
+ self.__idle_change()
+
+ def __idle_change(self):
+ # init toolbar
+ if self._toolbar:
+ self._toolbar.pause()
+ self._toolbox.remove_toolbar(1)
+ if self._current != 'activity':
+ self._toolbar = toolbar.Toolbar(self, self._current)
+ self._toolbox.set_current_toolbar(1)
+ # help specific - need rebuild
+ if self._current == 'help':
+ if 'help' in self._screens:
+ del self._screens['help']
+ _scr = screen.ScreenHelp(self)
# already exist
- if self._current in self._screens:
- # show
- self._screens[self._current]._show()
- if toolbar is None:
- pass
- else:
- # do pause
- toolbar.pause()
+ elif self._current in self._screens:
+ _scr = self._screens[self._current]
+ # refresh
+ if self._current in ['story', 'edit']:
# update all
self._thread.set_time()
- if self._current == 'help':
- del self._screens[self._current]
- self._screens[self._current] = screen.ScreenHelp(self)
- else:
- pass
- # exit
- return
- # ..
+ # init screen
elif self._current == 'activity':
_scr = screen.ScreenActivity(self)
- # update screens dict
- self._screens[self._current] = _scr
- # ..
- return
# screen factory
elif self._current == 'edit':
- _scr = screen.ScreenEdit(toolbar)
+ _scr = screen.ScreenEdit(self)
elif self._current == 'story':
- _scr = screen.ScreenStory(toolbar, set_canvas=True)
- elif self._current == 'help':
- _scr = screen.ScreenHelp(self)
+ _scr = screen.ScreenStory(self, set_canvas=True)
else:
- # ??
return
+ # update slider
+ if self._current in ['edit', 'story']:
+ self._update_slider()
# update screens dict
self._screens[self._current] = _scr
- # update slider
- self._update_slider(toolbar)
+ # show
+ _scr._show()
+ # ..
+ self._updating = False
def read_file(self, file_path):
if not file_path or not os.path.exists(file_path):
diff --git a/atoidejouer/ui/panel/edit.py b/atoidejouer/ui/panel/edit.py
index 5350f30..84e913c 100644
--- a/atoidejouer/ui/panel/edit.py
+++ b/atoidejouer/ui/panel/edit.py
@@ -36,7 +36,7 @@ def _set_bg(widget):
def _on_position_clicked(widget, panel, move, value):
# shortcut
- _activity = panel.screen.toolbar.activity
+ _activity = panel.screen.activity
if _activity._thread._pause is False\
or panel.key is None:
pass
@@ -60,7 +60,7 @@ def _on_position_clicked(widget, panel, move, value):
def _on_layer_clicked(widget, panel, move):
# shortcut
- _activity = panel.screen.toolbar.activity
+ _activity = panel.screen.activity
# get max
_layer_max = story.DB().get_max('layer')
# do nothing
@@ -95,7 +95,7 @@ def _on_layer_clicked(widget, panel, move):
def _on_duration_clicked(widget, panel, value):
# shortcut
- _activity = panel.screen.toolbar.activity
+ _activity = panel.screen.activity
_duration_max = story.DB().get_max('duration')
_duration = None
# do nothing
@@ -120,7 +120,7 @@ def _on_loop_click(toggle, panel, image):
_stock_id = 'repeat_grey' if toggle.get_active() is True else 'repeat'
image.set_from_file(storage.get_icon_path(_stock_id))
# shortcut
- _activity = panel.screen.toolbar.activity
+ _activity = panel.screen.activity
# do nothing
if _activity._thread._pause is False\
or panel.key is None:
@@ -132,22 +132,22 @@ def _on_loop_click(toggle, panel, image):
def _get_next_time(panel, factor):
# get the current frame
- _time = 0.0 if panel.screen.toolbar.activity._thread is None\
- else panel.screen.toolbar.activity._thread._time
+ _time = 0.0 if panel.screen.activity._thread is None\
+ else panel.screen.activity._thread._time
# get rate
_rate = config.Config().get_rate_value()
# next time
_next = _time + factor * _rate
# get max
- _max = panel.screen.toolbar.activity.max_time
+ _max = panel.screen.activity.max_time
# little check
return _next if _next < _max else _max
def _get_previous_time(panel, factor):
# get the current frame
- _time = 0.0 if panel.screen.toolbar.activity._thread is None\
- else panel.screen.toolbar.activity._thread._time
+ _time = 0.0 if panel.screen.activity._thread is None\
+ else panel.screen.activity._thread._time
# get rate
_rate = config.Config().get_rate_value()
# previous time
@@ -158,7 +158,7 @@ def _get_previous_time(panel, factor):
def _on_remove_key_clicked(widget, panel):
# shortcut
- _activity = panel.screen.toolbar.activity
+ _activity = panel.screen.activity
if _activity._thread._pause is False\
or panel.key is None:
return
@@ -179,10 +179,10 @@ def _on_key_press(widget, event, parent):
_name = gtk.gdk.keyval_name(_keyval)
_mod = gtk.accelerator_get_label(_keyval, event.state)
# ..
- if parent.screen != parent.screen.toolbar.activity.get_current_screen():
+ if parent.screen != parent.screen.activity.get_current_screen():
return
# key factory
- elif parent.screen.toolbar.name == 'edit':
+ elif parent.screen.activity._current == 'edit':
# POSITION
if _name == 'Left' and _mod.startswith('Ctrl+'): # big left
_on_position_clicked(widget, parent, 'x', -10)
@@ -224,9 +224,9 @@ def _on_key_press(widget, event, parent):
# IMAGE
# TODO ...
# IN EVERY CASE
- if parent.screen.toolbar.name in ['edit', 'story']:
+ if parent.screen.activity._current in ['edit', 'story']:
# shortcut
- _thread = parent.screen.toolbar.activity._thread
+ _thread = parent.screen.activity._thread
if _name == 'space': # play right
_time = _get_next_time(parent, 1)
_thread.set_time(time_=_time, pause=True)
@@ -236,10 +236,10 @@ def _on_key_press(widget, event, parent):
# PLAY
elif _name == 'Return':
if _thread._pause is True:
- parent.screen.toolbar.play()
+ parent.screen.activity._toolbar.play()
_thread.play()
else:
- parent.screen.toolbar.pause()
+ parent.screen.activity._toolbar.pause()
_thread.pause()
else:
pass
@@ -303,7 +303,7 @@ class PanelEdit(gtk.Frame):
self._add_frame_remove()
def __init_handler(self):
- _activity = self.screen.toolbar.activity
+ _activity = self.screen.activity
_handler_id = _activity._handler_id
if _handler_id:
_activity.disconnect(_handler_id)
@@ -327,7 +327,7 @@ class PanelEdit(gtk.Frame):
# hide frame sound
self._frame_sound.hide()
# shortcut
- _activity = self.screen.toolbar.activity
+ _activity = self.screen.activity
# set layer value
self.entry_layer.set_text(str(self.key.layer))
# set x value
diff --git a/atoidejouer/ui/panel/notebook.py b/atoidejouer/ui/panel/notebook.py
index 5b06c86..6cd227b 100644
--- a/atoidejouer/ui/panel/notebook.py
+++ b/atoidejouer/ui/panel/notebook.py
@@ -54,7 +54,7 @@ def _cb_cursor_changed(treeview, notebook):
# get iter
_iter = _model.get_iter(_path)
# shorcut
- _activity = notebook.screen.toolbar.activity
+ _activity = notebook.screen.activity
# prepare key
_title = _model.get_value(_iter, 1)
_info = _model.get_value(_iter, 2)
@@ -202,7 +202,7 @@ class PanelNotebook(gtk.Frame):
_scrolled_win.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
_scrolled_win.show()
self._edit_panel = PanelEdit(self.screen)
- _scrolled_win.add(self._edit_panel)
+ _scrolled_win.add_with_viewport(self._edit_panel)
return _scrolled_win
def _get_label(self, text):
diff --git a/atoidejouer/ui/panel/sound.py b/atoidejouer/ui/panel/sound.py
index cb94d9d..a614e69 100644
--- a/atoidejouer/ui/panel/sound.py
+++ b/atoidejouer/ui/panel/sound.py
@@ -102,8 +102,6 @@ class PanelSound(gtk.Frame):
_children = self._scrolled_hbox.get_children()
for _c in _children:
_c.destroy()
- # add box in viewport
- self._scrolled_window.add_with_viewport(self._scrolled_hbox)
def get_current_pos(self):
# get children
@@ -123,10 +121,10 @@ class PanelSound(gtk.Frame):
# update current
self._current = _children[_index]
# update toolbar frame entry
- if self.screen.toolbar._frame_entry is None:
+ if self.screen.activity._toolbar._frame_entry is None:
pass
else:
- self.screen.toolbar._frame_entry.set_text(str(_index))
+ self.screen.activity._toolbar._frame_entry.set_text(str(_index))
else:
pass
@@ -205,8 +203,8 @@ class PanelSound(gtk.Frame):
def refresh(self):
self.clear()
# get the current frame
- _time = 0.0 if self.screen.toolbar.activity._thread is None\
- else self.screen.toolbar.activity._thread._time
+ _time = 0.0 if self.screen.activity._thread is None\
+ else self.screen.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)
diff --git a/atoidejouer/ui/screen/activity.py b/atoidejouer/ui/screen/activity.py
index 6e74f1d..b44f604 100644
--- a/atoidejouer/ui/screen/activity.py
+++ b/atoidejouer/ui/screen/activity.py
@@ -105,8 +105,6 @@ class ScreenActivity(gtk.ScrolledWindow):
self.__main_box.pack_start(gtk.EventBox(), expand=False, fill=True)
# add right menu
self._add_right_part()
- # do show
- self._show()
def _get_title(self, text):
# init
@@ -250,7 +248,7 @@ class ScreenActivity(gtk.ScrolledWindow):
# add
self.__main_box.pack_start(_vbox, expand=False, fill=True)
# add export
- _vbox.pack_start(self._get_export_part(), expand=False, fill=True)
+ # _vbox.pack_start(self._get_export_part(), expand=False, fill=True)
# add recent part
_vbox.pack_start(self._get_recent_part(), expand=False, fill=True)
diff --git a/atoidejouer/ui/screen/edit.py b/atoidejouer/ui/screen/edit.py
index 801f79f..acf4546 100644
--- a/atoidejouer/ui/screen/edit.py
+++ b/atoidejouer/ui/screen/edit.py
@@ -15,11 +15,11 @@ logger = logging.getLogger('atoidejouer')
class ScreenEdit(gtk.HBox):
- def __init__(self, toolbar):
+ def __init__(self, activity):
# init parent
gtk.HBox.__init__(self, homogeneous=False, spacing=2)
- # keep toolbar
- self.toolbar = toolbar
+ # keep activity
+ self.activity = activity
# init main vars
self.scene = None
self.panel_sound = None
@@ -32,11 +32,9 @@ class ScreenEdit(gtk.HBox):
self.add_scene(_vbox)
self.add_panel_sound(_vbox)
self.add_panel_edit()
- # and show
- self._show()
def add_scene(self, vbox):
- self.scene = ScreenStory(self.toolbar,
+ self.scene = ScreenStory(self.activity,
height_offset=148, width_offset=360)
vbox.pack_start(self.scene, expand=True, fill=True)
@@ -56,4 +54,4 @@ class ScreenEdit(gtk.HBox):
def _show(self):
self.show_all()
self.refresh()
- self.toolbar.activity.set_canvas(self)
+ self.activity.set_canvas(self)
diff --git a/atoidejouer/ui/screen/help.py b/atoidejouer/ui/screen/help.py
index 32f8a2a..f917544 100644
--- a/atoidejouer/ui/screen/help.py
+++ b/atoidejouer/ui/screen/help.py
@@ -21,14 +21,12 @@ class ScreenHelp(WebView):
def __init__(self, activity_):
WebView.__init__(self)
# keep activity
- self._activity = activity_
+ self.activity = activity_
# load html content
self.load_uri(storage.get_html_path('help'))
- # do show
- self._show()
def _show(self):
# show all
self.show()
- # update toolbar
- self._activity.set_canvas(self)
+ # update activity
+ self.activity.set_canvas(self)
diff --git a/atoidejouer/ui/screen/splash.py b/atoidejouer/ui/screen/splash.py
index a822b74..77cacc7 100644
--- a/atoidejouer/ui/screen/splash.py
+++ b/atoidejouer/ui/screen/splash.py
@@ -20,19 +20,19 @@ logger = logging.getLogger('atoidejouer')
class Splash(graphics.Scene):
- def __init__(self, toolbar):
+ def __init__(self, activity):
# ..
graphics.Scene.__init__(self)
# ..
# self.background_color = "#ffffff"
# ..
self.__current = 0
- # toolbar keep
- self.toolbar = toolbar
+ # activity keep
+ self.activity = activity
# ..
self._image = None
# ..
- if self.toolbar is None:
+ if self.activity is None:
self._screen_height = None
self._screen_width = None
else:
@@ -67,6 +67,6 @@ class Splash(graphics.Scene):
self.add_child(self._image)
# show
self.show()
- # update toolbar
- self.toolbar.activity.set_canvas(self)
+ # update activity
+ self.activity.set_canvas(self)
diff --git a/atoidejouer/ui/screen/story.py b/atoidejouer/ui/screen/story.py
index 60aec88..4e66e82 100644
--- a/atoidejouer/ui/screen/story.py
+++ b/atoidejouer/ui/screen/story.py
@@ -27,7 +27,7 @@ def _on_drag_finish(image, event, scene, key, image_size):
# logger.debug('[ui.screen.story] _on_drag_finish - rowcount: %s' % rowcount)
# DEBUG
# refresh
- _scr = scene.toolbar.activity.get_current_screen()
+ _scr = scene.activity.get_current_screen()
_scr.refresh(key=key)
# set note edit page
_scr.panel_edit._notebook.set_current_page(0)
@@ -40,7 +40,7 @@ def _on_click(image, event, scene, key):
# invalidate key
key = None
# refresh
- _scr = scene.toolbar.activity.get_current_screen()
+ _scr = scene.activity.get_current_screen()
_scr.refresh(key=key)
# set note edit page
_scr.panel_edit._notebook.set_current_page(0)
@@ -48,13 +48,13 @@ def _on_click(image, event, scene, key):
class ScreenStory(graphics.Scene):
- def __init__(self, toolbar, height_offset=0, width_offset=0,
+ def __init__(self, activity, height_offset=0, width_offset=0,
set_canvas=False, clear=False):
# ..
graphics.Scene.__init__(self)
self.background_color = "#ffffff"
- # keep toolbar
- self.toolbar = toolbar
+ # keep activity
+ self.activity = activity
# ..
self._set_canvas = set_canvas
self._clear = False
@@ -72,10 +72,7 @@ class ScreenStory(graphics.Scene):
# ..
self._screen_height = None
self._screen_width = None
- # ...
self._refresh_screen_size()
- # and show
- self._show()
def set_fullscreen(self, fullscreen):
# update fullscreen flag
@@ -89,6 +86,8 @@ class ScreenStory(graphics.Scene):
# keep some info
self._screen_height = gtk.gdk.screen_height() - self._height_offset
self._screen_width = gtk.gdk.screen_width() - self._width_offset
+ # update size request
+ self.set_size_request(self._screen_width, self._screen_height)
def set_clear(self, clear):
self._clear = clear
@@ -116,8 +115,8 @@ class ScreenStory(graphics.Scene):
# ensure valid screen size
self._refresh_screen_size()
# get the current frame
- _time = 0.0 if self.toolbar.activity._thread is None\
- else self.toolbar.activity._thread._time
+ _time = 0.0 if self.activity._thread is None\
+ else self.activity._thread._time
# get the current rate
_rate = config.Config().get_rate_value()
# using DB
@@ -139,9 +138,9 @@ class ScreenStory(graphics.Scene):
else:
pass
# refresh sounds if playing
- if self.toolbar.activity._thread is None:
+ if self.activity._thread is None:
pass
- elif self.toolbar.activity._thread._pause is False:
+ elif self.activity._thread._pause is False:
"""
# for each sound
for _n in self._get_keys('sounds').get_names():
@@ -160,7 +159,7 @@ class ScreenStory(graphics.Scene):
else:
# stop all
for _id, _sound in self.__sounds.items():
- if self.toolbar.activity._thread._time == 0:
+ if self.activity._thread._time == 0:
_sound.stop()
else:
_sound.pause()
@@ -246,7 +245,9 @@ class ScreenStory(graphics.Scene):
else:
_filename = '%s_default' % default_name
_path = storage.get_image_path(_filename)
- _key = story.Key(id=_code, path=_path, layer=0)
+ _layer = story.DB().get_max('layer') + 1\
+ if default_name == 'mask' else 0
+ _key = story.Key(id=_code, path=_path, layer=_layer)
# ..
_align = (0, 0)
# get/update width and height
@@ -261,8 +262,8 @@ class ScreenStory(graphics.Scene):
# get align
_x, _y = key.x, key.y
# get the current frame
- _time = 0.0 if self.toolbar.activity._thread is None\
- else self.toolbar.activity._thread._time
+ _time = 0.0 if self.activity._thread is None\
+ else self.activity._thread._time
# get transition ratio
_ratio = _time - int(_time)
if _ratio < rate:
@@ -352,7 +353,7 @@ class ScreenStory(graphics.Scene):
def __refresh_sound(self, sequence_name, frame):
# get sequence file codes
_seq_codes = self._get_keys('sounds').get_sequence_codes(
- self.toolbar.name, sequence_name)
+ self.activity._current, sequence_name)
# get sequence filename
_current, _f_type, _k_type = self._get_keys('sounds').get_current(
sequence_name, frame)
@@ -393,7 +394,7 @@ class ScreenStory(graphics.Scene):
# ensure/generate code
_filecode = key.random_str()
# update story key object
- self._get_keys('sounds').set_code(self.toolbar.name, sequence_name,
+ self._get_keys('sounds').set_code(self.activity._current, sequence_name,
current, _filecode)
# ...
_sound = sound.Player()
@@ -409,10 +410,8 @@ class ScreenStory(graphics.Scene):
self.refresh()
# ..
self.show()
- # update size request
- self.set_size_request(self._screen_width, self._screen_height)
# update canvas
if self._set_canvas is True:
- self.toolbar.activity.set_canvas(self)
+ self.activity.set_canvas(self)
else:
pass
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