Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUnknown <unknown@unknown.org>2010-11-01 17:22:25 (GMT)
committer Anish Mangal <anish@activitycentral.com>2012-02-01 12:33:28 (GMT)
commit1a491884a93912429e50be6544efae700598c847 (patch)
tree586b5e30cde07a73f18fb3402f513d02b135a908
parent421dea35ca11c169a04feeaa450a45b2f312376e (diff)
accessibility_0004_cp_accessibility_mouse.patch
[fixed shell script syntax] Signed-off-by: Sascha Silbe <sascha-pgp@silbe.org>
-rw-r--r--bin/sugar.in10
-rw-r--r--data/gtkrc-contrast.em1
-rw-r--r--data/gtkrc.em1
-rw-r--r--extensions/cpsection/accessibility/model.py23
-rw-r--r--extensions/cpsection/accessibility/view.py80
-rw-r--r--src/jarabe/model/accessibility.py50
6 files changed, 159 insertions, 6 deletions
diff --git a/bin/sugar.in b/bin/sugar.in
index ed24561..90fbf8f 100644
--- a/bin/sugar.in
+++ b/bin/sugar.in
@@ -87,7 +87,15 @@ if [ -f ~/.sugar/debug ]; then
. ~/.sugar/debug
fi
-echo Xcursor.theme: sugar | xrdb -merge
+
+if gconftool-2 --dir-exists=/desktop/sugar/peripherals/mouse ; then
+ CURSOR_THEME="$(gconftool-2 --get /desktop/sugar/peripherals/mouse/cursor_theme)"
+else
+ CURSOR_THEME="sugar"
+fi
+
+
+echo Xcursor.theme: $CURSOR_THEME | xrdb -merge
metacity --no-force-fullscreen -d $DISPLAY &
exec sugar-session
diff --git a/data/gtkrc-contrast.em b/data/gtkrc-contrast.em
index dceb103..3ed4717 100644
--- a/data/gtkrc-contrast.em
+++ b/data/gtkrc-contrast.em
@@ -6,7 +6,6 @@ else:
}@
gtk-theme-name = "sugar-@scaling-contrast"
gtk-icon-theme-name = "sugar"
-gtk-cursor-theme-name = "sugar"
gtk-toolbar-style = GTK_TOOLBAR_ICONS
gtk-icon-sizes = "@icon_sizes"
gtk-cursor-blink-timeout = 3
diff --git a/data/gtkrc.em b/data/gtkrc.em
index d4e1a7c..4459c42 100644
--- a/data/gtkrc.em
+++ b/data/gtkrc.em
@@ -6,7 +6,6 @@ else:
}@
gtk-theme-name = "sugar-@scaling"
gtk-icon-theme-name = "sugar"
-gtk-cursor-theme-name = "sugar"
gtk-toolbar-style = GTK_TOOLBAR_ICONS
gtk-icon-sizes = "@icon_sizes"
gtk-cursor-blink-timeout = 3
diff --git a/extensions/cpsection/accessibility/model.py b/extensions/cpsection/accessibility/model.py
index 8769d24..6e5b154 100644
--- a/extensions/cpsection/accessibility/model.py
+++ b/extensions/cpsection/accessibility/model.py
@@ -21,8 +21,9 @@ from jarabe.model import accessibility
keyboard = accessibility.Keyboard()
screen = accessibility.Screen()
+mouse = accessibility.Mouse()
-KEYWORDS = ['mouse_keys', 'sticky_keys', 'bounce_keys', 'contrast']
+KEYWORDS = ['mouse_keys', 'sticky_keys', 'bounce_keys', 'contrast', 'white_mouse', 'accel_mouse']
def get_mouse_keys():
return keyboard.get_mouse_keys()
@@ -58,4 +59,22 @@ def set_contrast(activar):
screen.set_contrast(activar)
def print_contrast():
- print str(get_contrast()) \ No newline at end of file
+ print str(get_contrast())
+
+def get_white_mouse():
+ return mouse.get_white_mouse()
+
+def set_white_mouse(activar):
+ mouse.set_white_mouse(activar)
+
+def print_white_mouse():
+ print str(get_white_mouse())
+
+def get_accel_mouse():
+ return mouse.get_accel_mouse()
+
+def set_accel_mouse(valor):
+ mouse.set_accel_mouse(valor)
+
+def print_accel_mouse():
+ print str(get_accel_mouse()) \ No newline at end of file
diff --git a/extensions/cpsection/accessibility/view.py b/extensions/cpsection/accessibility/view.py
index bae14dc..23de47e 100644
--- a/extensions/cpsection/accessibility/view.py
+++ b/extensions/cpsection/accessibility/view.py
@@ -57,6 +57,7 @@ class accessibility(SectionView):
self._view_keyboard_options()
self._view_screen_options()
+ self._view_mouse_options()
def _view_keyboard_options(self):
@@ -98,6 +99,26 @@ class accessibility(SectionView):
self._vbox_section.pack_start(self.box_pm_screen, expand=False)
self.box_pm_screen.show()
+
+ def _view_mouse_options(self):
+ separator_pm_mouse = gtk.HSeparator()
+ self._vbox_section.pack_start(separator_pm_mouse, expand=False)
+ separator_pm_mouse.show()
+
+ label_pm_mouse = gtk.Label(_('Mouse'))
+ label_pm_mouse.set_alignment(0, 0)
+ self._vbox_section.pack_start(label_pm_mouse, expand=False)
+ label_pm_mouse.show()
+
+ self.box_pm_mouse = gtk.VBox()
+ self.box_pm_mouse.set_border_width(style.DEFAULT_SPACING * 2)
+ self.box_pm_mouse.set_spacing(style.DEFAULT_SPACING)
+
+ self._view_white_mouse()
+ self._view_acceleration_mouse()
+
+ self._vbox_section.pack_start(self.box_pm_mouse, expand=False)
+ self.box_pm_mouse.show()
def _set_mouse_keys(self, widget):
state = widget.get_active()
@@ -119,6 +140,17 @@ class accessibility(SectionView):
self._zone_alert.props.msg = self.restart_msg
self._zone_alert.show()
+ def _set_white_mouse(self, widget):
+ state = widget.get_active()
+ self._model.set_white_mouse(state)
+ self.restart_alerts.append('zone')
+ self.needs_restart = True
+ self._zone_alert.props.msg = self.restart_msg
+ self._zone_alert.show()
+
+ def cb_digits_scale_accel_mouse(self, adj):
+ self._model.set_accel_mouse(adj.value)
+
def undo(self):
self._model.set_mouse_keys(self.init_state_mouse_keys)
self._model.set_sticky_keys(self.init_state_sticky_keys)
@@ -126,6 +158,12 @@ class accessibility(SectionView):
self._model.set_contrast(self.init_state_contrast)
self.btn_contrast.set_active(self.init_state_contrast)
+
+ self._model.set_white_mouse(self.init_state_white_mouse)
+ self.btn_white_mouse.set_active(self.init_state_white_mouse)
+
+ self.adj_accel_mouse.set_value(self.init_state_accel_mouse)
+
self.needs_restart = False
self._zone_alert.hide()
@@ -186,3 +224,45 @@ class accessibility(SectionView):
lbl_contrast.set_alignment(0, 0)
self.box_pm_screen.pack_start(lbl_contrast, True, True, 2)
lbl_contrast.show()
+
+ def _view_white_mouse(self):
+ self.btn_white_mouse = gtk.CheckButton(_('White Mouse'))
+ self._white_mouse_pm_change_handler = self.btn_white_mouse.connect("toggled", self._set_white_mouse)
+ self.init_state_white_mouse = self._model.get_white_mouse()
+ if self.init_state_white_mouse:
+ self.btn_white_mouse.handler_block(self._white_mouse_pm_change_handler)
+ self.btn_white_mouse.set_active(True)
+ self.btn_white_mouse.handler_unblock(self._white_mouse_pm_change_handler)
+ else:
+ self.btn_white_mouse.set_active(False)
+ self.box_pm_mouse.pack_start(self.btn_white_mouse, True, True, 2)
+ self.btn_white_mouse.show()
+
+ lbl_white_mouse = gtk.Label(_('Show the mouse cursor white.'))
+ lbl_white_mouse.set_alignment(0, 0)
+ self.box_pm_mouse.pack_start(lbl_white_mouse, True, True, 2)
+ lbl_white_mouse.show()
+
+ def _view_acceleration_mouse(self):
+ box_accel_mouse = gtk.HBox(False, 0)
+ box_accel_mouse.set_border_width(0)
+ lbl_accel_mouse = gtk.Label(_('Acceleration: '))
+ lbl_accel_mouse.show()
+ box_accel_mouse.pack_start(lbl_accel_mouse, False, False, 0)
+
+ self.init_state_accel_mouse = self._model.get_accel_mouse();
+ self.adj_accel_mouse = gtk.Adjustment(self.init_state_accel_mouse, 0.0, 5.0, 1.0, 1.0, 0.0)
+ self.adj_accel_mouse.connect("value_changed", self.cb_digits_scale_accel_mouse)
+ self.scale_accel_mouse = gtk.HScale(self.adj_accel_mouse)
+ self.scale_accel_mouse.set_digits(0)
+ self.scale_accel_mouse.show()
+
+ box_accel_mouse.pack_start(self.scale_accel_mouse, True, True, 0)
+ box_accel_mouse.show()
+
+ self.box_pm_mouse.pack_start(box_accel_mouse, True, True, 2)
+
+ desc_accel_mouse = gtk.Label(_('Controller acceleration mouse.'))
+ desc_accel_mouse.set_alignment(0, 0)
+ self.box_pm_mouse.pack_start(desc_accel_mouse, True, True, 2)
+ desc_accel_mouse.show() \ No newline at end of file
diff --git a/src/jarabe/model/accessibility.py b/src/jarabe/model/accessibility.py
index 0324495..c06f5c0 100644
--- a/src/jarabe/model/accessibility.py
+++ b/src/jarabe/model/accessibility.py
@@ -17,6 +17,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+import gtk
import subprocess
import gconf
@@ -67,8 +68,10 @@ class Keyboard:
class Screen:
- CONTRAST_THEME="sugar-contrast"
DEFAULT_THEME="sugar"
+ DEFAULT_FONT_SIZE=7
+ CONTRAST_THEME="sugar-contrast"
+ CONTRAST_FONT_SIZE=9.5
def get_contrast(self):
client = gconf.client_get_default()
@@ -79,9 +82,52 @@ class Screen:
client = gconf.client_get_default()
if (activar):
client.set_string("/desktop/sugar/interface/gtk_theme", self.CONTRAST_THEME)
+ client.set_float('/desktop/sugar/font/default_size', self.CONTRAST_FONT_SIZE)
else:
client.set_string("/desktop/sugar/interface/gtk_theme", self.DEFAULT_THEME)
+ client.set_float('/desktop/sugar/font/default_size', self.DEFAULT_FONT_SIZE)
+
+class Mouse:
+
+ WHITE_CURSOR_THEME="FlatbedCursors.White.Huge"
+ DEFAULT_CURSOR_THEME="sugar"
+
+ def get_white_mouse(self):
+ client = gconf.client_get_default()
+ value = client.get_string("/desktop/sugar/peripherals/mouse/cursor_theme")
+ return value==self.WHITE_CURSOR_THEME
+
+ def set_white_mouse(self, activar):
+ client = gconf.client_get_default()
+ if (activar):
+ client.set_string("/desktop/sugar/peripherals/mouse/cursor_theme", self.WHITE_CURSOR_THEME)
+ else:
+ client.set_string("/desktop/sugar/peripherals/mouse/cursor_theme", self.DEFAULT_CURSOR_THEME)
+
+ def _set_white_mouse_setting(self):
+ cursor_theme = self.DEFAULT_CURSOR_THEME
+ if (self.get_white_mouse()):
+ cursor_theme = self.WHITE_CURSOR_THEME
+ settings = gtk.settings_get_default()
+ settings.set_property("gtk-cursor-theme-name", "%s" % (cursor_theme))
+
+ def get_accel_mouse(self):
+ client = gconf.client_get_default()
+ value = client.get_float("/desktop/sugar/peripherals/mouse/motion_acceleration")
+ return value
+
+ def set_accel_mouse(self, value):
+ client = gconf.client_get_default()
+ client.set_float("/desktop/sugar/peripherals/mouse/motion_acceleration", value)
+ self.run_config_mouse()
+
+ def _set_accel_mouse_setting(self):
+ cmd = ['xset', 'm' , str(self.get_accel_mouse())]
+ subprocess.call(cmd)
+ def run_config_mouse(self):
+ self._set_accel_mouse_setting()
+ self._set_white_mouse_setting()
class AccessibilityManager:
def setup_accessibility(self):
@@ -90,3 +136,5 @@ class AccessibilityManager:
if is_accessibility:
keyboard = Keyboard()
keyboard.run_config_keyboard()
+ mouse = Mouse()
+ mouse.run_config_mouse()