1 | diff -u -r -N sugar-0.88.1.original.con.parches.viejos/bin/sugar-session sugar-0.88.1/bin/sugar-session |
---|
2 | --- sugar-0.88.1.original.con.parches.viejos/bin/sugar-session 2010-06-02 09:33:43.000000000 -0300 |
---|
3 | |
---|
4 | +++ sugar-0.88.1/bin/sugar-session 2010-06-21 11:48:06.837182011 -0300 |
---|
5 | @@ -1,6 +1,7 @@ |
---|
6 | #!/usr/bin/env python |
---|
7 | # Copyright (C) 2006, Red Hat, Inc. |
---|
8 | # Copyright (C) 2009, One Laptop Per Child Association Inc |
---|
9 | +# Copyright (C) 2010, Plan Ceibal <comunidad@plan.ceibal.edu.uy> |
---|
10 | # |
---|
11 | # This program is free software; you can redistribute it and/or modify |
---|
12 | # it under the terms of the GNU General Public License as published by |
---|
13 | @@ -190,6 +191,7 @@ |
---|
14 | gobject.idle_add(setup_notification_service_cb) |
---|
15 | gobject.idle_add(setup_file_transfer_cb) |
---|
16 | gobject.idle_add(show_software_updates_cb) |
---|
17 | + gobject.idle_add(setup_accessibility_cb) |
---|
18 | |
---|
19 | if sys.modules.has_key('xklavier'): |
---|
20 | gobject.idle_add(setup_keyboard_cb) |
---|
21 | @@ -201,6 +203,11 @@ |
---|
22 | settings = gtk.settings_get_default() |
---|
23 | settings.set_property("gtk-font-name", "%s %f" % (face, size)) |
---|
24 | |
---|
25 | +def setup_accessibility_cb(): |
---|
26 | + from jarabe.model import accessibility |
---|
27 | + accessibility_manager = accessibility.AccessibilityManager() |
---|
28 | + accessibility_manager.setup_accessibility() |
---|
29 | + |
---|
30 | def main(): |
---|
31 | try: |
---|
32 | from sugar import env |
---|
33 | diff -u -r -N sugar-0.88.1.original.con.parches.viejos/configure.ac sugar-0.88.1/configure.ac |
---|
34 | --- sugar-0.88.1.original.con.parches.viejos/configure.ac 2010-06-21 11:39:19.902054000 -0300 |
---|
35 | |
---|
36 | +++ sugar-0.88.1/configure.ac 2010-06-21 11:44:16.697208930 -0300 |
---|
37 | @@ -50,6 +50,7 @@ |
---|
38 | data/Makefile |
---|
39 | data/sugar-emulator.desktop |
---|
40 | extensions/cpsection/aboutcomputer/Makefile |
---|
41 | +extensions/cpsection/accessibility/Makefile |
---|
42 | extensions/cpsection/aboutme/Makefile |
---|
43 | extensions/cpsection/datetime/Makefile |
---|
44 | extensions/cpsection/frame/Makefile |
---|
45 | diff -u -r -N sugar-0.88.1.original.con.parches.viejos/data/icons/Makefile.am sugar-0.88.1/data/icons/Makefile.am |
---|
46 | --- sugar-0.88.1.original.con.parches.viejos/data/icons/Makefile.am 2010-06-21 11:39:19.902054000 -0300 |
---|
47 | |
---|
48 | +++ sugar-0.88.1/data/icons/Makefile.am 2010-06-21 11:54:27.040055731 -0300 |
---|
49 | @@ -3,6 +3,7 @@ |
---|
50 | sugar_DATA = \ |
---|
51 | module-about_me.svg \ |
---|
52 | module-about_my_computer.svg \ |
---|
53 | + module-accessibility.svg \ |
---|
54 | module-date_and_time.svg \ |
---|
55 | module-frame.svg \ |
---|
56 | module-journalmanagement.svg \ |
---|
57 | diff -u -r -N sugar-0.88.1.original.con.parches.viejos/data/icons/module-accessibility.svg sugar-0.88.1/data/icons/module-accessibility.svg |
---|
58 | --- sugar-0.88.1.original.con.parches.viejos/data/icons/module-accessibility.svg 1969-12-31 21:00:00.000000000 -0300 |
---|
59 | +++ sugar-0.88.1/data/icons/module-accessibility.svg 2010-07-08 09:19:22.288067133 -0300 |
---|
60 | @@ -0,0 +1,92 @@ |
---|
61 | |
---|
62 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
---|
63 | +<!-- Created with Inkscape (http://www.inkscape.org/) --> |
---|
64 | + |
---|
65 | +<svg |
---|
66 | + xmlns:svg="http://www.w3.org/2000/svg" |
---|
67 | + xmlns="http://www.w3.org/2000/svg" |
---|
68 | + version="1.0" |
---|
69 | |
---|
70 | + width="55" |
---|
71 | + height="55" |
---|
72 | + id="svg795"> |
---|
73 | + <defs |
---|
74 | + id="defs797" /> |
---|
75 | + <g |
---|
76 | + id="layer1"> |
---|
77 | + <path |
---|
78 | |
---|
79 | + d="m -23.738584,30.440666 a 8.901969,11.301082 0 1 1 -17.803937,0 8.901969,11.301082 0 1 1 17.803937,0 z" |
---|
80 | + transform="matrix(1.2765958,0,0,1.0558659,19.192898,-13.127946)" |
---|
81 | + id="path12" |
---|
82 | + style="fill:none;stroke:#ffffff" /> |
---|
83 | + <path |
---|
84 | |
---|
85 | + d="m 30.145644,37.823484 c -0.583589,6.659344 -6.7511,11.52268 -13.775517,10.862567 C 9.3457054,48.02594 4.1243814,42.092348 4.7079694,35.433004 5.2915594,28.773661 20.67887,20.597949 14.885997,24.011638 -12.777062,40.313232 24.43362,62.068174 30.145644,37.823484 z" |
---|
86 | + id="path1405-0" |
---|
87 | + style="fill:none;stroke:#ffffff;stroke-width:1.44962609;stroke-opacity:1" /> |
---|
88 | + <rect |
---|
89 | |
---|
90 | + width="2.916333" |
---|
91 | + height="21.188446" |
---|
92 | + ry="1.3939767" |
---|
93 | |
---|
94 | + x="18.332197" |
---|
95 | + y="13.76814" |
---|
96 | + id="rect1438-8" |
---|
97 | + style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1.50547338;stroke-opacity:1" /> |
---|
98 | + <rect |
---|
99 | |
---|
100 | + width="2.8716421" |
---|
101 | + height="19.140917" |
---|
102 | + ry="1.259271" |
---|
103 | |
---|
104 | + x="-35.091366" |
---|
105 | + y="-38.207035" |
---|
106 | + transform="matrix(0,-1,-1,0,0,0)" |
---|
107 | + id="rect1438-1-87" |
---|
108 | + style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1.41987956;stroke-opacity:1" /> |
---|
109 | + <rect |
---|
110 | |
---|
111 | + width="2.5733202" |
---|
112 | + height="15.766372" |
---|
113 | + ry="1.0372615" |
---|
114 | |
---|
115 | + x="-5.4068875" |
---|
116 | + y="-65.997124" |
---|
117 | + transform="matrix(-0.55477829,0.83199823,-0.68762037,-0.72607041,0,0)" |
---|
118 | + id="rect1438-0-4" |
---|
119 | + style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1.21988189;stroke-opacity:1" /> |
---|
120 | + <rect |
---|
121 | |
---|
122 | + width="2.0588" |
---|
123 | + height="12.916228" |
---|
124 | + ry="0.84975183" |
---|
125 | |
---|
126 | + x="6.7647386" |
---|
127 | + y="-38.278324" |
---|
128 | + transform="matrix(-0.21998034,0.97550431,-0.88967727,-0.45658992,0,0)" |
---|
129 | + id="rect1438-0-1-8" |
---|
130 | + style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.98759735;stroke-opacity:1" /> |
---|
131 | + <rect |
---|
132 | |
---|
133 | + width="0.98179615" |
---|
134 | + height="13.275604" |
---|
135 | + ry="0.87339497" |
---|
136 | |
---|
137 | + x="-30.243309" |
---|
138 | + y="-41.495876" |
---|
139 | + transform="matrix(0,-1,-1,0,0,0)" |
---|
140 | + id="rect1438-1-8-5" |
---|
141 | + style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.69142139;stroke-opacity:1" /> |
---|
142 | + <rect |
---|
143 | |
---|
144 | + width="0.97070193" |
---|
145 | + height="11.568416" |
---|
146 | + ry="0.76108003" |
---|
147 | |
---|
148 | + x="50.822704" |
---|
149 | + y="-8.6089849" |
---|
150 | + transform="matrix(0.89791652,0.44016579,0.56230073,-0.82693282,0,0)" |
---|
151 | + id="rect1438-1-8-0-0" |
---|
152 | + style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.64177793;stroke-opacity:1" /> |
---|
153 | + <rect |
---|
154 | |
---|
155 | + width="1.6299056" |
---|
156 | + height="7.7739253" |
---|
157 | + ry="0.51144254" |
---|
158 | |
---|
159 | + x="72.759727" |
---|
160 | + y="35.364716" |
---|
161 | + transform="matrix(0.9888174,0.14913131,-0.60877492,0.79334299,0,0)" |
---|
162 | + id="rect1438-0-1-7-7" |
---|
163 | + style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.68172067;stroke-opacity:1" /> |
---|
164 | + <path |
---|
165 | |
---|
166 | + d="m 79.67578,18.634508 a 3.2829957,3.0304577 0 1 1 -6.565992,0 3.2829957,3.0304577 0 1 1 6.565992,0 z" |
---|
167 | + transform="matrix(1.5397454,0,0,1.4719643,-97.932275,-17.750188)" |
---|
168 | + id="path1603-2" |
---|
169 | + style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-opacity:1" /> |
---|
170 | + </g> |
---|
171 | +</svg> |
---|
172 | diff -u -r -N sugar-0.88.1.original.con.parches.viejos/extensions/cpsection/accessibility/__init__.py sugar-0.88.1/extensions/cpsection/accessibility/__init__.py |
---|
173 | --- sugar-0.88.1.original.con.parches.viejos/extensions/cpsection/accessibility/__init__.py 1969-12-31 21:00:00.000000000 -0300 |
---|
174 | |
---|
175 | +++ sugar-0.88.1/extensions/cpsection/accessibility/__init__.py 2010-06-02 15:00:27.328970000 -0300 |
---|
176 | @@ -0,0 +1,25 @@ |
---|
177 | +# Copyright (C) 2010 Plan Ceibal |
---|
178 | +# |
---|
179 | +# Author: Esteban Arias <earias@plan.ceibal.edu.uy> |
---|
180 | +# Contact information: comunidad@plan.ceibal.edu.uy |
---|
181 | +# Plan Ceibal http://www.ceibal.edu.uy |
---|
182 | +# |
---|
183 | +# This program is free software: you can redistribute it and/or modify |
---|
184 | +# it under the terms of the GNU General Public License as published by |
---|
185 | +# the Free Software Foundation, either version 3 of the License, or |
---|
186 | +# (at your option) any later version. |
---|
187 | +# |
---|
188 | +# This program is distributed in the hope that it will be useful, |
---|
189 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
190 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
191 | +# GNU General Public License for more details. |
---|
192 | +# |
---|
193 | +# You should have received a copy of the GNU General Public License |
---|
194 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. |
---|
195 | + |
---|
196 | +from gettext import gettext as _ |
---|
197 | + |
---|
198 | +CLASS = 'accessibility' |
---|
199 | +ICON = 'module-accessibility' |
---|
200 | +TITLE = _('Accessibility') |
---|
201 | + |
---|
202 | diff -u -r -N sugar-0.88.1.original.con.parches.viejos/extensions/cpsection/accessibility/Makefile.am sugar-0.88.1/extensions/cpsection/accessibility/Makefile.am |
---|
203 | --- sugar-0.88.1.original.con.parches.viejos/extensions/cpsection/accessibility/Makefile.am 1969-12-31 21:00:00.000000000 -0300 |
---|
204 | |
---|
205 | +++ sugar-0.88.1/extensions/cpsection/accessibility/Makefile.am 2010-06-02 15:00:27.329800000 -0300 |
---|
206 | @@ -0,0 +1,6 @@ |
---|
207 | +sugardir = $(pkgdatadir)/extensions/cpsection/accessibility |
---|
208 | + |
---|
209 | +sugar_PYTHON = \ |
---|
210 | + __init__.py \ |
---|
211 | + model.py \ |
---|
212 | + view.py |
---|
213 | diff -u -r -N sugar-0.88.1.original.con.parches.viejos/extensions/cpsection/accessibility/model.py sugar-0.88.1/extensions/cpsection/accessibility/model.py |
---|
214 | --- sugar-0.88.1.original.con.parches.viejos/extensions/cpsection/accessibility/model.py 1969-12-31 21:00:00.000000000 -0300 |
---|
215 | - Mostrar texto citado - |
---|
216 | |
---|
217 | +++ sugar-0.88.1/extensions/cpsection/accessibility/model.py 2010-06-03 11:12:50.057315000 -0300 |
---|
218 | @@ -0,0 +1,55 @@ |
---|
219 | +# Copyright (C) 2010 Plan Ceibal |
---|
220 | +# |
---|
221 | +# Author: Esteban Arias <earias@plan.ceibal.edu.uy> |
---|
222 | +# Contact information: comunidad@plan.ceibal.edu.uy |
---|
223 | +# Plan Ceibal http://www.ceibal.edu.uy |
---|
224 | +# |
---|
225 | +# This program is free software: you can redistribute it and/or modify |
---|
226 | +# it under the terms of the GNU General Public License as published by |
---|
227 | +# the Free Software Foundation, either version 3 of the License, or |
---|
228 | +# (at your option) any later version. |
---|
229 | +# |
---|
230 | +# This program is distributed in the hope that it will be useful, |
---|
231 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
232 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
233 | +# GNU General Public License for more details. |
---|
234 | +# |
---|
235 | +# You should have received a copy of the GNU General Public License |
---|
236 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. |
---|
237 | + |
---|
238 | +import subprocess |
---|
239 | +import gconf |
---|
240 | + |
---|
241 | +from gettext import gettext as _ |
---|
242 | +from jarabe.model import accessibility |
---|
243 | + |
---|
244 | +keyboard = accessibility.Keyboard() |
---|
245 | + |
---|
246 | +KEYWORDS = ['mouse_keys', 'sticky_keys', 'bounce_keys'] |
---|
247 | + |
---|
248 | +def get_mouse_keys(): |
---|
249 | + return keyboard.get_mouse_keys() |
---|
250 | + |
---|
251 | +def set_mouse_keys(activar): |
---|
252 | + keyboard.set_mouse_keys(activar) |
---|
253 | + |
---|
254 | +def print_mouse_keys(): |
---|
255 | + print str(get_mouse_keys()) |
---|
256 | + |
---|
257 | +def get_sticky_keys(): |
---|
258 | + return keyboard.get_sticky_keys() |
---|
259 | + |
---|
260 | +def set_sticky_keys(activar): |
---|
261 | + keyboard.set_sticky_keys(activar) |
---|
262 | + |
---|
263 | +def print_sticky_keys(): |
---|
264 | + print str(get_sticky_keys()) |
---|
265 | + |
---|
266 | +def get_bounce_keys(): |
---|
267 | + return keyboard.get_bounce_keys() |
---|
268 | + |
---|
269 | +def set_bounce_keys(activar): |
---|
270 | + keyboard.set_bounce_keys(activar) |
---|
271 | + |
---|
272 | +def print_bounce_keys(): |
---|
273 | + print str(get_bounce_keys()) |
---|
274 | diff -u -r -N sugar-0.88.1.original.con.parches.viejos/extensions/cpsection/accessibility/view.py sugar-0.88.1/extensions/cpsection/accessibility/view.py |
---|
275 | --- sugar-0.88.1.original.con.parches.viejos/extensions/cpsection/accessibility/view.py 1969-12-31 21:00:00.000000000 -0300 |
---|
276 | - Mostrar texto citado - |
---|
277 | |
---|
278 | +++ sugar-0.88.1/extensions/cpsection/accessibility/view.py 2010-06-02 15:00:27.316801000 -0300 |
---|
279 | @@ -0,0 +1,114 @@ |
---|
280 | +# Copyright (C) 2010 Plan Ceibal |
---|
281 | +# |
---|
282 | +# Author: Esteban Arias <earias@plan.ceibal.edu.uy> |
---|
283 | +# Contact information: comunidad@plan.ceibal.edu.uy |
---|
284 | +# Plan Ceibal http://www.ceibal.edu.uy |
---|
285 | +# |
---|
286 | +# This program is free software: you can redistribute it and/or modify |
---|
287 | +# it under the terms of the GNU General Public License as published by |
---|
288 | +# the Free Software Foundation, either version 3 of the License, or |
---|
289 | +# (at your option) any later version. |
---|
290 | +# |
---|
291 | +# This program is distributed in the hope that it will be useful, |
---|
292 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
293 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
294 | +# GNU General Public License for more details. |
---|
295 | +# |
---|
296 | +# You should have received a copy of the GNU General Public License |
---|
297 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. |
---|
298 | + |
---|
299 | + |
---|
300 | +import gtk |
---|
301 | +from gettext import gettext as _ |
---|
302 | + |
---|
303 | +from sugar.graphics import style |
---|
304 | + |
---|
305 | +from jarabe import config |
---|
306 | +from jarabe.controlpanel.sectionview import SectionView |
---|
307 | +from jarabe.controlpanel.inlinealert import InlineAlert |
---|
308 | + |
---|
309 | +class accessibility(SectionView): |
---|
310 | + def __init__(self, model, alerts=None): |
---|
311 | + SectionView.__init__(self) |
---|
312 | + |
---|
313 | + self._model = model |
---|
314 | + self.set_border_width(style.DEFAULT_SPACING * 2) |
---|
315 | + self.set_spacing(style.DEFAULT_SPACING) |
---|
316 | + group = gtk.SizeGroup(gtk.SIZE_GROUP_HORIZONTAL) |
---|
317 | + |
---|
318 | + separator_pm = gtk.HSeparator() |
---|
319 | + self.pack_start(separator_pm, expand=False) |
---|
320 | + separator_pm.show() |
---|
321 | + |
---|
322 | + label_pm_teclado = gtk.Label(_('Keyboard')) |
---|
323 | + label_pm_teclado.set_alignment(0, 0) |
---|
324 | + self.pack_start(label_pm_teclado, expand=False) |
---|
325 | + label_pm_teclado.show() |
---|
326 | + |
---|
327 | + self.box_pm = gtk.VBox() |
---|
328 | + self.box_pm.set_border_width(style.DEFAULT_SPACING * 2) |
---|
329 | + self.box_pm.set_spacing(style.DEFAULT_SPACING) |
---|
330 | + |
---|
331 | + self._view_mouse_keys() |
---|
332 | + self._view_sticky_keys() |
---|
333 | + self._view_bounce_keys() |
---|
334 | + |
---|
335 | + self.pack_start(self.box_pm, expand=False) |
---|
336 | + self.box_pm.show() |
---|
337 | + |
---|
338 | + def _set_mouse_keys(self, widget): |
---|
339 | + state = widget.get_active() |
---|
340 | + self._model.set_mouse_keys(state) |
---|
341 | + |
---|
342 | + def _set_sticky_keys(self, widget): |
---|
343 | + state = widget.get_active() |
---|
344 | + self._model.set_sticky_keys(state) |
---|
345 | + |
---|
346 | + def _set_bounce_keys(self, widget): |
---|
347 | + state = widget.get_active() |
---|
348 | + self._model.set_bounce_keys(state) |
---|
349 | + |
---|
350 | + def undo(self): |
---|
351 | + self._model.set_mouse_keys(self.init_state_mouse_keys) |
---|
352 | + self._model.set_sticky_keys(self.init_state_sticky_keys) |
---|
353 | + self._model.set_bounce_keys(self.init_state_bounce_keys) |
---|
354 | + |
---|
355 | + def _view_mouse_keys(self): |
---|
356 | + self.btn_mouse_keys = gtk.CheckButton(_('Mouse Keys')) |
---|
357 | + self._mouse_pm_change_handler = self.btn_mouse_keys.connect("toggled", self._set_mouse_keys) |
---|
358 | + self.init_state_mouse_keys = self._model.get_mouse_keys() |
---|
359 | + self.btn_mouse_keys.set_active(self.init_state_mouse_keys) |
---|
360 | + self.box_pm.pack_start(self.btn_mouse_keys, True, True, 2) |
---|
361 | + self.btn_mouse_keys.show() |
---|
362 | + |
---|
363 | + lbl_mouse = gtk.Label(_('Move the mouse pointer with keyboard number.')) |
---|
364 | + lbl_mouse.set_alignment(0, 0) |
---|
365 | + self.box_pm.pack_start(lbl_mouse, True, True, 2) |
---|
366 | + lbl_mouse.show() |
---|
367 | + |
---|
368 | + def _view_sticky_keys(self): |
---|
369 | + self.btn_sticky_keys = gtk.CheckButton(_('Sticky Keys')) |
---|
370 | + self._sticky_pm_change_handler = self.btn_sticky_keys.connect("toggled", self._set_sticky_keys) |
---|
371 | + self.init_state_sticky_keys = self._model.get_sticky_keys() |
---|
372 | + self.btn_sticky_keys.set_active(self.init_state_sticky_keys) |
---|
373 | + self.box_pm.pack_start(self.btn_sticky_keys, True, True, 2) |
---|
374 | + self.btn_sticky_keys.show() |
---|
375 | + |
---|
376 | + lbl_sticky = gtk.Label(_('Instead of having to press two keys at once (such as CTRL + Q), you can press one key at a time.')) |
---|
377 | + lbl_sticky.set_line_wrap(True) |
---|
378 | + lbl_sticky.set_alignment(0, 0) |
---|
379 | + self.box_pm.pack_start(lbl_sticky, True, True, 2) |
---|
380 | + lbl_sticky.show() |
---|
381 | + |
---|
382 | + def _view_bounce_keys(self): |
---|
383 | + self.btn_bounce_keys = gtk.CheckButton(_('Bounce Keys')) |
---|
384 | + self._bounce_pm_change_handler = self.btn_bounce_keys.connect("toggled", self._set_bounce_keys) |
---|
385 | + self.init_state_bounce_keys = self._model.get_bounce_keys() |
---|
386 | + self.btn_bounce_keys.set_active(self.init_state_bounce_keys) |
---|
387 | + self.box_pm.pack_start(self.btn_bounce_keys, True, True, 2) |
---|
388 | + self.btn_bounce_keys.show() |
---|
389 | + |
---|
390 | + lbl_bounce = gtk.Label(_('Ignore rapid, repeated keypresses of the same key.')) |
---|
391 | + lbl_bounce.set_alignment(0, 0) |
---|
392 | + self.box_pm.pack_start(lbl_bounce, True, True, 2) |
---|
393 | + lbl_bounce.show() |
---|
394 | diff -u -r -N sugar-0.88.1.original.con.parches.viejos/extensions/cpsection/Makefile.am sugar-0.88.1/extensions/cpsection/Makefile.am |
---|
395 | --- sugar-0.88.1.original.con.parches.viejos/extensions/cpsection/Makefile.am 2010-06-21 11:39:19.903055000 -0300 |
---|
396 | |
---|
397 | +++ sugar-0.88.1/extensions/cpsection/Makefile.am 2010-06-21 13:17:52.794055895 -0300 |
---|
398 | @@ -1,6 +1,7 @@ |
---|
399 | SUBDIRS = \ |
---|
400 | aboutme \ |
---|
401 | aboutcomputer \ |
---|
402 | + accessibility \ |
---|
403 | datetime \ |
---|
404 | frame \ |
---|
405 | journalmanagement \ |
---|
406 | diff -u -r -N sugar-0.88.1.original.con.parches.viejos/po/es.po sugar-0.88.1/po/es.po |
---|
407 | --- sugar-0.88.1.original.con.parches.viejos/po/es.po 2010-06-21 11:38:52.234179000 -0300 |
---|
408 | - Mostrar texto citado - |
---|
409 | |
---|
410 | +++ sugar-0.88.1/po/es.po 2010-06-21 12:14:22.363180560 -0300 |
---|
411 | @@ -1313,6 +1313,33 @@ |
---|
412 | "Para aplicar la restauración del Diario, se requiere reiniciar. \n\n" |
---|
413 | "Se restaurará el respado realizado para este equipo " |
---|
414 | |
---|
415 | +#: ../extensions/cpsection/accessibility/__init__.py:24 |
---|
416 | +msgid "Accessibility" |
---|
417 | +msgstr "Accesibilidad" |
---|
418 | + |
---|
419 | +#: ../extensions/cpsection/accessibility/view.py:77 |
---|
420 | +msgid "Mouse Keys" |
---|
421 | +msgstr "Teclas del ratón" |
---|
422 | + |
---|
423 | +#: ../extensions/cpsection/accessibility/view.py:84 |
---|
424 | +msgid "Move the mouse pointer with keyboard number." |
---|
425 | +msgstr "Mover el puntero del ratón con un teclado numérico o con las teclas de juego." |
---|
426 | + |
---|
427 | +#: ../extensions/cpsection/accessibility/view.py:90 |
---|
428 | +msgid "Sticky Keys" |
---|
429 | +msgstr "Teclas pegajosas" |
---|
430 | + |
---|
431 | +#: ../extensions/cpsection/accessibility/view.py:97 |
---|
432 | +msgid "Instead of having to press two keys at once (such as CTRL + Q), you can press one key at a time." |
---|
433 | +msgstr "En lugar de tener que pulsar dos teclas a la vez (por ejemplo, CTRL + Q), permite pulsar una tecla a la vez." |
---|
434 | + |
---|
435 | +#: ../extensions/cpsection/accessibility/view.py:104 |
---|
436 | +msgid "Bounce Keys" |
---|
437 | +msgstr "Teclas de rebote" |
---|
438 | + |
---|
439 | +#: ../extensions/cpsection/accessibility/view.py:111 |
---|
440 | +msgid "Ignore rapid, repeated keypresses of the same key." |
---|
441 | +msgstr "Ignora la presión rápida y repetida de una tecla." |
---|
442 | |
---|
443 | #~ msgid "Cannot obtain data needed for registration." |
---|
444 | #~ msgstr "No se puede obtener datos necesarios para el registro" |
---|
445 | diff -u -r -N sugar-0.88.1.original.con.parches.viejos/src/jarabe/model/accessibility.py sugar-0.88.1/src/jarabe/model/accessibility.py |
---|
446 | --- sugar-0.88.1.original.con.parches.viejos/src/jarabe/model/accessibility.py 1969-12-31 21:00:00.000000000 -0300 |
---|
447 | +++ sugar-0.88.1/src/jarabe/model/accessibility.py 2010-07-08 09:21:33.789068870 -0300 |
---|
448 | |
---|
449 | @@ -0,0 +1,76 @@ |
---|
450 | +# Copyright (C) 2010 Plan Ceibal |
---|
451 | +# |
---|
452 | +# Author: Esteban Arias <earias@plan.ceibal.edu.uy> |
---|
453 | +# Contact information: comunidad@plan.ceibal.edu.uy |
---|
454 | +# Plan Ceibal http://www.ceibal.edu.uy |
---|
455 | +# |
---|
456 | +# This program is free software: you can redistribute it and/or modify |
---|
457 | +# it under the terms of the GNU General Public License as published by |
---|
458 | +# the Free Software Foundation, either version 3 of the License, or |
---|
459 | +# (at your option) any later version. |
---|
460 | +# |
---|
461 | +# This program is distributed in the hope that it will be useful, |
---|
462 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
463 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
464 | +# GNU General Public License for more details. |
---|
465 | +# |
---|
466 | +# You should have received a copy of the GNU General Public License |
---|
467 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. |
---|
468 | + |
---|
469 | +import subprocess |
---|
470 | +import gconf |
---|
471 | + |
---|
472 | +from gettext import gettext as _ |
---|
473 | + |
---|
474 | +class Keyboard: |
---|
475 | + |
---|
476 | + def get_mouse_keys(self): |
---|
477 | + client = gconf.client_get_default() |
---|
478 | + return client.get_bool("/desktop/sugar/accessibility/keyboard/mousekeys_enable") |
---|
479 | |
---|
480 | + |
---|
481 | + def set_mouse_keys(self, activar): |
---|
482 | + client = gconf.client_get_default() |
---|
483 | + client.set_bool("/desktop/sugar/accessibility/keyboard/mousekeys_enable", activar) |
---|
484 | |
---|
485 | + self.run_config_keyboard() |
---|
486 | + |
---|
487 | + def get_sticky_keys(self): |
---|
488 | + client = gconf.client_get_default() |
---|
489 | + return client.get_bool("/desktop/sugar/accessibility/keyboard/stickykeys_enable") |
---|
490 | |
---|
491 | + |
---|
492 | + def set_sticky_keys(self, activar): |
---|
493 | + client = gconf.client_get_default() |
---|
494 | + client.set_bool("/desktop/sugar/accessibility/keyboard/stickykeys_enable", activar) |
---|
495 | |
---|
496 | + self.run_config_keyboard() |
---|
497 | + |
---|
498 | + def get_bounce_keys(self): |
---|
499 | + client = gconf.client_get_default() |
---|
500 | + return client.get_bool("/desktop/sugar/accessibility/keyboard/bouncekeys_enable") |
---|
501 | |
---|
502 | + |
---|
503 | + def set_bounce_keys(self, activar): |
---|
504 | + client = gconf.client_get_default() |
---|
505 | + client.set_bool("/desktop/sugar/accessibility/keyboard/bouncekeys_enable", activar) |
---|
506 | |
---|
507 | + self.run_config_keyboard() |
---|
508 | + |
---|
509 | + def run_config_keyboard(self): |
---|
510 | + cmd = ['ax'] |
---|
511 | + if self.get_sticky_keys(): |
---|
512 | + cmd.append('+stickykeys') |
---|
513 | + else: |
---|
514 | + cmd.append('-stickykeys') |
---|
515 | + if self.get_bounce_keys(): |
---|
516 | + cmd.append('+bouncekeys') |
---|
517 | + else: |
---|
518 | + cmd.append('-bouncekeys') |
---|
519 | + if self.get_mouse_keys(): |
---|
520 | + cmd += ['+mousekeys', 'mousemaxspeed', '3000', 'mousetimetomax', '1000', '-timeout', '-repeatkeys'] |
---|
521 | + else: |
---|
522 | + cmd += ['-mousekeys', 'mousemaxspeed', '3000', 'mousetimetomax', '1000', '+timeout', '+repeatkeys'] |
---|
523 | + subprocess.call(cmd) |
---|
524 | + |
---|
525 | +class AccessibilityManager: |
---|
526 | + def setup_accessibility(self): |
---|
527 | + client = gconf.client_get_default() |
---|
528 | + is_accessibility = client.dir_exists("/desktop/sugar/accessibility") |
---|
529 | |
---|
530 | + if is_accessibility: |
---|
531 | + keyboard = Keyboard() |
---|
532 | + keyboard.run_config_keyboard() |
---|
533 | diff -u -r -N sugar-0.88.1.original.con.parches.viejos/src/jarabe/model/Makefile.am sugar-0.88.1/src/jarabe/model/Makefile.am |
---|
534 | --- sugar-0.88.1.original.con.parches.viejos/src/jarabe/model/Makefile.am 2010-06-21 11:38:48.943180000 -0300 |
---|
535 | |
---|
536 | +++ sugar-0.88.1/src/jarabe/model/Makefile.am 2010-06-21 11:45:58.165181239 -0300 |
---|
537 | @@ -1,6 +1,7 @@ |
---|
538 | sugardir = $(pythondir)/jarabe/model |
---|
539 | sugar_PYTHON = \ |
---|
540 | __init__.py \ |
---|
541 | + accessibility.py \ |
---|
542 | buddy.py \ |
---|
543 | bundleregistry.py \ |
---|
544 | filetransfer.py \ |
---|