mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-09-30 02:57:38 +00:00
GtkMenuItemAccessible: implement selectable/selected states
The automatic handling for this was removed in atk, so we need to do it ourselves now.
This commit is contained in:
parent
df1d331713
commit
5bee1a994f
@ -23,6 +23,7 @@
|
||||
struct _GtkMenuItemAccessiblePrivate
|
||||
{
|
||||
gchar *text;
|
||||
gboolean selected;
|
||||
};
|
||||
|
||||
#define KEYBINDING_SEPARATOR ";"
|
||||
@ -147,6 +148,10 @@ gtk_menu_item_accessible_ref_state_set (AtkObject *obj)
|
||||
|
||||
state_set = ATK_OBJECT_CLASS (_gtk_menu_item_accessible_parent_class)->ref_state_set (obj);
|
||||
|
||||
atk_state_set_add_state (state_set, ATK_STATE_SELECTABLE);
|
||||
if (GTK_MENU_ITEM_ACCESSIBLE (obj)->priv->selected)
|
||||
atk_state_set_add_state (state_set, ATK_STATE_SELECTED);
|
||||
|
||||
menu_item = atk_object_get_parent (obj);
|
||||
|
||||
if (menu_item)
|
||||
@ -620,6 +625,7 @@ menu_item_selection (GtkMenuItem *item,
|
||||
gint i;
|
||||
|
||||
obj = gtk_widget_get_accessible (GTK_WIDGET (item));
|
||||
GTK_MENU_ITEM_ACCESSIBLE (obj)->priv->selected = selected;
|
||||
atk_object_notify_state_change (obj, ATK_STATE_SELECTED, selected);
|
||||
|
||||
for (i = 0; i < atk_object_get_n_accessible_children (obj); i++)
|
||||
|
Loading…
Reference in New Issue
Block a user