atspi: connect to at-spi dbus based on org.a11y.Status.IsEnabled property 94/129494/8
authorPaweł Stawicki <p.stawicki@partner.samsung.com>
Fri, 12 May 2017 11:37:11 +0000 (13:37 +0200)
committerShinwoo Kim <cinoo.kim@samsung.com>
Fri, 2 Jun 2017 07:30:58 +0000 (16:30 +0900)
Change-Id: Ic7a95172cd0da5e5285df195a4f31f9aaf98eade

34 files changed:
src/lib/elc_multibuttonentry.c
src/lib/elc_naviframe.c
src/lib/elc_popup.c
src/lib/elm_atspi_bridge.c
src/lib/elm_calendar.c
src/lib/elm_calendar.eo
src/lib/elm_conform.c
src/lib/elm_conformant.eo
src/lib/elm_entry.c
src/lib/elm_entry.eo
src/lib/elm_flipselector.c
src/lib/elm_flipselector.eo
src/lib/elm_gengrid.c
src/lib/elm_gengrid.eo
src/lib/elm_genlist.c
src/lib/elm_genlist.eo
src/lib/elm_index.c
src/lib/elm_index.eo
src/lib/elm_layout.c
src/lib/elm_layout.eo
src/lib/elm_list.c
src/lib/elm_list.eo
src/lib/elm_multibuttonentry.eo
src/lib/elm_naviframe.eo
src/lib/elm_popup.eo
src/lib/elm_priv.h
src/lib/elm_toolbar.c
src/lib/elm_toolbar.eo
src/lib/elm_widget.c
src/lib/elm_widget.eo
src/lib/elm_widget.h
src/lib/elm_win.c
src/mobile_lib/elm_genlist.c
src/mobile_lib/elm_genlist.eo

index 6abcb7939d31ed71270866605614f0ccdca15513..0b1ff1f7e64a3880a59080456f1c19390323381a 100644 (file)
@@ -1891,15 +1891,17 @@ _elm_multibuttonentry_elm_widget_access(Eo *obj, Elm_Multibuttonentry_Data *sd E
 
 //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
 //register/unregister access objects accordingly.
+// TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
 EOLIAN static void
-_elm_multibuttonentry_elm_widget_atspi(Eo *obj, Elm_Multibuttonentry_Data *sd EINA_UNUSED, Eina_Bool is_atspi)
+_elm_multibuttonentry_elm_widget_screen_reader(Eo *obj, Elm_Multibuttonentry_Data *sd EINA_UNUSED, Eina_Bool is_screen_reader)
 {
-   _atspi_obj_process(obj, is_atspi);
+   _atspi_obj_process(obj, is_screen_reader);
    //TIZEN_ONLY(20161213): apply screen_reader_changed callback
-   evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_atspi);
+   evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_screen_reader);
    //
 }
 //
+//
 
 EAPI Evas_Object *
 elm_multibuttonentry_add(Evas_Object *parent)
index 3f9a9cb8a5d6ba575c4b3a7a1b7ba251d3b67c4e..2ace342616bf54d4e9010b8371e97f0ae3bac4a6 100644 (file)
@@ -413,7 +413,7 @@ _item_style_set(Elm_Naviframe_Item_Data *it,
      evas_object_freeze_events_set(VIEW(it), EINA_FALSE);
 
    //TIZEN ONLY(20151012): expose title as at-spi object
-   if (_elm_atspi_enabled())
+   if (elm_atspi_bridge_utils_is_screen_reader_enabled())
      _atspi_expose_title(it, EINA_TRUE);
    //
 }
@@ -1756,19 +1756,21 @@ _elm_naviframe_elm_widget_access(Eo *obj EINA_UNUSED, Elm_Naviframe_Data *sd, Ei
 
 //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
 //register/unregister access objects accordingly.
+// TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
 EOLIAN static void
-_elm_naviframe_elm_widget_atspi(Eo *obj EINA_UNUSED, Elm_Naviframe_Data *sd, Eina_Bool is_atspi)
+_elm_naviframe_elm_widget_screen_reader(Eo *obj EINA_UNUSED, Elm_Naviframe_Data *sd, Eina_Bool is_screen_reader)
 {
    Elm_Naviframe_Item_Data *it;
 
    EINA_INLIST_FOREACH(sd->stack, it)
-     _atspi_expose_title(it, is_atspi);
+     _atspi_expose_title(it, is_screen_reader);
 
    //TIZEN_ONLY(20161213): apply screen_reader_changed callback
-   evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_atspi);
+   evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_screen_reader);
    //
 }
 //
+//
 
 static void
 _item_push_helper(Elm_Naviframe_Item_Data *item)
index a91ef16c89fc4145865414f59509874de1bb4340..eeed1c664c80f097b163e1f740bd17016214d8a2 100644 (file)
@@ -1323,9 +1323,11 @@ _title_text_set(Evas_Object *obj,
      }
 
    //TIZEN ONLY(20150717): expose title as at-spi object
-   if (_elm_atspi_enabled())
+   // TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+   if (elm_atspi_bridge_utils_is_screen_reader_enabled())
      _atspi_expose_title(obj, EINA_TRUE);
    //
+   //
    if (sd->title_text)
      elm_layout_signal_emit(sd->main_layout, "elm,state,title,text,visible", "elm");
    else
@@ -1461,7 +1463,9 @@ _elm_popup_elm_layout_text_set(Eo *obj, Elm_Popup_Data *_pd, const char *part, c
      {
         int_ret = elm_layout_text_set(_pd->main_layout, part, label);
         //TIZEN_ONLY(20170314): expose part-text as at-spi object
-        _atspi_part_text_expose(obj, part,_elm_atspi_enabled());
+        // TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+        _atspi_part_text_expose(obj, part,elm_atspi_bridge_utils_is_screen_reader_enabled());
+        //
         //
      }
    _scroller_size_calc(obj);
@@ -2196,19 +2200,21 @@ _elm_popup_elm_widget_access(Eo *obj, Elm_Popup_Data *_pd EINA_UNUSED, Eina_Bool
 
 //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
 //register/unregister access objects accordingly.
+// TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
 EOLIAN static void
-_elm_popup_elm_widget_atspi(Eo *obj, Elm_Popup_Data *_pd EINA_UNUSED, Eina_Bool is_atspi)
+_elm_popup_elm_widget_screen_reader(Eo *obj, Elm_Popup_Data *_pd EINA_UNUSED, Eina_Bool is_screen_reader)
 {
-   _atspi_expose_title(obj, is_atspi);
+   _atspi_expose_title(obj, is_screen_reader);
    //TIZEN_ONLY(20170314): expose part-text as at-spi object
-   _atspi_part_text_expose(obj, "elm.text", is_atspi);
+   _atspi_part_text_expose(obj, "elm.text", is_screen_reader);
    //
 
    //TIZEN_ONLY(20161213): apply screen_reader_changed callback
-   evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_atspi);
+   evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_screen_reader);
    //
 }
 //
+//
 
 EAPI Evas_Object *
 elm_popup_add(Evas_Object *parent)
index 8687c63d373915ef45803da5e73d6f0cbcd96505..678ea693354fa340c1cc1b206b070466ebb08dc3 100644 (file)
@@ -24,6 +24,9 @@
 #define A11Y_DBUS_PATH "/org/a11y/bus"
 #define A11Y_DBUS_INTERFACE "org.a11y.Bus"
 #define A11Y_DBUS_STATUS_INTERFACE "org.a11y.Status"
+// TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+#define A11Y_DBUS_ENABLED_PROPERTY "IsEnabled"
+//
 #define ATSPI_DBUS_INTERFACE_EVENT_WINDOW "org.a11y.atspi.Event.Window"
 
 #define CACHE_ITEM_SIGNATURE "((so)(so)(so)a(so)assusau)"
@@ -4836,21 +4839,50 @@ _screen_reader_enabled_get(void *data, const Eldbus_Message *msg, Eldbus_Pending
         ERR("Could not get 'ScreenReaderEnabled' boolean property");
         return;
      }
-
-   if (is_enabled)
-     _a11y_connection_init(data);
-   else
-     DBG("AT-SPI2 stack not enabled.");
-
    //TIZEN_ONLY(20161027) - Export elm_atspi_bridge_utils_is_screen_reader_enabled
    pd->screen_reader_enabled = !!is_enabled;
    //
    //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
    //register/unregister access objects accordingly.
-   _elm_win_atspi(is_enabled);
+   // TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+   _elm_win_screen_reader(is_enabled);
+   //
    //
 }
 
+// TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+static void
+_at_spi_client_enabled_get(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending)
+{
+   ELM_ATSPI_BRIDGE_DATA_GET_OR_RETURN(data, pd);
+   const char *errname, *errmsg;
+   Eina_Bool is_enabled;
+   Eldbus_Message_Iter *variant;
+
+   pd->pending_requests = eina_list_remove(pd->pending_requests, pending);
+
+   if (eldbus_message_error_get(msg, &errname, &errmsg))
+     {
+        WRN("%s %s", errname, errmsg);
+        return;
+     }
+   if (!eldbus_message_arguments_get(msg, "v", &variant))
+     {
+        ERR("'" A11Y_DBUS_ENABLED_PROPERTY "' not packed into variant.");
+        return;
+     }
+   if (!eldbus_message_iter_arguments_get(variant, "b", &is_enabled))
+     {
+        ERR("Could not get '" A11Y_DBUS_ENABLED_PROPERTY "' boolean property");
+        return;
+     }
+   if (is_enabled)
+     _a11y_connection_init(data);
+   else
+     DBG("AT-SPI2 stack not enabled.");
+}
+//
+
 static void _bridge_object_register(Eo *bridge, Eo *obj)
 {
    ELM_ATSPI_BRIDGE_DATA_GET_OR_RETURN(bridge, pd);
@@ -5079,20 +5111,33 @@ _properties_changed_cb(void *data, Eldbus_Proxy *proxy EINA_UNUSED, void *event)
              ERR("Unable to get ScreenReaderEnabled property value");
              return;
           }
-        if (val)
-          _a11y_connection_init(bridge);
-        else
-          _a11y_connection_shutdown(bridge);
-
         //TIZEN_ONLY(20161027) - Export elm_atspi_bridge_utils_is_screen_reader_enabled
         ELM_ATSPI_BRIDGE_DATA_GET_OR_RETURN(bridge, pd);
         pd->screen_reader_enabled = !!val;
         //
         //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
         //register/unregister access objects accordingly.
-        _elm_win_atspi(val);
+        // TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+        _elm_win_screen_reader(val);
+        //
         //
      }
+   // TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+   if (ev->name && !strcmp(ev->name, A11Y_DBUS_ENABLED_PROPERTY) &&
+       ifc && !strcmp(A11Y_DBUS_STATUS_INTERFACE, ifc))
+     {
+        if (!eina_value_get(ev->value, &val))
+          {
+             // TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+             ERR("Unable to get " A11Y_DBUS_ENABLED_PROPERTY " property value");
+             return;
+          }
+        if (val)
+          _a11y_connection_init(bridge);
+        else
+          _a11y_connection_shutdown(bridge);
+     }
+   //
 }
 
 EOLIAN Eo_Base*
@@ -5127,6 +5172,16 @@ _elm_atspi_bridge_eo_base_constructor(Eo *obj, Elm_Atspi_Bridge_Data *pd)
      }
    pd->pending_requests = eina_list_append(pd->pending_requests, req);
 
+   // TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+   if (!(req = eldbus_proxy_property_get(proxy, A11Y_DBUS_ENABLED_PROPERTY, _at_spi_client_enabled_get, obj)))
+     {
+        ERR("Could not send PropertyGet request");
+        goto proxy_err;
+     }
+
+   pd->pending_requests = eina_list_append(pd->pending_requests, req);
+   //
+
    eldbus_proxy_properties_monitor(proxy, EINA_TRUE);
    eldbus_proxy_event_callback_add(proxy, ELDBUS_PROXY_EVENT_PROPERTY_CHANGED,
                                    _properties_changed_cb, obj);
index 916cfda0f2c2d7be07eecabc0a73be7d3e5c80be..35daaf0a6d3c9ebd21ea5258ca9653c4a211e74e 100644 (file)
@@ -931,9 +931,11 @@ _populate(Evas_Object *obj)
    edje_object_message_signal_process(elm_layout_edje_get(obj));
 
    //TIZEN_ONLY(20151012): Register smart callbacks for calendar buttons.
-   if (_elm_atspi_enabled())
+   // TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+   if (elm_atspi_bridge_utils_is_screen_reader_enabled())
      _atspi_expose_objects(obj, EINA_TRUE);
    //
+   //
 }
 
 static void
@@ -2177,15 +2179,17 @@ _elm_calendar_elm_widget_access(Eo *obj EINA_UNUSED, Elm_Calendar_Data *_pd EINA
 
 //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
 //register/unregister access objects accordingly.
+// TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
 EOLIAN static void
-_elm_calendar_elm_widget_atspi(Eo *obj EINA_UNUSED, Elm_Calendar_Data *_pd EINA_UNUSED, Eina_Bool is_atspi)
+_elm_calendar_elm_widget_screen_reader(Eo *obj EINA_UNUSED, Elm_Calendar_Data *_pd EINA_UNUSED, Eina_Bool is_screen_reader)
 {
-   _atspi_expose_objects(obj, is_atspi);
+   _atspi_expose_objects(obj, is_screen_reader);
    //TIZEN_ONLY(20161213): apply screen_reader_changed callback
-   evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_atspi);
+   evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_screen_reader);
    //
 }
 //
+//
 
 EAPI Evas_Object *
 elm_calendar_add(Evas_Object *parent)
index f0301fa7ea7ba63ead8211e607024f362f1d7d91..fe1ea0f12ce2309aa338c3aeeed2de27e9d7fe0f 100644 (file)
@@ -504,7 +504,9 @@ class Elm.Calendar (Elm.Layout, Elm_Interface_Atspi_Widget_Action)
       Elm.Widget.access;
       //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
       //register/unregister access objects accordingly.
-      Elm.Widget.atspi;
+      // TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+      Elm.Widget.screen_reader;
+      //
       //
       //TIZEN_ONLY(20161116): Apply UI Mirror for Tizen 3.0 UX
       Elm.Widget.mirrored;
index c8508adcbafb3c0b6a38b151980e898906242f99..3a5a8303789f46510d92f6f32bfc7c60e0dc10f9 100644 (file)
@@ -400,15 +400,17 @@ _atspi_expose_keypad_area(Evas_Object *obj, Eina_Bool is_atspi)
 
 //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
 //register/unregister access objects accordingly.
+// TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
 EOLIAN static void
-_elm_conformant_elm_widget_atspi(Eo *obj, Elm_Conformant_Data *_pd EINA_UNUSED, Eina_Bool is_atspi)
+_elm_conformant_elm_widget_screen_reader(Eo *obj, Elm_Conformant_Data *_pd EINA_UNUSED, Eina_Bool is_screen_reader)
 {
-   _atspi_expose_keypad_area(obj, is_atspi);
+   _atspi_expose_keypad_area(obj, is_screen_reader);
    //TIZEN_ONLY(20161213): apply screen_reader_changed callback
-   evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_atspi);
+   evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_screen_reader);
    //
 }
 //
+//
 
 static void
 _conformant_parts_swallow(Evas_Object *obj)
@@ -435,9 +437,11 @@ _conformant_parts_swallow(Evas_Object *obj)
              elm_widget_sub_object_add(obj, sd->virtualkeypad);
              evas_object_size_hint_max_set(sd->virtualkeypad, -1, 0);
              //TIZEN ONLY(20160628): expose virtual keypad rect as at-spi object
-             if (_elm_atspi_enabled())
+             // TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+             if (elm_atspi_bridge_utils_is_screen_reader_enabled())
                _atspi_expose_keypad_area(obj, EINA_TRUE);
              //
+             //
           }
         // TIZEN_ONLY(20160509): support different thing in Tizen 3.0
         else if (mode == ELM_WIN_KEYBOARD_ON)
index dfbb342a90c285dd209880a2e3dcb379907bd0e7..fb842735152c360e7b92429a310be6223a7f22bc 100644 (file)
@@ -10,7 +10,9 @@ class Elm.Conformant (Elm.Layout)
       Elm.Widget.theme_apply;
       //TIZEN_ONLY(20161012): When atspi mode is dynamically switched on/off,
       //register/unregister access objects accordingly.
-      Elm.Widget.atspi;
+      // TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+      Elm.Widget.screen_reader;
+      //
       //
       Elm.Layout.content_aliases.get;
    }
index 48b640341b6755dbf33005897310719a39fec55a..e74ce0ee13ec0d38ab3fe2fc781a19d41a27d449 100644 (file)
@@ -133,7 +133,7 @@ static Evas_Coord_Rectangle _layout_region_get(Evas_Object *obj);
 static Eina_Bool _action_activate(Evas_Object *obj, const char *params);
 //
 // TIZEN_ONLY(20170512): Support accessibility for entry anchors.
-static void _atspi_expose_anchors(Eo *obj, Eina_Bool is_atspi);
+static void _atspi_expose_anchors(Eo *obj, Eina_Bool is_screen_reader);
 //
 
 //TIZEN ONLY (20160926): cbhm client for multi entry
@@ -4606,7 +4606,7 @@ _elm_entry_elm_layout_text_set(Eo *obj, Elm_Entry_Data *sd, const char *part, co
     */
 
    // TIZEN_ONLY(20170512): Support accessibility for entry anchors.
-   if (_elm_atspi_enabled())
+   if (elm_atspi_bridge_utils_is_screen_reader_enabled())
      _atspi_expose_anchors(obj, EINA_TRUE);
    //
    evas_event_thaw(evas_object_evas_get(obj));
@@ -8185,7 +8185,7 @@ _anchor_rect_activated_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_
 }
 
 static void
-_atspi_expose_anchors(Eo *obj, Eina_Bool is_atspi)
+_atspi_expose_anchors(Eo *obj, Eina_Bool is_screen_reader)
 {
    Evas_Textblock_Rectangle *r;
    Evas_Object *tb = elm_entry_textblock_get(obj);
@@ -8197,7 +8197,7 @@ _atspi_expose_anchors(Eo *obj, Eina_Bool is_atspi)
 
    ELM_ENTRY_DATA_GET(obj, sd);
 
-   if (is_atspi)
+   if (is_screen_reader)
      {
         evas_object_geometry_get(sd->entry_edje, &x, &y, NULL, NULL);
 
@@ -8299,10 +8299,10 @@ _atspi_expose_anchors(Eo *obj, Eina_Bool is_atspi)
 }
 
 EOLIAN static void
-_elm_entry_elm_widget_atspi(Eo *obj, Elm_Entry_Data *sd EINA_UNUSED, Eina_Bool is_atspi)
+_elm_entry_elm_widget_screen_reader(Eo *obj, Elm_Entry_Data *sd EINA_UNUSED, Eina_Bool is_screen_reader)
 {
-   _atspi_expose_anchors(obj, is_atspi);
-   evas_object_smart_callback_call(obj, "atspi,screen,reader,changed", &is_atspi);
+   _atspi_expose_anchors(obj, is_screen_reader);
+   evas_object_smart_callback_call(obj, "atspi,screen,reader,changed", &is_screen_reader);
 }
 
 EOLIAN static Eina_List*
index 1a8dfb90db7df27765e1c90e5d1f93e3959dde3d..79b9b9adbe6f38c698942158933361288a753d90 100644 (file)
@@ -1338,7 +1338,7 @@ class Elm.Entry (Elm.Layout, Elm_Interface_Scrollable, Evas.Clickable_Interface,
       Evas.Object_Smart.show;
       Evas.Object_Smart.hide;
       // TIZEN_ONLY(20170512): Support accessibility for entry anchors.
-      Elm.Widget.atspi;
+      Elm.Widget.screen_reader;
       //
       Elm.Widget.activate;
       Elm.Widget.focus_direction_manager_is;
index a1ed26d9cb233f7cae21657afff891cd028c4202..316cc08db0ea27e35ed98a43fc4de524125f9a32 100644 (file)
@@ -672,15 +672,17 @@ _atspi_expose_flipselector_top_bottom(Elm_Flipselector_Data *sd, Eina_Bool is_at
 
 //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
 //register/unregister access objects accordingly.
+// TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
 EOLIAN static void
-_elm_flipselector_elm_widget_atspi(Eo *obj EINA_UNUSED, Elm_Flipselector_Data *sd, Eina_Bool is_atspi)
+_elm_flipselector_elm_widget_screen_reader(Eo *obj EINA_UNUSED, Elm_Flipselector_Data *sd, Eina_Bool is_screen_reader)
 {
-   _atspi_expose_flipselector_top_bottom(sd, is_atspi);
+   _atspi_expose_flipselector_top_bottom(sd, is_screen_reader);
    //TIZEN_ONLY(20161213): apply screen_reader_changed callback
-   evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_atspi);
+   evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_screen_reader);
    //
 }
 //
+//
 
 EOLIAN static Eo *
 _elm_flipselector_eo_base_constructor(Eo *obj, Elm_Flipselector_Data *sd)
@@ -693,9 +695,11 @@ _elm_flipselector_eo_base_constructor(Eo *obj, Elm_Flipselector_Data *sd)
          elm_interface_atspi_accessible_role_set(ELM_ATSPI_ROLE_LIST));
 
    //TIZEN ONLY(20151012): expose flipselector top/bottom buttons for accessibility tree
-   if (_elm_atspi_enabled())
+   // TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+   if (elm_atspi_bridge_utils_is_screen_reader_enabled())
      _atspi_expose_flipselector_top_bottom(sd, EINA_TRUE);
    //
+   //
    return obj;
 }
 
index 6cbf65346c94e48a742b573edcc4e2f945813370..ad6ad17753cd2244007480d259eecb2909f3fe03 100644 (file)
@@ -216,7 +216,9 @@ class Elm.Flipselector (Elm.Layout, Elm_Interface_Atspi_Widget_Action,
       Elm.Widget.event;
       //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
       //register/unregister access objects accordingly.
-      Elm.Widget.atspi;
+      // TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+      Elm.Widget.screen_reader;
+      //
       //
       Elm.Layout.sizing_eval;
       Elm_Interface_Atspi_Widget_Action.elm_actions.get;
index f2b40728079292d2c1cf4d781cb329f9cc0144d5..df1e0479ea8cae6cb583aa52051fc4b4dd058371 100644 (file)
@@ -4836,15 +4836,16 @@ _elm_gengrid_elm_widget_access(Eo *obj EINA_UNUSED, Elm_Gengrid_Data *sd, Eina_B
 
 //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
 //register/unregister access objects accordingly.
+// TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
 EOLIAN static void
-_elm_gengrid_elm_widget_atspi(Eo *obj EINA_UNUSED, Elm_Gengrid_Data *sd, Eina_Bool is_atspi)
+_elm_gengrid_elm_widget_screen_reader(Eo *obj EINA_UNUSED, Elm_Gengrid_Data *sd, Eina_Bool is_screen_reader)
 {
    Elm_Gen_Item *it;
    Evas_Object *content = NULL;
    Eina_List *l;
 
    //TIZEN_ONLY(20170314) : if atspi_children is empty, populate the same
-   if (is_atspi && !sd->atspi_children)
+   if (is_screen_reader && !sd->atspi_children)
      {
         EINA_INLIST_FOREACH(sd->items, it)
           sd->atspi_children = eina_list_append(sd->atspi_children, EO_OBJ(it));
@@ -4852,14 +4853,14 @@ _elm_gengrid_elm_widget_atspi(Eo *obj EINA_UNUSED, Elm_Gengrid_Data *sd, Eina_Bo
    //
 
    //TIZEN_ONLY (20160914) : Accessibility: sort children list according to their x,y position
-   if (sd->horizontal && is_atspi)
+   if (sd->horizontal && is_screen_reader)
      sd->atspi_children = eina_list_sort(sd->atspi_children, eina_list_count(sd->atspi_children), _sort_items);
    //
 
    EINA_INLIST_FOREACH(sd->items, it)
      {
         if (!it->realized) continue;
-        if (is_atspi)
+        if (is_screen_reader)
           {
              elm_interface_atspi_accessible_added(EO_OBJ(it));
              elm_interface_atspi_accessible_children_changed_added_signal_emit(sd->obj, EO_OBJ(it));
@@ -4877,17 +4878,18 @@ _elm_gengrid_elm_widget_atspi(Eo *obj EINA_UNUSED, Elm_Gengrid_Data *sd, Eina_Bo
           }
      }
    //TIZEN_ONLY(20170314) : if atspi is disabled atspi_children should be freed
-   if (!is_atspi && sd->atspi_children)
+   if (!is_screen_reader && sd->atspi_children)
      {
         eina_list_free(sd->atspi_children);
         sd->atspi_children = NULL;
      }
    //
    //TIZEN_ONLY(20161213): apply screen_reader_changed callback
-   evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_atspi);
+   evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_screen_reader);
    //
 }
 //
+//
 
 EAPI Evas_Object *
 elm_gengrid_add(Evas_Object *parent)
index da30277ea60a20a517254c19fe5ee38b0ec3109b..fc191ed97d8795e613f15572b01dad517c6efd89 100644 (file)
@@ -713,7 +713,9 @@ class Elm.Gengrid (Elm.Layout, Elm_Interface_Scrollable,
       Elm.Widget.access;
       //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
       //register/unregister access objects accordingly.
-      Elm.Widget.atspi;
+      // TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+      Elm.Widget.screen_reader;
+      //
       //
       Elm.Widget.focus_next;
       Elm.Widget.focus_direction;
index 1e73aab8efe728494238e19ae3de37b39156a539..91ebd8d50204eebc304aba28eb97cc9936c016e6 100644 (file)
@@ -5859,8 +5859,9 @@ _elm_genlist_elm_widget_access(Eo *obj EINA_UNUSED, Elm_Genlist_Data *sd, Eina_B
 
 //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
 //register/unregister access objects accordingly.
+// TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
 EOLIAN static void
-_elm_genlist_elm_widget_atspi(Eo *obj EINA_UNUSED, Elm_Genlist_Data *sd, Eina_Bool is_atspi)
+_elm_genlist_elm_widget_screen_reader(Eo *obj EINA_UNUSED, Elm_Genlist_Data *sd, Eina_Bool is_screen_reader)
 {
    Item_Block *itb;
    Eina_Bool done = EINA_FALSE;
@@ -5878,7 +5879,7 @@ _elm_genlist_elm_widget_atspi(Eo *obj EINA_UNUSED, Elm_Genlist_Data *sd, Eina_Bo
              EINA_LIST_FOREACH(itb->items, l, it)
                {
                   if (!it->realized || it->want_hidden) continue;
-                  if (is_atspi)
+                  if (is_screen_reader)
                     {
                        elm_interface_atspi_accessible_added(EO_OBJ(it));
                        elm_interface_atspi_accessible_children_changed_added_signal_emit(sd->obj, EO_OBJ(it));
@@ -5902,10 +5903,11 @@ _elm_genlist_elm_widget_atspi(Eo *obj EINA_UNUSED, Elm_Genlist_Data *sd, Eina_Bo
         else if (done) break;
      }
    //TIZEN_ONLY(20161213): apply screen_reader_changed callback
-   evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_atspi);
+   evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_screen_reader);
    //
 }
 //
+//
 
 EAPI Evas_Object *
 elm_genlist_add(Evas_Object *parent)
index 3bf5aadb9f4525502d3d19439dd33f634486ce36..aaf5cbde6c061d2f219b6d5267e1f4fb586342a3 100644 (file)
@@ -647,7 +647,9 @@ class Elm.Genlist (Elm.Layout, Elm_Interface_Scrollable, Evas.Clickable_Interfac
       Elm.Widget.access;
       //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
       //register/unregister access objects accordingly.
-      Elm.Widget.atspi;
+      // TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+      Elm.Widget.screen_reader;
+      //
       //
       Elm.Widget.focus_highlight_geometry_get;
       Elm.Widget.focus_next;
index d1bd0e890fbee0608ebe85eba846a0e08fc40516..59a5b7e6a1a3da270b6982806449774d1db0c32f 100644 (file)
@@ -1307,15 +1307,16 @@ _elm_index_elm_widget_access(Eo *obj, Elm_Index_Data *_pd EINA_UNUSED, Eina_Bool
 
 //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
 //register/unregister access objects accordingly.
+// TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
 EOLIAN static void
-_elm_index_elm_widget_atspi(Eo *obj, Elm_Index_Data *_pd, Eina_Bool is_atspi)
+_elm_index_elm_widget_screen_reader(Eo *obj, Elm_Index_Data *_pd, Eina_Bool is_screen_reader)
 {
    Eina_List *elist = NULL;
    Elm_Object_Item *eo_it;
 
    EINA_LIST_FOREACH(_pd->items, elist, eo_it)
      {
-        if (is_atspi)
+        if (is_screen_reader)
           {
              elm_interface_atspi_accessible_added(eo_it);
              elm_interface_atspi_accessible_children_changed_added_signal_emit(obj, eo_it);
@@ -1327,10 +1328,11 @@ _elm_index_elm_widget_atspi(Eo *obj, Elm_Index_Data *_pd, Eina_Bool is_atspi)
           }
      }
    //TIZEN_ONLY(20161213): apply screen_reader_changed callback
-   evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_atspi);
+   evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_screen_reader);
    //
 }
 //
+//
 
 EAPI Evas_Object *
 elm_index_add(Evas_Object *parent)
index 2e7aad4b310365b240e1780bbb54becf608922f5..febc0cbfbd7f9e584273473cbb8577c88950523c 100644 (file)
@@ -358,7 +358,9 @@ class Elm.Index (Elm.Layout, Evas.Clickable_Interface, Evas.Selectable_Interface
       Elm.Widget.access;
       //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
       //register/unregister access objects accordingly.
-      Elm.Widget.atspi;
+      // TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+      Elm.Widget.screen_reader;
+      //
       //
       Elm.Widget.focus_next;
       Elm.Layout.sizing_eval;
index a1fd366da7462c83ee91621b3b90548e842dcf7d..e770dfca932fbf54434cf8e43c1fafba14f6ba4a 100644 (file)
@@ -1872,11 +1872,13 @@ elm_layout_mmap_get(Eo *obj, const Eina_File **file, const char **group)
 }
 
 //TIZEN_ONLY(20161213): apply screen_reader_changed callback
+// TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
 EOLIAN static void
-_elm_layout_elm_widget_atspi(Eo *obj, Elm_Layout_Smart_Data *_pd EINA_UNUSED, Eina_Bool is_atspi)
+_elm_layout_elm_widget_screen_reader(Eo *obj, Elm_Layout_Smart_Data *_pd EINA_UNUSED, Eina_Bool is_screen_reader)
 {
    EINA_SAFETY_ON_NULL_RETURN(obj);
-   evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_atspi);
+   evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_screen_reader);
 }
 //
+//
 #include "elm_layout.eo.c"
index 375bb26d8b739897e14ddc488fbb668de567e698..f41b9217d6ce81b7f10e143678518c1a627c3311 100644 (file)
@@ -601,7 +601,9 @@ class Elm.Layout (Elm.Container, Efl.File)
       Elm.Widget.sub_object_del;
       Elm.Widget.on_focus;
       //TIZEN_ONLY(20161212): apply screen_reader_changed callback
-      Elm.Widget.atspi;
+      // TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+      Elm.Widget.screen_reader;
+      //
       //
       Elm.Container.content_get;
       Elm.Container.content_set;
index a58529cfac8781d76487ef7fdee8b61ecbe2225c..56caff7b0cbb94405c21e6c8f16fbd9c8ec1fa59 100644 (file)
@@ -2626,15 +2626,16 @@ _elm_list_elm_widget_access(Eo *obj EINA_UNUSED, Elm_List_Data *sd, Eina_Bool ac
 
 //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
 //register/unregister access objects accordingly.
+// TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
 EOLIAN static void
-_elm_list_elm_widget_atspi(Eo *obj EINA_UNUSED, Elm_List_Data *sd, Eina_Bool is_atspi)
+_elm_list_elm_widget_screen_reader(Eo *obj EINA_UNUSED, Elm_List_Data *sd, Eina_Bool is_screen_reader)
 {
    Eina_List *elist = NULL;
    Elm_Object_Item *eo_it;
 
    EINA_LIST_FOREACH(sd->items, elist, eo_it)
      {
-        if (is_atspi)
+        if (is_screen_reader)
           {
              ELM_LIST_ITEM_DATA_GET(eo_it, it);
              if (it->icon) eo_do(it->icon, elm_interface_atspi_accessible_parent_set(eo_it));
@@ -2649,10 +2650,11 @@ _elm_list_elm_widget_atspi(Eo *obj EINA_UNUSED, Elm_List_Data *sd, Eina_Bool is_
           }
      }
    //TIZEN_ONLY(20161213): apply screen_reader_changed callback
-   evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_atspi);
+   evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_screen_reader);
    //
 }
 //
+//
 
 EAPI Evas_Object *
 elm_list_add(Evas_Object *parent)
index 31a8112340c221afd1961ed7ae42c0d0f4057730..55143c3ada1051545ff039fed3c51f2c57541358 100644 (file)
@@ -563,7 +563,9 @@ class Elm.List (Elm.Layout, Elm_Interface_Scrollable,
       Elm.Widget.access;
       //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
       //register/unregister access objects accordingly.
-      Elm.Widget.atspi;
+      // TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+      Elm.Widget.screen_reader;
+      //
       //
       Elm.Widget.focus_highlight_geometry_get;
       Elm.Widget.focus_next;
index 058185fa5e7b2691345a75282efe93b6d03da5c6..4d756b863ad0e20e41bd17179ad737bcf1b27b56 100644 (file)
@@ -283,7 +283,9 @@ class Elm.Multibuttonentry (Elm.Layout)
       Elm.Widget.access;
       //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
       //register/unregister access objects accordingly.
-      Elm.Widget.atspi;
+      // TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+      Elm.Widget.screen_reader;
+      //
       //
       Elm.Widget.focus_direction;
       Elm.Widget.focus_next;
index c5667e78dccad72fdcd3e7386d2248e4dd0ab9ba..ca6268636a3584297b61352a26b9a1389b03a620 100644 (file)
@@ -218,7 +218,9 @@ class Elm.Naviframe (Elm.Layout, Elm_Interface_Atspi_Widget_Action)
       Elm.Widget.access;
       //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
       //register/unregister access objects accordingly.
-      Elm.Widget.atspi;
+      // TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+      Elm.Widget.screen_reader;
+      //
       //
       //TIZEN_ONLY(20161208): add API elm_object_part_access_object_get
       Elm.Widget.part_access_object_get;
index 2ad0f1df9224d2f8617d86f48a0a930a14329ed1..4a9a4be350e6fca1642e77cfc9e6aeb3294b5179 100644 (file)
@@ -228,7 +228,9 @@ class Elm.Popup (Elm.Layout, Elm_Interface_Atspi_Widget_Action)
       Elm.Widget.access;
       //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
       //register/unregister access objects accordingly.
-      Elm.Widget.atspi;
+      // TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+      Elm.Widget.screen_reader;
+      //
       //
       Elm.Widget.focus_next;
       Elm.Widget.parent.set;
index ec9c50ef1301e73d7c0289f3b21922ede277ba47..4c90196ab4bec23d08d6f49a207337444939b110 100644 (file)
@@ -392,7 +392,9 @@ void                 _elm_win_rescale(Elm_Theme *th,
 void                 _elm_win_access(Eina_Bool is_access);
 //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
 //register/unregister access objects accordingly.
-void                 _elm_win_atspi(Eina_Bool is_atspi);
+// TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+void                 _elm_win_screen_reader(Eina_Bool is_screen_reader);
+//
 //
 void                 _elm_win_translate(void);
 void                 _elm_win_focus_reconfigure(void);
index 1562baacebde846555cc6d133e0fd0c25192ab04..61bc1c7d380e6ce222afde5ede5f3ff4dea1ed66 100644 (file)
@@ -3170,14 +3170,15 @@ _elm_toolbar_elm_widget_access(Eo *obj EINA_UNUSED, Elm_Toolbar_Data *sd, Eina_B
 
 //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
 //register/unregister access objects accordingly.
+// TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
 EOLIAN static void
-_elm_toolbar_elm_widget_atspi(Eo *obj EINA_UNUSED, Elm_Toolbar_Data *sd, Eina_Bool is_atspi)
+_elm_toolbar_elm_widget_screen_reader(Eo *obj EINA_UNUSED, Elm_Toolbar_Data *sd, Eina_Bool is_screen_reader)
 {
    Elm_Toolbar_Item_Data *it;
 
    EINA_INLIST_FOREACH (sd->items, it)
      {
-        if (is_atspi)
+        if (is_screen_reader)
           {
              if (it->icon) eo_do(it->icon, elm_interface_atspi_accessible_parent_set(EO_OBJ(it)));
              elm_interface_atspi_accessible_added(EO_OBJ(it));
@@ -3190,10 +3191,11 @@ _elm_toolbar_elm_widget_atspi(Eo *obj EINA_UNUSED, Elm_Toolbar_Data *sd, Eina_Bo
           }
      }
    //TIZEN_ONLY(20161213): apply screen_reader_changed callback
-   evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_atspi);
+   evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_screen_reader);
    //
 }
 //
+//
 
 static void
 _elm_toolbar_coordinates_adjust(Elm_Toolbar_Item_Data *it,
index f40232c5f568c403b667699d13b23ddd03b32de2..651b331f2c45d59166ebe4c20e83e9c084aa28be 100644 (file)
@@ -527,7 +527,9 @@ class Elm.Toolbar (Elm.Widget, Elm_Interface_Scrollable,
       Elm.Widget.access;
       //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
       //register/unregister access objects accordingly.
-      Elm.Widget.atspi;
+      // TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+      Elm.Widget.screen_reader;
+      //
       //
       Elm.Widget.focus_next;
       Elm.Widget.theme_apply;
index b121c610dd0bab906a6276e294462bca40f606d9..ef74a7029dd58148920fc5a315490a5e7a013dcd 100644 (file)
@@ -952,9 +952,10 @@ elm_widget_access(Evas_Object *obj,
 
 //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
 //register/unregister access objects accordingly.
+// TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
 EAPI Eina_Bool
-elm_widget_atspi(Evas_Object *obj,
-                  Eina_Bool is_atspi)
+elm_widget_screen_reader(Evas_Object *obj,
+                  Eina_Bool is_screen_reader)
 {
    const Eina_List *l;
    Evas_Object *child;
@@ -964,18 +965,19 @@ elm_widget_atspi(Evas_Object *obj,
    EINA_LIST_FOREACH(sd->subobjs, l, child)
      {
         if (elm_widget_is(child))
-          ret &= elm_widget_atspi(child, is_atspi);
+          ret &= elm_widget_screen_reader(child, is_screen_reader);
      }
-   eo_do(obj, elm_obj_widget_atspi(is_atspi));
+   eo_do(obj, elm_obj_widget_screen_reader(is_screen_reader));
 
    return ret;
 }
 
 EOLIAN static void
-_elm_widget_atspi(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *_pd EINA_UNUSED, Eina_Bool is_atspi EINA_UNUSED)
+_elm_widget_screen_reader(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *_pd EINA_UNUSED, Eina_Bool is_screen_reader EINA_UNUSED)
 {
 }
 //
+//
 
 EOLIAN static void
 _elm_widget_access(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *_pd EINA_UNUSED, Eina_Bool is_access EINA_UNUSED)
index c1b3516e95898b726fb12ac9fb6bcfe94e57c061..2f5ad8cab635ba81d84a8df01a183709868b677c 100644 (file)
@@ -518,14 +518,16 @@ abstract Elm.Widget (Evas.Object_Smart, Elm_Interface_Atspi_Accessible,
       }
       //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
       //register/unregister access objects accordingly.
-      atspi {
+      // TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+      screen_reader {
          [['Virtual' function on the widget being set access.]]
          params {
-            @in is_atspi: bool;
+            @in is_screen_reader: bool;
          }
          legacy: null;
       }
       //
+      //
       cursor_del {
          params {
             @in cur: Elm_Cursor *;
index 1a4891533a3243f8a3dc57fc19d236726451dcc1..2ff0dffb7c320c010ee5907eef9ee8b796196b1d 100644 (file)
@@ -705,7 +705,9 @@ EAPI Eina_Bool        elm_widget_api_check(int ver);
 EAPI Eina_Bool        elm_widget_access(Evas_Object *obj, Eina_Bool is_access);
 //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
 //register/unregister access objects accordingly.
-EAPI Eina_Bool        elm_widget_atspi(Evas_Object *obj, Eina_Bool is_access);
+// TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+EAPI Eina_Bool        elm_widget_screen_reader(Evas_Object *obj, Eina_Bool is_access);
+//
 //
 EAPI Elm_Theme_Apply  elm_widget_theme(Evas_Object *obj);
 EAPI void             elm_widget_theme_specific(Evas_Object *obj, Elm_Theme *th, Eina_Bool force);
index 3a7e3e910f6faf2bc14d0b63142dddc2b4be5693..a2f6dd65667326eadbe869bf0985b8bd22b715df 100644 (file)
@@ -2979,8 +2979,9 @@ _elm_win_access(Eina_Bool is_access)
 
 //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
 //register/unregister access objects accordingly.
+// TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
 void
-_elm_win_atspi(Eina_Bool is_atspi)
+_elm_win_screen_reader(Eina_Bool is_screen_reader)
 {
    const Eina_List *l;
    Evas_Object *obj;
@@ -2988,8 +2989,8 @@ _elm_win_atspi(Eina_Bool is_atspi)
 
    EINA_LIST_FOREACH(_elm_win_list, l, obj)
      {
-        elm_widget_atspi(obj, is_atspi);
-        evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_atspi);
+        elm_widget_screen_reader(obj, is_screen_reader);
+        evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, NULL);
 
          /* floating orphan object. if there are A, B, C objects and user does
             as below, then there would be floating orphan objects.
@@ -3008,17 +3009,18 @@ _elm_win_atspi(Eina_Bool is_atspi)
 
              if (elm_widget_is(fobj) && !elm_widget_parent_get(fobj))
                {
-                  elm_widget_atspi(fobj, is_atspi);
+                  elm_widget_screen_reader(fobj, is_screen_reader);
                }
           }
 
-        if (!is_atspi)
+        if (!is_screen_reader)
           {
              eo_do(obj, elm_interface_atspi_component_highlight_clear());
           }
      }
 }
 //
+//
 
 void
 _elm_win_translate(void)
index be3eaf52a0db00ff3aa0c73c1bc216d5b2e7fea2..adac4adea3fa32ba7017cecd7cb07ed2224d69f6 100644 (file)
@@ -6138,8 +6138,9 @@ _elm_genlist_evas_object_smart_add(Eo *obj, Elm_Genlist_Data *priv)
 
 //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
 //register/unregister access objects accordingly.
+// TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
 EOLIAN static void
-_elm_genlist_elm_widget_atspi(Eo *obj EINA_UNUSED, Elm_Genlist_Data *sd, Eina_Bool is_atspi)
+_elm_genlist_elm_widget_screen_reader(Eo *obj EINA_UNUSED, Elm_Genlist_Data *sd, Eina_Bool is_screen_reader)
 {
    Item_Block *itb;
    Eina_Bool done = EINA_FALSE;
@@ -6156,7 +6157,7 @@ _elm_genlist_elm_widget_atspi(Eo *obj EINA_UNUSED, Elm_Genlist_Data *sd, Eina_Bo
              EINA_LIST_FOREACH(itb->items, l, it)
                {
                   if (!it->realized || it->want_hidden) continue;
-                  if (is_atspi)
+                  if (is_screen_reader)
                     {
                        elm_interface_atspi_accessible_added(EO_OBJ(it));
                        elm_interface_atspi_accessible_children_changed_added_signal_emit(sd->obj, EO_OBJ(it));
@@ -6181,10 +6182,11 @@ _elm_genlist_elm_widget_atspi(Eo *obj EINA_UNUSED, Elm_Genlist_Data *sd, Eina_Bo
      }
 
    //TIZEN_ONLY(20161213): apply screen_reader_changed callback
-   evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_atspi);
+   evas_object_smart_callback_call(obj, SIG_ATSPI_SCREEN_READER_CHANGED, &is_screen_reader);
    //
 }
 //
+//
 
 EAPI Evas_Object *
 elm_genlist_add(Evas_Object *parent)
index 12a63638c191d539054ff878d23180cd3331f8bb..927033974675e030dc1b169a83fb094f4b540656 100644 (file)
@@ -42,7 +42,9 @@ class Elm.Genlist (Elm.Layout, Elm_Interface_Scrollable, Evas.Clickable_Interfac
 // TIZEN only (20150914)
       //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
       //register/unregister access objects accordingly.
-      Elm.Widget.atspi;
+      // TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+      Elm.Widget.screen_reader;
+      //
       //
    }
    events {