diff options
author | Marco Pesenti Gritti <mpg@redhat.com> | 2007-10-23 13:49:19 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <mpg@redhat.com> | 2007-10-23 13:49:19 (GMT) |
commit | 3b57c5f247c6f19cae7f4eedb602033d789c3a4d (patch) | |
tree | 4758d60f72933539c45dfb7e07b0c77e5adcddb2 /shell | |
parent | 7fd05154d3ff5b7e05775aae1b56204af3829aff (diff) |
Try to handle the case when the frame cover the activity window.
Diffstat (limited to 'shell')
-rw-r--r-- | shell/view/Shell.py | 14 | ||||
-rw-r--r-- | shell/view/frame/frame.py | 2 |
2 files changed, 11 insertions, 5 deletions
diff --git a/shell/view/Shell.py b/shell/view/Shell.py index 20cf5bc..ec88aa3 100644 --- a/shell/view/Shell.py +++ b/shell/view/Shell.py @@ -161,18 +161,22 @@ class Shell(gobject.GObject): activityfactory.create(activity_type) def take_activity_screenshot(self): + if self._model.get_zoom_level() != ShellModel.ZOOM_ACTIVITY: + return + if self.get_frame().visible: + return + home_model = self._model.get_home() - service = home_model.get_active_activity().get_service() - service.TakeScreenshot() + activity = home_model.get_active_activity() + if activity: + activity.get_service().TakeScreenshot() def set_zoom_level(self, level): old_level = self._model.get_zoom_level() if level == old_level: return - if old_level == ShellModel.ZOOM_ACTIVITY and \ - not self.get_frame().visible: - self.take_activity_screenshot() + self.take_activity_screenshot() if level == ShellModel.ZOOM_ACTIVITY: if self._pending_host is not None: diff --git a/shell/view/frame/frame.py b/shell/view/frame/frame.py index 3fe2ef6..f77f662 100644 --- a/shell/view/frame/frame.py +++ b/shell/view/frame/frame.py @@ -184,6 +184,8 @@ class Frame(object): if self._animator: self._animator.stop() + self._shell.take_activity_screenshot() + self._animator = animator.Animator(0.5) self._animator.add(_Animation(self, 1.0)) self._animator.start() |