Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/atoidejouer
diff options
context:
space:
mode:
Diffstat (limited to 'atoidejouer')
-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
9 files changed, 96 insertions, 90 deletions
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