[gnome-shell] a11y: also set the WM HighContrast theme when switch is flipped
- From: Cosimo Cecchi <cosimoc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] a11y: also set the WM HighContrast theme when switch is flipped
- Date: Tue, 13 Nov 2012 16:25:17 +0000 (UTC)
commit 65edbc14243b74f542d105c2f84cce4c7dc555df
Author: Cosimo Cecchi <cosimoc gnome org>
Date: Tue Nov 13 09:34:20 2012 -0500
a11y: also set the WM HighContrast theme when switch is flipped
Now that we have a HighContrast-specific WM theme.
https://bugzilla.gnome.org/show_bug.cgi?id=688256
js/ui/status/accessibility.js | 41 +++++++++++++++++++++++++++--------------
1 files changed, 27 insertions(+), 14 deletions(-)
---
diff --git a/js/ui/status/accessibility.js b/js/ui/status/accessibility.js
index 0c4f1ca..50f52f7 100644
--- a/js/ui/status/accessibility.js
+++ b/js/ui/status/accessibility.js
@@ -27,6 +27,7 @@ const KEY_VISUAL_BELL = 'visual-bell';
const DESKTOP_INTERFACE_SCHEMA = 'org.gnome.desktop.interface';
const KEY_GTK_THEME = 'gtk-theme';
const KEY_ICON_THEME = 'icon-theme';
+const KEY_WM_THEME = 'theme';
const KEY_TEXT_SCALING_FACTOR = 'text-scaling-factor';
const HIGH_CONTRAST_THEME = 'HighContrast';
@@ -101,28 +102,35 @@ const ATIndicator = new Lang.Class({
},
_buildHCItem: function() {
- let settings = new Gio.Settings({ schema: DESKTOP_INTERFACE_SCHEMA });
- let gtkTheme = settings.get_string(KEY_GTK_THEME);
- let iconTheme = settings.get_string(KEY_ICON_THEME);
+ let interfaceSettings = new Gio.Settings({ schema: DESKTOP_INTERFACE_SCHEMA });
+ let wmSettings = new Gio.Settings({ schema: WM_SCHEMA });
+ let gtkTheme = interfaceSettings.get_string(KEY_GTK_THEME);
+ let iconTheme = interfaceSettings.get_string(KEY_ICON_THEME);
+ let wmTheme = wmSettings.get_string(KEY_WM_THEME);
let hasHC = (gtkTheme == HIGH_CONTRAST_THEME);
let highContrast = this._buildItemExtended(
_("High Contrast"),
hasHC,
- settings.is_writable(KEY_GTK_THEME) && settings.is_writable(KEY_ICON_THEME),
+ interfaceSettings.is_writable(KEY_GTK_THEME) &&
+ interfaceSettings.is_writable(KEY_ICON_THEME) &&
+ wmSettings.is_writable(KEY_WM_THEME),
function (enabled) {
if (enabled) {
- settings.set_string(KEY_GTK_THEME, HIGH_CONTRAST_THEME);
- settings.set_string(KEY_ICON_THEME, HIGH_CONTRAST_THEME);
+ interfaceSettings.set_string(KEY_GTK_THEME, HIGH_CONTRAST_THEME);
+ interfaceSettings.set_string(KEY_ICON_THEME, HIGH_CONTRAST_THEME);
+ wmSettings.set_string(KEY_WM_THEME, HIGH_CONTRAST_THEME);
} else if(!hasHC) {
- settings.set_string(KEY_GTK_THEME, gtkTheme);
- settings.set_string(KEY_ICON_THEME, iconTheme);
+ interfaceSettings.set_string(KEY_GTK_THEME, gtkTheme);
+ interfaceSettings.set_string(KEY_ICON_THEME, iconTheme);
+ wmSettings.set_string(KEY_WM_THEME, wmTheme);
} else {
- settings.reset(KEY_GTK_THEME);
- settings.reset(KEY_ICON_THEME);
+ interfaceSettings.reset(KEY_GTK_THEME);
+ interfaceSettings.reset(KEY_ICON_THEME);
+ wmSettings.reset(KEY_WM_THEME);
}
});
- settings.connect('changed::' + KEY_GTK_THEME, function() {
- let value = settings.get_string(KEY_GTK_THEME);
+ interfaceSettings.connect('changed::' + KEY_GTK_THEME, function() {
+ let value = interfaceSettings.get_string(KEY_GTK_THEME);
if (value == HIGH_CONTRAST_THEME) {
highContrast.setToggleState(true);
} else {
@@ -130,11 +138,16 @@ const ATIndicator = new Lang.Class({
gtkTheme = value;
}
});
- settings.connect('changed::' + KEY_ICON_THEME, function() {
- let value = settings.get_string(KEY_ICON_THEME);
+ interfaceSettings.connect('changed::' + KEY_ICON_THEME, function() {
+ let value = interfaceSettings.get_string(KEY_ICON_THEME);
if (value != HIGH_CONTRAST_THEME)
iconTheme = value;
});
+ wmSettings.connect('changed::' + KEY_WM_THEME, function() {
+ let value = wmSettings.get_string(KEY_WM_THEME);
+ if (value != HIGH_CONTRAST_THEME)
+ wmTheme = value;
+ });
return highContrast;
},
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]