[ATSPI] Set whether to enable highlight according to cue,hide/show signal. 75/143275/2
authorJunsuChoi <jsuya.choi@samsung.com>
Wed, 9 Aug 2017 07:52:25 +0000 (16:52 +0900)
committerJunsuChoi <jsuya.choi@samsung.com>
Fri, 11 Aug 2017 01:46:39 +0000 (10:46 +0900)
Change-Id: Ib9810715d35eb712f648bcc615b9520996522609

inc/wearable/efl_extension_common_private.h
src/wearable/efl_extension_more_option.c

index 6be8ef65434df16ecbefb3e8cf7445b47c436b93..a7304fe51132d50adba3e42e637451fe637c9b27 100644 (file)
@@ -193,6 +193,7 @@ struct _Eext_More_Option_Data {
    //for accessibility
    Evas_Object* cue_access_object;
    Evas_Object* cue_target_object;
+   Eina_Bool more_option_panel_hidden_is;
    //
 };
 
index eda547b4951613879910f79eed22078e4d52d5dc..1245f761e814cc7533a2a2d3a91b253609912fd0 100644 (file)
@@ -272,6 +272,11 @@ _cue_hide_cb(void *data, Evas_Object *obj, const char *emission, const char *sou
    Eext_More_Option_Data *mold = data;
 
    elm_layout_signal_emit(mold->panel, "cue,hide", "elm");
+   if (mold->cue_access_object) {
+      elm_atspi_accessible_can_highlight_set(mold->cue_access_object, EINA_FALSE);
+   } else {
+      mold->more_option_panel_hidden_is = EINA_TRUE;
+   }
 }
 
 static void
@@ -282,6 +287,11 @@ _cue_show_cb(void *data, Evas_Object *obj, const char *emission, const char *sou
    Eext_More_Option_Data *mold = data;
 
    elm_layout_signal_emit(mold->panel, "cue,show", "elm");
+   if (mold->cue_access_object) {
+      elm_atspi_accessible_can_highlight_set(mold->cue_access_object, EINA_TRUE);
+   } else {
+      mold->more_option_panel_hidden_is = EINA_FALSE;
+   }
 }
 
 static void
@@ -310,6 +320,12 @@ _more_option_screen_reader_changed(void *data, Evas_Object *obj, void *event_inf
              elm_access_action_cb_set(mold->cue_access_object, ELM_ACCESS_ACTION_ACTIVATE, _access_action_cb, mold);
 
              evas_object_data_set(mold->more_option, "_cue_access_object", mold->cue_access_object);
+
+             if (mold->more_option_panel_hidden_is) {
+                elm_atspi_accessible_can_highlight_set(mold->cue_access_object, EINA_FALSE);
+             } else {
+                elm_atspi_accessible_can_highlight_set(mold->cue_access_object, EINA_TRUE);
+             }
           }
      }
    else
@@ -416,6 +432,13 @@ eext_more_option_add(Evas_Object *parent)
         elm_access_action_cb_set(mold->cue_access_object, ELM_ACCESS_ACTION_ACTIVATE, _access_action_cb, mold);
 
         evas_object_data_set(mold->more_option, "_cue_access_object", mold->cue_access_object);
+
+        if (mold->more_option_panel_hidden_is) {
+           elm_atspi_accessible_can_highlight_set(mold->cue_access_object, EINA_FALSE);
+        } else {
+           elm_atspi_accessible_can_highlight_set(mold->cue_access_object, EINA_TRUE);
+        }
+
      }
    //