forked from enlightenment/efl
atspi: handle state change notifications in on_focus function
This commit is contained in:
parent
8d1a238d1c
commit
c306271bc3
|
@ -1099,6 +1099,8 @@ _elm_entry_elm_widget_on_focus(Eo *obj, Elm_Entry_Data *sd)
|
|||
!edje_object_part_text_imf_context_get(sd->entry_edje, "elm.text"))
|
||||
elm_win_keyboard_mode_set(top, ELM_WIN_KEYBOARD_ON);
|
||||
evas_object_smart_callback_call(obj, SIG_FOCUSED, NULL);
|
||||
if (_elm_config->atspi_mode)
|
||||
elm_interface_atspi_accessible_state_changed_signal_emit(obj, ELM_ATSPI_STATE_FOCUSED, EINA_TRUE);
|
||||
_return_key_enabled_check(obj);
|
||||
_validate(obj);
|
||||
}
|
||||
|
@ -1110,6 +1112,8 @@ _elm_entry_elm_widget_on_focus(Eo *obj, Elm_Entry_Data *sd)
|
|||
!edje_object_part_text_imf_context_get(sd->entry_edje, "elm.text"))
|
||||
elm_win_keyboard_mode_set(top, ELM_WIN_KEYBOARD_OFF);
|
||||
evas_object_smart_callback_call(obj, SIG_UNFOCUSED, NULL);
|
||||
if (_elm_config->atspi_mode)
|
||||
elm_interface_atspi_accessible_state_changed_signal_emit(obj, ELM_ATSPI_STATE_FOCUSED, EINA_FALSE);
|
||||
|
||||
if (_elm_config->selection_clear_enable)
|
||||
{
|
||||
|
|
|
@ -406,12 +406,16 @@ _elm_layout_elm_widget_on_focus(Eo *obj, Elm_Layout_Smart_Data *_pd EINA_UNUSED)
|
|||
elm_layout_signal_emit(obj, "elm,action,focus", "elm");
|
||||
evas_object_focus_set(wd->resize_obj, EINA_TRUE);
|
||||
evas_object_smart_callback_call(obj, SIG_LAYOUT_FOCUSED, NULL);
|
||||
if (_elm_config->atspi_mode)
|
||||
elm_interface_atspi_accessible_state_changed_signal_emit(obj, ELM_ATSPI_STATE_FOCUSED, EINA_TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
elm_layout_signal_emit(obj, "elm,action,unfocus", "elm");
|
||||
evas_object_focus_set(wd->resize_obj, EINA_FALSE);
|
||||
evas_object_smart_callback_call(obj, SIG_LAYOUT_UNFOCUSED, NULL);
|
||||
if (_elm_config->atspi_mode)
|
||||
elm_interface_atspi_accessible_state_changed_signal_emit(obj, ELM_ATSPI_STATE_FOCUSED, EINA_FALSE);
|
||||
}
|
||||
|
||||
return EINA_TRUE;
|
||||
|
|
|
@ -5430,13 +5430,6 @@ elm_widget_tree_dot_dump(const Evas_Object *top,
|
|||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
_on_focus_change(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
||||
{
|
||||
Eina_Bool val = data ? EINA_TRUE : EINA_FALSE;
|
||||
elm_interface_atspi_accessible_state_changed_signal_emit(obj, ELM_ATSPI_STATE_FOCUSED, val);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_widget_eo_base_constructor(Eo *obj, Elm_Widget_Smart_Data *sd)
|
||||
{
|
||||
|
@ -5452,8 +5445,6 @@ _elm_widget_eo_base_constructor(Eo *obj, Elm_Widget_Smart_Data *sd)
|
|||
sd->on_create = EINA_FALSE;
|
||||
|
||||
sd->role = ELM_ATSPI_ROLE_UNKNOWN;
|
||||
evas_object_smart_callback_add(obj, "focused", _on_focus_change, (void*)1);
|
||||
evas_object_smart_callback_add(obj, "unfocused", _on_focus_change, NULL);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
|
@ -5479,12 +5470,16 @@ _elm_widget_on_focus(Eo *obj, Elm_Widget_Smart_Data *sd)
|
|||
if (!sd->resize_obj)
|
||||
evas_object_focus_set(obj, EINA_TRUE);
|
||||
evas_object_smart_callback_call(obj, SIG_WIDGET_FOCUSED, NULL);
|
||||
if (_elm_config->atspi_mode)
|
||||
elm_interface_atspi_accessible_state_changed_signal_emit(obj, ELM_ATSPI_STATE_FOCUSED, EINA_TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!sd->resize_obj)
|
||||
evas_object_focus_set(obj, EINA_FALSE);
|
||||
evas_object_smart_callback_call(obj, SIG_WIDGET_UNFOCUSED, NULL);
|
||||
if (_elm_config->atspi_mode)
|
||||
elm_interface_atspi_accessible_state_changed_signal_emit(obj, ELM_ATSPI_STATE_FOCUSED, EINA_FALSE);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue