From d8d481373ff47bc77432b2f8d8de91afd1bd02a0 Mon Sep 17 00:00:00 2001 From: Li Yuan Date: Thu, 27 Jan 2005 05:16:19 +0000 Subject: add an a11y name for the popup list. make shortcut key ALT+Arrow work. 2005-01-27 Li Yuan * e-cell-combo.c: (e_cell_combo_init), (e_cell_combo_do_popup), (e_cell_combo_list_button_press), (e_cell_combo_button_press), (e_cell_combo_button_release), (e_cell_combo_key_press): add an a11y name for the popup list. make shortcut key ALT+Arrow work. Fixes #70261 * e-cell-text.c: (e_cell_text_class_init), (_delete_selection), (_insert): add "text_inserted" and "text_deleted" signals to notify the text has been changed. (e_cell_text_get_text_by_view): new helper function to get the text being editted. * e-cell-text.h: add signal declaration. * e-cell-toggle.c: (etog_draw): add range check for negative values. * e-cell-vbox.c: (e_cell_vbox_class_init): * e-cell-vbox.h: make ECellVboxView public since it will be used in a11y part. * e-table-click-to-add.c: (etcta_style_set), (create_rect_and_text), (etcta_realize), (etcta_class_init), (e_table_click_to_add_commit): add "style_set" signal to click_to_add and implement the style_set function. (etcta_init): add a11y name to click to add. * e-table-click-to-add.h: add "style_set" signal to click_to_add and implement the style_set function. * e-table-config.c: (config_button_up), (config_button_down): check whether the columns are empty. * e-table-group-container.c: * e-table-group-container.h: make ETableGroupContainerChildNode public since it will be used in a11y part. * e-table-item.c: (eti_init): init eti->cols. (eti_event): at GDK_KEY_PRESS event and GDK_Down key pressed, we check view_col value before we pass it to eti_e_cell_event. (eti_class_init): call the new initialize function * e-table.c: (table_canvas_focus_event_cb): if canvas has a focused item but the etable does not have a cursor row, just focus the first item after check whether the click_to_add should get the focus. svn path=/trunk/; revision=28571 --- widgets/table/e-table.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'widgets/table/e-table.c') diff --git a/widgets/table/e-table.c b/widgets/table/e-table.c index 00aa37e88b..200b78b151 100644 --- a/widgets/table/e-table.c +++ b/widgets/table/e-table.c @@ -1126,6 +1126,14 @@ table_canvas_focus_event_cb (GtkWidget *widget, GdkEventFocus *event, gpointer d focus_first_etable_item (etable->group); } else if (canvas->focused_item) { ESelectionModel *selection = (ESelectionModel *)etable->selection; + + /* check whether click_to_add already got the focus */ + if (etable->click_to_add) { + GnomeCanvasItem *row = E_TABLE_CLICK_TO_ADD(etable->click_to_add)->row; + if (canvas->focused_item == row) + return TRUE; + } + if (e_selection_model_cursor_row (selection) == -1) focus_first_etable_item (etable->group); } -- cgit v1.2.3