[E-devel] Does 'efl-js binding' is progressing?
Hi, I'm interesting about javascript binding. So, I tried to build efl with '--with-js' option. But I couldn't success it. I wonder it is my local issue or efl's issue. First, --with-js=nodejs is failed from autoconf. The 'nodejs-dev' package drop nodejs/src/node.h but autoconf's header usability check is failed. (because node.h refer to v8) So, eina_js_node.hh hang to #error block. (every defines are disabled). Second, --with-js=libv8 is also failed from eo_promise. In file included from ../src/bindings/cxx/eo_cxx/Eo.hh:9:0, from bin/efl_js/launcher_main.cc:13: ../src/bindings/cxx/eo_cxx/eo_promise.hh:11:27: fatal error: Ecore_Manual.hh: No such file or directory compilation terminated. I'm finding whether my environment problem or not. Has anyone ever succeeded it in a recent? (I'm trying on Ubuntu 16.04). Jiwon Kim. -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/efl] master 07/07: edje: remove invalid macro-check regarding coreaudio
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1bd7b576bd126e0f64aecfc8b051dd0efb1ef096 commit 1bd7b576bd126e0f64aecfc8b051dd0efb1ef096 Author: Jiwon Kim Date: Thu Apr 6 14:41:44 2017 -0700 edje: remove invalid macro-check regarding coreaudio Summary: By 403b0ecfa66530e9cd598bd013aeda76df7ee98c the coreaudio support was dropped. So 'HAVE_COREAUDIO' define is invalid. Reviewers: jpeg Subscribers: cedric, woohyun Differential Revision: https://phab.enlightenment.org/D4732 Signed-off-by: Cedric BAIL --- src/lib/edje/edje_multisense.c | 12 +++- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/lib/edje/edje_multisense.c b/src/lib/edje/edje_multisense.c index 06f030f..f8f5ae8 100644 --- a/src/lib/edje/edje_multisense.c +++ b/src/lib/edje/edje_multisense.c @@ -202,18 +202,14 @@ _edje_multisense_internal_sound_sample_play(Edje *ed, const char *sample_name, c in = efl_add(ECORE_AUDIO_IN_SNDFILE_CLASS, NULL, ecore_audio_obj_name_set(efl_added, snd_id_str), ecore_audio_obj_in_speed_set(efl_added, speed), ecore_audio_obj_vio_set(efl_added, &eet_data->vio, eet_data, _free), efl_event_callback_add(efl_added, ECORE_AUDIO_IN_EVENT_IN_STOPPED, _play_finished, NULL)); if (!out) { -#if HAVE_COREAUDIO - out = efl_add(ECORE_AUDIO_OUT_CORE_AUDIO_CLASS, NULL); -#elif HAVE_PULSE +#if HAVE_PULSE out = efl_add(ECORE_AUDIO_OUT_PULSE_CLASS, NULL, efl_event_callback_add(efl_added, ECORE_AUDIO_OUT_PULSE_EVENT_CONTEXT_FAIL, _out_fail, NULL)); #endif if (out) outs++; } if (!out) { -#if HAVE_COREAUDIO - ERR("Could not create multisense audio out (CoreAudio)"); -#elif HAVE_PULSE +#if HAVE_PULSE ERR("Could not create multisense audio out (pulse)"); #endif efl_del(in); @@ -274,9 +270,7 @@ _edje_multisense_internal_sound_tone_play(Edje *ed, const char *tone_name, const if (!out) { -#if HAVE_COREAUDIO - out = efl_add(ECORE_AUDIO_OUT_CORE_AUDIO_CLASS, NULL); -#elif HAVE_PULSE +#if HAVE_PULSE out = efl_add(ECORE_AUDIO_OUT_PULSE_CLASS, NULL, efl_event_callback_add(efl_added, ECORE_AUDIO_OUT_PULSE_EVENT_CONTEXT_FAIL, _out_fail, NULL)); #endif if (out) outs++; --
[EGIT] [core/efl] master 01/01: ecore audio: Fix loss of last stream
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=25fcdde3564824087fd23f0380c129f28bd08869 commit 25fcdde3564824087fd23f0380c129f28bd08869 Author: Jiwon Kim Date: Fri Mar 24 10:34:53 2017 +0900 ecore audio: Fix loss of last stream Summary: pa_stream's write callback requires to size of stream data using 'len' parameter. This size depend on pulse audio's internal status and not consistent. When a efl read audio's last stream, length of read('bread') is less than write callback's 'len' parameter. If the gap between 'len' and 'bread' is small, last stream is played fortunately. Otherwise, the last stream is discarded. (It is doubtful about pa_stream's pre-buffering.) To prevent it, push silent stream which is amount of deficient length. @fix T5281 Reviewers: raster Reviewed By: raster Subscribers: cedric, jpeg, woohyun Maniphest Tasks: T5281 Differential Revision: https://phab.enlightenment.org/D4726 --- src/lib/ecore_audio/ecore_audio_obj_out_pulse.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/lib/ecore_audio/ecore_audio_obj_out_pulse.c b/src/lib/ecore_audio/ecore_audio_obj_out_pulse.c index 73f9c72..2916de4 100644 --- a/src/lib/ecore_audio/ecore_audio_obj_out_pulse.c +++ b/src/lib/ecore_audio/ecore_audio_obj_out_pulse.c @@ -82,11 +82,14 @@ static void _write_cb(pa_stream *stream, size_t len, void *data) bread = ecore_audio_obj_in_read(in, buf, wlen); - EPA_CALL(pa_stream_write)(stream, buf, bread, NULL, 0, PA_SEEK_RELATIVE); - if (bread < (int)len) + if ((bread < (int)len) && bread) { + memset((char *)buf + bread, 0, wlen - bread); + EPA_CALL(pa_stream_write)(stream, buf, wlen, NULL, 0, PA_SEEK_RELATIVE); EPA_CALL(pa_operation_unref)(EPA_CALL(pa_stream_trigger)(stream, NULL, NULL)); } + else +EPA_CALL(pa_stream_write)(stream, buf, bread, NULL, 0, PA_SEEK_RELATIVE); } static void _update_samplerate_cb(void *data EINA_UNUSED, const Efl_Event *event) --
[EGIT] [core/efl] master 01/02: genlist: Remove weird behavior about item_show, bring_in
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e6a1e456cb3ca7587bd7c1c2dc822af035bf6f42 commit e6a1e456cb3ca7587bd7c1c2dc822af035bf6f42 Author: Jiwon Kim Date: Thu Mar 2 15:36:00 2017 +0900 genlist: Remove weird behavior about item_show, bring_in Summary: When if item_show / bring_in is proceeded as 'deferred_show' sequence, Scrollto_Type does not be checked perfectly. As a result, ELM_GENLIST_ITEM_SCROLLTO_NONE and any other integer values are worked such as ELM_GENLIST_ITEM_SCROLLTO_BRING_IN. As doxygen of Elm_Genlist_Item_Scrollto_Type, ELM_GENLIST_ITEM_SCROLLTO_NONE and other incorrect number should not work. Fixes T4854 @fix Reviewers: SanghyeonLee, woohyun, jpeg Reviewed By: jpeg Subscribers: id213sin, conr2d, cedric Maniphest Tasks: T4854 Differential Revision: https://phab.enlightenment.org/D4684 --- src/lib/elementary/elm_genlist.c | 11 +++ src/lib/elementary/elm_genlist_item.eo | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c index 09a9c7a..7b3e284 100644 --- a/src/lib/elementary/elm_genlist.c +++ b/src/lib/elementary/elm_genlist.c @@ -7094,6 +7094,17 @@ _elm_genlist_item_coordinates_calc(Elm_Gen_Item *it, Eina_Bool deferred_show = EINA_FALSE; + switch (type) + { + case ELM_GENLIST_ITEM_SCROLLTO_IN: + case ELM_GENLIST_ITEM_SCROLLTO_TOP: + case ELM_GENLIST_ITEM_SCROLLTO_MIDDLE: + case ELM_GENLIST_ITEM_SCROLLTO_BOTTOM: + break; + default: /* Filters unsupported type */ + return EINA_FALSE; + } + //Can't goto the item right now. Reserve it instead. if (sd->queue || !(sd->homogeneous && (sd->mode == ELM_LIST_COMPRESS))) { diff --git a/src/lib/elementary/elm_genlist_item.eo b/src/lib/elementary/elm_genlist_item.eo index a0830b8..0ecd147 100644 --- a/src/lib/elementary/elm_genlist_item.eo +++ b/src/lib/elementary/elm_genlist_item.eo @@ -29,7 +29,7 @@ enum Elm.Genlist.Item.Scrollto_Type { [[Defines where to position the item in the genlist.]] legacy: elm_genlist_item_scrollto; - none = 0, [[No scrollto.]] + none = 0, [[Nothing will happen, Don't use this value.]] in = (1 << 0), [[To the nearest viewport.]] top = (1 << 1), [[To the top of viewport.]] middle = (1 << 2), [[To the middle of viewport.]] @@ -50,7 +50,7 @@ class Elm.Genlist.Item(Elm.Widget.Item) This returns the item placed before the $item, on the container genlist. - + If filter is set on genlist, this returns the filtered item placed before $item in the list. ]] --
[EGIT] [core/efl] master 05/06: eet: read sould be failed if cipher_key exist but file not ciphered
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=9fa4a5fb6dc5b616e67a6b47042b62c9dfcab167 commit 9fa4a5fb6dc5b616e67a6b47042b62c9dfcab167 Author: Jiwon Kim Date: Tue Feb 7 15:06:01 2017 -0800 eet: read sould be failed if cipher_key exist but file not ciphered Summary: Currentely, if eet_read_cipher()'s cipher_key param is exist but file not ciphered, function always read and return successful result. But, this behavior can not check data integrity. e.g. 1. App create config file using eet with encryption key. 2. Attacker replace config to malicious config (not encryted). 3. App can not notice if eet_read_cipher() read that successfully. @fix Test Plan: $eet -e test.cfg my_config test.src 1 $eet -d test.cfg my_config decode_res.txt my_encrytion_key (Currentely decode success, but should be failed) Reviewers: woohyun, raster Subscribers: id213sin, akanad, cedric, jpeg Differential Revision: https://phab.enlightenment.org/D4563 Signed-off-by: Cedric BAIL --- src/lib/eet/eet_lib.c | 4 1 file changed, 4 insertions(+) diff --git a/src/lib/eet/eet_lib.c b/src/lib/eet/eet_lib.c index d2c95c2..2930b0f 100644 --- a/src/lib/eet/eet_lib.c +++ b/src/lib/eet/eet_lib.c @@ -1928,6 +1928,10 @@ eet_read_cipher(Eet_File *ef, if (!efn) goto on_error; + /* Requested decryption but file not encrypted -> integrity violation */ + if (!efn->ciphered && cipher_key) + goto on_error; + /* Get a binbuf attached to this efn */ in = read_binbuf_from_disk(ef, efn); if (!in) goto on_error; --
[EGIT] [core/efl] master 04/06: elementary: set mirrored mode in a group_add()
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4279fe84057adbedeb9c117132ae1c0c2102a122 commit 4279fe84057adbedeb9c117132ae1c0c2102a122 Author: Jiwon Kim Date: Tue Feb 7 15:04:57 2017 -0800 elementary: set mirrored mode in a group_add() Summary: When a scroller just added and theme not changed, scrollable interface's 'mirrored' property is always default. elm_config_mirrored_set(EINA_TRUE) -> elm_scroller_add(), : No mirrored mode elm_scroller_add() -> elm_config_mirrored_set(EINA_TRUE), : Mirrored mode @fix Test Plan: 1-1. elementary_test scroller 1-2. Turn on UI-Mirroring 2-1. elementary_test 2-2. Turn on UI-Mirroring 2-3. Click 'scroller' button (Check scroller test's 'prev page' and 'next page' buttons) Reviewers: cedric, woohyun, akanad Subscribers: jpeg Differential Revision: https://phab.enlightenment.org/D4564 Signed-off-by: Cedric BAIL --- src/lib/elementary/elm_scroller.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib/elementary/elm_scroller.c b/src/lib/elementary/elm_scroller.c index bd30cb4..5f3a95c 100644 --- a/src/lib/elementary/elm_scroller.c +++ b/src/lib/elementary/elm_scroller.c @@ -926,6 +926,8 @@ _elm_scroller_efl_canvas_group_group_add(Eo *obj, Elm_Scroller_Data *priv) (obj, "scroller", "base", elm_widget_style_get(obj))) CRI("Failed to set layout!"); + _mirrored_set(obj, elm_widget_mirrored_get(obj)); + priv->hit_rect = evas_object_rectangle_add(evas_object_evas_get(obj)); evas_object_smart_member_add(priv->hit_rect, obj); elm_widget_sub_object_add(obj, priv->hit_rect); --
[EGIT] [core/efl] master 04/06: evas: initalize orient property in file_set()
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4a0a9d8ae1bf0e8b1d3489ca80c6d82de3f0e227 commit 4a0a9d8ae1bf0e8b1d3489ca80c6d82de3f0e227 Author: Jiwon Kim Date: Mon Jan 2 15:22:04 2017 +0900 evas: initalize orient property in file_set() Summary: Someone calls evas_object_image_file_set() and set orient, and then re-set another file. At that time, there is a mismatch between Evas_Image_Data's cur->orient and engine's orient data. So, "file_set(a) -> orient_set(90) -> file_set(b) -> orient_set(90)" is not working now. Therefore, when a file_set() is finished, initialization is needed. @fix Reviewers: jypark, jpeg Reviewed By: jpeg Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D4515 --- src/lib/evas/canvas/evas_object_image.c | 4 1 file changed, 4 insertions(+) diff --git a/src/lib/evas/canvas/evas_object_image.c b/src/lib/evas/canvas/evas_object_image.c index d81277f..fab1992 100644 --- a/src/lib/evas/canvas/evas_object_image.c +++ b/src/lib/evas/canvas/evas_object_image.c @@ -350,12 +350,14 @@ _evas_image_done_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Image_Dat { int w, h; int stride; +Evas_Image_Orient orient; ENFN->image_size_get(ENDT, o->engine_data, &w, &h); if (ENFN->image_stride_get) ENFN->image_stride_get(ENDT, o->engine_data, &stride); else stride = w * 4; +orient = ENFN->image_orient_get(ENDT, o->engine_data); EINA_COW_IMAGE_STATE_WRITE_BEGIN(o, state_write) { @@ -368,6 +370,7 @@ _evas_image_done_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Image_Dat state_write->image.w = w; state_write->image.h = h; state_write->image.stride = stride; + state_write->orient = orient; } EINA_COW_IMAGE_STATE_WRITE_END(o, state_write); } @@ -387,6 +390,7 @@ _evas_image_done_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Image_Dat state_write->image.w = 0; state_write->image.h = 0; state_write->image.stride = 0; + state_write->orient = EVAS_IMAGE_ORIENT_NONE; } EINA_COW_IMAGE_STATE_WRITE_END(o, state_write); } --
[E-devel] Debugging edc at runtime is possible?
Hi all. I wonder about debugging edc script. (or maybe it's just idea :) ) Is it possible to debug at running time of application? Likes gdb (or with gdb), attach to app, and set break point to 'program' syntex (edc's program blocks). If we can check edc's (when/which) program running and signaling, I think it's very convenient. If it is impossible, how about log function for edc? (only for debug) Does anyone has know-how regarding this? Or, has anyone ever tried to similar attempt? Regards. Jiwon Kim. -- ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/efl] master 01/01: efl_net: check definition 'SO_REUSEPORT' for port reuse flag
jayji pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b52725cef54d6e3238544daa64e99173420cd46b commit b52725cef54d6e3238544daa64e99173420cd46b Author: Jiwon Kim Date: Thu Sep 1 19:08:11 2016 +0200 efl_net: check definition 'SO_REUSEPORT' for port reuse flag Summary: The port reuse feature and 'SO_REUSEPORT' flag are not supported by a few linux In case of linux kernel, it supported from v 3.9 (https://kernelnewbies.org/Linux_3.9) On the lower version of kernel, compile is failed Reviewers: barbieri, jayji Reviewed By: jayji Subscribers: akanad, id213sin, cedric, jpeg Differential Revision: https://phab.enlightenment.org/D4256 --- src/lib/ecore_con/efl_net_server_fd.c | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore_con/efl_net_server_fd.c b/src/lib/ecore_con/efl_net_server_fd.c index 33448c6..0e33e8e 100644 --- a/src/lib/ecore_con/efl_net_server_fd.c +++ b/src/lib/ecore_con/efl_net_server_fd.c @@ -332,6 +332,7 @@ _efl_net_server_fd_reuse_port_set(Eo *o, Efl_Net_Server_Fd_Data *pd, Eina_Bool r fd = efl_loop_fd_get(o); if (fd < 0) return EINA_TRUE; /* postpone until fd_set() */ +#ifdef SO_REUSEPORT value = reuse_port; if (setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, &value, sizeof(value)) < 0) { @@ -340,8 +341,11 @@ _efl_net_server_fd_reuse_port_set(Eo *o, Efl_Net_Server_Fd_Data *pd, Eina_Bool r pd->reuse_port = old; return EINA_FALSE; } - return EINA_TRUE; +#else + pd->reuse_port = EINA_FALSE; + return EINA_FALSE; +#endif } EOLIAN static Eina_Bool @@ -356,6 +360,7 @@ _efl_net_server_fd_reuse_port_get(Eo *o, Efl_Net_Server_Fd_Data *pd) /* if there is a fd, always query it directly as it may be modified * elsewhere by nasty users. */ +#ifdef SO_REUSEPORT valuelen = sizeof(value); if (getsockopt(fd, SOL_SOCKET, SO_REUSEPORT, &value, &valuelen) < 0) { @@ -366,6 +371,9 @@ _efl_net_server_fd_reuse_port_get(Eo *o, Efl_Net_Server_Fd_Data *pd) pd->reuse_port = !!value; /* sync */ return pd->reuse_port; +#else + return EINA_FALSE; +#endif } EOLIAN static void --
[E-devel] Fixed Programming guide for image_blur example
Hi All. I found some doubtful example code on EFL Programming guide. (https://www.enlightenment.org/program_guide/evas/image_objects) We can notify that result(blur) image is too much spread only horizontally, when if set higher value to "blur_size". Because, calculation about average color is used recursively. (calc result is re-used for calc in 6th and 7th for loop) So, I fixed the example code. If I fixed by incorrect way, please fix again. Regards. Jiwon Kim. void image_blur(Evas_Object *img) { unsigned char *img_src = evas_object_image_data_get(img, EINA_TRUE); int w, h; evas_object_image_size_get(img, &w, &h); int blur_size = 4; int x, y, xx, yy; for (y = 0; y < h; y++) { for (x = 0; x < w; x++) { int avg_color[3] = {0, 0, 0}; int blur_pixel_cnt = 0; for (xx = x; (xx < x + blur_size) && (xx < w); xx++) { for (yy = y; (yy < y + blur_size) && (yy < h); yy++) { int idx = (yy * w * 4) + (xx * 4); avg_color[0] += img_src[idx + 0]; avg_color[1] += img_src[idx + 1]; avg_color[2] += img_src[idx + 2]; ++blur_pixel_cnt; } } avg_color[0] /= blur_pixel_cnt; avg_color[1] /= blur_pixel_cnt; avg_color[2] /= blur_pixel_cnt; * // Fixed newly* int idx = (y * w * 4) + (x * 4); img_src[idx + 0] = avg_color[0]; img_src[idx + 1] = avg_color[1]; img_src[idx + 2] = avg_color[2]; * // Removed* * for (xx = x; (xx < x + blur_size) && (xx < w); xx++)* * {* *for (yy = y; (yy < y + blur_size) && (yy < h); yy++)* *{* * int idx = (yy * w * 4) + (xx * 4);* * img_src[idx + 0] = avg_color[0];* * img_src[idx + 1] = avg_color[1];* * img_src[idx + 2] = avg_color[2];* *}* * }* } } evas_object_image_data_update_add(img, 0, 0, w, h); } -- ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [website/www-content] master 01/01: Wiki page image_objects changed with summary [fixed bug code in image_blur example] by Jiwon Kim
WWW-www.enlightenment.org pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=ae4f3921c2513d89755051b8a7f0baab14007cee commit ae4f3921c2513d89755051b8a7f0baab14007cee Author: Jiwon Kim Date: Mon Aug 1 08:46:35 2016 -0700 Wiki page image_objects changed with summary [fixed bug code in image_blur example] by Jiwon Kim --- pages/program_guide/evas/image_objects.txt | 14 -- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/pages/program_guide/evas/image_objects.txt b/pages/program_guide/evas/image_objects.txt index d4339a6..414df9f 100644 --- a/pages/program_guide/evas/image_objects.txt +++ b/pages/program_guide/evas/image_objects.txt @@ -363,16 +363,10 @@ void image_blur(Evas_Object *img) avg_color[1] /= blur_pixel_cnt; avg_color[2] /= blur_pixel_cnt; - for (xx = x; (xx < x + blur_size) && (xx < w); xx++) - { -for (yy = y; (yy < y + blur_size) && (yy < h); yy++) -{ - int idx = (yy * w * 4) + (xx * 4); - img_src[idx + 0] = avg_color[0]; - img_src[idx + 1] = avg_color[1]; - img_src[idx + 2] = avg_color[2]; -} - } + int idx = (y * w * 4) + (x * 4); + img_src[idx + 0] = avg_color[0]; + img_src[idx + 1] = avg_color[1]; + img_src[idx + 2] = avg_color[2]; } } evas_object_image_data_update_add(img, 0, 0, w, h); --
[EGIT] [core/efl] master 01/01: elm_calendar: provides way for configuration of weekend text color
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=5e2b1dde68bc6f61ec20fde47f5c849348c25636 commit 5e2b1dde68bc6f61ec20fde47f5c849348c25636 Author: Jiwon Kim Date: Mon Jul 11 16:10:34 2016 +0900 elm_calendar: provides way for configuration of weekend text color Summary: Suggest new mark_type for elm_calendar_mark_add(). The mark names are "weekend/day1", "weekend/day2". It can be used for each country. Some country can apply to "weekend/day2" to friday if day rest only a day for a week. Until now, there is no way to separate holiday, saturday and sunday. Test Plan: 1. saturday ``` struct tm t = { 0, 0, 12, 6, 0, 0, 6, 6, -1 }; elm_calendar_mark_add(obj, "weekend/day1", &t, ELM_CALENDAR_WEEKLY); ``` 2. sunday ``` struct tm t = { 0, 0, 12, 7, 0, 0, 0, 0, -1 }; elm_calendar_mark_add(obj, "weekend/day2", &t, ELM_CALENDAR_WEEKLY); ``` Reviewers: CHAN, cedric, raster Reviewed By: raster Subscribers: raster, akanad, id213sin, cedric, jpeg Differential Revision: https://phab.enlightenment.org/D4148 --- data/elementary/themes/colorclasses.edc | 10 ++ data/elementary/themes/edc/elm/calendar.edc | 49 + src/lib/elementary/elm_removed.h| 4 +-- 3 files changed, 61 insertions(+), 2 deletions(-) diff --git a/data/elementary/themes/colorclasses.edc b/data/elementary/themes/colorclasses.edc index dbfc3f8..ab6dc07 100644 --- a/data/elementary/themes/colorclasses.edc +++ b/data/elementary/themes/colorclasses.edc @@ -170,6 +170,16 @@ color_classes { color3: 255 255 255 192; desc: "Disabled Day Text"; } + color_class { name: "calendar_day_text_weekend1"; + color: 128 128 128 255; + color3: 0 0 0 128; + desc: "Weekend Day1 Text"; + } + color_class { name: "calendar_day_text_weekend2"; + color: 128 128 128 255; + color3: 0 0 0 128; + desc: "Weekend Day2 Text"; + } color_class { name: "check_text"; color: FN_COL_DEFAULT; desc: "Text of a checkbox's label"; diff --git a/data/elementary/themes/edc/elm/calendar.edc b/data/elementary/themes/edc/elm/calendar.edc index e5edcba..662bd51 100644 --- a/data/elementary/themes/edc/elm/calendar.edc +++ b/data/elementary/themes/edc/elm/calendar.edc @@ -11,6 +11,12 @@ style { name: "calendar_date_disabled_style";\ base: "font="FN" font_size=10 color=#151515 style=shadow,bottom shadow_color=#ffc0 align=center text_class=calendar_day_text_disabled text_class=calendar_day_text_disabled";\ }\ + style { name: "calendar_date_weekend1_style";\ + base: "font="FN" font_size=10 color=#2020C0 style=shadow,bottom shadow_color=#ffc0 align=center text_class=calendar_day_text_weekend1 color_class=calendar_day_text_weekend1";\ + }\ + style { name: "calendar_date_weekend2_style";\ + base: "font="FN" font_size=10 color=#C02020 style=shadow,bottom shadow_color=#ffc0 align=center text_class=calendar_day_text_weekend2 color_class=calendar_day_text_weekend2";\ + }\ #define CAL_SPIN(_sufix, _text, _relative)\ part { name: "left_bt"#_sufix; type: SPACER;\ @@ -215,6 +221,14 @@ inherit: "default" 0.0; \ text.style: "calendar_date_disabled_style"; \ } \ + description { state: "weekend/day1" 0.0; \ + inherit: "default" 0.0; \ + text.style: "calendar_date_weekend1_style"; \ + } \ + description { state: "weekend/day2" 0.0; \ + inherit: "default" 0.0; \ + text.style: "calendar_date_weekend2_style"; \ + } \ } \ part { name: "cit_"#_pos".check"; mouse_events: 0; \ scale: 1; \ @@ -324,9 +338,20 @@ source: "elm"; \ action: STATE_SET "default" 0.0; \ target: "cit_"#_pos".check"; \ + after: "cit_"#_pos".weekends_clear"; \ after: "cit_"#_pos".holiday_clear"; \ } \ program { \ + name:"cit_"#_pos".weekends_clear"; \ + script { \ +new st[31]; \ +new Float:vl; \ +get_state(PART:"cit_"#_pos".text", st, 30, vl); \ +if (!strcmp(st, "weekend/day1") || !strcmp(st, "weekend/day2")) \ + set_state(PART:"cit_"#_pos".text", "default", 0.0); \ + } \ + } \ + program { \ name:"cit_"#_pos".
[EGIT] [core/efl] master 01/05: elm_entry: remove unnecessary text clearing in text_set
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=38db4b4c0397ce599d5c50859d8431fbbdff284c commit 38db4b4c0397ce599d5c50859d8431fbbdff284c Author: Jiwon Kim Date: Wed Jul 6 12:48:56 2016 -0700 elm_entry: remove unnecessary text clearing in text_set Summary: When text_set is called for entry, it sets to empty text before calling _entry_text_append(). but, _entry_text_append() has 'set' parameter. Therefore text is set in that function, and clearing is not needed. It can fix "changed" smart callback is invoked multipe times when a short text is set to entry. In addition, if text length is larger than ELM_ENTRY_CHUNK_SIZE, set text directly as amount of chunk size and idler will append about remain text. @fix Test Plan: 1. elementary_test -to "entry5" 2. click "set 1" button 2-1. changed message should be printed 1 time 3. click "set 10001" button 3-1. changed message should be printed 2 times Reviewers: tasn, Hermet, id213sin, cedric Reviewed By: cedric Subscribers: woohyun, cedric, jpeg Differential Revision: https://phab.enlightenment.org/D4134 Signed-off-by: Cedric BAIL --- src/bin/elementary/test_entry.c | 64 + src/lib/elementary/elm_entry.c | 18 ++-- 2 files changed, 80 insertions(+), 2 deletions(-) diff --git a/src/bin/elementary/test_entry.c b/src/bin/elementary/test_entry.c index b94c525..4b1a020 100644 --- a/src/bin/elementary/test_entry.c +++ b/src/bin/elementary/test_entry.c @@ -1811,10 +1811,45 @@ test_entry4(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in evas_object_show(win); } +static void +_entry_changed_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, +void *event_info EINA_UNUSED) +{ + printf("entry is changed\n"); +} + +#define ELM_ENTRY_CHUNK_SIZE 1 +static void +my_ent_set_chunk(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Evas_Object *en = data; + char *buf = calloc((ELM_ENTRY_CHUNK_SIZE + 1), sizeof(char)); + int i; + for (i = 0; i < ELM_ENTRY_CHUNK_SIZE; i++) + buf[i] = '1'; + + printf("set %d length of text\n", ELM_ENTRY_CHUNK_SIZE); + elm_entry_entry_set(en, buf); +} + +static void +my_ent_set_long(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Evas_Object *en = data; + char *buf = calloc((ELM_ENTRY_CHUNK_SIZE + 2), sizeof(char)); + int i; + for (i = 0; i < (ELM_ENTRY_CHUNK_SIZE + 1); i++) + buf[i] = '1'; + + printf("set %d length of text\n", ELM_ENTRY_CHUNK_SIZE + 1); + elm_entry_entry_set(en, buf); +} + void test_entry5(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Evas_Object *win, *bx, *bx2, *bt, *en; + char buf[10]; win = elm_win_util_standard_add("entry5", "Entry 5"); elm_win_autodel_set(win, EINA_TRUE); @@ -1840,6 +1875,7 @@ test_entry5(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in "good testing to see if entry widgets work as advertised." ); evas_object_smart_callback_add(en, "anchor,clicked", scrolled_anchor_test, en); + evas_object_smart_callback_add(en, "changed", _entry_changed_cb, NULL); elm_box_pack_end(bx, en); evas_object_show(en); @@ -2073,6 +2109,34 @@ test_entry5(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in elm_box_pack_end(bx, bx2); evas_object_show(bx2); + bx2 = elm_box_add(win); + elm_box_horizontal_set(bx2, EINA_TRUE); + evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); + evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); + + bt = elm_button_add(win); + snprintf(buf, 10, "set %d", ELM_ENTRY_CHUNK_SIZE); + elm_object_text_set(bt, buf); + evas_object_smart_callback_add(bt, "clicked", my_ent_set_chunk, en); + evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); + elm_box_pack_end(bx2, bt); + elm_object_focus_allow_set(bt, EINA_FALSE); + evas_object_show(bt); + + bt = elm_button_add(win); + snprintf(buf, 10, "set %d", ELM_ENTRY_CHUNK_SIZE + 1); + elm_object_text_set(bt, buf); + evas_object_smart_callback_add(bt, "clicked", my_ent_set_long, en); + evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); + elm_box_pack_end(bx2, bt); + elm_object_focus_allow_set(bt, EINA_FALSE); + evas_object_show(bt); + + elm_box_pack_end(bx, bx2); + evas_object_show(bx2); +
[EGIT] [core/efl] master 02/05: elm_calendar: fix first week is not changed
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=50b549faa2873f5de991dde54018efa1bf5f9613 commit 50b549faa2873f5de991dde54018efa1bf5f9613 Author: Jiwon Kim Date: Wed Jul 6 12:49:43 2016 -0700 elm_calendar: fix first week is not changed Summary: @fix Test Plan: 1. elm_calendar_first_day_of_week_set(cal, ELM_DAY_MONDAY); 2. First week string should be changed to "Mon" Reviewers: tasn, cedric Reviewed By: cedric Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D4135 Signed-off-by: Cedric BAIL --- src/lib/elementary/elm_calendar.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elementary/elm_calendar.c b/src/lib/elementary/elm_calendar.c index 85a7f28..2782ec3 100644 --- a/src/lib/elementary/elm_calendar.c +++ b/src/lib/elementary/elm_calendar.c @@ -717,7 +717,7 @@ _set_headers(Evas_Object *obj) } } part[3] = i + '0'; - elm_layout_text_set(obj, part, sd->weekdays[i]); + elm_layout_text_set(obj, part, sd->weekdays[(i + sd->first_week_day) % ELM_DAY_LAST]); weekday += 86400; /* Advance by a day */ } } --
[EGIT] [core/efl] master 01/01: elm_entry: restrict focus region to inside of entry object area
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7a17f6fb47b38969a786475757f43c1853a934f0 commit 7a17f6fb47b38969a786475757f43c1853a934f0 Author: Jiwon Kim Date: Mon Jun 27 15:04:20 2016 +0900 elm_entry: restrict focus region to inside of entry object area Summary: Focus region must be located in entry object. Therefore if it get out of entry, it just returns last cursor position that can be shown. @fix Test Plan: 1. elementary_test "Entry on Page Scroll" 2. click 2nd btn and close popup 3. page should not be scrolled Reviewers: raster, herdsman, id213sin, woohyun, tasn, cedric Subscribers: jpeg Differential Revision: https://phab.enlightenment.org/D4072 --- data/elementary/objects/test.edc | 10 src/bin/elementary/test_entry.c | 51 +++- src/lib/elementary/elm_entry.c | 34 +++ 3 files changed, 84 insertions(+), 11 deletions(-) diff --git a/data/elementary/objects/test.edc b/data/elementary/objects/test.edc index 3b665e1..fa7c835 100644 --- a/data/elementary/objects/test.edc +++ b/data/elementary/objects/test.edc @@ -800,6 +800,16 @@ group { name: "page_layout"; description { state: "default" 0.0; rel1.relative: 0.4 0.6; rel1.to:"bg"; + rel2.relative: 0.6 0.7; + rel2.to:"bg"; + } + } + part { name: "element3"; + type: SWALLOW; + scale: 1; + description { state: "default" 0.0; + rel1.relative: 0.4 0.7; + rel1.to:"bg"; rel2.relative: 0.6 0.8; rel2.to:"bg"; } diff --git a/src/bin/elementary/test_entry.c b/src/bin/elementary/test_entry.c index c56e093..04003a8 100644 --- a/src/bin/elementary/test_entry.c +++ b/src/bin/elementary/test_entry.c @@ -685,6 +685,44 @@ test_entry_scrolled(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void * } static void +my_pop_close_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Evas_Object *btn, *pop, *en; + pop = data; + en = elm_object_parent_widget_get(pop); + elm_object_text_set(en, "This is very long text," + " it is longer than width of this page." + " So if scroller is moved to next page," + " that is bug when you click under button" + " and then click this entry text"); + elm_entry_cursor_end_set(en); + + evas_object_del(pop); +} + +static void +my_pop_bt_clr(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Evas_Object *pop, *btn, *en; + en = data; + elm_object_text_set(en, ""); + elm_entry_cursor_end_set(en); + + pop = elm_popup_add(en); + elm_object_text_set(pop, "If you click confirm, " + "set long text to entry " + "and delete popup obj"); + + btn = elm_button_add(pop); + elm_object_text_set(btn, "Confirm"); + evas_object_smart_callback_add(btn, "clicked", my_pop_close_cb, pop); + elm_object_part_content_set(pop, "button1", btn); + + evas_object_show(btn); + evas_object_show(pop); +} + +static void my_en_bt_clr(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Evas_Object *en = data; @@ -722,7 +760,11 @@ test_entry_on_page_scroll(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, en = elm_entry_add(ly); elm_object_part_text_set(en, "guide", "Entry area"); - elm_object_text_set(en, "This is very long text, it is longer than width of this page. So if scroller is moved to next page, that is bug when you click under button and then click this entry text"); + elm_object_text_set(en, "This is very long text," + " it is longer than width of this page." + " So if scroller is moved to next page," + " that is bug when you click under button" + " and then click this entry text"); elm_object_part_content_set(ly, "element1", en); elm_entry_scrollable_set(en, EINA_TRUE); elm_entry_single_line_set(en, EINA_TRUE); @@ -735,6 +777,13 @@ test_entry_on_page_scroll(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, evas_object_show(btn); elm_object_focus_set(btn, EINA_TRUE); + btn = elm_button_add(ly); + elm_object_text_set(btn, "Click this and close popup"); + elm_object_part_content_set(ly, "element3", btn); + evas_object_smart_callback_add(btn, "clicked", my_pop_bt_clr, en); + evas_object_show(btn); + elm_objec
[EGIT] [website/www-content] master 01/03: Wiki page about changed with summary [Samsung Galaxy Gear -> Samsung Gear] by Jiwon Kim
WWW-www.enlightenment.org pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=ea6a6d32a21de80dd62283e04da6f4c371c9c721 commit ea6a6d32a21de80dd62283e04da6f4c371c9c721 Author: Jiwon Kim Date: Mon Jun 13 19:39:17 2016 -0700 Wiki page about changed with summary [Samsung Galaxy Gear -> Samsung Gear] by Jiwon Kim --- pages/about.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/about.txt b/pages/about.txt index ba6f5f0..a8a3667 100644 --- a/pages/about.txt +++ b/pages/about.txt @@ -86,7 +86,7 @@ sold thousands of devices with EFL and Enlightenment on them. [[http://www.yellowdoglinux.com/|Yellow Dog Linux]] for the Sony PS3 ships with Enlightenment as the default. EFL has been used on printers, netbooks and more. It powers the -[[http://www.samsung.com/us/mobile/wearable-tech|Samsung Galaxy Gear]] +[[http://www.samsung.com/us/mobile/wearable-tech|Samsung Gear]] watches, is behind the [[http://www.samsung.com/in/consumer/mobile-phone/mobile-phone/dual-sim-phone/SM-Z130HZKDINS|Samsung Z1 Phone]] and the --
[EGIT] [core/efl] master 01/01: Elm entry: fix returning wrong focus region
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f20f4c6e50d1535a2cefe81bbe90d78f0fc5a9a3 commit f20f4c6e50d1535a2cefe81bbe90d78f0fc5a9a3 Author: Jiwon Kim Date: Thu May 26 17:19:34 2016 +0900 Elm entry: fix returning wrong focus region Summary: In on_focus_region function, entry returns relative x,y position from edje object. It should be calculated from elm object's position. @fix Test Plan: 1. $elementary_test "Entry on Page Scroll" 2. click under button 3. click upper text in entry 4. page should not be scrolled Reviewers: tasn, cedric, woohyun, Hermet, herdsman, raster Subscribers: Blackmole, id213sin, cedric, jpeg Differential Revision: https://phab.enlightenment.org/D3923 --- data/elementary/objects/test.edc | 21 ++- src/bin/elementary/test.c| 2 ++ src/bin/elementary/test_entry.c | 76 src/lib/elementary/elm_entry.c | 9 + 4 files changed, 107 insertions(+), 1 deletion(-) diff --git a/data/elementary/objects/test.edc b/data/elementary/objects/test.edc index 84407e5..3b665e1 100644 --- a/data/elementary/objects/test.edc +++ b/data/elementary/objects/test.edc @@ -784,6 +784,25 @@ group { name: "page_layout"; } } } + part { name: "element1"; + type: SWALLOW; + scale: 1; + description { state: "default" 0.0; + rel1.relative: 0.4 0.2; + rel1.to:"bg"; + rel2.relative: 0.6 0.4; + rel2.to:"bg"; + } + } + part { name: "element2"; + type: SWALLOW; + scale: 1; + description { state: "default" 0.0; + rel1.relative: 0.4 0.6; + rel1.to:"bg"; + rel2.relative: 0.6 0.8; + rel2.to:"bg"; + } + } } - } diff --git a/src/bin/elementary/test.c b/src/bin/elementary/test.c index de8e6d3..fff22fe 100644 --- a/src/bin/elementary/test.c +++ b/src/bin/elementary/test.c @@ -61,6 +61,7 @@ void test_entry(void *data, Evas_Object *obj, void *event_info); void test_entry_style_user(void *data, Evas_Object *obj, void *event_info); void test_entry_style_default(void *data, Evas_Object *obj, void *event_info); void test_entry_scrolled(void *data, Evas_Object *obj, void *event_info); +void test_entry_on_page_scroll(void *data, Evas_Object *obj, void *event_info); void test_entry3(void *data, Evas_Object *obj, void *event_info); void test_entry4(void *data, Evas_Object *obj, void *event_info); void test_entry5(void *data, Evas_Object *obj, void *event_info); @@ -603,6 +604,7 @@ add_tests: ADD_TEST(NULL, "Entries", "Entry Style Default", test_entry_style_default); ADD_TEST(NULL, "Entries", "Entry Style User", test_entry_style_user); ADD_TEST(NULL, "Entries", "Entry Scrolled", test_entry_scrolled); + ADD_TEST(NULL, "Entries", "Entry on Page Scroll", test_entry_on_page_scroll); ADD_TEST(NULL, "Entries", "Entry 3", test_entry3); ADD_TEST(NULL, "Entries", "Entry 4", test_entry4); ADD_TEST(NULL, "Entries", "Entry 5", test_entry5); diff --git a/src/bin/elementary/test_entry.c b/src/bin/elementary/test_entry.c index c295cc3..8ea2aa5 100644 --- a/src/bin/elementary/test_entry.c +++ b/src/bin/elementary/test_entry.c @@ -686,6 +686,82 @@ test_entry_scrolled(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void * } static void +my_en_bt_clr(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Evas_Object *en = data; + elm_entry_cursor_end_set(en); +} + +void +test_entry_on_page_scroll(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Evas_Object *win, *sc, *bx, *ly, *rect, *en, *btn, *lb; + char buf[PATH_MAX]; + + win = elm_win_util_standard_add("entry-on-page-scroll", "Entry on Page Scroll"); + elm_win_autodel_set(win, EINA_TRUE); + + sc = elm_scroller_add(win); + evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_scroller_page_relative_set(sc, 1.0, 0.0); + elm_scroller_policy_set(sc, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); + elm_scroller_page_scroll_limit_set(sc, 1, 0); + elm_win_resize_object_add(win, sc); + evas_object_show(sc); + + bx = elm_box_add(sc); + elm_box_horizontal_set(bx, EINA_TRUE); + elm_object_content_set(sc, bx); + evas_object_show(bx); + + ly = elm_layout_add(bx); + snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); + elm_layout_file_set(ly, buf, "page_layout"); + rect = evas_object_rectangle_add(evas_object_evas_get(ly)); + evas_object