diff options
-rw-r--r-- | configure.ac | 6 | ||||
-rw-r--r-- | src/datetime-service.c | 1 | ||||
-rw-r--r-- | src/indicator-datetime.c | 38 |
3 files changed, 42 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac index 081da56..a249775 100644 --- a/configure.ac +++ b/configure.ac @@ -1,11 +1,11 @@ -AC_INIT(indicator-datetime, 0.1.92, ted@canonical.com) +AC_INIT(indicator-datetime, 0.1.93, ted@canonical.com) AC_COPYRIGHT([Copyright 2009,2010 Canonical]) AC_PREREQ(2.53) AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE(indicator-datetime, 0.1.92) +AM_INIT_AUTOMAKE(indicator-datetime, 0.1.93) AM_MAINTAINER_MODE @@ -51,7 +51,7 @@ AC_ARG_WITH([gtk], # Dependencies ########################### -INDICATOR_REQUIRED_VERSION=0.3.0 +INDICATOR_REQUIRED_VERSION=0.3.19 DBUSMENUGLIB_REQUIRED_VERSION=0.1.1 DBUSMENUGTK_REQUIRED_VERSION=0.3.94 GIO_REQUIRED_VERSION=2.25.11 diff --git a/src/datetime-service.c b/src/datetime-service.c index 347fecb..d16837c 100644 --- a/src/datetime-service.c +++ b/src/datetime-service.c @@ -417,6 +417,7 @@ update_timezone_menu_items(gpointer user_data) { // Authentication function static gchar * auth_func (ECal *ecal, const gchar *prompt, const gchar *key, gpointer user_data) { + gboolean remember; // TODO: Is this useful? Should we be storing it somewhere? ESource *source = e_cal_get_source (ecal); gchar *auth_domain = e_source_get_duped_property (source, "auth-domain"); diff --git a/src/indicator-datetime.c b/src/indicator-datetime.c index 54b4507..045ab78 100644 --- a/src/indicator-datetime.c +++ b/src/indicator-datetime.c @@ -170,6 +170,7 @@ static void indicator_datetime_dispose (GObject *object); static void indicator_datetime_finalize (GObject *object); static GtkLabel * get_label (IndicatorObject * io); static GtkMenu * get_menu (IndicatorObject * io); +static const gchar * get_accessible_desc (IndicatorObject * io); static GVariant * bind_enum_set (const GValue * value, const GVariantType * type, gpointer user_data); static gboolean bind_enum_get (GValue * value, GVariant * variant, gpointer user_data); static gchar * generate_format_string_now (IndicatorDatetime * self); @@ -208,6 +209,7 @@ indicator_datetime_class_init (IndicatorDatetimeClass *klass) io_class->get_label = get_label; io_class->get_menu = get_menu; + io_class->get_accessible_desc = get_accessible_desc; g_object_class_install_property (object_class, PROP_TIME_FORMAT, @@ -616,6 +618,27 @@ idle_measure (gpointer data) return FALSE; } +/* Updates the accessible description */ +static void +update_accessible_description (IndicatorDatetime * io) +{ + GList * entries = indicator_object_get_entries(INDICATOR_OBJECT(io)); + IndicatorObjectEntry * entry = (IndicatorObjectEntry *)entries->data; + + entry->accessible_desc = get_accessible_desc(INDICATOR_OBJECT(io)); + + g_signal_emit(G_OBJECT(io), + INDICATOR_OBJECT_SIGNAL_ACCESSIBLE_DESC_UPDATE_ID, + 0, + entry, + TRUE); + + g_list_free(entries); + + return; +} + +/* Updates the label to be the current time. */ static void set_label_to_time_in_zone (IndicatorDatetime * self, GtkLabel * label, GTimeZone * tz, const gchar * format, @@ -670,6 +693,8 @@ update_label (IndicatorDatetime * io, GDateTime ** datetime) self->priv->idle_measure = g_idle_add(idle_measure, io); } + update_accessible_description(io); + return; } @@ -1459,3 +1484,16 @@ get_menu (IndicatorObject * io) return GTK_MENU(self->priv->menu); } + +static const gchar * +get_accessible_desc (IndicatorObject * io) +{ + IndicatorDatetime * self = INDICATOR_DATETIME(io); + const gchar * name; + + if (self->priv->label != NULL) { + name = gtk_label_get_text(self->priv->label); + return name; + } + return NULL; +} |