Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/view/Shell.py
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <mpg@redhat.com>2007-10-23 13:19:17 (GMT)
committer Marco Pesenti Gritti <mpg@redhat.com>2007-10-23 13:19:17 (GMT)
commitf300006b76ed905e52fb5b5848e09bf34a91216e (patch)
tree7928cacd4b7cbb16a8ac6da43ddf34cf027964d0 /shell/view/Shell.py
parent0daccca71f668b3dbf9990cc904e15a21e5cb44b (diff)
Move window management keybindings inside sugar.
Add a TakeScreenshot dbus method and have the shell call it when the activity can safely take a screenshot to use as a preview.
Diffstat (limited to 'shell/view/Shell.py')
-rw-r--r--shell/view/Shell.py35
1 files changed, 34 insertions, 1 deletions
diff --git a/shell/view/Shell.py b/shell/view/Shell.py
index 26d39a6..20cf5bc 100644
--- a/shell/view/Shell.py
+++ b/shell/view/Shell.py
@@ -160,10 +160,20 @@ class Shell(gobject.GObject):
self._activities_starting.add(activity_type)
activityfactory.create(activity_type)
+ def take_activity_screenshot(self):
+ home_model = self._model.get_home()
+ service = home_model.get_active_activity().get_service()
+ service.TakeScreenshot()
+
def set_zoom_level(self, level):
- if level == self._model.get_zoom_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()
+
if level == ShellModel.ZOOM_ACTIVITY:
if self._pending_host is not None:
self._pending_host.present()
@@ -173,6 +183,29 @@ class Shell(gobject.GObject):
self._screen.toggle_showing_desktop(True)
self._home_window.set_zoom_level(level)
+ def toggle_activity_fullscreen(self):
+ if self._model.get_zoom_level() == ShellModel.ZOOM_ACTIVITY:
+ self.get_current_activity().toggle_fullscreen()
+
+ def activate_previous_activity(self):
+ home_model = self._model.get_home()
+ activity = home_model.get_previous_activity()
+ if activity:
+ self.take_activity_screenshot()
+ activity.get_window().activate(1)
+
+ def activate_next_activity(self):
+ home_model = self._model.get_home()
+ activity = home_model.get_next_activity()
+ if activity:
+ self.take_activity_screenshot()
+ activity.get_window().activate(1)
+
+ def close_current_activity(self):
+ self.take_activity_screenshot()
+ if self._model.get_zoom_level() == ShellModel.ZOOM_ACTIVITY:
+ self.get_current_activity().close()
+
def get_current_activity(self):
return self._current_host