diff -u -r -N sugar-0.88.1.orig/extensions/cpsection/accessibility/model.py sugar-0.88.1/extensions/cpsection/accessibility/model.py --- sugar-0.88.1.orig/extensions/cpsection/accessibility/model.py 2010-08-03 16:06:05.362829000 -0300 +++ sugar-0.88.1/extensions/cpsection/accessibility/model.py 2010-08-04 09:15:10.000000000 -0300 @@ -23,7 +23,7 @@ screen = accessibility.Screen() mouse = accessibility.Mouse() -KEYWORDS = ['mouse_keys', 'sticky_keys', 'bounce_keys', 'contrast', 'white_mouse', 'accel_mouse', 'capital_letters'] +KEYWORDS = ['mouse_keys', 'sticky_keys', 'bounce_keys', 'virtualkeyboard', 'contrast', 'white_mouse', 'accel_mouse', 'capital_letters'] def get_mouse_keys(): return keyboard.get_mouse_keys() @@ -52,6 +52,15 @@ def print_bounce_keys(): print str(get_bounce_keys()) +def get_virtualkeyboard(): + return keyboard.get_virtualkeyboard() + +def set_virtualkeyboard(activar): + keyboard.set_virtualkeyboard(activar) + +def print_virtualkeyboard(): + print str(get_virtualkeyboard()) + def get_contrast(): return screen.get_contrast() @@ -86,4 +95,4 @@ mouse.set_accel_mouse(valor) def print_accel_mouse(): - print str(get_accel_mouse()) \ No hay ningún carácter de nueva línea al final del fichero + print str(get_accel_mouse()) diff -u -r -N sugar-0.88.1.orig/extensions/cpsection/accessibility/view.py sugar-0.88.1/extensions/cpsection/accessibility/view.py --- sugar-0.88.1.orig/extensions/cpsection/accessibility/view.py 2010-08-03 16:06:05.363828000 -0300 +++ sugar-0.88.1/extensions/cpsection/accessibility/view.py 2010-08-04 09:14:04.000000000 -0300 @@ -77,6 +77,7 @@ self._view_mouse_keys() self._view_sticky_keys() self._view_bounce_keys() + self._view_virtualkeyboard() self._vbox_section.pack_start(self.box_pm_keyboard, expand=False) self.box_pm_keyboard.show() @@ -133,6 +134,14 @@ state = widget.get_active() self._model.set_bounce_keys(state) + def _set_virtualkeyboard(self, widget): + state = widget.get_active() + self._model.set_virtualkeyboard(state) + self.restart_alerts.append('zone') + self.needs_restart = True + self._zone_alert.props.msg = self.restart_msg + self._zone_alert.show() + def _set_contrast(self, widget): state = widget.get_active() self._model.set_contrast(state) @@ -165,6 +174,9 @@ self._model.set_sticky_keys(self.init_state_sticky_keys) self._model.set_bounce_keys(self.init_state_bounce_keys) + self._model.set_virtualkeyboard(self.init_state_virtualkeyboard) + self.btn_virtualkeyboard.set_active(self.init_state_virtualkeyboard) + self._model.set_contrast(self.init_state_contrast) self.btn_contrast.set_active(self.init_state_contrast) @@ -219,6 +231,24 @@ self.box_pm_keyboard.pack_start(lbl_bounce, True, True, 2) lbl_bounce.show() + def _view_virtualkeyboard(self): + self.btn_virtualkeyboard = gtk.CheckButton(_('Virtual keyboard')) + self._virtualkeyboard_pm_change_handler = self.btn_virtualkeyboard.connect("toggled", self._set_virtualkeyboard) + self.init_state_virtualkeyboard = self._model.get_virtualkeyboard() + if self.init_state_virtualkeyboard: + self.btn_virtualkeyboard.handler_block(self._virtualkeyboard_pm_change_handler) + self.btn_virtualkeyboard.set_active(True) + self.btn_virtualkeyboard.handler_unblock(self._virtualkeyboard_pm_change_handler) + else: + self.btn_virtualkeyboard.set_active(False) + self.box_pm_keyboard.pack_start(self.btn_virtualkeyboard, True, True, 2) + self.btn_virtualkeyboard.show() + + lbl_virtualkeyboard = gtk.Label(_('Show virtual keyboard on frame.')) + lbl_virtualkeyboard.set_alignment(0, 0) + self.box_pm_keyboard.pack_start(lbl_virtualkeyboard, True, True, 2) + lbl_virtualkeyboard.show() + def _view_contrast(self): self.btn_contrast = gtk.CheckButton(_('Contrast')) self._contrast_pm_change_handler = self.btn_contrast.connect("toggled", self._set_contrast) @@ -298,4 +328,4 @@ desc_accel_mouse.show() def setup(self): - pass \ No hay ningún carácter de nueva línea al final del fichero + pass diff -u -r -N sugar-0.88.1.orig/extensions/deviceicon/virtualkeyboard.py sugar-0.88.1/extensions/deviceicon/virtualkeyboard.py --- sugar-0.88.1.orig/extensions/deviceicon/virtualkeyboard.py 2010-08-03 16:06:09.587828000 -0300 +++ sugar-0.88.1/extensions/deviceicon/virtualkeyboard.py 2010-08-04 10:05:48.000000000 -0300 @@ -13,6 +13,7 @@ from jarabe.frame.frameinvoker import FrameWidgetInvoker import jarabe.view.virtualkeyboard +from jarabe.model import accessibility class DeviceView(TrayIcon): @@ -66,7 +67,10 @@ except: pass - def setup(tray): - tray.add_device(DeviceView()) - + try: + keyboard = accessibility.Keyboard() + if keyboard.get_virtualkeyboard(): + tray.add_device(DeviceView()) + except: + logging.error('show virtual keyboard device icon') diff -u -r -N sugar-0.88.1.orig/extensions/globalkey/virtualkeyboard.py sugar-0.88.1/extensions/globalkey/virtualkeyboard.py --- sugar-0.88.1.orig/extensions/globalkey/virtualkeyboard.py 2010-08-03 16:06:09.588828000 -0300 +++ sugar-0.88.1/extensions/globalkey/virtualkeyboard.py 2010-08-04 10:05:37.000000000 -0300 @@ -1,9 +1,15 @@ import logging import jarabe.view.virtualkeyboard +from jarabe.model import accessibility BOUND_KEYS = ['k'] def handle_key_press(key): - logging.debug('load virtual keyboard') - jarabe.view.virtualkeyboard.Teclado() + try: + keyboard = accessibility.Keyboard() + if keyboard.get_virtualkeyboard(): + logging.debug('load virtual keyboard') + jarabe.view.virtualkeyboard.Teclado() + except: + logging.error('show virtual keyboard globalkey') diff -u -r -N sugar-0.88.1.orig/src/jarabe/model/accessibility.py sugar-0.88.1/src/jarabe/model/accessibility.py --- sugar-0.88.1.orig/src/jarabe/model/accessibility.py 2010-08-03 16:06:05.363828000 -0300 +++ sugar-0.88.1/src/jarabe/model/accessibility.py 2010-08-04 09:16:12.000000000 -0300 @@ -50,6 +50,14 @@ client.set_bool("/desktop/sugar/accessibility/keyboard/bouncekeys_enable", activar) self.run_config_keyboard() + def get_virtualkeyboard(self): + client = gconf.client_get_default() + return client.get_bool("/desktop/sugar/accessibility/keyboard/virtualkeyboard_enable") + + def set_virtualkeyboard(self, activar): + client = gconf.client_get_default() + client.set_bool("/desktop/sugar/accessibility/keyboard/virtualkeyboard_enable", activar) + def run_config_keyboard(self): cmd = ['ax'] if self.get_sticky_keys():