diff options
author | Marco Pesenti Gritti <marco@localhost.localdomain> | 2006-08-25 12:03:48 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <marco@localhost.localdomain> | 2006-08-25 12:03:48 (GMT) |
commit | 6e920265ad6c21c96bc2c78c783031d7a324c3bc (patch) | |
tree | 85f9a47e2bb4006bad4d54d976894d593d70b8c3 /shell | |
parent | 4425e14f136e2e1a6474737ec169b2800e91fcea (diff) |
Complete the keybindings stuff and use it for the home page
Diffstat (limited to 'shell')
-rw-r--r-- | shell/Makefile.am | 1 | ||||
-rwxr-xr-x | shell/Shell.py | 38 | ||||
-rw-r--r-- | shell/data/kbdconfig | 6 | ||||
-rw-r--r-- | shell/sugar-zoom | 14 |
4 files changed, 19 insertions, 40 deletions
diff --git a/shell/Makefile.am b/shell/Makefile.am index 7a9eb50..bc87e24 100644 --- a/shell/Makefile.am +++ b/shell/Makefile.am @@ -6,7 +6,6 @@ bin_SCRIPTS = \ sugar-activity-factory \ sugar-console \ sugar-people \ - sugar-zoom \ sugar-presence-service sugardir = $(pkgdatadir)/shell diff --git a/shell/Shell.py b/shell/Shell.py index 4c23a32..f5ac18e 100755 --- a/shell/Shell.py +++ b/shell/Shell.py @@ -41,14 +41,6 @@ class ShellDbusService(dbus.service.Object): def show_console(self): gobject.idle_add(self.__show_console_idle) - @dbus.service.method('com.redhat.Sugar.Shell') - def zoom_in(self): - self._shell.zoom_in() - - @dbus.service.method('com.redhat.Sugar.Shell') - def zoom_out(self): - self._shell.zoom_out() - class Shell(gobject.GObject): ZOOM_MESH = 0 ZOOM_FRIENDS = 1 @@ -66,7 +58,11 @@ class Shell(gobject.GObject): gobject.GObject.__init__(self) key_grabber = KeyGrabber() - key_grabber.grab('F8') + key_grabber.connect('key-pressed', self.__global_key_pressed_cb) + key_grabber.grab('F1') + key_grabber.grab('F2') + key_grabber.grab('F3') + key_grabber.grab('F4') self._screen = wnck.screen_get_default() self._hosts = {} @@ -87,6 +83,16 @@ class Shell(gobject.GObject): else: self.start() + def __global_key_pressed_cb(self, grabber, key): + if key == 'F1': + self.set_zoom_level(Shell.ZOOM_ACTIVITY) + elif key == 'F2': + self.set_zoom_level(Shell.ZOOM_HOME) + elif key == 'F3': + self.set_zoom_level(Shell.ZOOM_FRIENDS) + elif key == 'F4': + self.set_zoom_level(Shell.ZOOM_MESH) + def __first_time_dialog_destroy_cb(self, dialog): self.start() @@ -105,7 +111,7 @@ class Shell(gobject.GObject): home_model = HomeModel() self._home_window.set_model(home_model) - self._set_zoom_level(Shell.ZOOM_HOME) + self.set_zoom_level(Shell.ZOOM_HOME) self._panel_manager = PanelManager(self) @@ -204,7 +210,7 @@ class Shell(gobject.GObject): def get_chat_controller(self): return self._chat_controller - def _set_zoom_level(self, level): + def set_zoom_level(self, level): self._zoom_level = level if level == Shell.ZOOM_ACTIVITY: @@ -218,13 +224,3 @@ class Shell(gobject.GObject): self._home_window.set_view(HomeWindow.FRIENDS_VIEW) elif level == Shell.ZOOM_MESH: self._home_window.set_view(HomeWindow.MESH_VIEW) - - def zoom_in(self): - level = self._zoom_level + 1 - if level <= Shell.ZOOM_ACTIVITY: - self._set_zoom_level(level) - - def zoom_out(self): - level = self._zoom_level - 1 - if level >= Shell.ZOOM_MESH: - self._set_zoom_level(level) diff --git a/shell/data/kbdconfig b/shell/data/kbdconfig index 71d8032..c9f8b7a 100644 --- a/shell/data/kbdconfig +++ b/shell/data/kbdconfig @@ -5,7 +5,5 @@ <Alt>n=next <Alt>p=prev <Alt>c=close -f1=!sugar-zoom out -f2=!sugar-zoom in -f3=!sugar-people -f4=!sugar-activity org.sugar.Terminal +f5=!sugar-people +f6=!sugar-activity org.sugar.Terminal diff --git a/shell/sugar-zoom b/shell/sugar-zoom deleted file mode 100644 index ee43517..0000000 --- a/shell/sugar-zoom +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/python -import sys - -import dbus -import dbus.glib - -bus = dbus.SessionBus() -proxy_obj = bus.get_object('com.redhat.Sugar.Shell', '/com/redhat/Sugar/Shell') -shell = dbus.Interface(proxy_obj, 'com.redhat.Sugar.Shell') - -if sys.argv[1] == 'in': - shell.zoom_in() -elif sys.argv[1] == 'out': - shell.zoom_out() |