aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Kerr <charles.kerr@canonical.com>2012-04-25 07:23:31 -0500
committerCharles Kerr <charles.kerr@canonical.com>2012-04-25 07:23:31 -0500
commit5a64bab16ee6f5eb989c838ca2dce791c54501f3 (patch)
treebf33261959cd0f12b1fa6058f053b1b5ff0347b9
parent51bfc395f9c37fae542d31dcf3382b80315e5cda (diff)
parent6e076f02999d0010a355fb57f60d4e9b5e799460 (diff)
downloadayatana-indicator-sound-5a64bab16ee6f5eb989c838ca2dce791c54501f3.tar.gz
ayatana-indicator-sound-5a64bab16ee6f5eb989c838ca2dce791c54501f3.tar.bz2
ayatana-indicator-sound-5a64bab16ee6f5eb989c838ca2dce791c54501f3.zip
merge lp:~cjcurran/indicator-sound/fix-lp-902715 to make the sound menu's volume slider accessible for screen readers.
-rw-r--r--src/volume-widget.c25
1 files changed, 22 insertions, 3 deletions
diff --git a/src/volume-widget.c b/src/volume-widget.c
index ac603c1..1258c20 100644
--- a/src/volume-widget.c
+++ b/src/volume-widget.c
@@ -135,16 +135,28 @@ volume_widget_property_update( DbusmenuMenuitem* item, gchar* property,
if(g_ascii_strcasecmp(DBUSMENU_VOLUME_MENUITEM_LEVEL, property) == 0){
g_return_if_fail (g_variant_is_of_type (value, G_VARIANT_TYPE_DOUBLE) );
+ gdouble update = g_variant_get_double (value);
+
if(priv->grabbed == FALSE){
GtkWidget *slider = ido_scale_menu_item_get_scale((IdoScaleMenuItem*)priv->ido_volume_slider);
GtkRange *range = (GtkRange*)slider;
- gdouble update = g_variant_get_double (value);
gtk_range_set_value(range, update);
/*
g_debug ("volume-widget::volume_widget_property_update - volume - value %f", update);
-*/
- update_accessible_desc(priv->indicator);
+ AtkObject* atk_object;
+ atk_object = gtk_widget_get_accessible (priv->ido_volume_slider);
+ if (atk_object != NULL){
+ atk_object_set_name (atk_object, desc);
+
+ }*/
}
+ gchar* desc = g_strdup_printf(_("Volume (%'.0f%%)"),
+ update);
+ dbusmenu_menuitem_property_set (priv->twin_item,
+ DBUSMENU_MENUITEM_PROP_ACCESSIBLE_DESC,
+ desc);
+ g_free (desc);
+ update_accessible_desc(priv->indicator);
}
else if(g_ascii_strcasecmp(DBUSMENU_VOLUME_MENUITEM_MUTE, property) == 0){
g_return_if_fail (g_variant_is_of_type (value, G_VARIANT_TYPE_BOOLEAN));
@@ -196,6 +208,13 @@ volume_widget_set_twin_item(VolumeWidget* self,
initial_level = 0;
}
gtk_range_set_value(range, initial_level);
+ gchar* desc = g_strdup_printf(_("Volume (%'.0f%%)"),
+ initial_level);
+ dbusmenu_menuitem_property_set (priv->twin_item,
+ DBUSMENU_MENUITEM_PROP_ACCESSIBLE_DESC,
+ desc);
+ g_free (desc);
+
}
static gboolean