blob: fbd0b3571ac488a5d580419f42d42aaacb237091 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
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
from jarabe.model import accessibility
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):
try:
keyboard = accessibility.Keyboard()
if keyboard.get_virtualkeyboard():
tray.add_device(DeviceView())
except:
logging.error('show virtual keyboard device icon')
|