diff options
Diffstat (limited to 'src/jarabe')
-rw-r--r-- | src/jarabe/frame/zoomtoolbar.py | 2 | ||||
-rw-r--r-- | src/jarabe/model/shell.py | 11 | ||||
-rw-r--r-- | src/jarabe/view/keyhandler.py | 8 |
3 files changed, 14 insertions, 7 deletions
diff --git a/src/jarabe/frame/zoomtoolbar.py b/src/jarabe/frame/zoomtoolbar.py index c168e97..2ed3c54 100644 --- a/src/jarabe/frame/zoomtoolbar.py +++ b/src/jarabe/frame/zoomtoolbar.py @@ -69,7 +69,7 @@ class ZoomToolbar(gtk.Toolbar): if not button.get_active(): return - shell.get_model().zoom_level = level + shell.get_model().set_zoom_level(level) def __zoom_level_changed_cb(self, **kwargs): self._set_zoom_level(kwargs['new_level']) diff --git a/src/jarabe/model/shell.py b/src/jarabe/model/shell.py index de5a66f..ac2ef75 100644 --- a/src/jarabe/model/shell.py +++ b/src/jarabe/model/shell.py @@ -349,7 +349,7 @@ class ShellModel(gobject.GObject): self.zoom_level_changed.send(self, old_level=old_level, new_level=new_level) - def _set_zoom_level(self, new_level): + def set_zoom_level(self, new_level, x_event_time=0): old_level = self.zoom_level if old_level == new_level: return @@ -370,10 +370,17 @@ class ShellModel(gobject.GObject): show_desktop = new_level is not self.ZOOM_ACTIVITY self._screen.toggle_showing_desktop(show_desktop) + if new_level is self.ZOOM_ACTIVITY: + # activate the window, in case it was iconified + # (e.g. during sugar launch, the Journal starts in this state) + window = self._active_activity.get_window() + if window: + window.activate(x_event_time or gtk.get_current_event_time()) + def _get_zoom_level(self): return self._zoom_level - zoom_level = property(_get_zoom_level, _set_zoom_level) + zoom_level = property(_get_zoom_level) def _get_activities_with_window(self): ret = [] diff --git a/src/jarabe/view/keyhandler.py b/src/jarabe/view/keyhandler.py index acbbb04..19a56bb 100644 --- a/src/jarabe/view/keyhandler.py +++ b/src/jarabe/view/keyhandler.py @@ -146,16 +146,16 @@ class KeyHandler(object): active_activity.get_window().close() def handle_zoom_mesh(self, event_time): - shell.get_model().zoom_level = ShellModel.ZOOM_MESH + shell.get_model().set_zoom_level(ShellModel.ZOOM_MESH, event_time) def handle_zoom_group(self, event_time): - shell.get_model().zoom_level = ShellModel.ZOOM_GROUP + shell.get_model().set_zoom_level(ShellModel.ZOOM_GROUP, event_time) def handle_zoom_home(self, event_time): - shell.get_model().zoom_level = ShellModel.ZOOM_HOME + shell.get_model().set_zoom_level(ShellModel.ZOOM_HOME, event_time) def handle_zoom_activity(self, event_time): - shell.get_model().zoom_level = ShellModel.ZOOM_ACTIVITY + shell.get_model().set_zoom_level(ShellModel.ZOOM_ACTIVITY, event_time) def handle_volume_max(self, event_time): self._change_volume(value=_VOLUME_MAX) |