diff options
author | Unknown <unknown@unknown.org> | 2010-11-01 17:24:08 (GMT) |
---|---|---|
committer | Anish Mangal <anish@activitycentral.com> | 2012-04-27 10:02:34 (GMT) |
commit | 5676deefcc4e8202b9672d6eb9bf63405754ceb2 (patch) | |
tree | 3809621f89e392c01a5437cdd51faeed78489a09 /extensions | |
parent | 82024048dfcb7cbbf9da96fe7200e00dbc3f8077 (diff) |
accessibility_0006_virtualkeyboard.patch
Diffstat (limited to 'extensions')
-rw-r--r-- | extensions/deviceicon/Makefile.am | 1 | ||||
-rw-r--r-- | extensions/deviceicon/virtualkeyboard.py | 72 | ||||
-rw-r--r-- | extensions/globalkey/Makefile.am | 3 | ||||
-rw-r--r-- | extensions/globalkey/virtualkeyboard.py | 9 |
4 files changed, 84 insertions, 1 deletions
diff --git a/extensions/deviceicon/Makefile.am b/extensions/deviceicon/Makefile.am index 0d15c38..3a74053 100644 --- a/extensions/deviceicon/Makefile.am +++ b/extensions/deviceicon/Makefile.am @@ -7,4 +7,5 @@ sugar_PYTHON = \ resources.py \ speaker.py \ touchpad.py \ + virtualkeyboard.py \ volume.py diff --git a/extensions/deviceicon/virtualkeyboard.py b/extensions/deviceicon/virtualkeyboard.py new file mode 100644 index 0000000..955f79b --- /dev/null +++ b/extensions/deviceicon/virtualkeyboard.py @@ -0,0 +1,72 @@ +from gettext import gettext as _ + +import logging +import gobject +import gtk +import gconf +import os + +from sugar.graphics.tray import TrayIcon +from sugar.graphics.xocolor import XoColor +from sugar.graphics.palette import Palette +from sugar.graphics import style +from jarabe.frame.frameinvoker import FrameWidgetInvoker + +import jarabe.view.virtualkeyboard + +class DeviceView(TrayIcon): + + FRAME_POSITION_RELATIVE = 500 + + def __init__(self): + icon_name = 'virtualkeyboard' + + client = gconf.client_get_default() + color = XoColor(client.get_string('/desktop/sugar/user/color')) + TrayIcon.__init__(self, icon_name=icon_name, xo_color=color) + self.set_palette_invoker(FrameWidgetInvoker(self)) + + def create_palette(self): + palette = VirtualkeyboardPalette(_('Teclado Virtual')) + palette.set_group_id('frame') + return palette + +class VirtualkeyboardPalette(Palette): + + def __init__(self, primary_text): + Palette.__init__(self, label=primary_text) + + self.connect('popup', self._popup_cb) + self.connect('popdown', self._popdown_cb) + + self._popped_up = False + + self._open_item = gtk.MenuItem(_('Open')) + self._open_item.connect('activate', self._open_activate_cb) + self.menu.append(self._open_item) + self._open_item.show() + + self._close_item = gtk.MenuItem(_('Close')) + self._close_item.connect('activate', self._close_activate_cb) + self.menu.append(self._close_item) + self._close_item.show() + + def _popup_cb(self, gobject_ref): + self._popped_up = True + + def _popdown_cb(self, gobject_ref): + self._popped_up = False + + def _open_activate_cb(self, gobject_ref): + self.v = jarabe.view.virtualkeyboard.Teclado() + + def _close_activate_cb(self, gobject_ref): + try: + self.v.close() + except: + pass + + +def setup(tray): + tray.add_device(DeviceView()) + diff --git a/extensions/globalkey/Makefile.am b/extensions/globalkey/Makefile.am index 49a8dd7..b44626e 100644 --- a/extensions/globalkey/Makefile.am +++ b/extensions/globalkey/Makefile.am @@ -4,4 +4,5 @@ sugar_PYTHON = \ __init__.py \ magnifier.py \ screenshot.py \ - viewsource.py + viewsource.py \ + virtualkeyboard.py diff --git a/extensions/globalkey/virtualkeyboard.py b/extensions/globalkey/virtualkeyboard.py new file mode 100644 index 0000000..bba0877 --- /dev/null +++ b/extensions/globalkey/virtualkeyboard.py @@ -0,0 +1,9 @@ +import logging + +import jarabe.view.virtualkeyboard + +BOUND_KEYS = ['<alt>k'] + +def handle_key_press(key): + logging.debug('load virtual keyboard') + jarabe.view.virtualkeyboard.Teclado() |