Complete the keybindings stuff and use it for the home page
This commit is contained in:
@@ -6,7 +6,6 @@ bin_SCRIPTS = \
|
||||
sugar-activity-factory \
|
||||
sugar-console \
|
||||
sugar-people \
|
||||
sugar-zoom \
|
||||
sugar-presence-service
|
||||
|
||||
sugardir = $(pkgdatadir)/shell
|
||||
|
||||
+17
-21
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
Reference in New Issue
Block a user