diff options
author | florent <florent.pigout@gmail.com> | 2011-04-05 23:00:25 (GMT) |
---|---|---|
committer | florent <florent.pigout@gmail.com> | 2011-04-05 23:00:25 (GMT) |
commit | b928e25f62d6cb20fa11c298a2acb733e77ec5ec (patch) | |
tree | 971a7d21229e292ab2b59b65cf7ff0f82d71881a | |
parent | 8871d389c37926b9fb828cb6dbb88b5bb35e8011 (diff) |
restore the fullscreen feature in story screen
-rw-r--r-- | atoidejouer/ui/screens.py | 34 | ||||
-rw-r--r-- | atoidejouer/ui/toolbar.py | 7 |
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 |