Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/atoidejouer/ui/panel/edit.py
diff options
context:
space:
mode:
Diffstat (limited to 'atoidejouer/ui/panel/edit.py')
-rw-r--r--atoidejouer/ui/panel/edit.py39
1 files changed, 17 insertions, 22 deletions
diff --git a/atoidejouer/ui/panel/edit.py b/atoidejouer/ui/panel/edit.py
index b2cacee..5350f30 100644
--- a/atoidejouer/ui/panel/edit.py
+++ b/atoidejouer/ui/panel/edit.py
@@ -50,7 +50,7 @@ def _on_position_clicked(widget, panel, move, value):
# DB update
rowcount = story.DB().update(panel.key)
# DEBUG
- logger.debug('[ui.panel.edit] _on_position_clicked - rowcount: %s' % rowcount)
+ # logger.debug('[ui.panel.edit] _on_position_clicked - rowcount: %s' % rowcount)
# update panel entries
panel.entry_x.set_text(str(panel.key.x))
panel.entry_y.set_text(str(-panel.key.y))
@@ -84,8 +84,8 @@ def _on_layer_clicked(widget, panel, move):
# DB update
rowcount = story.DB().update(panel.key)
# DEBUG
- # logger.debug('[ui.screen.story] _on_layer_clicked - key: %s' % panel.key)
- # logger.debug('[ui.screen.story] _on_layer_clicked - rowcount: %s' % rowcount)
+ # logger.debug('[ui.panel.edit] _on_layer_clicked - key: %s' % panel.key)
+ # logger.debug('[ui.panel.edit] _on_layer_clicked - rowcount: %s' % rowcount)
# DEBUG
# update entry
panel.entry_layer.set_text(str(panel.key.layer))
@@ -97,16 +97,19 @@ def _on_duration_clicked(widget, panel, value):
# shortcut
_activity = panel.screen.toolbar.activity
_duration_max = story.DB().get_max('duration')
+ _duration = None
# do nothing
if _activity._thread._pause is False\
or panel.key is None:
return
elif panel.key.duration + value < 0:
- panel.key.duration = 0
+ _duration = 0
else:
- panel.key.duration += value
+ _duration = panel.key.duration + value
# DB update
- story.DB().update(panel.key)
+ panel.key.update_duration(_duration)
+ # update max time
+ _activity.update_max_time()
# update panel entries
panel.entry_duration.set_text(
'%1d:%02d' % divmod(panel.key.duration, 60))
@@ -124,7 +127,6 @@ def _on_loop_click(toggle, panel, image):
return
else:
panel.key.loop = toggle.get_active()
- # DB update
story.DB().update(panel.key)
@@ -137,13 +139,9 @@ def _get_next_time(panel, factor):
# next time
_next = _time + factor * _rate
# get max
- _max = panel.screen.toolbar.activity._number_of_keys - 1
- if _next < _max:
- # ok!
- return _next
- else:
- # return max + pause
- return _max
+ _max = panel.screen.toolbar.activity.max_time
+ # little check
+ return _next if _next < _max else _max
def _get_previous_time(panel, factor):
@@ -154,13 +152,8 @@ def _get_previous_time(panel, factor):
_rate = config.Config().get_rate_value()
# previous time
_previous = _time - factor * _rate
- # ..
- if _previous < 0:
- # return min
- return 0
- else:
- # ok
- return _previous
+ # little check
+ return 0 if _previous < 0 else _previous
def _on_remove_key_clicked(widget, panel):
@@ -174,6 +167,8 @@ def _on_remove_key_clicked(widget, panel):
story.DB()._del(panel.key)
# empty key
panel.key = None
+ # update max time
+ _activity.update_max_time()
# refresh screen
panel.screen.refresh()
@@ -357,7 +352,7 @@ class PanelEdit(gtk.Frame):
def refresh(self, key=None):
# DEBUG
- logger.debug('[ui.panel.edit] refresh - key: %s' % key)
+ # logger.debug('[ui.panel.edit] refresh - key: %s' % key)
# DEBUG
self.key = key
if not key: