diff options
author | Marco Pesenti Gritti <marco@localhost.localdomain> | 2006-12-21 11:37:02 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <marco@localhost.localdomain> | 2006-12-21 11:37:02 (GMT) |
commit | 5623c8a3b19806563c86f007a649b4e59bda0bd2 (patch) | |
tree | f74839023adb845924f70ba7f7c289f1767011fd /shell | |
parent | 1d98e5f6bf3de6b1a161c7fba863fa0b0bd628ab (diff) |
Change the Activity execute method to add a result boolean (handle/not handled).
When the camera key is pressed the Shell send and command to the active activity,
if that's not handled than it startup org.laptop.CameraActivity.
Diffstat (limited to 'shell')
-rw-r--r-- | shell/view/ActivityHost.py | 3 | ||||
-rw-r--r-- | shell/view/Shell.py | 11 |
2 files changed, 10 insertions, 4 deletions
diff --git a/shell/view/ActivityHost.py b/shell/view/ActivityHost.py index f87b65b..3da8e77 100644 --- a/shell/view/ActivityHost.py +++ b/shell/view/ActivityHost.py @@ -90,6 +90,9 @@ class ActivityHost: else: return profile.get_color() + def execute(self, command, args): + self._activity.execute(command, args) + def share(self): self._activity.share() self._chat_widget.share() diff --git a/shell/view/Shell.py b/shell/view/Shell.py index dad78be..e5d49de 100644 --- a/shell/view/Shell.py +++ b/shell/view/Shell.py @@ -88,9 +88,12 @@ class Shell(gobject.GObject): self._frame = Frame(self) self._frame.show_and_hide(3) - def _open_terminal_cb(self): - self.start_activity('org.sugar.Terminal') - return False + def _handle_camera_key(self): + if self._current_host: + if self._current_host.execute('camera', []): + return + + self.start_activity('org.laptop.CameraActivity') def __global_key_pressed_cb(self, grabber, key): if key == 'F1': @@ -114,7 +117,7 @@ class Shell(gobject.GObject): elif key == '<shft><alt>F10': self.toggle_chat_visibility() elif key == '0xDC': # Camera key - pass + self._handle_camera_key() elif key == '0xE0': # Overlay key self.toggle_chat_visibility() elif key == '0x93': # Frame key |