if (EINA_TRUE == parent_info->focusable) {
VC_ELM_LOG_DBG("Focusable Parent");
VC_ELM_LOG_DBG("Click event");
- evas_object_smart_callback_add((Evas_Object*)(parent_info->address), "focused", __focused_cb, "focused");
- elm_object_focus_set((Evas_Object*)(parent_info->address), EINA_TRUE);
+ if (EINA_TRUE == elm_object_focus_get((Evas_Object*)parent_info->address)) {
+ VC_ELM_LOG_DBG("Already focused");
+ ecore_timer_add(0.5, __click_event, NULL);
+ } else {
+ evas_object_smart_callback_add((Evas_Object*)(parent_info->address), "focused", __focused_cb, "focused");
+ elm_object_focus_set((Evas_Object*)(parent_info->address), EINA_TRUE);
+ }
} else {
Object_Info* grand_info = ea_object_dump_parent_widget_data_get(parent_info);
while (NULL != grand_info) {
Elm_Object_Item* item = elm_genlist_at_xy_item_get((Evas_Object*)(grand_info->address), x + w/2, y + h/2, NULL);
if (NULL != item && EINA_FALSE == elm_object_item_disabled_get(item)) {
VC_ELM_LOG_DBG("Click event");
- evas_object_smart_callback_add((Evas_Object*)(grand_info->address), "item,focused", __focused_cb, "item,focused");
- elm_object_item_focus_set(item, EINA_TRUE);
- elm_object_focus_set((Evas_Object*)(grand_info->address), EINA_TRUE);
+ if (EINA_TRUE == elm_object_item_focus_get((Evas_Object*)grand_info->address)) {
+ VC_ELM_LOG_DBG("Already focused");
+ ecore_timer_add(0.5, __click_event, NULL);
+ } else {
+ evas_object_smart_callback_add((Evas_Object*)(grand_info->address), "item,focused", __focused_cb, "item,focused");
+ elm_object_item_focus_set(item, EINA_TRUE);
+ elm_object_focus_set((Evas_Object*)(grand_info->address), EINA_TRUE);
+ }
} else {
item = elm_genlist_at_xy_item_get((Evas_Object*)(grand_info->address), x + w + w/2, y + h/2, NULL);
if (NULL != item && EINA_FALSE == elm_object_item_disabled_get(item)) {
VC_ELM_LOG_DBG("Click event 2");
- evas_object_smart_callback_add((Evas_Object*)(grand_info->address), "item,focused", __focused_cb, "item,focused");
- elm_object_item_focus_set(item, EINA_TRUE);
- elm_object_focus_set((Evas_Object*)(grand_info->address), EINA_TRUE);
+ if (EINA_TRUE == elm_object_item_focus_get((Evas_Object*)grand_info->address)) {
+ VC_ELM_LOG_DBG("Already focused");
+ ecore_timer_add(0.5, __click_event, NULL);
+ } else {
+ evas_object_smart_callback_add((Evas_Object*)(grand_info->address), "item,focused", __focused_cb, "item,focused");
+ elm_object_item_focus_set(item, EINA_TRUE);
+ elm_object_focus_set((Evas_Object*)(grand_info->address), EINA_TRUE);
+ }
}
}
break;