atspi: fix popup role and signal emission
authorLukasz Stanislawski <l.stanislaws@samsung.com>
Fri, 5 Jun 2015 13:59:46 +0000 (15:59 +0200)
committerLukasz Stanislawski <l.stanislaws@samsung.com>
Fri, 5 Jun 2015 14:00:30 +0000 (16:00 +0200)
src/lib/elc_popup.c
src/lib/elm_widget.c

index a274591..965223f 100644 (file)
@@ -1512,7 +1512,7 @@ _elm_popup_eo_base_constructor(Eo *obj, Elm_Popup_Data *_pd EINA_UNUSED)
    eo_do(obj,
          evas_obj_type_set(MY_CLASS_NAME_LEGACY),
          evas_obj_smart_callbacks_descriptions_set(_smart_callbacks),
-         elm_interface_atspi_accessible_role_set(ELM_ATSPI_ROLE_POPUP_MENU));
+         elm_interface_atspi_accessible_role_set(ELM_ATSPI_ROLE_NOTIFICATION));
 
    return obj;
 }
index b826ee9..8ebb23f 100644 (file)
@@ -550,6 +550,8 @@ _elm_widget_evas_object_smart_show(Eo *obj, Elm_Widget_Smart_Data *_pd EINA_UNUS
         Eo *parent;
         eo_do(obj, parent = elm_interface_atspi_accessible_parent_get());
         elm_interface_atspi_accessible_children_changed_added_signal_emit(parent, obj);
+        if (_elm_widget_onscreen_is(obj))
+           elm_interface_atspi_accessible_state_changed_signal_emit(obj, ELM_ATSPI_STATE_SHOWING, EINA_TRUE);
      }
 
    it = evas_object_smart_iterator_new(obj);
@@ -574,6 +576,9 @@ _elm_widget_evas_object_smart_hide(Eo *obj, Elm_Widget_Smart_Data *_pd EINA_UNUS
         evas_object_hide(o);
      }
    eina_iterator_free(it);
+
+   if (_elm_config->atspi_mode)
+     elm_interface_atspi_accessible_state_changed_signal_emit(obj, ELM_ATSPI_STATE_SHOWING, EINA_FALSE);
 }
 
 EOLIAN static void