[gnome-settings-daemon] media-keys: Add magnifier in/out keybindings
- From: Bastien Nocera <hadess src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-settings-daemon] media-keys: Add magnifier in/out keybindings
- Date: Wed, 23 Feb 2011 16:41:28 +0000 (UTC)
commit 69b04f07a978a969edeccc995850c318e2461562
Author: Bastien Nocera <hadess hadess net>
Date: Wed Feb 23 16:38:25 2011 +0000
media-keys: Add magnifier in/out keybindings
...ngs-daemon.plugins.media-keys.gschema.xml.in.in | 10 ++++++++
plugins/media-keys/acme.h | 4 +++
plugins/media-keys/gsd-media-keys-manager.c | 24 ++++++++++++++++++++
3 files changed, 38 insertions(+), 0 deletions(-)
---
diff --git a/data/org.gnome.settings-daemon.plugins.media-keys.gschema.xml.in.in b/data/org.gnome.settings-daemon.plugins.media-keys.gschema.xml.in.in
index 50a0777..81de8a2 100644
--- a/data/org.gnome.settings-daemon.plugins.media-keys.gschema.xml.in.in
+++ b/data/org.gnome.settings-daemon.plugins.media-keys.gschema.xml.in.in
@@ -140,5 +140,15 @@
<_summary>Toggle contrast</_summary>
<_description>Binding to toggle the interface contrast</_description>
</key>
+ <key name="magnifier-zoom-in" type="s">
+ <default>''</default>
+ <_summary>Magnifier zoom in</_summary>
+ <_description>Binding for the magnifier to zoom in</_description>
+ </key>
+ <key name="magnifier-zoom-out" type="s">
+ <default>''</default>
+ <_summary>Magnifier zoom out</_summary>
+ <_description>Binding for the magnifier to zoom out</_description>
+ </key>
</schema>
</schemalist>
diff --git a/plugins/media-keys/acme.h b/plugins/media-keys/acme.h
index 9d1cbab..fd5358f 100644
--- a/plugins/media-keys/acme.h
+++ b/plugins/media-keys/acme.h
@@ -60,6 +60,8 @@ typedef enum {
INCREASE_TEXT_KEY,
DECREASE_TEXT_KEY,
TOGGLE_CONTRAST_KEY,
+ MAGNIFIER_ZOOM_IN_KEY,
+ MAGNIFIER_ZOOM_OUT_KEY,
HANDLED_KEYS
} MediaKeyType;
@@ -106,6 +108,8 @@ static struct {
{ INCREASE_TEXT_KEY, "increase-text-size", NULL, NULL },
{ DECREASE_TEXT_KEY, "decrease-text-size", NULL, NULL },
{ TOGGLE_CONTRAST_KEY, "toggle-contrast", NULL, NULL },
+ { MAGNIFIER_ZOOM_IN_KEY, "magnifier-zoom-in", NULL, NULL },
+ { MAGNIFIER_ZOOM_OUT_KEY, "magnifier-zoom-out", NULL, NULL },
};
#endif /* __ACME_H__ */
diff --git a/plugins/media-keys/gsd-media-keys-manager.c b/plugins/media-keys/gsd-media-keys-manager.c
index 284880d..237e727 100644
--- a/plugins/media-keys/gsd-media-keys-manager.c
+++ b/plugins/media-keys/gsd-media-keys-manager.c
@@ -1179,6 +1179,26 @@ do_text_size_action (GsdMediaKeysManager *manager,
}
static void
+do_magnifier_zoom_action (GsdMediaKeysManager *manager,
+ MediaKeyType type)
+{
+ GSettings *settings;
+ gdouble offset, value;
+
+ if (type == MAGNIFIER_ZOOM_IN_KEY)
+ offset = 1.0;
+ else
+ offset = -1.0;
+
+ settings = g_settings_new ("org.gnome.desktop.a11y.magnifier");
+ value = g_settings_get_double (settings, "mag-factor");
+ value += offset;
+ value = roundl (value);
+ g_settings_set_double (settings, "mag-factor", value);
+ g_object_unref (settings);
+}
+
+static void
do_toggle_contrast_action (GsdMediaKeysManager *manager)
{
gboolean high_contrast;
@@ -1312,6 +1332,10 @@ do_action (GsdMediaKeysManager *manager,
case DECREASE_TEXT_KEY:
do_text_size_action (manager, type);
break;
+ case MAGNIFIER_ZOOM_IN_KEY:
+ case MAGNIFIER_ZOOM_OUT_KEY:
+ do_magnifier_zoom_action (manager, type);
+ break;
case TOGGLE_CONTRAST_KEY:
do_toggle_contrast_action (manager);
break;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]