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-07 23:42:34 (GMT)
committer Florent Pigout <florent.pigout@gmail.com>2011-11-07 23:42:34 (GMT)
commiteb7fe0813854fc62d6dc8faa716bc7b9709818a5 (patch)
tree23ab75e7604f75d295e344fc02426efb9ee799f9
parentebc1dff2de7249e27c5ccc93c176b8ab93e3f0a0 (diff)
small ui enhancement: go to story when select story - show edit panel when click picture
-rw-r--r--activity.py21
-rw-r--r--atoidejouer/ui/panel/notebook.py5
-rw-r--r--atoidejouer/ui/screen/activity.py8
-rw-r--r--atoidejouer/ui/screen/edit.py2
-rw-r--r--atoidejouer/ui/screen/story.py10
-rw-r--r--atoidejouer/ui/toolbar.py6
6 files changed, 31 insertions, 21 deletions
diff --git a/activity.py b/activity.py
index ff7331c..6a14b11 100644
--- a/activity.py
+++ b/activity.py
@@ -96,7 +96,7 @@ def _toolbar_changed(toolbox, page, activity_):
# remove first if exist
activity_.remove_screen('activity')
# show the activity screen
- activity_._change_screen(toolbar=None, name='activity')
+ activity_.change_screen('activity')
else:
pass
# propagate it
@@ -128,16 +128,17 @@ 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
- toolbar.Toolbar(self, name=_n)
+ self.__toolbars[_n] = toolbar.Toolbar(self, name=_n)
# set toolbox cb
self._toolbox.connect('current-toolbar-changed', _toolbar_changed, self)
# do anim
self._thread = ThreadAnim(self)
# show the activity screen
- self._change_screen(toolbar=None, name='activity')
+ self.change_screen('activity')
def get_toolbox(self):
return self._toolbox
@@ -188,14 +189,12 @@ class AToiDeJouerActivity(activity.Activity):
else:
return None
- def _change_screen(self, toolbar=None, name=None):
- # little check
- if toolbar is None and name is None:
- return
- else:
- # update current screen name
- self._previous = self._current
- self._current = toolbar.name if name is None else name
+ def change_screen(self, name):
+ # get current toolbar
+ toolbar = self.__toolbars[name] if name in self.__toolbars else None
+ # update current screen name
+ self._previous = self._current
+ self._current = name
# already exist
if self._current == 'edit':
if self._splash is None:
diff --git a/atoidejouer/ui/panel/notebook.py b/atoidejouer/ui/panel/notebook.py
index 2b183b1..5b06c86 100644
--- a/atoidejouer/ui/panel/notebook.py
+++ b/atoidejouer/ui/panel/notebook.py
@@ -86,7 +86,7 @@ def _cb_cursor_changed(treeview, notebook):
# set path for next use
_key.set_path(_info['file_path'])
# udpate all
- notebook.screen.refresh(key=_key)
+ notebook.screen.refresh() # key=_key)
class PanelNotebook(gtk.Frame):
@@ -111,7 +111,8 @@ class PanelNotebook(gtk.Frame):
# ..
self.add(_main_box)
# and the notebook
- _main_box.pack_start(self._get_notebook(), expand=True, fill=True)
+ self._notebook = self._get_notebook()
+ _main_box.pack_start(self._notebook, expand=True, fill=True)
def update_store(self, type_):
_store = self._store_graphic if type_ == 'graphics'\
diff --git a/atoidejouer/ui/screen/activity.py b/atoidejouer/ui/screen/activity.py
index 54cd04f..6e74f1d 100644
--- a/atoidejouer/ui/screen/activity.py
+++ b/atoidejouer/ui/screen/activity.py
@@ -57,8 +57,12 @@ def _on_button_click(button, screen, name, msg_label, value):
pass
def _on_recent_click(button, screen, timestamp):
+ # db path
_path = storage.get_path_from_journal(timestamp, 'atoidejouer/db')
+ # read db
screen._activity.read_file(_path)
+ # switch to story
+ screen._activity.change_screen('story')
[
@@ -83,7 +87,7 @@ class ScreenActivity(gtk.ScrolledWindow):
def __init__(self, activity_):
gtk.ScrolledWindow.__init__(self)
self.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
- # keep toolbar
+ # keep activity
self._activity = activity_
# dummy flag
self._initialized = False
@@ -254,5 +258,5 @@ class ScreenActivity(gtk.ScrolledWindow):
self._initialized = True
# show all
self.show()
- # update toolbar
+ # update screen
self._activity.set_canvas(self)
diff --git a/atoidejouer/ui/screen/edit.py b/atoidejouer/ui/screen/edit.py
index e4d5565..801f79f 100644
--- a/atoidejouer/ui/screen/edit.py
+++ b/atoidejouer/ui/screen/edit.py
@@ -36,7 +36,7 @@ class ScreenEdit(gtk.HBox):
self._show()
def add_scene(self, vbox):
- self.scene = screen.ScreenStory(self.toolbar,
+ self.scene = ScreenStory(self.toolbar,
height_offset=148, width_offset=360)
vbox.pack_start(self.scene, expand=True, fill=True)
diff --git a/atoidejouer/ui/screen/story.py b/atoidejouer/ui/screen/story.py
index ef53f60..60aec88 100644
--- a/atoidejouer/ui/screen/story.py
+++ b/atoidejouer/ui/screen/story.py
@@ -27,7 +27,10 @@ def _on_drag_finish(image, event, scene, key, image_size):
# logger.debug('[ui.screen.story] _on_drag_finish - rowcount: %s' % rowcount)
# DEBUG
# refresh
- scene.toolbar.activity.get_current_screen().refresh(key=key)
+ _scr = scene.toolbar.activity.get_current_screen()
+ _scr.refresh(key=key)
+ # set note edit page
+ _scr.panel_edit._notebook.set_current_page(0)
def _on_click(image, event, scene, key):
@@ -37,7 +40,10 @@ def _on_click(image, event, scene, key):
# invalidate key
key = None
# refresh
- scene.toolbar.activity.get_current_screen().refresh(key=key)
+ _scr = scene.toolbar.activity.get_current_screen()
+ _scr.refresh(key=key)
+ # set note edit page
+ _scr.panel_edit._notebook.set_current_page(0)
class ScreenStory(graphics.Scene):
diff --git a/atoidejouer/ui/toolbar.py b/atoidejouer/ui/toolbar.py
index c283c57..80f156e 100644
--- a/atoidejouer/ui/toolbar.py
+++ b/atoidejouer/ui/toolbar.py
@@ -99,7 +99,7 @@ def _cb_back(widget, toolbar):
# do switch
toolbar._switch(toolbar.name.replace('_add', ''))
# restore screen
- toolbar.activity._change_screen(toolbar)
+ toolbar.activity.change_screen(toolbar.name)
# get screen now
_screen = toolbar.activity.get_current_screen()
_screen.scene.refresh()
@@ -208,7 +208,7 @@ def _cb_help_back(widget, toolbar):
toolbar.activity._toolbox.set_current_toolbar(
TOOLBAR_INDEXES.index(_previous.replace('_add', '')))
# restore previous
- toolbar.activity._change_screen(name=_previous)
+ toolbar.activity.change_screen(_previous)
BUTTONS = {
@@ -401,7 +401,7 @@ class Toolbar(gtk.Toolbar):
self._switch(self.name.replace('_add', ''))
else:
# update current screen
- self.activity._change_screen(self)
+ self.activity.change_screen(self.name)
if 'add' in self._button_dict:
# enable or disble add
_mode = config.Config().get('activity>mode')