aboutsummaryrefslogtreecommitdiffstats
path: root/a11y/calendar/ea-day-view-cell.c
diff options
context:
space:
mode:
authorLi Yuan <li.yuan@sun.com>2004-09-30 15:32:36 +0800
committerHarry Lu <haip@src.gnome.org>2004-09-30 15:32:36 +0800
commit55e921af93354f13406657f4a5d68c5e426d9402 (patch)
treec3df07c23a7b26388ec7aa2ad510e06b39189c42 /a11y/calendar/ea-day-view-cell.c
parenta575a7229795651453ffdc8809a2f642b5e4a00c (diff)
downloadgsoc2013-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/calendar/ea-day-view-cell.c')
-rw-r--r--a11y/calendar/ea-day-view-cell.c41
1 files changed, 40 insertions, 1 deletions
diff --git a/a11y/calendar/ea-day-view-cell.c b/a11y/calendar/ea-day-view-cell.c
index 6fe6cf7077..5b1f81ae1a 100644
--- a/a11y/calendar/ea-day-view-cell.c
+++ b/a11y/calendar/ea-day-view-cell.c
@@ -103,6 +103,8 @@ static void component_interface_get_extents (AtkComponent *component,
gint *x, gint *y,
gint *width, gint *height,
AtkCoordType coord_type);
+static gboolean component_interface_grab_focus (AtkComponent *component);
+
static gpointer parent_class = NULL;
#ifdef ACC_DEBUG
@@ -175,7 +177,7 @@ ea_day_view_cell_new (GObject *obj)
object = g_object_new (EA_TYPE_DAY_VIEW_CELL, NULL);
atk_object = ATK_OBJECT (object);
atk_object_initialize (atk_object, obj);
- atk_object->role = ATK_ROLE_TABLE_CELL;
+ atk_object->role = ATK_ROLE_UNKNOWN;
#ifdef ACC_DEBUG
++n_ea_day_view_cell_created;
@@ -314,6 +316,7 @@ atk_component_interface_init (AtkComponentIface *iface)
g_return_if_fail (iface != NULL);
iface->get_extents = component_interface_get_extents;
+ iface->grab_focus = component_interface_grab_focus;
}
static void
@@ -355,3 +358,39 @@ component_interface_get_extents (AtkComponent *component,
*width = day_view->day_widths[cell->column];
*height = day_view->row_height;
}
+
+static gboolean
+component_interface_grab_focus (AtkComponent *comp)
+{
+ GObject *g_obj;
+ EDayViewCell *cell;
+ EDayView *day_view;
+ GtkWidget *toplevel;
+
+ g_return_val_if_fail (EA_IS_DAY_VIEW_CELL (comp), FALSE);
+
+ g_obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (comp));
+ if (!g_obj)
+ return FALSE;
+
+ cell = E_DAY_VIEW_CELL (g_obj);
+ day_view = cell->day_view;
+
+ day_view->selection_start_day = cell->column;
+ day_view->selection_end_day = cell->column;
+ day_view->selection_start_row = cell->row;
+ day_view->selection_end_row = cell->row;
+
+ e_day_view_ensure_rows_visible (day_view,
+ day_view->selection_start_row,
+ day_view->selection_end_row);
+ e_day_view_update_calendar_selection_time (day_view);
+ gtk_widget_queue_draw (day_view->main_canvas);
+
+ toplevel = gtk_widget_get_toplevel (GTK_WIDGET (day_view));
+ if (GTK_WIDGET_TOPLEVEL (toplevel))
+ gtk_window_present (GTK_WINDOW (toplevel));
+
+ return TRUE;
+}
+