evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_screen_reader);
//
}
+
+EOLIAN static void
+_elm_popup_elm_widget_atspi(Eo *obj, Elm_Popup_Data *_pd EINA_UNUSED, Eina_Bool is_atspi)
+{
+ Elm_Atspi_State_Set ss;
+
+ if (!is_atspi) return;
+
+ eo_do(obj, ss = elm_interface_atspi_accessible_state_set_get());
+ if (STATE_TYPE_GET(ss, ELM_ATSPI_STATE_SHOWING))
+ {
+ elm_interface_atspi_accessible_state_changed_signal_emit(obj, ELM_ATSPI_STATE_SHOWING, EINA_TRUE);
+ }
+}
//
//
if (!pd->connected)
{
+ //TIZEN_ONLY(20170910) atspi: emit signal after atspi bridge is connected
+ pd->connected = EINA_TRUE;
eo_do(data, eo_event_callback_call(ELM_ATSPI_BRIDGE_EVENT_CONNECTED, NULL));
+ _elm_win_atspi(EINA_TRUE);
+ //
// buid cache
eo_do(data, root = elm_obj_atspi_bridge_root_get());
pd->socket_queue = pd->plug_queue = NULL;
}
-
- pd->connected = EINA_TRUE;
}
static void
{
if (STATE_TYPE_GET(ss, ELM_ATSPI_STATE_ACTIVE))
{
- // TIZEN_ONLY(20170512): send window activated event to at_spi2 only once per session
- if(pd->window_activated_broadcast_needed)
- {
- _window_signal_send(bridge, obj, ELM_INTERFACE_ATSPI_WINDOW_EVENT_WINDOW_ACTIVATED, NULL);
- pd->window_activated_broadcast_needed = EINA_FALSE;
- }
// TIZEN_ONLY(20160802): do not handle events if the window is not activated
pd->window_activated = EINA_TRUE;
//
}
else
{
- // TIZEN_ONLY(20170512): send window activated event to at_spi2 only once per session
- if(pd->window_activated_broadcast_needed)
- {
- _window_signal_send(bridge, obj, ELM_INTERFACE_ATSPI_WINDOW_EVENT_WINDOW_DEACTIVATED, NULL);
- pd->window_activated_broadcast_needed = EINA_FALSE;
- }
// TIZEN_ONLY(20160802): do not handle events if the window is not activated
pd->window_activated = EINA_FALSE;
//
if (is_enabled)
_a11y_connection_init(data);
else
- DBG("AT-SPI2 stack not enabled.");
+ {
+ _elm_win_atspi(EINA_FALSE);
+ DBG("AT-SPI2 stack not enabled.");
+ }
- _elm_win_atspi(is_enabled);
}
//
return;
}
- _elm_win_atspi(val);
if (val)
_a11y_connection_init(bridge);
else
- _a11y_connection_shutdown(bridge);
+ {
+ _elm_win_atspi(EINA_FALSE);
+ _a11y_connection_shutdown(bridge);
+ }
}
//
}
{
const Eina_List *l;
Evas_Object *obj;
+ Elm_Atspi_State_Set ss;
EINA_LIST_FOREACH(_elm_win_list, l, obj)
{
- elm_widget_atspi(obj, is_atspi);
-
if (!is_atspi)
{
ELM_WIN_DATA_GET(obj, sd);
else
{
_atspi_socket_proxy_listen(obj);
+ eo_do(obj, ss = elm_interface_atspi_accessible_state_set_get());
+ if (STATE_TYPE_GET(ss, ELM_ATSPI_STATE_ACTIVE))
+ {
+ elm_interface_atspi_window_activated_signal_emit(obj);
+ elm_interface_atspi_accessible_state_changed_signal_emit(obj, ELM_ATSPI_STATE_ACTIVE, EINA_TRUE);
+ }
}
+
+ elm_widget_atspi(obj, is_atspi);
}
}
//