From 726f77ccdb4d0cc47b952c8403df926a9c7c7d45 Mon Sep 17 00:00:00 2001 From: Luke Yelavich Date: Wed, 9 Mar 2011 12:17:01 +1100 Subject: Indicators are now responsible for updating their own accessible description. Refactor accessible description update code into a new function. --- src/indicator-sound.c | 14 ++++++++++++++ src/indicator-sound.h | 3 +++ src/volume-widget.c | 18 ++---------------- 3 files changed, 19 insertions(+), 16 deletions(-) (limited to 'src') diff --git a/src/indicator-sound.c b/src/indicator-sound.c index 6e1acc9..9e10f3a 100644 --- a/src/indicator-sound.c +++ b/src/indicator-sound.c @@ -640,3 +640,17 @@ indicator_sound_scroll (IndicatorObject *io, gint delta, sound_state_manager_show_notification (priv->state_manager, value); } + +void +update_accessible_desc (IndicatorObject * io) +{ + GList *entries = indicator_object_get_entries(io); + IndicatorObjectEntry * entry = (IndicatorObjectEntry *)entries->data; + entry->accessible_desc = get_accessible_desc(io); + g_signal_emit(G_OBJECT(io), + INDICATOR_OBJECT_SIGNAL_ACCESSIBLE_DESC_UPDATE_ID, + 0, + entry, + TRUE); + g_list_free(entries); +} diff --git a/src/indicator-sound.h b/src/indicator-sound.h index 40a3e6f..c945efa 100644 --- a/src/indicator-sound.h +++ b/src/indicator-sound.h @@ -53,4 +53,7 @@ struct _IndicatorSound { // GObject Boiler plate GType indicator_sound_get_type (void); +// Update the accessible description +void update_accessible_desc (IndicatorObject * io); + #endif diff --git a/src/volume-widget.c b/src/volume-widget.c index be97994..c45e93c 100644 --- a/src/volume-widget.c +++ b/src/volume-widget.c @@ -138,14 +138,7 @@ volume_widget_property_update( DbusmenuMenuitem* item, gchar* property, gdouble update = g_variant_get_double (value); //g_debug("volume-widget - update level with value %f", update); gtk_range_set_value(range, update); - - GList *entry = indicator_object_get_entries(priv->indicator); - g_signal_emit(G_OBJECT(priv->indicator), - INDICATOR_OBJECT_SIGNAL_ACCESSIBLE_DESC_UPDATE_ID, - 0, - entry->data, - TRUE); - g_list_free(entry); + update_accessible_desc(priv->indicator); } } } @@ -165,14 +158,7 @@ volume_widget_set_twin_item(VolumeWidget* self, GtkWidget *slider = ido_scale_menu_item_get_scale((IdoScaleMenuItem*)priv->ido_volume_slider); GtkRange *range = (GtkRange*)slider; gtk_range_set_value(range, initial_level); - - GList *entry = indicator_object_get_entries(priv->indicator); - g_signal_emit(G_OBJECT(priv->indicator), - INDICATOR_OBJECT_SIGNAL_ACCESSIBLE_DESC_UPDATE_ID, - 0, - entry->data, - TRUE); - g_list_free(entry); + update_accessible_desc(priv->indicator); } static gboolean -- cgit v1.2.3