diff options
Diffstat (limited to 'shell/view/Shell.py')
-rw-r--r-- | shell/view/Shell.py | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/shell/view/Shell.py b/shell/view/Shell.py index ec88aa3..541fb2e 100644 --- a/shell/view/Shell.py +++ b/shell/view/Shell.py @@ -57,6 +57,7 @@ class Shell(gobject.GObject): self._current_host = None self._pending_host = None self._screen_rotation = 0 + self._zoom_level = ShellModel.ZOOM_HOME self._key_handler = KeyHandler(self) @@ -73,6 +74,8 @@ class Shell(gobject.GObject): home_model.connect('pending-activity-changed', self._pending_activity_changed_cb) + self._model.connect('notify::zoom-level', self._zoom_level_changed_cb) + gobject.idle_add(self._start_journal_idle) def _start_journal_idle(self): @@ -172,8 +175,7 @@ class Shell(gobject.GObject): activity.get_service().TakeScreenshot() def set_zoom_level(self, level): - old_level = self._model.get_zoom_level() - if level == old_level: + if level == self._zoom_level: return self.take_activity_screenshot() @@ -187,6 +189,17 @@ class Shell(gobject.GObject): self._screen.toggle_showing_desktop(True) self._home_window.set_zoom_level(level) + def _zoom_level_changed_cb(self, model, pspec): + new_level = model.props.zoom_level + + if new_level == ShellModel.ZOOM_HOME: + self._frame.show(Frame.MODE_HOME) + + if self._zoom_level == ShellModel.ZOOM_HOME: + self._frame.hide() + + self._zoom_level = new_level + def toggle_activity_fullscreen(self): if self._model.get_zoom_level() == ShellModel.ZOOM_ACTIVITY: self.get_current_activity().toggle_fullscreen() |