From e86d1762b42ff53c5460fc1c9c16a7715121d537 Mon Sep 17 00:00:00 2001 From: Tae-Hwan Kim Date: Sun, 30 Jun 2013 13:22:29 +0900 Subject: [PATCH 01/16] Fix build break Change-Id: I1a7a6ab105334939d5c0921f6c4deb1acbc92fac --- src/lib/efl_assist_events.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/lib/efl_assist_events.c b/src/lib/efl_assist_events.c index f8696f5..fdf3359 100644 --- a/src/lib/efl_assist_events.c +++ b/src/lib/efl_assist_events.c @@ -280,6 +280,32 @@ _ea_event_mgr_new(Evas *e) return event_mgr; } +void +ea_event_mgr_clear(Ea_Event_Mgr *event_mgr) +{ + Ea_Object_Event *obj_event; + Ea_Event_Callback *callback; + Eina_List *l, *l2; + + //Remove Object Events + EINA_LIST_FOREACH(event_mgr->obj_events, l, obj_event) + { + evas_object_event_callback_del(obj_event->obj, EVAS_CALLBACK_DEL, + _ea_object_del_cb); + //Remove Callbacks + EINA_LIST_FOREACH(obj_event->callbacks, l2, callback) + free(callback); + obj_event->callbacks = eina_list_free(obj_event->callbacks); + + free(obj_event); + } + event_mgr->obj_events = eina_list_free(event_mgr->obj_events); + + evas_object_del(event_mgr->key_grab_rect); + + free(event_mgr); +} + EAPI void * ea_object_event_callback_del(Evas_Object *obj, Ea_Callback_Type type, Ea_Event_Cb func) { -- 2.7.4 From 1d8c4302a054affdbec1f22cf41c9416d162ca98 Mon Sep 17 00:00:00 2001 From: Tae-Hwan Kim Date: Sun, 30 Jun 2013 13:24:46 +0900 Subject: [PATCH 02/16] Package Upload Change-Id: I66a26a430245793d36b5cb1d27a4c73affc91be6 --- packaging/efl-assist.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/efl-assist.spec b/packaging/efl-assist.spec index cbc4bad..22493a8 100644 --- a/packaging/efl-assist.spec +++ b/packaging/efl-assist.spec @@ -1,6 +1,6 @@ Name: efl-assist Summary: EFL assist library -Version: 0.1.16 +Version: 0.1.17 Release: 1 Group: System/Libraries License: APLv2 -- 2.7.4 From 3cd53d6820b7bb18d67bf4b612c02156bd5948dd Mon Sep 17 00:00:00 2001 From: WooHyun Jung Date: Thu, 27 Jun 2013 10:41:06 +0900 Subject: [PATCH 03/16] Removed elm_init and elm_shutdown from ea_init/shutdown. We can not sure about the timing of ea_mod_shoudown, so elm_shutdown can cause some unexpeced problems. --- src/lib/efl_assist.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/lib/efl_assist.c b/src/lib/efl_assist.c index 8d92501..b28a21d 100644 --- a/src/lib/efl_assist.c +++ b/src/lib/efl_assist.c @@ -74,11 +74,6 @@ _magic_string_get(ea_magic m) __CONSTRUCTOR__ static void ea_mod_init(void) { - if (!elm_init(0, NULL)) { - fprintf(stderr, "could not initialize elementary.\n"); - return; - } - ea_init(); DBG("loaded"); @@ -90,7 +85,6 @@ ea_mod_shutdown(void) DBG("unloaded"); ea_shutdown(); - elm_shutdown(); } -- 2.7.4 From 9fe6ca199c9b1178f542d22e9e6432595987160e Mon Sep 17 00:00:00 2001 From: Sungho Kwak Date: Tue, 2 Jul 2013 15:58:38 +0900 Subject: [PATCH 04/16] package upload Change-Id: I082f52397514063a19b81262479dff35e37d8b8d --- packaging/efl-assist.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/efl-assist.spec b/packaging/efl-assist.spec index 22493a8..4f3ee5a 100644 --- a/packaging/efl-assist.spec +++ b/packaging/efl-assist.spec @@ -1,6 +1,6 @@ Name: efl-assist Summary: EFL assist library -Version: 0.1.17 +Version: 0.1.17r01 Release: 1 Group: System/Libraries License: APLv2 -- 2.7.4 From 7f84a7205aed12a1b7380a3070fa3289b5bf8c2c Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Tue, 9 Jul 2013 14:02:45 +0900 Subject: [PATCH 05/16] events - fix the double free() case. don't free the data if the data is still being used. Change-Id: I9b4185a8ed6bf191ef3b6f3c046fdf0ab9f741fc --- src/lib/efl_assist_events.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/efl_assist_events.c b/src/lib/efl_assist_events.c index fdf3359..cfb6592 100644 --- a/src/lib/efl_assist_events.c +++ b/src/lib/efl_assist_events.c @@ -58,7 +58,8 @@ _ea_object_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) free(callback); obj_event->callbacks = eina_list_free(obj_event->callbacks); - free(obj_event); + if (obj_event->on_callback) obj_event->delete_me = EINA_TRUE; + else free(obj_event); _ea_event_mgr_del(event_mgr); } -- 2.7.4 From e1f7237b503193170e130c7b450dd4f8fc8d6f1d Mon Sep 17 00:00:00 2001 From: Jaehwan Kim Date: Tue, 9 Jul 2013 21:53:34 +0900 Subject: [PATCH 06/16] Package Upload Change-Id: Ic841b0c8df7d93dd2ef309b2f76e538d5f844fae --- packaging/efl-assist.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/efl-assist.spec b/packaging/efl-assist.spec index 4f3ee5a..a1e1864 100644 --- a/packaging/efl-assist.spec +++ b/packaging/efl-assist.spec @@ -1,6 +1,6 @@ Name: efl-assist Summary: EFL assist library -Version: 0.1.17r01 +Version: 0.1.18r01 Release: 1 Group: System/Libraries License: APLv2 -- 2.7.4 From bb66989776041f381d397715c8d3e5a62f78f909 Mon Sep 17 00:00:00 2001 From: WooHyun Jung Date: Wed, 10 Jul 2013 11:26:25 +0900 Subject: [PATCH 07/16] Refactoring for removing desktop build environment, supporting menu button event, and making ea_init and ea_shutdown do nothing. Change-Id: I6f345f9ce9e2e3a2e695432f5398317a507d6da2 --- packaging/efl-assist.spec | 6 ++-- src/include/efl_assist_editfield.h | 3 -- src/include/efl_assist_private.h | 22 ++---------- src/lib/CMakeLists.txt | 28 ++++----------- src/lib/efl_assist.c | 48 +++----------------------- src/lib/efl_assist_events.c | 70 +++++++++++++++----------------------- 6 files changed, 45 insertions(+), 132 deletions(-) diff --git a/packaging/efl-assist.spec b/packaging/efl-assist.spec index a1e1864..d1b0d19 100644 --- a/packaging/efl-assist.spec +++ b/packaging/efl-assist.spec @@ -5,13 +5,13 @@ Release: 1 Group: System/Libraries License: APLv2 Source0: %{name}-%{version}.tar.gz +BuildRequires: cmake BuildRequires: pkgconfig(elementary) BuildRequires: pkgconfig(dlog) -BuildRequires: pkgconfig(capi-base-common) -BuildRequires: pkgconfig(capi-appfw-application) -BuildRequires: cmake BuildRequires: pkgconfig(vconf) BuildRequires: pkgconfig(tts) +BuildRequires: pkgconfig(capi-base-common) +BuildRequires: pkgconfig(capi-appfw-application) Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig diff --git a/src/include/efl_assist_editfield.h b/src/include/efl_assist_editfield.h index 2c96f60..c56b0bb 100644 --- a/src/include/efl_assist_editfield.h +++ b/src/include/efl_assist_editfield.h @@ -20,9 +20,6 @@ #include #include -#ifndef DESKTOP - #include -#endif #ifdef __cplusplus extern "C" { diff --git a/src/include/efl_assist_private.h b/src/include/efl_assist_private.h index 61995a4..7dbdb6e 100644 --- a/src/include/efl_assist_private.h +++ b/src/include/efl_assist_private.h @@ -23,6 +23,9 @@ #include #include #include +#include +#include +#include #ifdef __cplusplus extern "C" { @@ -51,25 +54,6 @@ typedef unsigned int ea_magic; void _ea_magic_fail(const void *d, ea_magic m, ea_magic req_m, const char *fname); -#define CRITICAL(...) EINA_LOG_DOM_CRIT(_ea.ea_log_dom, __VA_ARGS__) -#define ERR(...) EINA_LOG_DOM_ERR(_ea.ea_log_dom, __VA_ARGS__) -#define WRN(...) EINA_LOG_DOM_WARN(_ea.ea_log_dom, __VA_ARGS__) -#define INF(...) EINA_LOG_DOM_INFO(_ea.ea_log_dom, __VA_ARGS__) -#define DBG(...) EINA_LOG_DOM_DBG(_ea.ea_log_dom, __VA_ARGS__) - -typedef struct _Ea Ea; -typedef struct _Ea_Event_Mgr Ea_Event_Mgr; - -struct _Ea -{ - Eina_List *event_mgrs; - int ea_log_dom; -}; - -extern Ea _ea; - -void ea_event_mgr_clear(Ea_Event_Mgr *event_mgr); - #ifdef __cplusplus } #endif diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt index e45b392..b647f6f 100644 --- a/src/lib/CMakeLists.txt +++ b/src/lib/CMakeLists.txt @@ -1,27 +1,13 @@ -option(DESKTOP "Build for i386 linux desktop" OFF) - -if (DESKTOP) - SET(LIB_SRCS - efl_assist.c - efl_assist_editfield.c - efl_assist_events.c) -else (DESKTOP) - SET(LIB_SRCS - efl_assist.c - efl_assist_editfield.c - efl_assist_events.c - efl_assist_screen_reader.c) -endif (DESKTOP) +SET(LIB_SRCS + efl_assist.c + efl_assist_editfield.c + efl_assist_events.c + efl_assist_screen_reader.c) ADD_LIBRARY(${LIB_NAME} SHARED ${LIB_SRCS}) -if (DESKTOP) - PKG_CHECK_MODULES(LIB_PKGS REQUIRED elementary) - ADD_DEFINITIONS("-DDESKTOP=1") - ADD_DEFINITIONS("-DEXPORT_API=__attribute__((visibility(\"default\")))") -else (DESKTOP) - PKG_CHECK_MODULES(LIB_PKGS REQUIRED elementary capi-base-common capi-appfw-application vconf tts) -endif (DESKTOP) +ADD_DEFINITIONS("-DEXPORT_API=__attribute__((visibility(\"default\")))") +PKG_CHECK_MODULES(LIB_PKGS REQUIRED elementary vconf tts capi-base-common capi-appfw-application dlog) FOREACH(flag ${LIB_PKGS_CFLAGS}) SET(LIB_CFLAGS "${LIB_CFLAGS} ${flag}") diff --git a/src/lib/efl_assist.c b/src/lib/efl_assist.c index b28a21d..0e3420f 100644 --- a/src/lib/efl_assist.c +++ b/src/lib/efl_assist.c @@ -22,40 +22,6 @@ * Local * *===========================================================================*/ -Ea _ea; - -static void -ea_init(void) -{ - memset(&_ea, 0x00, sizeof(_ea)); - - _ea.ea_log_dom = eina_log_domain_register("efl-assist", - EINA_COLOR_LIGHTBLUE); - if (!_ea.ea_log_dom) - { - EINA_LOG_ERR("could not register efl-assist log domain"); - _ea.ea_log_dom = EINA_LOG_DOMAIN_GLOBAL; - } -} - -static void -ea_shutdown(void) -{ - Eina_List *l; - Ea_Event_Mgr *event_mgr; - - //Remove Event Managers - EINA_LIST_FOREACH(_ea.event_mgrs, l, event_mgr) - ea_event_mgr_clear(event_mgr); - _ea.event_mgrs = eina_list_free(_ea.event_mgrs); - - if ((_ea.ea_log_dom > - 1) && (_ea.ea_log_dom != EINA_LOG_DOMAIN_GLOBAL)) - { - eina_log_domain_unregister(_ea.ea_log_dom); - _ea.ea_log_dom = -1; - } -} - static const char * _magic_string_get(ea_magic m) { @@ -74,17 +40,11 @@ _magic_string_get(ea_magic m) __CONSTRUCTOR__ static void ea_mod_init(void) { - ea_init(); - - DBG("loaded"); } __DESTRUCTOR__ static void ea_mod_shutdown(void) { - DBG("unloaded"); - - ea_shutdown(); } @@ -95,14 +55,14 @@ ea_mod_shutdown(void) void _ea_magic_fail(const void *d, ea_magic m, ea_magic req_m, const char *fname) { - ERR("\n*** MAGIC FAIL (%s) ***\n", fname); + LOGE("\n*** MAGIC FAIL (%s) ***\n", fname); if (!d) - ERR(" Input handle pointer is NULL!"); + LOGE(" Input handle pointer is NULL!"); else if (m == EA_MAGIC_NONE) - ERR(" Input handle has already been freed!"); + LOGE(" Input handle has already been freed!"); else if (m != req_m) - ERR(" Input handle is wrong type\n" + LOGE(" Input handle is wrong type\n" " Expected: %08x - %s\n" " Supplied: %08x - %s", (unsigned int)req_m, _magic_string_get(req_m), diff --git a/src/lib/efl_assist_events.c b/src/lib/efl_assist_events.c index cfb6592..85f205b 100644 --- a/src/lib/efl_assist_events.c +++ b/src/lib/efl_assist_events.c @@ -1,6 +1,8 @@ #include "efl_assist.h" #include "efl_assist_private.h" +typedef struct _Ea_Event_Mgr Ea_Event_Mgr; + struct _Ea_Event_Mgr { Eina_List *obj_events; @@ -26,9 +28,13 @@ typedef struct _Ea_Event_Callback const char *EA_OBJ_KEY_EVENT_MGR = "_ea_obj_key_event_mgr"; const char *EA_OBJ_KEY_OBJ_EVENT = "_ea_obj_key_obj_event"; -const char *EA_KEY_BACK = "XF86Stop"; -const char *EA_KEY_BACK2 = "Escape"; +const char *EA_KEY_STOP = "XF86Stop"; +const char *EA_KEY_STOP2 = "Escape"; const char *EA_KEY_SEND = "XF86Send"; +const char *EA_KEY_SEND2 = "Menu"; + + +static Eina_List *event_mgrs = NULL; static void _ea_event_mgr_del(Ea_Event_Mgr *event_mgr) @@ -37,7 +43,7 @@ _ea_event_mgr_del(Ea_Event_Mgr *event_mgr) //Redundant Event Mgr. Remove it. evas_object_del(event_mgr->key_grab_rect); - _ea.event_mgrs = eina_list_remove(_ea.event_mgrs, event_mgr); + event_mgrs = eina_list_remove(event_mgrs, event_mgr); free(event_mgr); } @@ -232,10 +238,12 @@ _ea_key_grab_rect_key_up_cb(void *data, Evas *e, Evas_Object *obj, obj_event = _ea_top_obj_event_find(event_mgr); if (!obj_event) return; - if (!strcmp(ev->keyname, EA_KEY_BACK) || !strcmp(ev->keyname, EA_KEY_BACK2)) + if (!strcmp(ev->keyname, EA_KEY_STOP) || !strcmp(ev->keyname, EA_KEY_STOP2)) type = EA_CALLBACK_BACK; - else if (!strcmp(ev->keyname, EA_KEY_SEND)) + else if (!strcmp(ev->keyname, EA_KEY_SEND) || + !strcmp(ev->keyname, EA_KEY_SEND2)) type = EA_CALLBACK_MORE; + else return; obj_event->on_callback = EINA_TRUE; EINA_LIST_FOREACH(obj_event->callbacks, l, callback) @@ -255,14 +263,18 @@ _ea_key_grab_obj_create(Ea_Event_Mgr *event_mgr) evas_object_event_callback_add(key_grab_rect, EVAS_CALLBACK_KEY_UP, _ea_key_grab_rect_key_up_cb, event_mgr); - if (!evas_object_key_grab(key_grab_rect, EA_KEY_BACK, 0, 0, EINA_FALSE)) - CRITICAL("Failed to grab END KEY\n"); + if (!evas_object_key_grab(key_grab_rect, EA_KEY_STOP, 0, 0, EINA_FALSE)) + LOGE("Failed to grab END KEY\n"); - if (!evas_object_key_grab(key_grab_rect, EA_KEY_BACK2, 0, 0, EINA_FALSE)) - CRITICAL("Failed to grab END KEY\n"); + if (!evas_object_key_grab(key_grab_rect, EA_KEY_STOP2, 0, 0, EINA_FALSE)) + LOGE("Failed to grab END KEY\n"); if (!evas_object_key_grab(key_grab_rect, EA_KEY_SEND, 0, 0, EINA_FALSE)) - CRITICAL("Failed to grab MORE KEY\n"); + LOGE("Failed to grab MORE KEY\n"); + + if (!evas_object_key_grab(key_grab_rect, EA_KEY_SEND2, 0, 0, EINA_FALSE)) + LOGE("Failed to grab MORE KEY\n"); + event_mgr->key_grab_rect = key_grab_rect; } @@ -272,7 +284,7 @@ _ea_event_mgr_new(Evas *e) Ea_Event_Mgr *event_mgr = calloc(1, sizeof(Ea_Event_Mgr)); if (!event_mgr) { - ERR("Failed to allocate event manager"); + LOGE("Failed to allocate event manager"); return NULL; } event_mgr->e = e; @@ -281,32 +293,6 @@ _ea_event_mgr_new(Evas *e) return event_mgr; } -void -ea_event_mgr_clear(Ea_Event_Mgr *event_mgr) -{ - Ea_Object_Event *obj_event; - Ea_Event_Callback *callback; - Eina_List *l, *l2; - - //Remove Object Events - EINA_LIST_FOREACH(event_mgr->obj_events, l, obj_event) - { - evas_object_event_callback_del(obj_event->obj, EVAS_CALLBACK_DEL, - _ea_object_del_cb); - //Remove Callbacks - EINA_LIST_FOREACH(obj_event->callbacks, l2, callback) - free(callback); - obj_event->callbacks = eina_list_free(obj_event->callbacks); - - free(obj_event); - } - event_mgr->obj_events = eina_list_free(event_mgr->obj_events); - - evas_object_del(event_mgr->key_grab_rect); - - free(event_mgr); -} - EAPI void * ea_object_event_callback_del(Evas_Object *obj, Ea_Callback_Type type, Ea_Event_Cb func) { @@ -322,7 +308,7 @@ ea_object_event_callback_del(Evas_Object *obj, Ea_Callback_Type type, Ea_Event_C if (!event_mgr || !obj_event) { - WRN("This object(%p) hasn't been registered before", obj); + LOGW("This object(%p) hasn't been registered before", obj); return NULL; } @@ -370,7 +356,7 @@ ea_object_event_callback_add(Evas_Object *obj, Ea_Callback_Type type, Ea_Event_C //Check the registered event manager for this Evas. e = evas_object_evas_get(obj); - EINA_LIST_FOREACH(_ea.event_mgrs, l, event_mgr) + EINA_LIST_FOREACH(event_mgrs, l, event_mgr) { if (event_mgr->e == e) { @@ -383,7 +369,7 @@ ea_object_event_callback_add(Evas_Object *obj, Ea_Callback_Type type, Ea_Event_C if (new_event_mgr) { if (!(event_mgr = _ea_event_mgr_new(e))) return; - _ea.event_mgrs = eina_list_append(_ea.event_mgrs, event_mgr); + event_mgrs = eina_list_append(event_mgrs, event_mgr); } obj_event = evas_object_data_get(obj, EA_OBJ_KEY_OBJ_EVENT); @@ -394,7 +380,7 @@ ea_object_event_callback_add(Evas_Object *obj, Ea_Callback_Type type, Ea_Event_C obj_event = calloc(1, sizeof(Ea_Object_Event)); if (!obj_event) { - ERR("Failed to allocate object event"); + LOGE("Failed to allocate object event"); return; } evas_object_data_set(obj, EA_OBJ_KEY_OBJ_EVENT, obj_event); @@ -411,7 +397,7 @@ ea_object_event_callback_add(Evas_Object *obj, Ea_Callback_Type type, Ea_Event_C callback = calloc(1, sizeof(Ea_Event_Callback)); if (!callback) { - ERR("Failed to allocate event callback"); + LOGE("Failed to allocate event callback"); return; } callback->type = type; -- 2.7.4 From be6559e319e83d5f6e8ba698f10daf00dddfa111 Mon Sep 17 00:00:00 2001 From: Youngbok Shin Date: Thu, 27 Jun 2013 10:19:58 +0900 Subject: [PATCH 08/16] [editfield] Search_icon button was removed. Remove old codes. --- src/lib/efl_assist_editfield.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/lib/efl_assist_editfield.c b/src/lib/efl_assist_editfield.c index e7eebe4..7d57b75 100644 --- a/src/lib/efl_assist_editfield.c +++ b/src/lib/efl_assist_editfield.c @@ -139,11 +139,6 @@ ea_editfield_add(Evas_Object *parent, Ea_Editfield_Type type) if (type == EA_EDITFIELD_SEARCHBAR) { button = elm_button_add(parent); - elm_object_style_set(button, "search_icon"); - elm_object_focus_allow_set(button, EINA_FALSE); - elm_object_part_content_set(entry, "elm.swallow.icon", button); - - button = elm_button_add(parent); elm_object_style_set(button, "search_clear"); elm_object_focus_allow_set(button, EINA_FALSE); elm_object_part_content_set(entry, "elm.swallow.clear", button); -- 2.7.4 From e6b6b4969dcad859b5fe536d62e03d12a1c7ab87 Mon Sep 17 00:00:00 2001 From: Youngbok Shin Date: Thu, 27 Jun 2013 22:29:06 +0900 Subject: [PATCH 09/16] [editfield] Remove all of build warning message --- src/lib/efl_assist_editfield.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/efl_assist_editfield.c b/src/lib/efl_assist_editfield.c index 7d57b75..701d52a 100644 --- a/src/lib/efl_assist_editfield.c +++ b/src/lib/efl_assist_editfield.c @@ -87,7 +87,7 @@ static Elm_Access_Info_Cb _editfield_searchbar_access_info_cb(void *data, Evas_O { const char *txt; txt = "Search bar"; - return strdup(txt); + return (Elm_Access_Info_Cb)strdup(txt); } EXPORT_API Evas_Object * @@ -149,7 +149,7 @@ ea_editfield_add(Evas_Object *parent, Ea_Editfield_Type type) evas_object_smart_callback_add(entry, "focused", _editfield_searchbar_focused_cb, NULL); evas_object_smart_callback_add(entry, "unfocused", _editfield_searchbar_unfocused_cb, NULL); - elm_access_info_cb_set(entry, ELM_ACCESS_TYPE, _editfield_searchbar_access_info_cb, NULL); + elm_access_info_cb_set(entry, ELM_ACCESS_TYPE, (Elm_Access_Info_Cb)_editfield_searchbar_access_info_cb, NULL); } else { -- 2.7.4 From 481813868fb6b8bd3a5c95157809eca2d0d70535 Mon Sep 17 00:00:00 2001 From: Youngbok Shin Date: Tue, 9 Jul 2013 21:19:49 +0900 Subject: [PATCH 10/16] [editfield] Remove accessibility setting --- src/lib/efl_assist_editfield.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/lib/efl_assist_editfield.c b/src/lib/efl_assist_editfield.c index 701d52a..f958bbe 100644 --- a/src/lib/efl_assist_editfield.c +++ b/src/lib/efl_assist_editfield.c @@ -83,13 +83,6 @@ static void _editfield_searchbar_unfocused_cb(void *data, Evas_Object *obj, void elm_object_signal_emit(obj, "elm,state,focus,off", ""); } -static Elm_Access_Info_Cb _editfield_searchbar_access_info_cb(void *data, Evas_Object *obj) -{ - const char *txt; - txt = "Search bar"; - return (Elm_Access_Info_Cb)strdup(txt); -} - EXPORT_API Evas_Object * ea_editfield_add(Evas_Object *parent, Ea_Editfield_Type type) { @@ -148,8 +141,6 @@ ea_editfield_add(Evas_Object *parent, Ea_Editfield_Type type) evas_object_smart_callback_add(entry, "preedit,changed", _editfield_searchbar_changed_cb, NULL); evas_object_smart_callback_add(entry, "focused", _editfield_searchbar_focused_cb, NULL); evas_object_smart_callback_add(entry, "unfocused", _editfield_searchbar_unfocused_cb, NULL); - - elm_access_info_cb_set(entry, ELM_ACCESS_TYPE, (Elm_Access_Info_Cb)_editfield_searchbar_access_info_cb, NULL); } else { -- 2.7.4 From c116e69c99fee18b19ddef01700bdbb9fa5ea511 Mon Sep 17 00:00:00 2001 From: Sungho Kwak Date: Wed, 17 Jul 2013 20:11:22 +0900 Subject: [PATCH 11/16] package upload Change-Id: I8fbe3f0676d8b6e8728df9e1a1f549e30f90f51f --- packaging/efl-assist.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/efl-assist.spec b/packaging/efl-assist.spec index d1b0d19..7c26f59 100644 --- a/packaging/efl-assist.spec +++ b/packaging/efl-assist.spec @@ -1,6 +1,6 @@ Name: efl-assist Summary: EFL assist library -Version: 0.1.18r01 +Version: 0.1.18r02 Release: 1 Group: System/Libraries License: APLv2 -- 2.7.4 From b2573af3f94478fd1dff7689742227022139b1a4 Mon Sep 17 00:00:00 2001 From: Stephane Desneux Date: Sat, 16 Nov 2013 01:32:16 +0100 Subject: [PATCH 13/16] PTREL-400: fix build in x86_64 use %cmake macro in spec files, use LIB_INSTALL_DIR for install path instead of hardcoded /lib Change-Id: I44b6bb09e56c2956e78564fcc55e6f7406e22cee Signed-off-by: Stephane Desneux --- CMakeLists.txt | 6 +++--- packaging/efl-assist.spec | 2 +- src/lib/CMakeLists.txt | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 13616ea..de88413 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,7 @@ PROJECT(efl-assist C) SET(PREFIX ${CMAKE_INSTALL_PREFIX}) SET(EXEC_DIR ${PREFIX}) SET(BINDIR ${PREFIX}/bin) -SET(LIBDIR ${PREFIX}/lib) +SET(LIBDIR ${LIB_INSTALL_DIR}) SET(INCDIR ${PREFIX}/include) SET(VERSION_MAJOR 0) SET(VERSION ${VERSION_MAJOR}.1.0) @@ -41,7 +41,7 @@ ADD_SUBDIRECTORY(src) SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Werror") SET(CMAKE_C_FLAGS_DEBUG "-O0 -g") -SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=/usr/lib") +SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=${LIBDIR}") CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY) -INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION lib/pkgconfig) +INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIBDIR}/pkgconfig) diff --git a/packaging/efl-assist.spec b/packaging/efl-assist.spec index 7c26f59..05b8bb7 100644 --- a/packaging/efl-assist.spec +++ b/packaging/efl-assist.spec @@ -38,7 +38,7 @@ EFL assist library providing small utility functions (devel) %build export CFLAGS+=" -fvisibility=hidden" export LDFLAGS+=" -fvisibility=hidden" -cmake . -DCMAKE_INSTALL_PREFIX=/usr +%cmake . -DCMAKE_INSTALL_PREFIX=/usr make %{?jobs:-j%jobs} diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt index b647f6f..4ea6fe0 100644 --- a/src/lib/CMakeLists.txt +++ b/src/lib/CMakeLists.txt @@ -18,5 +18,5 @@ SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES VERSION ${VERSION}) SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES SOVERSION ${VERSION_MAJOR}) TARGET_LINK_LIBRARIES(${LIB_NAME} ${LIB_PKGS_LDFLAGS} ${LIB_TARGET_PKGS_LDFLAGS}) -INSTALL(TARGETS ${LIB_NAME} DESTINATION lib) +INSTALL(TARGETS ${LIB_NAME} DESTINATION ${LIB_INSTALL_DIR}) -- 2.7.4 From 716420e94067e696d8942ad58b590728c667dd3d Mon Sep 17 00:00:00 2001 From: Philippe Coval Date: Thu, 6 Feb 2014 16:04:51 +0100 Subject: [PATCH 14/16] packaging: add missing dep to ecore-x Change-Id: Ifd6e063f127cfb897c060c1d289fa57d44d9660e Signed-off-by: Philippe Coval --- packaging/efl-assist.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/packaging/efl-assist.spec b/packaging/efl-assist.spec index 05b8bb7..ccb0ce9 100644 --- a/packaging/efl-assist.spec +++ b/packaging/efl-assist.spec @@ -12,6 +12,7 @@ BuildRequires: pkgconfig(vconf) BuildRequires: pkgconfig(tts) BuildRequires: pkgconfig(capi-base-common) BuildRequires: pkgconfig(capi-appfw-application) +BuildRequires: pkgconfig(ecore-x) Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig -- 2.7.4 From 9207e5883d13a998dbbe8b8b7b53bd0c61c10ff3 Mon Sep 17 00:00:00 2001 From: Philippe Coval Date: Fri, 28 Feb 2014 11:54:48 +0100 Subject: [PATCH 15/16] workaround: disable X code on when building without X To be squashed when evas/wayland replace the todo parts Change-Id: I1ffc2b87a7206598107fac629d6bf77a9aa5d602 Bug-Tizen: PTREL-589 Signed-off-by: Philippe Coval --- CMakeLists.txt | 3 +++ packaging/efl-assist.spec | 14 +++++++++++++- src/lib/efl_assist_screen_reader.c | 12 ++++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index de88413..fe0bcb5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -32,6 +32,9 @@ ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"") ADD_DEFINITIONS("-DVERSION=\"${VERSION}\"") ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE}\"") ADD_DEFINITIONS("-DPLUGINDIR=\"${PLUGINDIR}\"") +IF(X11_SUPPORT) + ADD_DEFINITIONS("-DHAVE_X11") +ENDIF(X11_SUPPORT) SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -Wall") INCLUDE(FindPkgConfig) diff --git a/packaging/efl-assist.spec b/packaging/efl-assist.spec index ccb0ce9..017ebb5 100644 --- a/packaging/efl-assist.spec +++ b/packaging/efl-assist.spec @@ -1,3 +1,5 @@ +%bcond_with x + Name: efl-assist Summary: EFL assist library Version: 0.1.18r02 @@ -12,7 +14,10 @@ BuildRequires: pkgconfig(vconf) BuildRequires: pkgconfig(tts) BuildRequires: pkgconfig(capi-base-common) BuildRequires: pkgconfig(capi-appfw-application) +%if %{with x} BuildRequires: pkgconfig(ecore-x) +%endif + Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig @@ -39,7 +44,14 @@ EFL assist library providing small utility functions (devel) %build export CFLAGS+=" -fvisibility=hidden" export LDFLAGS+=" -fvisibility=hidden" -%cmake . -DCMAKE_INSTALL_PREFIX=/usr + +%cmake . \ + -DCMAKE_INSTALL_PREFIX=/usr \ +%if %{with x} + -DX11_SUPPORT=On \ +%endif + #eol + make %{?jobs:-j%jobs} diff --git a/src/lib/efl_assist_screen_reader.c b/src/lib/efl_assist_screen_reader.c index 506308f..be7bd84 100644 --- a/src/lib/efl_assist_screen_reader.c +++ b/src/lib/efl_assist_screen_reader.c @@ -1,6 +1,10 @@ #include "efl_assist.h" #include "efl_assist_private.h" + +#ifdef HAVE_X #include +#endif + #include #include #define UNAVAILABLE_TEXT "Screen reader is unavailable during using this application. You can press home or back key to go back to home screen." @@ -112,6 +116,7 @@ static void _tts_init(void) static void _timeout_cb(void *data, Evas_Object *obj, void *event_info) { +#ifdef HAVE_X Ecore_X_Window xwin; unsigned int val; @@ -125,11 +130,15 @@ static void _timeout_cb(void *data, Evas_Object *obj, void *event_info) (xwin, ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL, &val, 1); _tts_shutdown(); +#else + fprintf(stderr, "TODO: workaround: disabled code from " __FILE__ ); +#endif } EAPI Eina_Bool ea_screen_reader_support_set(Evas_Object *win, Eina_Bool support) { +#ifdef HAVE_X Ecore_X_Window xwin; unsigned int val; int tts_val; @@ -170,6 +179,9 @@ ea_screen_reader_support_set(Evas_Object *win, Eina_Bool support) } return EINA_TRUE; +#else + fprintf(stderr, "TODO: workaround: disabled code from " __FILE__ ); +#endif } EAPI Eina_Bool -- 2.7.4 From a26c16c0d94ca2101a9c95a5295df7b224660f29 Mon Sep 17 00:00:00 2001 From: Philippe Coval Date: Fri, 28 Feb 2014 12:00:17 +0100 Subject: [PATCH 16/16] packaging: spec cleanup, use SPDX license tag Change-Id: Ib4d1278484850beffa0be76c572e80dd63fdb3f5 Signed-off-by: Philippe Coval --- packaging/efl-assist.spec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packaging/efl-assist.spec b/packaging/efl-assist.spec index 017ebb5..7cdcda1 100644 --- a/packaging/efl-assist.spec +++ b/packaging/efl-assist.spec @@ -3,9 +3,9 @@ Name: efl-assist Summary: EFL assist library Version: 0.1.18r02 -Release: 1 +Release: 0 Group: System/Libraries -License: APLv2 +License: Apache-2.0 Source0: %{name}-%{version}.tar.gz BuildRequires: cmake BuildRequires: pkgconfig(elementary) @@ -27,7 +27,7 @@ EFL assist library %package devel -Summary: EFL assista library (devel) +Summary: EFL assist library (devel) Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: capi-base-common-devel @@ -74,7 +74,7 @@ cp %{_builddir}/%{buildsubdir}/LICENSE %{buildroot}/usr/share/license/%{name} #%{_bindir}/* %{_libdir}/libefl-assist.so.* %manifest %{name}.manifest -/usr/share/license/%{name} +%license /usr/share/license/%{name} %files devel -- 2.7.4