2004-09-27 Bill Haneman Fix for bug #151417. * gok/gok-key.h: Added action_ndx member to GokKey. Added KEYTYPE_ACTION. * gok/gok-key.c: (gok_key_new): Init action_ndx to 0. * gok/gok-keyboard.h: Added KEYBOARD_TYPE_ACTIONS. * gok/gok-keyboard.c: (gok_keyboard_update_dynamic): Removed unused call to Accessible_getAction which was leaking, for the GOK_SPY_SEARCH_MENU case. Handle the GOK_SPY_SEARCH_ACTIONABLE case: add one node per action for such nodes. (gok_keyboard_branch_or_invoke_actions): New; invoke action if there is only one, or if there's a singleton child action. Otherwise branch to an 'actions' keyboard. (gok_keyboard_branch_gui): Handle the SEARCH_ACTIONABLE case better, giving such keyboards a title of "Actions" rather than menus. Didn't mark for xlation yet, because of string freeze. (gok_keyboard_branch_gui_selectaction): Call gok_keyboard_branch_or_invoke_actions once the item has been selected. This allows branching for multi-action "selectables". (gok_keyboard_do_leaf_action): Call gok_keyboard_branch_or_invoke_actions here too. (gok_keyboard_branch_gui_actions): Call gok_keyboard_branch_or_invoke_actions. * gok/gok-spy.c: (gok_spy_get_actionable_descendants): Tweaked to return not only actionable descendants, but also the ancestor if it is, itself, actionable. 2004-09-24 Bill Haneman * gok/gok-spy.c: (gok_spy_is_selectable_child): Don't add selection-implementors directly, add their children. (gok_spy_is_ui): Don't test for isSelection if the object is_menu_role() succeeds, because this will cause the menu children to fail to be included in the node list. Use gok_spy_is_selectable_child. Add a 'parent' parameter to this call. 2004-09-23 Bill Haneman * gok/gok-spy.h: Changed GOK_SPY_SEARCH_TABLE_ROW to GOK_SPY_SEARCH_TABLE_CELLS. (gok_spy_get_table_nodes): Changed from gok_spy_get_table_row_nodes. * gok/gok-keyboard.c: (gok_keyboard_do_action): New, refactored from gok_spy_branch_gui_actions. (gok_keyboard_branch_gui_selectaction): Call gok_keyboard_do_action. (gok_keyboard_branch_gui_actions): Always select item if parent implements Selection, but don't return without doing an activation too. This means we do selection even for EditableText objects, when it's appropriate. Call gok_keyboard_do_action. Fixes for bug #153130. 2004-09-22 Bill Haneman * gok/gok-spy.c: Fixed gtk-doc comment for gok_spy_get_table_row_nodes. (gok_spy_is_ui): Add check for SPI_ROLE_LIST and AccessibleSelection interfaces. Fix for bug #152788. * gok/gok-keyboard.c: (gok_keyboard_branch_gui_actions): Don't branch to the Compose keyboard when activating an EditableText item unless the item also has STATE_EDITABLE [since it may be locked or otherwise not in an editable state]. Fix for bug #153389. 2004-09-10 Irene Ryan * /help/gok/C/gok.xml * /help/gok/C/gok-C.omf * /help/gok/C/legal.xml * /help/gok/C/figures/gok-main.png, gok-info.png Included a rewrite of the online Help for GOK to comply with the GDSG and reflect latest functionality.