a11y: create focus cell accessibles when they get focused

This commit is contained in:
Benjamin Otte 2012-02-11 04:43:15 +01:00
parent bf8d9ceb2f
commit 3827d75f64

View File

@ -1948,13 +1948,13 @@ _gtk_tree_view_accessible_update_focus_column (GtkTreeView *treeview,
if (new_focus) if (new_focus)
{ {
/* XXX: force creation here */
cell = peek_cell (accessible, cursor_tree, cursor_node, new_focus); cell = peek_cell (accessible, cursor_tree, cursor_node, new_focus);
if (cell != NULL) if (cell != NULL)
{ _gtk_cell_accessible_state_changed (cell, 0, GTK_CELL_RENDERER_FOCUSED);
_gtk_cell_accessible_state_changed (cell, 0, GTK_CELL_RENDERER_FOCUSED); else
g_signal_emit_by_name (accessible, "active-descendant-changed", cell); cell = create_cell (treeview, accessible, cursor_tree, cursor_node, new_focus);
}
g_signal_emit_by_name (accessible, "active-descendant-changed", cell);
} }
} }
@ -1982,16 +1982,15 @@ _gtk_tree_view_accessible_add_state (GtkTreeView *treeview,
if (focus_column) if (focus_column)
{ {
/* XXX: force creation here */ GtkCellAccessible *cell;
GtkCellAccessible *cell = peek_cell (accessible,
tree, node, cell = peek_cell (accessible, tree, node, focus_column);
focus_column);
if (cell != NULL) if (cell != NULL)
{ _gtk_cell_accessible_state_changed (cell, 0, state);
_gtk_cell_accessible_state_changed (cell, 0, state); else
g_signal_emit_by_name (accessible, "active-descendant-changed", cell); cell = create_cell (treeview, accessible, tree, node, focus_column);
}
g_signal_emit_by_name (accessible, "active-descendant-changed", cell);
} }
return; return;