diff options
author | Li Yuan <li.yuan@sun.com> | 2004-09-30 15:32:36 +0800 |
---|---|---|
committer | Harry Lu <haip@src.gnome.org> | 2004-09-30 15:32:36 +0800 |
commit | 55e921af93354f13406657f4a5d68c5e426d9402 (patch) | |
tree | c3df07c23a7b26388ec7aa2ad510e06b39189c42 /a11y/widgets/ea-calendar-item.c | |
parent | a575a7229795651453ffdc8809a2f642b5e4a00c (diff) | |
download | gsoc2013-evolution-55e921af93354f13406657f4a5d68c5e426d9402.tar.gz gsoc2013-evolution-55e921af93354f13406657f4a5d68c5e426d9402.tar.zst gsoc2013-evolution-55e921af93354f13406657f4a5d68c5e426d9402.zip |
Make accessibility name and description translatable.
2004-09-23 Li Yuan <li.yuan@sun.com>
* calendar/ea-cal-view-event.c: (ea_cal_view_event_get_type),
(ea_cal_view_event_get_name), (ea_cal_view_event_get_description):
Make accessibility name and description translatable.
(atk_action_interface_init), (ea_cal_view_event_do_action),
(ea_cal_view_event_get_n_actions),
(ea_cal_view_event_action_get_name):
Add action interface to ea-cal-view-event so that it can be
UI grabbed by GOK.
* calendar/ea-cal-view.c:
Make accessibility name and description translatable.
* calendar/ea-day-view-cell.c: (ea_day_view_cell_new):
Change atk role of ea-day-view-cell from ATK_ROLE_TABLE_CELL
to ATK_ROLE_UNKNOWN so that it can be UI grabbed by GOK.
(atk_component_interface_init), (component_interface_grab_focus):
Add a component interface function : grab_focus.
When grab focus, present the Evolution GUI to the front.
* calendar/ea-day-view-main-item.c:
(ea_day_view_main_item_get_description):
Make accessibility name and description translatable.
(ea_day_view_main_item_time_change_cb):
Notify the item_cell is selected.
* calendar/ea-day-view.c: (ea_day_view_get_name),
(ea_day_view_get_description):
Make accessibility name and description translatable.
* calendar/ea-gnome-calendar.c: (ea_gnome_calendar_get_name),
(ea_gnome_calendar_get_description), (ea_gnome_calendar_ref_child):
Make accessibility name and description translatable.
* calendar/ea-jump-button.c: (ea_jump_button_get_name),
(ea_jump_button_get_description):
Make accessibility name and description translatable.
* calendar/ea-week-view-cell.c: (ea_week_view_cell_get_name),
(atk_component_interface_init), (component_interface_get_extents),
(component_interface_grab_focus):
Add a component interface function : grab_focus.
Add support for different week start days.
When grab focus, present the Evolutioon GUI to the front.
* calendar/ea-week-view-main-item.c: (ea_week_view_main_item_new):
Set the atk role to ATK_ROLE_TABLE.
(ea_week_view_main_item_get_description):
Make accessibility name and description translatable.
(ea_week_view_main_item_time_change_cb):
Notify the item_cell is selected.
* calendar/ea-week-view.c: (ea_week_view_get_name),
(ea_week_view_get_description):
Make accessibility name and description translatable.
* widgets/ea-calendar-cell.c: (ea_calendar_cell_new):
Change atk role of ea-calendar-cell from ATK_ROLE_TABLE_CELL
to ATK_ROLE_UNKNOWN so that it can be UI grabbed by GOK.
* widgets/ea-calendar-item.c: (ea_calendar_item_class_init),
(ea_calendar_item_get_name), (ea_calendar_item_get_description):
Make accessibility name and description translatable.
(ea_calendar_item_ref_state_set),:
Implement ref_state_set so that ea-calendar-item can be UI
grabbed by GOK.
(ea_calendar_item_destory_cell_data):
Fix a crash here.
svn path=/trunk/; revision=27434
Diffstat (limited to 'a11y/widgets/ea-calendar-item.c')
-rw-r--r-- | a11y/widgets/ea-calendar-item.c | 56 |
1 files changed, 47 insertions, 9 deletions
diff --git a/a11y/widgets/ea-calendar-item.c b/a11y/widgets/ea-calendar-item.c index 50cbafa08c..ac5eb1ff41 100644 --- a/a11y/widgets/ea-calendar-item.c +++ b/a11y/widgets/ea-calendar-item.c @@ -28,6 +28,8 @@ #include <string.h> #include <libgnomecanvas/gnome-canvas.h> #include <glib/gdate.h> +#include <gal/util/e-util.h> +#include <libgnome/gnome-i18n.h> #include "ea-calendar-item.h" #include "ea-calendar-cell.h" #include "ea-cell-table.h" @@ -42,6 +44,7 @@ static G_CONST_RETURN gchar* ea_calendar_item_get_name (AtkObject *accessible); static G_CONST_RETURN gchar* ea_calendar_item_get_description (AtkObject *accessible); static gint ea_calendar_item_get_n_children (AtkObject *accessible); static AtkObject *ea_calendar_item_ref_child (AtkObject *accessible, gint index); +static AtkStateSet* ea_calendar_item_ref_state_set (AtkObject *accessible); /* atk table interface */ static void atk_table_interface_init (AtkTableIface *iface); @@ -201,6 +204,7 @@ ea_calendar_item_class_init (EaCalendarItemClass *klass) class->get_name = ea_calendar_item_get_name; class->get_description = ea_calendar_item_get_description; + class->ref_state_set = ea_calendar_item_ref_state_set; class->get_n_children = ea_calendar_item_get_n_children; class->ref_child = ea_calendar_item_ref_child; @@ -264,6 +268,10 @@ ea_calendar_item_get_name (AtkObject *accessible) gint start_year, start_month, start_day; gint end_year, end_month, end_day; static gchar new_name[256] = ""; + gchar buffer_start[128] = ""; + gchar buffer_end[128] = ""; + struct tm day_start = { 0 }; + struct tm day_end = { 0 }; g_return_val_if_fail (EA_IS_CALENDAR_ITEM (accessible), NULL); @@ -276,13 +284,26 @@ ea_calendar_item_get_name (AtkObject *accessible) calitem = E_CALENDAR_ITEM (g_obj); if (e_calendar_item_get_date_range (calitem, &start_year, &start_month, &start_day, - &end_year, &end_month, &end_day)) { - ++start_month; - ++end_month; - sprintf (new_name, "calendar (from %d-%d-%d to %d-%d-%d)", - start_year, start_month, start_day, - end_year, end_month, end_day); - } + &end_year, &end_month, &end_day)) { + + day_start.tm_year = start_year - 1900; + day_start.tm_mon = start_month; + day_start.tm_mday = start_day; + day_start.tm_isdst = -1; + e_utf8_strftime (buffer_start, sizeof (buffer_start), _(" %d %B %Y"), &day_start); + + day_end.tm_year = end_year - 1900; + day_end.tm_mon = end_month; + day_end.tm_mday = end_day; + day_end.tm_isdst = -1; + e_utf8_strftime (buffer_end, sizeof (buffer_end), _(" %d %B %Y"), &day_end); + + strcat (new_name, _("calendar (from ")); + strcat (new_name, buffer_start); + strcat (new_name, _(" to ")); + strcat (new_name, buffer_end); + strcat (new_name, _(")")); + } #if 0 if (e_calendar_item_get_selection (calitem, &select_start, &select_end)) { @@ -313,7 +334,24 @@ ea_calendar_item_get_description (AtkObject *accessible) if (accessible->description) return accessible->description; - return "evolution calendar item"; + return _("evolution calendar item"); +} + +static AtkStateSet* +ea_calendar_item_ref_state_set (AtkObject *accessible) +{ + AtkStateSet *state_set; + GObject *g_obj; + + state_set = ATK_OBJECT_CLASS (parent_class)->ref_state_set (accessible); + g_obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE(accessible)); + if (!g_obj) + return state_set; + + atk_state_set_add_state (state_set, ATK_STATE_ENABLED); + atk_state_set_add_state (state_set, ATK_STATE_SENSITIVE); + + return state_set; } static gint @@ -1039,9 +1077,9 @@ ea_calendar_item_destory_cell_data (EaCalendarItem *ea_calitem) cell_data = g_object_get_data (G_OBJECT(ea_calitem), "ea-calendar-cell-table"); if (cell_data) { - ea_cell_table_destroy (cell_data); g_object_set_data (G_OBJECT(ea_calitem), "ea-calendar-cell-table", NULL); + ea_cell_table_destroy (cell_data); } } |