Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorflorent <florent.pigout@gmail.com>2011-04-05 23:00:25 (GMT)
committer florent <florent.pigout@gmail.com>2011-04-05 23:00:25 (GMT)
commitb928e25f62d6cb20fa11c298a2acb733e77ec5ec (patch)
tree971a7d21229e292ab2b59b65cf7ff0f82d71881a
parent8871d389c37926b9fb828cb6dbb88b5bb35e8011 (diff)
restore the fullscreen feature in story screen
-rw-r--r--atoidejouer/ui/screens.py34
-rw-r--r--atoidejouer/ui/toolbar.py7
2 files changed, 31 insertions, 10 deletions
diff --git a/atoidejouer/ui/screens.py b/atoidejouer/ui/screens.py
index 631a1a2..30a2b71 100644
--- a/atoidejouer/ui/screens.py
+++ b/atoidejouer/ui/screens.py
@@ -103,6 +103,8 @@ class ScreenStory(gtk.Fixed):
self._fullscreen_changed = True
# hide all
self._hide_all()
+ # refresh
+ self.refresh()
def _refresh_screen_size(self):
# keep some info
@@ -146,6 +148,12 @@ class ScreenStory(gtk.Fixed):
else self.toolbar.activity._thread._time
# screen size first
self._refresh_screen_size()
+ # for each images
+ for _n in self._get_keys('graphics').get_names():
+ # do move
+ self.__refresh_image(_n, _frame)
+ # draw mask
+ self.__refresh_default('mask')
# show first
if self._fullscreen_changed is True:
# disable changed flag
@@ -154,12 +162,6 @@ class ScreenStory(gtk.Fixed):
self._show_all()
else:
pass
- # for each images
- for _n in self._get_keys('graphics').get_names():
- # do move
- self.__refresh_image(_n, _frame)
- # draw mask
- self.__refresh_default('mask')
# refresh sounds if playing
if self.toolbar.activity._thread is None:
pass
@@ -186,8 +188,13 @@ class ScreenStory(gtk.Fixed):
# get file size
_c, _w, _h = image.get_image_info(_path)
# ..
- _new_w = _w * self._screen_width / 1024
- _new_h = _h * _new_w / _w
+ if self.fullscreen is True\
+ or self._screen_width < 1024:
+ _new_w = _w * self._screen_width / 1024
+ _new_h = _h * _new_w / _w
+ else:
+ _new_w = _w
+ _new_h = _h
# update size
self.__sizes[filecode] = _new_w, _new_h
# return new values
@@ -231,7 +238,16 @@ class ScreenStory(gtk.Fixed):
# ensure current image
if _code in self.__graphics:
# get image
- self.__graphics[_code].show()
+ _image = self.__graphics[_code]
+ # redraw all or move only
+ if self._fullscreen_changed is True:
+ # remove previous image
+ _image.destroy()
+ # create new image
+ self._add_image(None, _filename, filecode=_code)
+ else:
+ # do show
+ _image.show()
else:
# create new image
self._add_image(None, _filename, filecode=_code)
diff --git a/atoidejouer/ui/toolbar.py b/atoidejouer/ui/toolbar.py
index ffabd79..09dbc1e 100644
--- a/atoidejouer/ui/toolbar.py
+++ b/atoidejouer/ui/toolbar.py
@@ -294,6 +294,8 @@ def _cb_stop(widget, toolbar):
def _cb_view_fullscreen(widget, toolbar):
# replace fullscreen button with return button
toolbar._replace_button('view_fullscreen', 'view_return')
+ # ask_clear
+ toolbar.story_keys.ask_clear()
# get current screen
_screen = toolbar.activity.get_canvas()
# enbale fullscreen
@@ -303,6 +305,8 @@ def _cb_view_fullscreen(widget, toolbar):
def _cb_view_return(widget, toolbar):
# remove return button with fullscreen button
toolbar._replace_button('view_return', 'view_fullscreen')
+ # ask_clear
+ toolbar.story_keys.ask_clear()
# get current screen
_screen = toolbar.activity.get_canvas()
# disable fullscreen
@@ -474,7 +478,8 @@ class Toolbar(gtk.Toolbar):
# keep activity
self.activity = activity
# ..
- if self.name == 'graphics':
+ if self.name == 'graphics'\
+ or self.name == 'story':
self.story_keys = self.activity.graphic_keys
else:
self.story_keys = self.activity.sound_keys