[EGIT] [core/efl] master 01/02: efl_ui_position_manager_grid: avoid zero division case
bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=62e470130c7005e85f5e1c7e039c352f31bad8b3 commit 62e470130c7005e85f5e1c7e039c352f31bad8b3 Author: WooHyun Jung Date: Fri Nov 29 04:15:48 2019 + efl_ui_position_manager_grid: avoid zero division case This fixes the issue of zero division when columns is zero. Sometimes columns can be zero when "pd->viewport.w = 0". Reviewed-by: Marcel Hollerbach Differential Revision: https://phab.enlightenment.org/D10768 --- src/lib/elementary/efl_ui_position_manager_grid.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/elementary/efl_ui_position_manager_grid.c b/src/lib/elementary/efl_ui_position_manager_grid.c index bc3124abdc..7b0ed303f5 100644 --- a/src/lib/elementary/efl_ui_position_manager_grid.c +++ b/src/lib/elementary/efl_ui_position_manager_grid.c @@ -706,6 +706,7 @@ _efl_ui_position_manager_grid_efl_ui_position_manager_entity_position_single_ite EINA_SAFETY_ON_FALSE_RETURN_VAL(group_consumed_ids == 0, EINA_RECT(0, 0, 0, 0)); int columns = pd->viewport.w/pd->max_min_size.w; + if (columns == 0) return EINA_RECT(0, 0, 0, 0); int sub_pos_id = idx - group_consumed_ids; if (pd->dir == EFL_UI_LAYOUT_ORIENTATION_VERTICAL) --
[EGIT] [core/efl] master 01/01: efl_ui_internal_text_interactive: fix undefined symbol issue
xartigas pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d2ed28bd8aa7f407d13cb5eb6db4e98cc663ce89 commit d2ed28bd8aa7f407d13cb5eb6db4e98cc663ce89 Author: WooHyun Jung Date: Fri Nov 22 12:51:06 2019 +0100 efl_ui_internal_text_interactive: fix undefined symbol issue Summary: This fixes an issue from d7352f4db41dc8975eaeb3f79dff326338a5a63c. Reviewers: segfaultxavi, bu5hm4n Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10725 --- src/lib/elementary/efl_ui_internal_text_interactive.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elementary/efl_ui_internal_text_interactive.c b/src/lib/elementary/efl_ui_internal_text_interactive.c index 51c66b5cbb..5f623f83d5 100644 --- a/src/lib/elementary/efl_ui_internal_text_interactive.c +++ b/src/lib/elementary/efl_ui_internal_text_interactive.c @@ -824,7 +824,7 @@ _key_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void _key_down_sel_pre(obj, cur, en, shift, EINA_TRUE); #if defined(__APPLE__) && defined(__MACH__) -if (altgr) efl_text_cursor_word_end(cur); +if (altgr) efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END); #else /* If control is pressed, go to the end of the word */ if (control) efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END); --
[EGIT] [core/efl] master 01/01: eolian: fix eolian errors with EOLIAN_ENFORCE_SINCE=1
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=247331363a169b56c396370cbbf50376b3c7fc98 commit 247331363a169b56c396370cbbf50376b3c7fc98 Author: WooHyun Jung Date: Mon Oct 14 16:55:52 2019 +0900 eolian: fix eolian errors with EOLIAN_ENFORCE_SINCE=1 Summary: This is not the end of fixing eolian errors. I need to keep fixing more. Test Plan: 1. export EOLIAN_ENFORCE_SINCE=1 2. ninja Reviewers: q66, segfaultxavi, zmike, bu5hm4n, Jaehyun_Cho Reviewed By: segfaultxavi, Jaehyun_Cho Subscribers: Jaehyun_Cho, stefan_schmidt, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10370 --- src/lib/ecore/efl_composite_model.eo| 5 - src/lib/ecore/efl_generic_model.eo | 2 ++ src/lib/ecore/efl_loop_model.eo | 4 src/lib/ector/ector_types.eot | 2 +- src/lib/efl/interfaces/efl_gfx_hint.eo | 12 ++-- src/lib/efl/interfaces/efl_gfx_image.eo | 12 src/lib/efl/interfaces/efl_gfx_image_load_controller.eo | 5 - src/lib/efl/interfaces/efl_gfx_image_orientable.eo | 4 src/lib/efl/interfaces/efl_gfx_stack.eo | 4 ++-- src/lib/efl/interfaces/efl_gfx_types.eot| 4 ++-- src/lib/efl/interfaces/efl_pack_layout.eo | 2 ++ src/lib/efl/interfaces/efl_pack_linear.eo | 2 ++ src/lib/efl/interfaces/efl_pack_table.eo| 2 ++ src/lib/efl/interfaces/efl_ui_autorepeat.eo | 2 ++ src/lib/efl/interfaces/efl_ui_factory.eo| 4 +++- src/lib/efl/interfaces/efl_ui_factory_bind.eo | 5 - src/lib/efl/interfaces/efl_ui_layout_orientable.eo | 4 src/lib/efl/interfaces/efl_ui_range_display.eo | 2 ++ src/lib/efl/interfaces/efl_ui_range_interactive.eo | 2 ++ src/lib/efl/interfaces/efl_ui_scrollable.eo | 5 - src/lib/efl/interfaces/efl_ui_scrollbar.eo | 4 +++- src/lib/efl/interfaces/efl_ui_view.eo | 7 +-- src/lib/elementary/efl_access_object.eo | 2 +- src/lib/elementary/efl_ui_alert_popup.eo| 6 -- src/lib/elementary/efl_ui_bg.eo | 8 +--- src/lib/elementary/efl_ui_box.eo| 2 ++ src/lib/elementary/efl_ui_box_flow.eo | 2 ++ src/lib/elementary/efl_ui_box_stack.eo | 2 ++ src/lib/elementary/efl_ui_button.eo | 2 ++ src/lib/elementary/efl_ui_check.eo | 14 -- src/lib/elementary/efl_ui_collection.eo | 2 ++ src/lib/elementary/efl_ui_collection_view.eo| 2 ++ src/lib/elementary/efl_ui_datepicker.eo | 2 ++ src/lib/elementary/efl_ui_default_item.eo | 2 ++ src/lib/elementary/efl_ui_format.eo | 8 +++- src/lib/elementary/efl_ui_grid.eo | 2 ++ src/lib/elementary/efl_ui_grid_default_item.eo | 2 ++ src/lib/elementary/efl_ui_image.eo | 2 ++ src/lib/elementary/efl_ui_image_zoomable.eo | 9 ++--- src/lib/elementary/efl_ui_item.eo | 2 ++ src/lib/elementary/efl_ui_layout_part.eo| 5 - src/lib/elementary/efl_ui_layout_part_bg.eo | 5 - src/lib/elementary/efl_ui_layout_part_box.eo| 2 ++ src/lib/elementary/efl_ui_layout_part_content.eo| 5 - src/lib/elementary/efl_ui_layout_part_table.eo | 2 ++ src/lib/elementary/efl_ui_layout_part_text.eo | 5 - src/lib/elementary/efl_ui_list.eo | 2 ++ src/lib/elementary/efl_ui_list_default_item.eo | 2 ++ src/lib/elementary/efl_ui_popup.eo | 4 +++- src/lib/elementary/efl_ui_popup_part_backwall.eo| 2 ++ src/lib/elementary/efl_ui_position_manager_entity.eo| 2 +- src/lib/elementary/efl_ui_radio.eo | 2 ++ src/lib/elementary/efl_ui_radio_group.eo| 2 ++ src/lib/elementary/efl_ui_radio_group_impl.eo | 2 ++ src/lib/elementary/efl_ui_scroller.eo | 2 ++ src/lib/elementary/efl_ui_selectable.eo | 2 ++ src/lib/elementary/efl_ui_single_selectable.eo | 2 ++ src/lib/elementary/efl_ui_slider.eo | 2 ++ src/lib/elementary/efl_ui_spin.eo | 2 ++ src/lib/elementary/efl_ui_spin_button.eo| 2 ++ src/lib/elementary/efl_ui_table.eo | 2 ++ src/lib/elementary/efl_ui_timepicker.eo | 2 ++ src/lib/elementary/efl_ui_view_model.eo | 2 ++ src/lib/elementary
[EGIT] [core/efl] master 04/09: efl_ui_image: fix backward compatibility issue
zmike pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=5a684e0855ccdde5b6eedc9198d75fe8759aab84 commit 5a684e0855ccdde5b6eedc9198d75fe8759aab84 Author: WooHyun Jung Date: Mon Oct 7 09:38:14 2019 -0400 efl_ui_image: fix backward compatibility issue Summary: Previously, "anim" property was saved before checking evas-image's "animated" stated. This patch just corrects the issue. Reviewers: zmike, bu5hm4n, segfaultxavi Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10293 --- src/lib/elementary/efl_ui_image.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/lib/elementary/efl_ui_image.c b/src/lib/elementary/efl_ui_image.c index 050f05e00f..b110e9d998 100644 --- a/src/lib/elementary/efl_ui_image.c +++ b/src/lib/elementary/efl_ui_image.c @@ -1749,6 +1749,9 @@ _efl_ui_image_animated_set_internal(Eo *obj, Efl_Ui_Image_Data *sd, Eina_Bool an return EINA_TRUE; } sd->img = elm_image_object_get(obj); + + if (elm_widget_is_legacy(obj)) sd->anim = anim; //legacy + if (!evas_object_image_animated_get(sd->img)) return EINA_FALSE; sd->anim = anim; --
[EGIT] [core/efl] master 01/03: efl_ui_win: add validation check to return legacy default value
zmike pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ddb28ccdf1ff077a5e2bed0c37f515d6e0f13623 commit ddb28ccdf1ff077a5e2bed0c37f515d6e0f13623 Author: WooHyun Jung Date: Thu Sep 26 08:59:28 2019 -0400 efl_ui_win: add validation check to return legacy default value Summary: elm_win_type_get needs to return ELM_WIN_UNKNOWN when invalid object comes. Reviewers: zmike, bu5hm4n, segfaultxavi Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10187 --- src/lib/elementary/efl_ui_win.c | 4 1 file changed, 4 insertions(+) diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index 72a9239a26..2461e1e9e6 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -9392,6 +9392,10 @@ elm_win_name_get(const Evas_Object *obj) EAPI Elm_Win_Type elm_win_type_get(const Evas_Object *obj) { + if (!(efl_isa(obj, EFL_UI_WIN_CLASS) || + efl_isa(obj, EFL_UI_WIN_LEGACY_CLASS) || + efl_isa(obj, EFL_UI_WIN_INLINED_CLASS))) return ELM_WIN_UNKNOWN; + return _efl_ui_win_type_to_elm_win_type(efl_ui_win_type_get(obj)); } --
[EGIT] [core/efl] master 02/03: edje_legacy: add validation check to return legacy default value
zmike pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3bdd50e4126757632d9a651fa7ecc8e035c79b63 commit 3bdd50e4126757632d9a651fa7ecc8e035c79b63 Author: WooHyun Jung Date: Thu Sep 26 08:59:31 2019 -0400 edje_legacy: add validation check to return legacy default value Summary: When invalid object comes, the return value should be EINA_FALSE. Reviewers: zmike, bu5hm4n, segfaultxavi Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10185 --- src/lib/edje/edje_legacy.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/edje/edje_legacy.c b/src/lib/edje/edje_legacy.c index a93ed061a6..a72b951058 100644 --- a/src/lib/edje/edje_legacy.c +++ b/src/lib/edje/edje_legacy.c @@ -1208,6 +1208,7 @@ edje_object_play_set(Evas_Object *obj, Eina_Bool play) EAPI Eina_Bool edje_object_play_get(const Evas_Object *obj) { + if (!efl_isa(obj, EFL_CANVAS_LAYOUT_CLASS)) return EINA_FALSE; return !efl_player_paused_get(obj); } --
[EGIT] [core/efl] master 03/03: efl_ui_image: fix a wrong return value of legacy API
zmike pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=23bbf2bf3ae7c45d08e02ba23e0ced69c99f65c6 commit 23bbf2bf3ae7c45d08e02ba23e0ced69c99f65c6 Author: WooHyun Jung Date: Thu Sep 26 09:00:09 2019 -0400 efl_ui_image: fix a wrong return value of legacy API Summary: elm_image_animated_play_get needs to return opposite value of animated_PAUSED_get. Reviewers: zmike, segfaultxavi, bu5hm4n Reviewed By: zmike, segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10186 --- src/lib/elementary/efl_ui_image.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elementary/efl_ui_image.c b/src/lib/elementary/efl_ui_image.c index f732d44add..64c81247b8 100644 --- a/src/lib/elementary/efl_ui_image.c +++ b/src/lib/elementary/efl_ui_image.c @@ -1911,7 +1911,7 @@ elm_image_animated_play_get(const Elm_Image *obj) { Efl_Ui_Image_Data *sd = efl_data_scope_get(obj, MY_CLASS); if (!sd) return EINA_FALSE; - return _efl_ui_image_animated_paused_get_internal(obj, sd); + return !_efl_ui_image_animated_paused_get_internal(obj, sd); } EOLIAN static Eina_Bool --
[EGIT] [core/efl] master 01/02: efl_ui_spin_button: mark "direct_text_input" property @beta
zmike pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=14a6dd6ab0e5ef077866b9d2ac4cd4b94e4a8934 commit 14a6dd6ab0e5ef077866b9d2ac4cd4b94e4a8934 Author: WooHyun Jung Date: Wed Sep 25 06:53:51 2019 -0400 efl_ui_spin_button: mark "direct_text_input" property @beta Summary: After making efl_ui_text interface be stabilized, this property can be considered again about its opening. ref T8097 Reviewers: zmike, bu5hm4n Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8097 Differential Revision: https://phab.enlightenment.org/D10140 --- src/lib/elementary/efl_ui_spin_button.eo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elementary/efl_ui_spin_button.eo b/src/lib/elementary/efl_ui_spin_button.eo index a8b2778b58..b6fa111a31 100644 --- a/src/lib/elementary/efl_ui_spin_button.eo +++ b/src/lib/elementary/efl_ui_spin_button.eo @@ -42,7 +42,7 @@ class @beta Efl.Ui.Spin_Button extends Efl.Ui.Spin circulate: bool(false); [[$true to enable circulate or $false to disable it.]] } } - @property direct_text_input { + @property direct_text_input @beta { [[Control whether the spin can be directly edited by the user. Spin objects can have editing disabled, in which case they can only --
[EGIT] [core/efl] master 01/03: efl_ui_win: default window type change should not be applied to legacy one
bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1c936631561a5ad3651ec1dcc17490b6e26707fa commit 1c936631561a5ad3651ec1dcc17490b6e26707fa Author: WooHyun Jung Date: Wed Sep 25 05:18:04 2019 + efl_ui_win: default window type change should not be applied to legacy one If my understanding is correct, below referenced commit needs to be applied to efl_ui_win only. @ref D10049 Reviewed-by: Marcel Hollerbach Differential Revision: https://phab.enlightenment.org/D10143 --- src/lib/elementary/efl_ui_win.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index 1dec90aa38..f79d4d1333 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -5960,7 +5960,7 @@ _efl_ui_win_efl_object_constructor(Eo *obj, Efl_Ui_Win_Data *pd) if (!efl_parent_get(obj)) efl_allow_parent_unref_set(obj, EINA_TRUE); - if (elm_widget_is_legacy(obj)) + if (!elm_widget_is_legacy(obj)) pd->type = EFL_UI_WIN_TYPE_BASIC; return obj; --
[EGIT] [core/efl] master 01/01: efl_ui_scrollable: remove ui_scrollable_interactive and move all into ui_scrollable
xartigas pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f7e183b851634de0ebc749568fe74cadbc9284f1 commit f7e183b851634de0ebc749568fe74cadbc9284f1 Author: WooHyun Jung Date: Mon Sep 23 10:48:02 2019 +0200 efl_ui_scrollable: remove ui_scrollable_interactive and move all into ui_scrollable Summary: Based on the discussion T7883, there is no reason to keep those interfaces separately. So, now, efl_ui_scrollable will support the events and methods together. @ref T7883 Reviewers: eagleeye, bu5hm4n, zmike, segfaultxavi Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7883 Differential Revision: https://phab.enlightenment.org/D10072 --- src/lib/efl/Efl.h | 1 - src/lib/efl/interfaces/efl_interfaces_main.c | 1 - src/lib/efl/interfaces/efl_ui_scrollable.eo| 165 .../interfaces/efl_ui_scrollable_interactive.eo| 169 - src/lib/efl/interfaces/meson.build | 1 - src/lib/elementary/efl_ui_collection.c | 2 +- src/lib/elementary/efl_ui_collection.eo| 4 +- src/lib/elementary/efl_ui_image_zoomable.c | 2 +- src/lib/elementary/efl_ui_image_zoomable.eo| 4 +- src/lib/elementary/efl_ui_list_view.eo | 2 +- src/lib/elementary/efl_ui_panel.eo | 2 +- src/lib/elementary/efl_ui_scroll_manager.c | 40 ++--- src/lib/elementary/efl_ui_scroll_manager.eo| 26 ++-- src/lib/elementary/efl_ui_scroller.c | 2 +- src/lib/elementary/efl_ui_scroller.eo | 4 +- src/lib/elementary/efl_ui_widget.c | 2 +- src/lib/elementary/elm_interface_scrollable.eo | 2 +- 17 files changed, 211 insertions(+), 218 deletions(-) diff --git a/src/lib/efl/Efl.h b/src/lib/efl/Efl.h index 403750ac93..db6e21b9c4 100644 --- a/src/lib/efl/Efl.h +++ b/src/lib/efl/Efl.h @@ -106,7 +106,6 @@ typedef Efl_Gfx_Path_Command_Type Efl_Gfx_Path_Command; #include "interfaces/efl_ui_draggable.eo.h" #include "interfaces/efl_ui_scrollable.eo.h" #include "interfaces/efl_ui_scrollbar.eo.h" -#include "interfaces/efl_ui_scrollable_interactive.eo.h" #include "interfaces/efl_ui_text_selectable.eo.h" #include "interfaces/efl_ui_container_selectable.eo.h" #include "interfaces/efl_ui_zoom.eo.h" diff --git a/src/lib/efl/interfaces/efl_interfaces_main.c b/src/lib/efl/interfaces/efl_interfaces_main.c index f9d7b801c2..36e962bc1e 100644 --- a/src/lib/efl/interfaces/efl_interfaces_main.c +++ b/src/lib/efl/interfaces/efl_interfaces_main.c @@ -74,7 +74,6 @@ #include "interfaces/efl_ui_draggable.eo.c" #include "interfaces/efl_ui_scrollable.eo.c" -#include "interfaces/efl_ui_scrollable_interactive.eo.c" #include "interfaces/efl_ui_scrollbar.eo.c" #include "interfaces/efl_ui_container_selectable.eo.c" #include "interfaces/efl_ui_text_selectable.eo.c" diff --git a/src/lib/efl/interfaces/efl_ui_scrollable.eo b/src/lib/efl/interfaces/efl_ui_scrollable.eo index 1bffa592af..520cdd1d13 100644 --- a/src/lib/efl/interfaces/efl_ui_scrollable.eo +++ b/src/lib/efl/interfaces/efl_ui_scrollable.eo @@ -1,7 +1,172 @@ +import eina_types; +import efl_ui_layout_orientable; + interface @beta Efl.Ui.Scrollable { [[Efl UI scrollable interface]] event_prefix: efl_ui; + methods { + @property content_pos { + [[The content position]] + set { + } + get { + } + values { +pos: Eina.Position2D; [[The position is virtual value, (0, 0) starting at the top-left.]] + } + } + @property content_size { + [[The content size]] + get { + } + values { +size: Eina.Size2D; [[The content size in pixels.]] + } + } + @property viewport_geometry { + [[The viewport geometry]] + get { + } + values { +rect: Eina.Rect; [[It is absolute geometry.]] + } + } + @property bounce_enabled { + [[Bouncing behavior + + When scrolling, the scroller may "bounce" when reaching the edge of the + content object. This is a visual way to indicate the end has been reached. + This is enabled by default for both axes. This API will determine if it's enabled + for the given axis with the boolean parameters for each one.]] + set { + } + get { + } + values { +horiz: bool; [[Horizontal bounce policy.]] +vert: bool; [[Vertical bounce policy.]] + } + } + @property scroll_freeze { + [[Freeze property + T
[EGIT] [core/efl] master 01/01: efl_ui_scroll_util: add null check after calloc
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=bc162b1253b3dc16fb6c8989b96d26fd120384c0 commit bc162b1253b3dc16fb6c8989b96d26fd120384c0 Author: WooHyun Jung Date: Fri Sep 20 11:09:02 2019 +0900 efl_ui_scroll_util: add null check after calloc --- src/lib/elementary/efl_ui_scroll_util.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/elementary/efl_ui_scroll_util.c b/src/lib/elementary/efl_ui_scroll_util.c index abf77110d6..b375c7488f 100644 --- a/src/lib/elementary/efl_ui_scroll_util.c +++ b/src/lib/elementary/efl_ui_scroll_util.c @@ -249,6 +249,7 @@ void efl_ui_scroll_connector_bind(Eo *obj, Eo *manager) { Scroll_Connector_Context *ctx = calloc(1, sizeof(Scroll_Connector_Context)); + if (!ctx) return; ctx->obj = obj; ctx->smanager = manager; efl_key_data_set(obj, "__context", ctx); --
[EGIT] [core/efl] master 01/01: efl_ui_datetime: change min/max to date_min/date_max
xartigas pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=0e82fa3f40b8998ad60d38f904ea89e04b8ccb15 commit 0e82fa3f40b8998ad60d38f904ea89e04b8ccb15 Author: WooHyun Jung Date: Fri Aug 30 12:08:16 2019 +0200 efl_ui_datetime: change min/max to date_min/date_max Summary: To keep consistency with other classes, change the property name properly. @ref T7869 Reviewers: zmike, segfaultxavi, bu5hm4n Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7869 Differential Revision: https://phab.enlightenment.org/D9797 --- src/bin/elementary/test_ui_datepicker.c | 4 ++-- src/lib/elementary/efl_ui_datepicker.c | 8 src/lib/elementary/efl_ui_datepicker.eo | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/bin/elementary/test_ui_datepicker.c b/src/bin/elementary/test_ui_datepicker.c index 7ca9563f6a..d7ac9ee50f 100644 --- a/src/bin/elementary/test_ui_datepicker.c +++ b/src/bin/elementary/test_ui_datepicker.c @@ -29,8 +29,8 @@ test_ui_datepicker(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e efl_add(EFL_UI_DATEPICKER_CLASS, bx, efl_ui_datepicker_date_set(efl_added, 1987, 9, 17), - efl_ui_datepicker_max_set(efl_added, 1990, 9, 17), - efl_ui_datepicker_min_set(efl_added, 1980, 9, 17), + efl_ui_datepicker_date_max_set(efl_added, 1990, 9, 17), + efl_ui_datepicker_date_min_set(efl_added, 1980, 9, 17), efl_event_callback_add(efl_added, EFL_UI_DATEPICKER_EVENT_CHANGED,_date_changed_cb, NULL), efl_pack(bx, efl_added)); diff --git a/src/lib/elementary/efl_ui_datepicker.c b/src/lib/elementary/efl_ui_datepicker.c index 84b3841fa4..9e48ca7784 100644 --- a/src/lib/elementary/efl_ui_datepicker.c +++ b/src/lib/elementary/efl_ui_datepicker.c @@ -254,7 +254,7 @@ _efl_ui_datepicker_efl_object_destructor(Eo *obj, Efl_Ui_Datepicker_Data *pd) } EOLIAN static void -_efl_ui_datepicker_min_set(Eo *obj, Efl_Ui_Datepicker_Data *pd EINA_UNUSED, int year, int month, int day) +_efl_ui_datepicker_date_min_set(Eo *obj, Efl_Ui_Datepicker_Data *pd EINA_UNUSED, int year, int month, int day) { int new_time[EFL_UI_DATEPICKER_TYPE_COUNT] = {year, month, day}; @@ -271,7 +271,7 @@ _efl_ui_datepicker_min_set(Eo *obj, Efl_Ui_Datepicker_Data *pd EINA_UNUSED, int } EOLIAN static void -_efl_ui_datepicker_min_get(const Eo *obj EINA_UNUSED, Efl_Ui_Datepicker_Data *pd, int *year, int *month, int *day) +_efl_ui_datepicker_date_min_get(const Eo *obj EINA_UNUSED, Efl_Ui_Datepicker_Data *pd, int *year, int *month, int *day) { *year = pd->min_date[DATEPICKER_YEAR]; *month = pd->min_date[DATEPICKER_MONTH]; @@ -279,7 +279,7 @@ _efl_ui_datepicker_min_get(const Eo *obj EINA_UNUSED, Efl_Ui_Datepicker_Data *pd } EOLIAN static void -_efl_ui_datepicker_max_set(Eo *obj, Efl_Ui_Datepicker_Data *pd EINA_UNUSED, int year, int month, int day) +_efl_ui_datepicker_date_max_set(Eo *obj, Efl_Ui_Datepicker_Data *pd EINA_UNUSED, int year, int month, int day) { int new_time[EFL_UI_DATEPICKER_TYPE_COUNT] = {year, month, day}; @@ -296,7 +296,7 @@ _efl_ui_datepicker_max_set(Eo *obj, Efl_Ui_Datepicker_Data *pd EINA_UNUSED, int } EOLIAN static void -_efl_ui_datepicker_max_get(const Eo *obj EINA_UNUSED, Efl_Ui_Datepicker_Data *pd, int *year, int *month, int *day) +_efl_ui_datepicker_date_max_get(const Eo *obj EINA_UNUSED, Efl_Ui_Datepicker_Data *pd, int *year, int *month, int *day) { *year = pd->max_date[DATEPICKER_YEAR]; *month = pd->max_date[DATEPICKER_MONTH]; diff --git a/src/lib/elementary/efl_ui_datepicker.eo b/src/lib/elementary/efl_ui_datepicker.eo index 93e7632023..41791053b7 100644 --- a/src/lib/elementary/efl_ui_datepicker.eo +++ b/src/lib/elementary/efl_ui_datepicker.eo @@ -7,7 +7,7 @@ class @beta Efl.Ui.Datepicker extends Efl.Ui.Layout_Base value using internal entry. ]] methods { - @property min { + @property date_min { [[The lower boundary of date. $year: Year. The year range is from 1900 to 2137. @@ -26,7 +26,7 @@ class @beta Efl.Ui.Datepicker extends Efl.Ui.Layout_Base day: int; [[The day value from 1 to 31.]] } } - @property max { + @property date_max { [[The upper boundary of date. $year: Year. The year range is from 1900 to 2137. --
[EGIT] [core/efl] master 01/01: efl_ui_slider: refactor for better data flow and code readability
bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=5636bb8b0b4e78db883bbf9bbb99e940c27c0584 commit 5636bb8b0b4e78db883bbf9bbb99e940c27c0584 Author: WooHyun Jung Date: Mon Aug 26 11:27:18 2019 + efl_ui_slider: refactor for better data flow and code readability 1. efl_ui_range_value_set only sets value 2. remove internal eo functions (such as xxx_knob, val_fetch, and val_set) 3. make access_value_and_text works correctly @ref T7893 Reviewed-by: Marcel Hollerbach Differential Revision: https://phab.enlightenment.org/D9720 --- src/bin/elementary/test_ui_slider.c| 33 + src/lib/elementary/efl_ui_slider.c | 204 - src/lib/elementary/efl_ui_slider_private.h | 12 -- src/tests/elementary/efl_ui_test_slider.c | 12 +- 4 files changed, 127 insertions(+), 134 deletions(-) diff --git a/src/bin/elementary/test_ui_slider.c b/src/bin/elementary/test_ui_slider.c index 11591e0d39..8704a08746 100644 --- a/src/bin/elementary/test_ui_slider.c +++ b/src/bin/elementary/test_ui_slider.c @@ -16,6 +16,36 @@ _slider_changed_cb(void *data EINA_UNUSED, const Efl_Event *ev) efl_ui_range_value_set(ev->object, 100); } +static void +_slider_steady_cb(void *data EINA_UNUSED, const Efl_Event *ev) +{ + double val; + + val = efl_ui_range_value_get(ev->object); + + printf("steady callbck : val = %f\n", val); +} + +static void +_slider_drag_start_cb(void *data EINA_UNUSED, const Efl_Event *ev) +{ + double val; + + val = efl_ui_range_value_get(ev->object); + + printf("drag start callbck : val = %f\n", val); +} + +static void +_slider_drag_stop_cb(void *data EINA_UNUSED, const Efl_Event *ev) +{ + double val; + + val = efl_ui_range_value_get(ev->object); + + printf("drag stop callbck : val = %f\n", val); +} + void test_ui_slider(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { @@ -37,6 +67,9 @@ test_ui_slider(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event efl_add(EFL_UI_SLIDER_CLASS, bx, efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(160, 0)), efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, 0.0), + efl_event_callback_add(efl_added, EFL_UI_RANGE_EVENT_STEADY, _slider_steady_cb, NULL), + efl_event_callback_add(efl_added, EFL_UI_SLIDER_EVENT_SLIDER_DRAG_START, _slider_drag_start_cb, NULL), + efl_event_callback_add(efl_added, EFL_UI_SLIDER_EVENT_SLIDER_DRAG_STOP, _slider_drag_stop_cb, NULL), efl_pack(bx, efl_added)); efl_add(EFL_UI_TEXT_CLASS, bx, diff --git a/src/lib/elementary/efl_ui_slider.c b/src/lib/elementary/efl_ui_slider.c index f3d01ea9c8..7dbdd5395c 100644 --- a/src/lib/elementary/efl_ui_slider.c +++ b/src/lib/elementary/efl_ui_slider.c @@ -52,19 +52,39 @@ static void _emit_events(Eo *obj, Efl_Ui_Slider_Data *sd) { efl_event_callback_call(obj, EFL_UI_RANGE_EVENT_CHANGED, NULL); + if (sd->val == sd->val_min) efl_event_callback_call(obj, EFL_UI_RANGE_EVENT_MIN_REACHED, NULL); + if (sd->val == sd->val_max) efl_event_callback_call(obj, EFL_UI_RANGE_EVENT_MAX_REACHED, NULL); + + // emit accessibility event also if value was changed by API + if (_elm_config->atspi_mode) + efl_access_value_changed_signal_emit(obj); } static void -_efl_ui_slider_val_fetch(Evas_Object *obj, Efl_Ui_Slider_Data *sd, Eina_Bool user_event) +_user_value_update(Evas_Object *obj, double value) { - double posx = 0.0, posy = 0.0, pos = 0.0, val; + EFL_UI_SLIDER_DATA_GET(obj, sd); + + efl_ui_range_value_set(obj, value); + + ecore_timer_del(sd->delay); + sd->delay = ecore_timer_add(SLIDER_DELAY_CHANGED_INTERVAL, _delay_change, obj); + evas_object_smart_changed(obj); +} + +static void +_drag_value_fetch(Evas_Object *obj) +{ + EFL_UI_SLIDER_DATA_GET(obj, sd); ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); + double posx = 0.0, posy = 0.0, pos = 0.0, val; + efl_ui_drag_value_get(efl_part(wd->resize_obj, "efl.dragable.slider"), , ); if (_is_horizontal(sd->dir)) pos = posx; @@ -79,36 +99,19 @@ _efl_ui_slider_val_fetch(Evas_Object *obj, Efl_Ui_Slider_Data *sd, Eina_Bool us if (fabs(val - sd->val) > DBL_EPSILON) { -sd->val = val; -if (user_event) - { - _emit_events(obj, sd); - efl_event_callback_legacy_call(obj, EFL_UI_RANGE_EVENT_CHANGED, NULL); - ecore_timer_del(sd->delay); - sd->delay = ecore_timer_add(SLIDER_DELAY_CHANGED_INTERVAL, _delay_change, obj); - } +_user_value_update(obj, val); } } static void -_efl_ui_slider_val_set(Evas_Object *obj, Efl_Ui_Slider_Data *sd) +_drag_value_update(Evas_Object *obj) { + EFL_UI_SLIDER_DATA_GET(obj, sd);
[EGIT] [core/efl] master 01/01: efl_ui_timepicker/datepicker : change event name properly
xartigas pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=31d197b85be978ce97cf4db9247f40a44fd85f57 commit 31d197b85be978ce97cf4db9247f40a44fd85f57 Author: WooHyun Jung Date: Thu Sep 12 10:24:51 2019 +0200 efl_ui_timepicker/datepicker : change event name properly Summary: This changes the event name from "changed" to "date(or time),changed" @ref T7869 T7901 Reviewers: segfaultxavi, zmike, bu5hm4n Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7901, T7869 Differential Revision: https://phab.enlightenment.org/D9905 --- src/bin/elementary/test_ui_datepicker.c | 2 +- src/bin/elementary/test_ui_timepicker.c | 2 +- src/lib/elementary/efl_ui_datepicker.c | 2 +- src/lib/elementary/efl_ui_datepicker.eo | 2 +- src/lib/elementary/efl_ui_timepicker.c | 2 +- src/lib/elementary/efl_ui_timepicker.eo | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/bin/elementary/test_ui_datepicker.c b/src/bin/elementary/test_ui_datepicker.c index d7ac9ee50f..5b12f35ac4 100644 --- a/src/bin/elementary/test_ui_datepicker.c +++ b/src/bin/elementary/test_ui_datepicker.c @@ -31,7 +31,7 @@ test_ui_datepicker(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e efl_ui_datepicker_date_set(efl_added, 1987, 9, 17), efl_ui_datepicker_date_max_set(efl_added, 1990, 9, 17), efl_ui_datepicker_date_min_set(efl_added, 1980, 9, 17), - efl_event_callback_add(efl_added, EFL_UI_DATEPICKER_EVENT_CHANGED,_date_changed_cb, NULL), + efl_event_callback_add(efl_added, EFL_UI_DATEPICKER_EVENT_DATE_CHANGED,_date_changed_cb, NULL), efl_pack(bx, efl_added)); efl_gfx_entity_size_set(win, EINA_SIZE2D(150, 170)); diff --git a/src/bin/elementary/test_ui_timepicker.c b/src/bin/elementary/test_ui_timepicker.c index 9572cf0438..c57ee6bb2d 100644 --- a/src/bin/elementary/test_ui_timepicker.c +++ b/src/bin/elementary/test_ui_timepicker.c @@ -30,7 +30,7 @@ test_ui_timepicker(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e efl_add(EFL_UI_TIMEPICKER_CLASS, bx, efl_ui_timepicker_time_set(efl_added, 11, 35), - efl_event_callback_add(efl_added, EFL_UI_TIMEPICKER_EVENT_CHANGED,_time_changed_cb, NULL), + efl_event_callback_add(efl_added, EFL_UI_TIMEPICKER_EVENT_TIME_CHANGED,_time_changed_cb, NULL), efl_pack(bx, efl_added)); efl_gfx_entity_size_set(win, EINA_SIZE2D(150, 170)); diff --git a/src/lib/elementary/efl_ui_datepicker.c b/src/lib/elementary/efl_ui_datepicker.c index 9e48ca7784..6a9cbb4d24 100644 --- a/src/lib/elementary/efl_ui_datepicker.c +++ b/src/lib/elementary/efl_ui_datepicker.c @@ -144,7 +144,7 @@ _field_changed_cb(void *data, const Efl_Event *ev) } DATE_SET(); - efl_event_callback_call(data, EFL_UI_DATEPICKER_EVENT_CHANGED, NULL); + efl_event_callback_call(data, EFL_UI_DATEPICKER_EVENT_DATE_CHANGED, NULL); } static void diff --git a/src/lib/elementary/efl_ui_datepicker.eo b/src/lib/elementary/efl_ui_datepicker.eo index 41791053b7..11df7c45cc 100644 --- a/src/lib/elementary/efl_ui_datepicker.eo +++ b/src/lib/elementary/efl_ui_datepicker.eo @@ -70,6 +70,6 @@ class @beta Efl.Ui.Datepicker extends Efl.Ui.Layout_Base Efl.Object.destructor; } events { - changed: void; [[Called when date value is changed]] + date,changed: void; [[Called when date value is changed]] } } diff --git a/src/lib/elementary/efl_ui_timepicker.c b/src/lib/elementary/efl_ui_timepicker.c index 1aa5a9caae..ba6917b4ee 100644 --- a/src/lib/elementary/efl_ui_timepicker.c +++ b/src/lib/elementary/efl_ui_timepicker.c @@ -106,7 +106,7 @@ _field_changed_cb(void *data, const Efl_Event *ev) } TIME_SET(); - efl_event_callback_call(data, EFL_UI_TIMEPICKER_EVENT_CHANGED, NULL); + efl_event_callback_call(data, EFL_UI_TIMEPICKER_EVENT_TIME_CHANGED, NULL); } static void diff --git a/src/lib/elementary/efl_ui_timepicker.eo b/src/lib/elementary/efl_ui_timepicker.eo index 97d5bbdd5e..d8bea2159c 100644 --- a/src/lib/elementary/efl_ui_timepicker.eo +++ b/src/lib/elementary/efl_ui_timepicker.eo @@ -40,6 +40,6 @@ class @beta Efl.Ui.Timepicker extends Efl.Ui.Layout_Base Efl.Object.destructor; } events { - changed: void; [[Called when date is changed]] + time,changed: void; [[Called when time is changed]] } } --
[EGIT] [core/efl] master 03/03: elm_slider: remove dependency with efl_ui_slider
zmike pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ebae12f06a944259b9b4c094bdb009c6391c67ea commit ebae12f06a944259b9b4c094bdb009c6391c67ea Author: WooHyun Jung Date: Tue Aug 20 09:09:14 2019 -0400 elm_slider: remove dependency with efl_ui_slider Summary: This commit includes follwoing works. 1. change parent class from EFL_UI_SLIDER_INTERVAL to EFL_UI_LAYOUT_BASE 2. get all necessary codes from efl_ui_slider and efl_ui_slider_interval to elm_slider 3. add callbacks to slider test code ref T7893 Test Plan: 1. elementary_test 2. slider 3. operate sliders on the window Reviewers: bu5hm4n, segfaultxavi, eagleeye, zmike Reviewed By: zmike Subscribers: zmike, cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7893 Differential Revision: https://phab.enlightenment.org/D9623 --- src/bin/elementary/test_slider.c | 16 + src/lib/elementary/elm_slider.c| 939 + src/lib/elementary/elm_slider_eo.c | 2 +- src/lib/elementary/elm_widget_slider.h | 13 +- src/tests/elementary/elm_test_slider.c | 8 +- 5 files changed, 628 insertions(+), 350 deletions(-) diff --git a/src/bin/elementary/test_slider.c b/src/bin/elementary/test_slider.c index 1b0b2999c3..10c21441c7 100644 --- a/src/bin/elementary/test_slider.c +++ b/src/bin/elementary/test_slider.c @@ -24,6 +24,18 @@ _change_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) elm_slider_value_set(data, val); } +void +_drag_start_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED) +{ + printf("drag,started! slider value : %d\n", (int)round(elm_slider_value_get(obj))); +} + +void +_drag_stop_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED) +{ + printf("drag,stopped! slider value : %d\n", (int)round(elm_slider_value_get(obj))); +} + static void _ok_btn_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) @@ -244,6 +256,10 @@ test_slider(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in evas_object_show(ic); evas_object_show(sl); + evas_object_smart_callback_add(sl, "slider,drag,start", _drag_start_cb, NULL); + evas_object_smart_callback_add(sl, "slider,drag,stop", _drag_stop_cb, NULL); + + // horizontally inverted slider ic = elm_icon_add(bx); snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); diff --git a/src/lib/elementary/elm_slider.c b/src/lib/elementary/elm_slider.c index eab59c1c0d..cc09ed14b7 100644 --- a/src/lib/elementary/elm_slider.c +++ b/src/lib/elementary/elm_slider.c @@ -81,7 +81,6 @@ _is_horizontal(Efl_Ui_Layout_Orientation dir) static void _units_set(Evas_Object *obj) { - EFL_UI_SLIDER_DATA_GET(obj, sd2); ELM_SLIDER_DATA_GET(obj, sd); if (sd->format_cb) @@ -92,7 +91,7 @@ _units_set(Evas_Object *obj) eina_strbuf_reset(sd->format_strbuf); if (!sd->intvl_enable) - eina_value_set(, sd2->val); + eina_value_set(, sd->val); else { double v1, v2; @@ -126,8 +125,6 @@ _units_set(Evas_Object *obj) static void _indicator_set(Evas_Object *obj) { - EFL_UI_SLIDER_DATA_GET(obj, sd2); - EFL_UI_SLIDER_INTERVAL_DATA_GET(obj, pd); ELM_SLIDER_DATA_GET(obj, sd); Eina_Value val; @@ -138,7 +135,7 @@ _indicator_set(Evas_Object *obj) eina_value_setup(, EINA_VALUE_TYPE_DOUBLE); eina_strbuf_reset(sd->indi_format_strbuf); - eina_value_set(, sd2->val); + eina_value_set(, sd->val); sd->indi_format_cb(sd->indi_format_cb_data, sd->indi_format_strbuf, val); str = eina_strbuf_string_get(sd->indi_format_strbuf); @@ -151,7 +148,7 @@ _indicator_set(Evas_Object *obj) if (sd->popup2) { eina_strbuf_reset(sd->indi_format_strbuf); -eina_value_set(, pd->intvl_to); +eina_value_set(, sd->intvl_to); sd->indi_format_cb(sd->indi_format_cb_data, sd->indi_format_strbuf, val); str = eina_strbuf_string_get(sd->indi_format_strbuf); elm_layout_text_set(obj, "elm.dragable2.slider:elm.indicator", str); @@ -164,7 +161,6 @@ _indicator_set(Evas_Object *obj) static void _min_max_set(Evas_Object *obj) { - EFL_UI_SLIDER_DATA_GET(obj, sd2); ELM_SLIDER_DATA_GET(obj, sd); Eina_Strbuf *str; Eina_Value val; @@ -174,13 +170,13 @@ _min_max_set(Evas_Object *obj) str = eina_strbuf_new(); - eina_value_set(, sd2->val_max); + eina_value_set(, sd->val_max); sd->format_cb(sd->format_cb_data, str, val); elm_layout_text_set(obj, "elm.units.min", eina_strbuf_string_get(str)); eina_strbuf_reset(str); - eina_value_set(,
[EGIT] [core/efl] master 01/02: test_ui_slder: remove meaningless printf when reaching the limit
zmike pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3b3889bdb5da9b90612e95b159f2b90baca5fc2e commit 3b3889bdb5da9b90612e95b159f2b90baca5fc2e Author: WooHyun Jung Date: Fri Aug 30 08:42:41 2019 -0400 test_ui_slder: remove meaningless printf when reaching the limit Summary: Without new internal min/max properties, this may be the only way to not give redundant printing of the meaningless value. @ref T8188 Test Plan: 1. elementary_test 2. EFl.Ui.Slider 3. On the limit slider, move the knob above the limit Reviewers: bu5hm4n Reviewed By: bu5hm4n Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8188 Differential Revision: https://phab.enlightenment.org/D9793 --- src/bin/elementary/test_ui_slider.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/bin/elementary/test_ui_slider.c b/src/bin/elementary/test_ui_slider.c index 8704a08746..36155e9e5d 100644 --- a/src/bin/elementary/test_ui_slider.c +++ b/src/bin/elementary/test_ui_slider.c @@ -11,8 +11,9 @@ _slider_changed_cb(void *data EINA_UNUSED, const Efl_Event *ev) val = efl_ui_range_value_get(ev->object); - printf("val = %f\n", val); - if (val > 100) + if (val <= 100) + printf("val = %f\n", val); + else efl_ui_range_value_set(ev->object, 100); } --
[EGIT] [core/efl] master 01/01: efl_ui_slider : remove all the legacy checking
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1cbcbbdfa6bed3daea3b92ef00bb0caf70a03fb8 commit 1cbcbbdfa6bed3daea3b92ef00bb0caf70a03fb8 Author: WooHyun Jung Date: Wed Aug 21 19:14:56 2019 +0900 efl_ui_slider : remove all the legacy checking Summary: Legacy checking is not needed because elm_slider was separated from efl_ui_slider. @ref T7893 Reviewers: Jaehyun_Cho, bu5hm4n, zmike Reviewed By: Jaehyun_Cho Subscribers: YOhoho, cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7893 Differential Revision: https://phab.enlightenment.org/D9670 --- src/lib/elementary/efl_ui_slider.c | 82 src/lib/elementary/efl_ui_slider_interval.c | 84 ++--- 2 files changed, 38 insertions(+), 128 deletions(-) diff --git a/src/lib/elementary/efl_ui_slider.c b/src/lib/elementary/efl_ui_slider.c index 8a98e9b61c..f3d01ea9c8 100644 --- a/src/lib/elementary/efl_ui_slider.c +++ b/src/lib/elementary/efl_ui_slider.c @@ -65,11 +65,7 @@ _efl_ui_slider_val_fetch(Evas_Object *obj, Efl_Ui_Slider_Data *sd, Eina_Bool us ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); - if (elm_widget_is_legacy(obj)) - efl_ui_drag_value_get(efl_part(wd->resize_obj, "elm.dragable.slider"), - , ); - else - efl_ui_drag_value_get(efl_part(wd->resize_obj, "efl.dragable.slider"), + efl_ui_drag_value_get(efl_part(wd->resize_obj, "efl.dragable.slider"), , ); if (_is_horizontal(sd->dir)) pos = posx; else pos = posy; @@ -119,11 +115,7 @@ _efl_ui_slider_val_set(Evas_Object *obj, Efl_Ui_Slider_Data *sd) pos = 1.0 - pos; } - if (elm_widget_is_legacy(obj)) - efl_ui_drag_value_set(efl_part(wd->resize_obj, "elm.dragable.slider"), - pos, pos); - else - efl_ui_drag_value_set(efl_part(wd->resize_obj, "efl.dragable.slider"), + efl_ui_drag_value_set(efl_part(wd->resize_obj, "efl.dragable.slider"), pos, pos); // emit accessibility event also if value was changed by API @@ -138,11 +130,7 @@ _efl_ui_slider_down_knob(Evas_Object *obj, Efl_Ui_Slider_Data *sd EINA_UNUSED, d { ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); - if (elm_widget_is_legacy(obj)) - efl_ui_drag_value_set(efl_part(wd->resize_obj, "elm.dragable.slider"), - button_x, button_y); - else - efl_ui_drag_value_set(efl_part(wd->resize_obj, "efl.dragable.slider"), + efl_ui_drag_value_set(efl_part(wd->resize_obj, "efl.dragable.slider"), button_x, button_y); } @@ -151,11 +139,7 @@ _efl_ui_slider_move_knob(Evas_Object *obj, Efl_Ui_Slider_Data *sd EINA_UNUSED, d { ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); - if (elm_widget_is_legacy(obj)) - efl_ui_drag_value_set(efl_part(wd->resize_obj, "elm.dragable.slider"), - button_x, button_y); - else - efl_ui_drag_value_set(efl_part(wd->resize_obj, "efl.dragable.slider"), + efl_ui_drag_value_set(efl_part(wd->resize_obj, "efl.dragable.slider"), button_x, button_y); } @@ -210,7 +194,7 @@ _drag_step(void *data, static void _drag_up(void *data, - Evas_Object *obj, + Evas_Object *obj EINA_UNUSED, const char *emission EINA_UNUSED, const char *source EINA_UNUSED) { @@ -224,18 +208,15 @@ _drag_up(void *data, ELM_WIDGET_DATA_GET_OR_RETURN(data, wd); relative_step = step/(sd->val_max - sd->val_min); - if (elm_widget_is_legacy(obj)) - efl_ui_drag_step_move(efl_part(wd->resize_obj, "elm.dragable.slider"), - step, step); - else - efl_ui_drag_step_move(efl_part(wd->resize_obj, "efl.dragable.slider"), + + efl_ui_drag_step_move(efl_part(wd->resize_obj, "efl.dragable.slider"), relative_step, relative_step); _slider_update(data, EINA_TRUE); } static void _drag_down(void *data, - Evas_Object *obj, + Evas_Object *obj EINA_UNUSED, const char *emission EINA_UNUSED, const char *source EINA_UNUSED) { @@ -249,11 +230,8 @@ _drag_down(void *data, ELM_WIDGET_DATA_GET_OR_RETURN(data, wd); relative_step = step/(sd->val_max - sd->val_min); - if (elm_widget_is_legacy(obj)) - efl_ui_drag_step_move(efl_part(wd->resize_obj, "elm.dragable.slider"), - step, step); - else - efl_ui_drag_step_move(efl_part(wd->resize_obj, "efl.dragable.slider"), + + efl_ui_drag_step_move(efl_part(wd->resize_obj, "efl.dragable.slider"),
[EGIT] [core/efl] master 01/01: efl_object: set @beta to name_find
bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=cfc1d3d38b70bc112c9def965396ae4b958f1b1f commit cfc1d3d38b70bc112c9def965396ae4b958f1b1f Author: WooHyun Jung Date: Wed Aug 28 12:23:00 2019 + efl_object: set @beta to name_find This property should not be used by application developers with current status. There is no way to trace child objects from parents, because many codes are internally calling efl_parent_set. Reviewed-by: Marcel Hollerbach Differential Revision: https://phab.enlightenment.org/D9768 --- src/lib/eo/efl_object.eo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/eo/efl_object.eo b/src/lib/eo/efl_object.eo index 02557351a6..12f12598df 100644 --- a/src/lib/eo/efl_object.eo +++ b/src/lib/eo/efl_object.eo @@ -259,7 +259,7 @@ abstract Efl.Object @.invalidate and then to @.destructor. See the Life Cycle section in this class' description.]] } - name_find @const { + name_find @const @beta { [[Find a child object with the given name and return it. The search string can be a glob (shell style, using *). It can also --
[EGIT] [core/efl] master 01/01: efl_input_clickable: add longpress_abort
bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d02a3ecb663a2691e13f8ea861d3f64b46d4b92e commit d02a3ecb663a2691e13f8ea861d3f64b46d4b92e Author: WooHyun Jung Date: Thu Aug 1 09:19:51 2019 + efl_input_clickable: add longpress_abort Now, a specific class which uses efl_input_clickable_util is able to cancel ongoing longpress event by calling longpress_abort. This commit shows how efl_ui_text uses longpress_abort to satisfy its own longpress use case ref T7847 Reviewed-by: Marcel Hollerbach Differential Revision: https://phab.enlightenment.org/D9455 --- src/lib/elementary/efl_ui_text.c | 52 -- src/lib/evas/canvas/efl_input_clickable.c | 15 src/lib/evas/canvas/efl_input_clickable.eo | 9 + src/tests/elementary/spec/efl_test_clickable.c | 28 ++ 4 files changed, 67 insertions(+), 37 deletions(-) diff --git a/src/lib/elementary/efl_ui_text.c b/src/lib/elementary/efl_ui_text.c index f9a575f87a..7a90a63827 100644 --- a/src/lib/elementary/efl_ui_text.c +++ b/src/lib/elementary/efl_ui_text.c @@ -47,7 +47,6 @@ struct _Efl_Ui_Text_Data Evas_Object *start_handler; Evas_Object *end_handler; Ecore_Job*deferred_decoration_job; - Ecore_Timer *longpress_timer; Ecore_Timer *delay_write; /* for deferred appending */ Ecore_Idler *append_text_idler; @@ -1427,8 +1426,6 @@ _long_press_cb(void *data, const Efl_Event *ev EINA_UNUSED) _menu_call(data); sd->long_pressed = EINA_TRUE; - - sd->longpress_timer = NULL; } static void @@ -1522,7 +1519,8 @@ _mouse_up_cb(void *data, if (sd->disabled) return; if (ev->button == 1) { -ELM_SAFE_FREE(sd->longpress_timer, ecore_timer_del); +efl_input_clickable_longpress_abort(data, 1); + /* Since context menu disabled flag was checked at long press start while mouse * down, hence the same should be checked at mouse up from a long press * as well */ @@ -1563,6 +1561,7 @@ _mouse_move_cb(void *data, void *event_info) { Evas_Event_Mouse_Move *ev = event_info; + Evas_Coord dx, dy; EFL_UI_TEXT_DATA_GET(data, sd); @@ -1592,38 +1591,18 @@ _mouse_move_cb(void *data, { if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) { - ELM_SAFE_FREE(sd->longpress_timer, ecore_timer_del); - } -else if (sd->longpress_timer) - { - Evas_Coord dx, dy; - - dx = sd->downx - ev->cur.canvas.x; - dx *= dx; - dy = sd->downy - ev->cur.canvas.y; - dy *= dy; - if ((dx + dy) > - ((_elm_config->finger_size / 2) * - (_elm_config->finger_size / 2))) - { - ELM_SAFE_FREE(sd->longpress_timer, ecore_timer_del); - } + efl_input_clickable_longpress_abort(data, 1); } } - else if (sd->longpress_timer) + + dx = sd->downx - ev->cur.canvas.x; + dx *= dx; + dy = sd->downy - ev->cur.canvas.y; + dy *= dy; + if ((dx + dy) > ((_elm_config->finger_size / 2) * +(_elm_config->finger_size / 2))) { -Evas_Coord dx, dy; - -dx = sd->downx - ev->cur.canvas.x; -dx *= dx; -dy = sd->downy - ev->cur.canvas.y; -dy *= dy; -if ((dx + dy) > -((_elm_config->finger_size / 2) * - (_elm_config->finger_size / 2))) - { - ELM_SAFE_FREE(sd->longpress_timer, ecore_timer_del); - } +efl_input_clickable_longpress_abort(data, 1); } } @@ -1716,7 +1695,7 @@ _selection_handlers_offset_calc(Evas_Object *obj, Evas_Object *handler) sd->oy = pos.y + cy + (ch / 2); } - ELM_SAFE_FREE(sd->longpress_timer, ecore_timer_del); + efl_input_clickable_longpress_abort(obj, 1); sd->long_pressed = EINA_FALSE; } @@ -1799,7 +1778,7 @@ _start_handler_mouse_move_cb(void *data, efl_text_cursor_position_set(sd->text_obj, efl_text_cursor_get(sd->text_obj, EFL_TEXT_CURSOR_GET_TYPE_MAIN), pos); - ELM_SAFE_FREE(sd->longpress_timer, ecore_timer_del); + efl_input_clickable_longpress_abort(data, 1); sd->long_pressed = EINA_FALSE; } @@ -1879,7 +1858,7 @@ _end_handler_mouse_move_cb(void *data, pos = efl_text_cursor_position_get(sd->text_obj, sd->sel_handler_cursor); /* Set the main cursor. */ efl_text_cursor_position_set(sd->text_obj, efl_text_cursor_get(data, EFL_TEXT_CURSOR_GET_TYPE_MAIN), pos); - ELM_SAFE_FREE(sd->longpress_
[EGIT] [core/efl] master 01/01: efl_ui_timepicker: change a property name (ampm -> is_24hour)
kimcinoo pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d61cf9df73083c01b9565e434b58c8822c404646 commit d61cf9df73083c01b9565e434b58c8822c404646 Author: WooHyun Jung Date: Wed Sep 4 14:06:23 2019 +0900 efl_ui_timepicker: change a property name (ampm -> is_24hour) Summary: For better understanding of the property, "is_24hour" looks better than "ampm". @ref T7901 Reviewers: zmike, segfaultxavi, bu5hm4n, kimcinoo Reviewed By: segfaultxavi, kimcinoo Subscribers: kimcinoo, cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7901 Differential Revision: https://phab.enlightenment.org/D9811 --- src/lib/elementary/efl_ui_timepicker.c | 4 ++-- src/lib/elementary/efl_ui_timepicker.eo | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/elementary/efl_ui_timepicker.c b/src/lib/elementary/efl_ui_timepicker.c index 901678c48c..1aa5a9caae 100644 --- a/src/lib/elementary/efl_ui_timepicker.c +++ b/src/lib/elementary/efl_ui_timepicker.c @@ -245,7 +245,7 @@ _efl_ui_timepicker_time_get(const Eo *obj EINA_UNUSED, Efl_Ui_Timepicker_Data *p } EOLIAN static void -_efl_ui_timepicker_ampm_set(Eo *obj, Efl_Ui_Timepicker_Data *pd, Eina_Bool is_24hour) +_efl_ui_timepicker_is_24hour_set(Eo *obj, Efl_Ui_Timepicker_Data *pd, Eina_Bool is_24hour) { if (pd->is_24hour == is_24hour) return; @@ -258,7 +258,7 @@ _efl_ui_timepicker_ampm_set(Eo *obj, Efl_Ui_Timepicker_Data *pd, Eina_Bool is_24 } EOLIAN static Eina_Bool -_efl_ui_timepicker_ampm_get(const Eo *obj EINA_UNUSED, Efl_Ui_Timepicker_Data *pd) +_efl_ui_timepicker_is_24hour_get(const Eo *obj EINA_UNUSED, Efl_Ui_Timepicker_Data *pd) { return pd->is_24hour; } diff --git a/src/lib/elementary/efl_ui_timepicker.eo b/src/lib/elementary/efl_ui_timepicker.eo index b71a9f5c2f..97d5bbdd5e 100644 --- a/src/lib/elementary/efl_ui_timepicker.eo +++ b/src/lib/elementary/efl_ui_timepicker.eo @@ -23,7 +23,7 @@ class @beta Efl.Ui.Timepicker extends Efl.Ui.Layout_Base min: int; [[The minute value from 0 to 59.]] } } - @property ampm { + @property is_24hour { [[Control if the Timepicker displays 24 hour time or 12 hour time including AM/PM button.]] set { } --
[EGIT] [core/efl] master 01/01: efl_ui_action_connector: rename clickable_util to action_connector
bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=53649030db9a46dd7a25a2cc41bc1d7d7a1b2460 commit 53649030db9a46dd7a25a2cc41bc1d7d7a1b2460 Author: WooHyun Jung Date: Fri Aug 2 05:03:38 2019 + efl_ui_action_connector: rename clickable_util to action_connector efl_ui_clickable_util was only for efl_input_clickable interface, but there can be more cases which want to connect object event to specific action interfaces (such as scrolling) in the future. For that extension, efl_ui_action_connector seems better. ref: T7847 Reviewed-by: Marcel Hollerbach Differential Revision: https://phab.enlightenment.org/D9486 --- src/lib/elementary/Efl_Ui.h | 2 +- ...efl_ui_clickable_util.c => efl_ui_action_connector.c} | 16 ...l_ui_clickable_util.eo => efl_ui_action_connector.eo} | 10 +- src/lib/elementary/efl_ui_button.c | 2 +- src/lib/elementary/efl_ui_check.c| 2 +- src/lib/elementary/efl_ui_frame.c| 2 +- src/lib/elementary/efl_ui_image.c| 2 +- src/lib/elementary/efl_ui_image_zoomable.c | 2 +- src/lib/elementary/efl_ui_item.c | 2 +- src/lib/elementary/efl_ui_panes.c| 2 +- src/lib/elementary/efl_ui_text.c | 2 +- src/lib/elementary/meson.build | 4 ++-- 12 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/lib/elementary/Efl_Ui.h b/src/lib/elementary/Efl_Ui.h index 4ed285771f..56fe6a7d5e 100644 --- a/src/lib/elementary/Efl_Ui.h +++ b/src/lib/elementary/Efl_Ui.h @@ -246,7 +246,7 @@ typedef Eo Efl_Ui_Spotlight_Indicator; # include # include # include -# include +# include # include # include # include diff --git a/src/lib/elementary/efl_ui_clickable_util.c b/src/lib/elementary/efl_ui_action_connector.c similarity index 81% rename from src/lib/elementary/efl_ui_clickable_util.c rename to src/lib/elementary/efl_ui_action_connector.c index 8e1c74f8a7..2d3dace64a 100644 --- a/src/lib/elementary/efl_ui_clickable_util.c +++ b/src/lib/elementary/efl_ui_action_connector.c @@ -9,7 +9,7 @@ typedef struct { -} Efl_Ui_Clickable_Util_Data; +} Efl_Ui_Action_Connector_Data; static void _on_press_cb(void *data, @@ -47,14 +47,14 @@ _theme_move_cb(void *data, const Efl_Event *ev EINA_UNUSED) efl_input_clickable_button_state_reset(data, 1); } -EFL_CALLBACKS_ARRAY_DEFINE(bind_to_theme_callbacks, +EFL_CALLBACKS_ARRAY_DEFINE(bind_clickable_to_theme_callbacks, {EFL_EVENT_POINTER_MOVE, _theme_move_cb}, ) EOLIAN static void -_efl_ui_clickable_util_bind_to_theme(Efl_Canvas_Layout *object, Efl_Input_Clickable *clickable) +_efl_ui_action_connector_bind_clickable_to_theme(Efl_Canvas_Layout *object, Efl_Input_Clickable *clickable) { - efl_event_callback_array_add(object, bind_to_theme_callbacks(), clickable); + efl_event_callback_array_add(object, bind_clickable_to_theme_callbacks(), clickable); efl_layout_signal_callback_add(object, "efl,action,press", "*", clickable, _on_press_cb, NULL); efl_layout_signal_callback_add(object, "efl,action,unpress", "*", clickable, _on_unpress_cb, NULL); @@ -96,16 +96,16 @@ _unpress_cb(void *data, const Efl_Event *ev EINA_UNUSED) } } -EFL_CALLBACKS_ARRAY_DEFINE(bind_to_object_callbacks, +EFL_CALLBACKS_ARRAY_DEFINE(bind_clickable_to_object_callbacks, {EFL_EVENT_POINTER_DOWN, _press_cb}, {EFL_EVENT_POINTER_UP, _unpress_cb}, ) EOLIAN static void -_efl_ui_clickable_util_bind_to_object(Efl_Input_Interface *object, Efl_Input_Clickable *clickable) +_efl_ui_action_connector_bind_clickable_to_object(Efl_Input_Interface *object, Efl_Input_Clickable *clickable) { - efl_event_callback_array_add(object, bind_to_object_callbacks(), clickable); + efl_event_callback_array_add(object, bind_clickable_to_object_callbacks(), clickable); } -#include "efl_ui_clickable_util.eo.c" +#include "efl_ui_action_connector.eo.c" diff --git a/src/lib/elementary/efl_ui_clickable_util.eo b/src/lib/elementary/efl_ui_action_connector.eo similarity index 86% rename from src/lib/elementary/efl_ui_clickable_util.eo rename to src/lib/elementary/efl_ui_action_connector.eo index 5db5e67a5c..40fda6a6e6 100644 --- a/src/lib/elementary/efl_ui_clickable_util.eo +++ b/src/lib/elementary/efl_ui_action_connector.eo @@ -1,10 +1,10 @@ -class @beta Efl.Ui.Clickable_Util { - [[Helper class that connects theme signals or object events to the @Efl.Input.Clickable interface. +class @beta Efl.Ui.Action_Connector { + [[Helper class that connects theme signals or object events to the interfaces which are for actions. -This simplifies creating widgets that implement the @Efl.Input.Clickable interface.
[EGIT] [core/efl] master 01/01: efl_ui_clickable_util: remove efl_input_processed_set
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d2f7bacc2c9d481e68e48d2c6c245814c82b2dd6 commit d2f7bacc2c9d481e68e48d2c6c245814c82b2dd6 Author: WooHyun Jung Date: Thu Aug 1 17:19:16 2019 +0900 efl_ui_clickable_util: remove efl_input_processed_set Summary: efl_input_processed_set needs to be used only when specific event marks that it is monopolizing current user interaction. (such as scrolling). But, press event or unpress event looks not that proper. Reviewers: bu5hm4n, Jaehyun_Cho Reviewed By: bu5hm4n, Jaehyun_Cho Subscribers: AbdullehGhujeh, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9454 --- src/lib/elementary/efl_ui_clickable_util.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/lib/elementary/efl_ui_clickable_util.c b/src/lib/elementary/efl_ui_clickable_util.c index 50251c48fd..8e1c74f8a7 100644 --- a/src/lib/elementary/efl_ui_clickable_util.c +++ b/src/lib/elementary/efl_ui_clickable_util.c @@ -68,7 +68,6 @@ _press_cb(void *data, const Efl_Event *ev) if (!efl_input_processed_get(pointer)) { efl_input_clickable_press(data, 1); -efl_input_processed_set(pointer, EINA_TRUE); } } @@ -89,13 +88,11 @@ _unpress_cb(void *data, const Efl_Event *ev EINA_UNUSED) if (efl_canvas_object_pointer_mode_get(data) == EFL_INPUT_OBJECT_POINTER_MODE_AUTO_GRAB) { efl_input_clickable_unpress(data, 1); - efl_input_processed_set(pointer, EINA_TRUE); } } else { efl_input_clickable_unpress(data, 1); -efl_input_processed_set(pointer, EINA_TRUE); } } --
[EGIT] [core/efl] master 01/01: efl_ui_slider_interval: cut off the dependency with efl_ui_slider
bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ebb685aae1fbf44d9600acc7b5b8be099f4bdea7 commit ebb685aae1fbf44d9600acc7b5b8be099f4bdea7 Author: WooHyun Jung Date: Thu Aug 22 08:16:11 2019 + efl_ui_slider_interval: cut off the dependency with efl_ui_slider efl_ui_slider_interval is totally different widget from efl_ui_slider. Now, it extends efl_ui_layout_base and implements all efl_ui_slider's functionalities by its own. This class needs to be marked to @beta till reviewing whole class definitions again. @ref T7893 Reviewed-by: Marcel Hollerbach Differential Revision: https://phab.enlightenment.org/D9696 --- src/lib/elementary/efl_ui_slider_interval.c| 825 +++-- src/lib/elementary/efl_ui_slider_interval.eo | 24 +- .../elementary/efl_ui_slider_interval_private.h| 15 +- 3 files changed, 781 insertions(+), 83 deletions(-) diff --git a/src/lib/elementary/efl_ui_slider_interval.c b/src/lib/elementary/efl_ui_slider_interval.c index a61d923464..63611226d3 100644 --- a/src/lib/elementary/efl_ui_slider_interval.c +++ b/src/lib/elementary/efl_ui_slider_interval.c @@ -4,6 +4,7 @@ #define EFL_ACCESS_OBJECT_PROTECTED #define EFL_ACCESS_WIDGET_ACTION_PROTECTED +#define EFL_ACCESS_VALUE_PROTECTED #include #include "elm_priv.h" @@ -14,7 +15,15 @@ #define MY_CLASS_PFX efl_ui_slider_interval #define MY_CLASS_NAME "Efl.Ui.Slider_Interval" -#define SLIDER_DELAY_CHANGED_INTERVAL 1.2 +#define SLIDER_DELAY_CHANGED_INTERVAL 0.2 +#define SLIDER_STEP 0.05 + +static Eina_Bool _key_action_drag(Evas_Object *obj, const char *params); + +static const Elm_Action key_actions[] = { + {"drag", _key_action_drag}, + {NULL, NULL} +}; static Eina_Bool _delay_change(void *data) @@ -30,13 +39,68 @@ _delay_change(void *data) return ECORE_CALLBACK_CANCEL; } -void -_efl_ui_slider_interval_val_fetch(Evas_Object *obj, Efl_Ui_Slider_Interval_Data *pd, Eina_Bool user_event) +static inline Eina_Bool +_is_horizontal(Efl_Ui_Layout_Orientation dir) +{ + return efl_ui_layout_orientation_is_horizontal(dir, EINA_TRUE); +} + +static void +_emit_events(Eo *obj, Efl_Ui_Slider_Interval_Data *sd) +{ + efl_event_callback_call(obj, EFL_UI_RANGE_EVENT_CHANGED, NULL); + if (sd->val == sd->val_min) + efl_event_callback_call(obj, EFL_UI_RANGE_EVENT_MIN_REACHED, NULL); + if (sd->val == sd->val_max) + efl_event_callback_call(obj, EFL_UI_RANGE_EVENT_MAX_REACHED, NULL); +} + +static void +_val_set(Evas_Object *obj) +{ + double pos, pos2; + + EFL_UI_SLIDER_INTERVAL_DATA_GET(obj, sd); + ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); + + if (sd->val_max > sd->val_min) + { +pos = (sd->intvl_from - sd->val_min) / (sd->val_max - sd->val_min); +pos2 = (sd->intvl_to - sd->val_min) / (sd->val_max - sd->val_min); + } + else + { +pos = 0.0; +pos2 = 0.0; + } + + if (pos < 0.0) pos = 0.0; + else if (pos > 1.0) + pos = 1.0; + + if (pos2 < 0.0) pos2 = 0.0; + else if (pos2 > 1.0) + pos2 = 1.0; + + efl_ui_drag_value_set(efl_part(wd->resize_obj, "efl.dragable.slider"), + pos, pos); + efl_ui_drag_value_set(efl_part(wd->resize_obj, "efl.dragable2.slider"), + pos2, pos2); + + // emit accessibility event also if value was changed by API + if (_elm_config->atspi_mode) + efl_access_value_changed_signal_emit(obj); + + evas_object_smart_changed(obj); +} + +static void +_val_fetch(Evas_Object *obj, Eina_Bool user_event) { double posx = 0.0, posy = 0.0, pos = 0.0, val; double posx2 = 0.0, posy2 = 0.0, pos2 = 0.0, val2; - EFL_UI_SLIDER_DATA_GET(obj, sd); + EFL_UI_SLIDER_INTERVAL_DATA_GET(obj, sd); ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); efl_ui_drag_value_get(efl_part(wd->resize_obj, "efl.dragable.slider"), @@ -52,91 +116,52 @@ _efl_ui_slider_interval_val_fetch(Evas_Object *obj, Efl_Ui_Slider_Interval_Data val = (pos * (sd->val_max - sd->val_min)) + sd->val_min; val2 = (pos2 * (sd->val_max - sd->val_min)) + sd->val_min; - if (val > pd->intvl_to) + if (val > sd->intvl_to) { -val = pd->intvl_to; -efl_ui_slider_val_set(obj); +val = sd->intvl_to; +_val_set(obj); } - else if (val2 < pd->intvl_from) + else if (val2 < sd->intvl_from) { -val2 = pd->intvl_from; -efl_ui_slider_val_set(obj); +val2 = sd->intvl_from; +_val_set(obj); } - if (fabs(val - pd->intvl_from) > DBL_EPSILON) + if (fabs(val - sd->intvl_from) > DBL_EPSILON) { sd->val = val; -pd->intvl_from = val; +sd->intvl_from = val; if (user_event) {
[EGIT] [core/efl] master 01/01: efl_ui_text: avoid infinite loop when long pressing
bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3798356819bfede4d6c1d128da06fb8bc9a92de8 commit 3798356819bfede4d6c1d128da06fb8bc9a92de8 Author: WooHyun Jung Date: Thu Jul 11 10:18:50 2019 + efl_ui_text: avoid infinite loop when long pressing Long pressing on efl_ui_text gave inifinte loop. So, I removed event_call in the event callback function. I think long press functionality is almost broken after applying clickable_util. There is no way to remove long press timer based on the action on efl_ui_text. Reviewed-by: Marcel Hollerbach Differential Revision: https://phab.enlightenment.org/D9274 --- src/lib/elementary/efl_ui_text.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/lib/elementary/efl_ui_text.c b/src/lib/elementary/efl_ui_text.c index 87f2ca5cc2..34e8a4f62b 100644 --- a/src/lib/elementary/efl_ui_text.c +++ b/src/lib/elementary/efl_ui_text.c @@ -1427,7 +1427,6 @@ _long_press_cb(void *data, const Efl_Event *ev EINA_UNUSED) sd->long_pressed = EINA_TRUE; sd->longpress_timer = NULL; - efl_event_callback_call(data, EFL_UI_EVENT_LONGPRESSED, NULL); } static void --
[EGIT] [core/efl] efl-1.22 40/119: csharp: fix formatting in generated .eo.cs codes
zmike pushed a commit to branch efl-1.22. http://git.enlightenment.org/core/efl.git/commit/?id=72a9d087261a2a5bdff3cc5c1033a885bc386190 commit 72a9d087261a2a5bdff3cc5c1033a885bc386190 Author: WooHyun Jung Date: Thu May 16 10:02:28 2019 +0200 csharp: fix formatting in generated .eo.cs codes Summary: There was duplicated scope_tab, so I removed it. Test Plan: - ./autogen --enable-csharp-bindings - make Reviewers: lauromoura, felipealmeida, Jaehyun_Cho, YOhoho, segfaultxavi Reviewed By: segfaultxavi Subscribers: segfaultxavi, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8901 --- src/bin/eolian_mono/eolian/mono/events.hh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/eolian_mono/eolian/mono/events.hh b/src/bin/eolian_mono/eolian/mono/events.hh index b5e6e4a7f1..350dd57ad4 100644 --- a/src/bin/eolian_mono/eolian/mono/events.hh +++ b/src/bin/eolian_mono/eolian/mono/events.hh @@ -337,7 +337,7 @@ struct event_definition_generator auto sub_context = change_indentation(indent.inc().inc(), context); - if (!as_generator(scope_tab(6) << wrapper_args_type << " args = new " << wrapper_args_type << "();\n" + if (!as_generator(wrapper_args_type << " args = new " << wrapper_args_type << "();\n" << scope_tab(6) << "args.arg = ").generate(arg_initializer_sink, attributes::unused, context)) return false; if (!(*etype).original_type.visit(unpack_event_args_visitor{arg_initializer_sink, _context, *etype})) --
[EGIT] [core/efl] master 01/01: efl_ui_clock: remove unused signals
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3e2f727d47a2d25b2d6226d7d00ab1f371e205c1 commit 3e2f727d47a2d25b2d6226d7d00ab1f371e205c1 Author: WooHyun Jung <wh0705.j...@samsung.com> Date: Wed Oct 11 11:00:25 2017 +0900 efl_ui_clock: remove unused signals --- src/lib/elementary/efl_ui_clock.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/lib/elementary/efl_ui_clock.c b/src/lib/elementary/efl_ui_clock.c index 6a36883a20..1291f87eea 100644 --- a/src/lib/elementary/efl_ui_clock.c +++ b/src/lib/elementary/efl_ui_clock.c @@ -31,8 +31,6 @@ * EFL_UI_CLOCK_TYPE_COUNT are in the valid range, and must get in the * place of "%d". */ -#define EDC_CLOCK_FOCUSIN_SIG_STR "elm,action,focus" -#define EDC_CLOCK_FOCUSOUT_SIG_STR "elm,action,unfocus" #define EDC_PART_FIELD_STR "field%d" #define EDC_PART_SEPARATOR_STR "separator%d" #define EDC_PART_FIELD_ENABLE_SIG_STR "field%d,enable" --
[EGIT] [core/efl] master 01/01: elm_widget: remove redundant null check
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7738ba5b37fba00af765a6bd320dda3857828cf9 commit 7738ba5b37fba00af765a6bd320dda3857828cf9 Author: WooHyun Jung <wh0705.j...@samsung.com> Date: Thu Aug 24 13:29:39 2017 +0900 elm_widget: remove redundant null check --- src/lib/elementary/elm_widget.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index 50a2e463a1..d9437e87e9 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c @@ -382,8 +382,7 @@ _logical_parent_eval(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *pd) } logical_wd->logical.child_count --; old = pd->logical.parent; - if (pd->logical.parent) - efl_weak_unref(>logical.parent); + efl_weak_unref(>logical.parent); pd->logical.parent = NULL; } if (parent) --
[EGIT] [core/efl] master 01/01: ecore_events: inarray should be flushed before return
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=9ef214ec0890116881fe79bc151c4ffa6b1fac83 commit 9ef214ec0890116881fe79bc151c4ffa6b1fac83 Author: WooHyun Jung <wh0705.j...@samsung.com> Date: Wed Jul 26 18:57:37 2017 +0900 ecore_events: inarray should be flushed before return @fix --- src/lib/ecore/ecore_events.c | 12 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/lib/ecore/ecore_events.c b/src/lib/ecore/ecore_events.c index 24a76bf457..3b13ef9015 100644 --- a/src/lib/ecore/ecore_events.c +++ b/src/lib/ecore/ecore_events.c @@ -616,13 +616,13 @@ ecore_event_type_flush_internal(int type, ...) va_list args; Eina_Bool wrong_type = EINA_FALSE; + // In case of an empty list of event + if (type == ECORE_EVENT_NONE) return; + eina_inarray_step_set(, sizeof (Eina_Inarray), sizeof (int), 4); eina_inarray_push(, ); - // In case of an empty list of event - if (type == ECORE_EVENT_NONE) return; - va_start(args, type); do { @@ -641,7 +641,11 @@ ecore_event_type_flush_internal(int type, ...) wrong_type = EINA_TRUE; } - if (wrong_type) return ; + if (wrong_type) + { +eina_inarray_flush(); +return ; + } EINA_INLIST_FOREACH_SAFE((Eina_Inlist *) events, l, event) { --
[EGIT] [core/efl] master 01/01: Revert "elm_widget: separate elm_widget_item codes from elm_widget.c"
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=245940c09333897168a9a3d0cc7194ab8dfe4862 commit 245940c09333897168a9a3d0cc7194ab8dfe4862 Author: WooHyun Jung <wh0705.j...@samsung.com> Date: Mon Jul 17 13:45:08 2017 +0900 Revert "elm_widget: separate elm_widget_item codes from elm_widget.c" This reverts commit 4f8d20c8265385f5eb7412dc96327b273cadd0b6. I'll apply this after finishing of release. Thanks JP to give notification. --- src/Makefile_Elementary.am |1 - src/lib/elementary/elm_widget.c | 1485 -- src/lib/elementary/elm_widget_item.c | 1422 3 files changed, 1397 insertions(+), 1511 deletions(-) diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am index fb3c3d774d..993e13032e 100644 --- a/src/Makefile_Elementary.am +++ b/src/Makefile_Elementary.am @@ -661,7 +661,6 @@ lib_elementary_libelementary_la_SOURCES = \ lib/elementary/elm_view_form.c \ lib/elementary/elm_web2.c \ lib/elementary/elm_widget.c \ - lib/elementary/elm_widget_item.c \ lib/elementary/efl_ui_win.c \ lib/elementary/elm_helper.c \ lib/elementary/els_box.c \ diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index 691d8f9d93..9a3da4e83d 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c @@ -48,6 +48,7 @@ const char SIG_WIDGET_LANG_CHANGED[] = "language,changed"; const char SIG_WIDGET_ACCESS_CHANGED[] = "access,changed"; typedef struct _Elm_Event_Cb_Data Elm_Event_Cb_Data; +typedef struct _Elm_Label_DataElm_Label_Data; typedef struct _Elm_Translate_String_Data Elm_Translate_String_Data; struct _Elm_Event_Cb_Data @@ -56,6 +57,12 @@ struct _Elm_Event_Cb_Data const void *data; }; +struct _Elm_Label_Data +{ + const char *part; + const char *text; +}; + struct _Elm_Translate_String_Data { EINA_INLIST; @@ -4734,6 +4741,304 @@ _elm_widget_focus_move_policy_automatic_set(Eo *obj, Elm_Widget_Smart_Data *sd, } } +static void +_track_obj_del(void *data, Evas *e, Evas_Object *obj, void *event_info); + +static void +_track_obj_update(Evas_Object *track, Evas_Object *obj) +{ + //Geometry + Evas_Coord x, y, w, h; + evas_object_geometry_get(obj, , , , ); + evas_object_move(track, x, y); + evas_object_resize(track, w, h); + + //Visibility + if (evas_object_visible_get(obj)) evas_object_show(track); + else evas_object_hide(track); +} + +static void +_track_obj_view_update(void *data, const Efl_Event *event) +{ + Elm_Widget_Item_Data *item = data; + _track_obj_update(item->track_obj, event->object); +} + +static void +_track_obj_view_del(void *data, const Efl_Event *event); + +EFL_CALLBACKS_ARRAY_DEFINE(tracker_callbacks, + { EFL_GFX_EVENT_RESIZE, _track_obj_view_update }, + { EFL_GFX_EVENT_MOVE, _track_obj_view_update }, + { EFL_GFX_EVENT_SHOW, _track_obj_view_update }, + { EFL_GFX_EVENT_HIDE, _track_obj_view_update }, + { EFL_EVENT_DEL, _track_obj_view_del }); + +static void +_track_obj_view_del(void *data, const Efl_Event *event EINA_UNUSED) +{ + Elm_Widget_Item_Data *item = data; + + while (evas_object_ref_get(item->track_obj) > 0) + evas_object_unref(item->track_obj); + + evas_object_event_callback_del(item->track_obj, EVAS_CALLBACK_DEL, + _track_obj_del); + evas_object_del(item->track_obj); + item->track_obj = NULL; +} + +static void +_track_obj_del(void *data, Evas *e EINA_UNUSED, +Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Elm_Widget_Item_Data *item = data; + item->track_obj = NULL; + + if (!item->view) return; + + efl_event_callback_array_del(item->view, tracker_callbacks(), item); +} + +static void +_elm_widget_item_signal_cb(void *data, Evas_Object *obj EINA_UNUSED, const char *emission, + const char *source) +{ + Elm_Widget_Item_Signal_Data *wisd = data; + wisd->func(wisd->data, wisd->item, emission, source); +} + +static void * +_elm_widget_item_signal_callback_list_get(Elm_Widget_Item_Data *item, Eina_List *position) +{ + Elm_Widget_Item_Signal_Data *wisd = eina_list_data_get(position); + void *data; + + item->signals = eina_list_remove_list(item->signals, position); + data = wisd->data; + + if (_elm_widget_is(item->view)) + elm_object_signal_callback_del(item->view, +wisd->emission, wisd->source, +_elm_widget_item_signal_cb); + else if (efl_isa(item->view, EDJE_OBJECT_CLASS)) + edje_object_signal
[EGIT] [core/efl] master 01/01: elm_widget: separate elm_widget_item codes from elm_widget.c
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4f8d20c8265385f5eb7412dc96327b273cadd0b6 commit 4f8d20c8265385f5eb7412dc96327b273cadd0b6 Author: WooHyun Jung <wh0705.j...@samsung.com> Date: Mon Jul 17 11:22:46 2017 +0900 elm_widget: separate elm_widget_item codes from elm_widget.c This will help to focus on creating efl_ui_widget class work. And, we need to change all the Elm_Widget_Item related logics to factory or something else. --- src/Makefile_Elementary.am |1 + src/lib/elementary/elm_widget.c | 1475 ++ src/lib/elementary/elm_widget_item.c | 1422 3 files changed, 1506 insertions(+), 1392 deletions(-) diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am index 993e13032e..fb3c3d774d 100644 --- a/src/Makefile_Elementary.am +++ b/src/Makefile_Elementary.am @@ -661,6 +661,7 @@ lib_elementary_libelementary_la_SOURCES = \ lib/elementary/elm_view_form.c \ lib/elementary/elm_web2.c \ lib/elementary/elm_widget.c \ + lib/elementary/elm_widget_item.c \ lib/elementary/efl_ui_win.c \ lib/elementary/elm_helper.c \ lib/elementary/els_box.c \ diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index 9a3da4e83d..691d8f9d93 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c @@ -48,7 +48,6 @@ const char SIG_WIDGET_LANG_CHANGED[] = "language,changed"; const char SIG_WIDGET_ACCESS_CHANGED[] = "access,changed"; typedef struct _Elm_Event_Cb_Data Elm_Event_Cb_Data; -typedef struct _Elm_Label_DataElm_Label_Data; typedef struct _Elm_Translate_String_Data Elm_Translate_String_Data; struct _Elm_Event_Cb_Data @@ -57,12 +56,6 @@ struct _Elm_Event_Cb_Data const void *data; }; -struct _Elm_Label_Data -{ - const char *part; - const char *text; -}; - struct _Elm_Translate_String_Data { EINA_INLIST; @@ -4741,304 +4734,6 @@ _elm_widget_focus_move_policy_automatic_set(Eo *obj, Elm_Widget_Smart_Data *sd, } } -static void -_track_obj_del(void *data, Evas *e, Evas_Object *obj, void *event_info); - -static void -_track_obj_update(Evas_Object *track, Evas_Object *obj) -{ - //Geometry - Evas_Coord x, y, w, h; - evas_object_geometry_get(obj, , , , ); - evas_object_move(track, x, y); - evas_object_resize(track, w, h); - - //Visibility - if (evas_object_visible_get(obj)) evas_object_show(track); - else evas_object_hide(track); -} - -static void -_track_obj_view_update(void *data, const Efl_Event *event) -{ - Elm_Widget_Item_Data *item = data; - _track_obj_update(item->track_obj, event->object); -} - -static void -_track_obj_view_del(void *data, const Efl_Event *event); - -EFL_CALLBACKS_ARRAY_DEFINE(tracker_callbacks, - { EFL_GFX_EVENT_RESIZE, _track_obj_view_update }, - { EFL_GFX_EVENT_MOVE, _track_obj_view_update }, - { EFL_GFX_EVENT_SHOW, _track_obj_view_update }, - { EFL_GFX_EVENT_HIDE, _track_obj_view_update }, - { EFL_EVENT_DEL, _track_obj_view_del }); - -static void -_track_obj_view_del(void *data, const Efl_Event *event EINA_UNUSED) -{ - Elm_Widget_Item_Data *item = data; - - while (evas_object_ref_get(item->track_obj) > 0) - evas_object_unref(item->track_obj); - - evas_object_event_callback_del(item->track_obj, EVAS_CALLBACK_DEL, - _track_obj_del); - evas_object_del(item->track_obj); - item->track_obj = NULL; -} - -static void -_track_obj_del(void *data, Evas *e EINA_UNUSED, -Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) -{ - Elm_Widget_Item_Data *item = data; - item->track_obj = NULL; - - if (!item->view) return; - - efl_event_callback_array_del(item->view, tracker_callbacks(), item); -} - -static void -_elm_widget_item_signal_cb(void *data, Evas_Object *obj EINA_UNUSED, const char *emission, - const char *source) -{ - Elm_Widget_Item_Signal_Data *wisd = data; - wisd->func(wisd->data, wisd->item, emission, source); -} - -static void * -_elm_widget_item_signal_callback_list_get(Elm_Widget_Item_Data *item, Eina_List *position) -{ - Elm_Widget_Item_Signal_Data *wisd = eina_list_data_get(position); - void *data; - - item->signals = eina_list_remove_list(item->signals, position); - data = wisd->data; - - if (_elm_widget_is(item->view)) - elm_object_signal_callback_del(item->view, -wisd->emission, wisd->source, -_elm_widget_item_signal_cb); - else if (efl_isa(item->view, EDJE_OBJECT_CLASS)) - edje_object_signal_callback_
Re: [E-devel] Committer access proposal: Conr2d
+1 :) 2017. 4. 14. 오전 10:50에 "Jean-Philippe André"님이 작성: > Hi, > > I realized today that Jeeyong Um, also known as Conr2d, still has probie > but not full commit access. > > I think he does a very good work, provides many careful patches and > participates well in the community. Does anyone have any objection to > giving him full commit access? > > Best regards, > > -- > Jean-Philippe André > > -- > 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 > -- 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 01/01: elm_scroller: focus_next needs to give itself when no focusable child
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=33e353a2a8e22b8c2b0f4a3382b2e0f4c21c347d commit 33e353a2a8e22b8c2b0f4a3382b2e0f4c21c347d Author: WooHyun Jung <wh0705.j...@samsung.com> Date: Tue Dec 20 19:38:47 2016 +0900 elm_scroller: focus_next needs to give itself when no focusable child @fix --- src/lib/elementary/elm_scroller.c | 43 +-- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/src/lib/elementary/elm_scroller.c b/src/lib/elementary/elm_scroller.c index 466f54e..731c9af 100644 --- a/src/lib/elementary/elm_scroller.c +++ b/src/lib/elementary/elm_scroller.c @@ -471,28 +471,31 @@ _elm_scroller_elm_widget_focus_next(Eo *obj EINA_UNUSED, Elm_Scroller_Data *sd, (elm_widget_child_can_focus_get(cur))) { Eina_Bool ret = EINA_FALSE; -Evas_Coord x = 0, y = 0; -Evas_Coord v_w = 0, v_h = 0; -Evas_Coord c_x = 0, c_y = 0; -Evas_Coord f_x = 0, f_y = 0, f_w = 0, f_h = 0; -Evas_Coord l_x = 0, l_y = 0, l_w = 0, l_h = 0; -Evas_Coord step_x = 0, step_y = 0; ret = elm_widget_focus_next_get(cur, dir, next, next_item); - -elm_interface_scrollable_content_pos_get(obj, , ); -elm_interface_scrollable_step_size_get(obj, _x, _y); -elm_interface_scrollable_content_viewport_geometry_get - (obj, NULL, NULL, _w, _h); -evas_object_geometry_get(sd->content, _x, _y, NULL, NULL); -evas_object_geometry_get(*next, _x, _y, _w, _h); -l_x = f_x - c_x - step_x; -l_y = f_y - c_y - step_y; -l_w = f_w + (step_x * 2); -l_h = f_h + (step_y * 2); - -if (!ret || ELM_RECTS_INTERSECT(x, y, v_w, v_h, l_x, l_y, l_w, l_h)) - return ret; +if (*next) + { + Evas_Coord x = 0, y = 0; + Evas_Coord v_w = 0, v_h = 0; + Evas_Coord c_x = 0, c_y = 0; + Evas_Coord f_x = 0, f_y = 0, f_w = 0, f_h = 0; + Evas_Coord l_x = 0, l_y = 0, l_w = 0, l_h = 0; + Evas_Coord step_x = 0, step_y = 0; + + elm_interface_scrollable_content_pos_get(obj, , ); + elm_interface_scrollable_step_size_get(obj, _x, _y); + elm_interface_scrollable_content_viewport_geometry_get +(obj, NULL, NULL, _w, _h); + evas_object_geometry_get(sd->content, _x, _y, NULL, NULL); + evas_object_geometry_get(*next, _x, _y, _w, _h); + l_x = f_x - c_x - step_x; + l_y = f_y - c_y - step_y; + l_w = f_w + (step_x * 2); + l_h = f_h + (step_y * 2); + + if (!ret || ELM_RECTS_INTERSECT(x, y, v_w, v_h, l_x, l_y, l_w, l_h)) + return ret; + } } if (!(elm_widget_can_focus_get(obj)) && --
[EGIT] [core/efl] master 01/01: elm_toolbar: remove wrong focus highlight checking
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=8c870848b01fa4129423728b0092eff54ead486c commit 8c870848b01fa4129423728b0092eff54ead486c Author: WooHyun Jung <wh0705.j...@samsung.com> Date: Fri Dec 2 16:56:43 2016 +0900 elm_toolbar: remove wrong focus highlight checking Because of this focus_highlight checking, focus never goes to the first item when toolbar gets focus at the first time. @fix --- src/lib/elementary/elm_toolbar.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/lib/elementary/elm_toolbar.c b/src/lib/elementary/elm_toolbar.c index f88998c..68a4759 100644 --- a/src/lib/elementary/elm_toolbar.c +++ b/src/lib/elementary/elm_toolbar.c @@ -760,8 +760,7 @@ _elm_toolbar_elm_widget_on_focus(Eo *obj, Elm_Toolbar_Data *sd, Elm_Object_Item if (sd->last_focused_item) eo_it = sd->last_focused_item; -else if (_elm_config->first_item_focus_on_first_focus_in && - elm_widget_focus_highlight_enabled_get(obj)) +else if (_elm_config->first_item_focus_on_first_focus_in) { eo_it = elm_toolbar_first_item_get(obj); } --
[EGIT] [core/efl] master 01/01: elm_spinner: fix wrong focus logic when spinner is unfocused
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=bf21eceb489b5971ce5d712b2788162fca198fc4 commit bf21eceb489b5971ce5d712b2788162fca198fc4 Author: WooHyun Jung <wh0705.j...@samsung.com> Date: Tue Nov 29 21:06:25 2016 +0900 elm_spinner: fix wrong focus logic when spinner is unfocused When unfocusing spinner, entry's UNFOCUSED callback is called. In the callback function, entry is hidden and spinner gets focus from focus_revert logic. This gave lots of meaningless focused/unfocused state changes. @fix --- src/lib/elementary/elm_spinner.c | 19 +-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/lib/elementary/elm_spinner.c b/src/lib/elementary/elm_spinner.c index 6b8e4a2..ddea278 100644 --- a/src/lib/elementary/elm_spinner.c +++ b/src/lib/elementary/elm_spinner.c @@ -51,6 +51,8 @@ _inc_dec_button_mouse_move_cb(void *data, const Efl_Event *event); static void _text_button_focused_cb(void *data, const Efl_Event *event); static void +_button_focused_cb(void *data, const Efl_Event *event); +static void _entry_unfocused_cb(void *data, const Efl_Event *event); EFL_CALLBACKS_ARRAY_DEFINE(_inc_dec_button_cb, @@ -606,8 +608,12 @@ _toggle_entry(Evas_Object *obj) elm_entry_markup_filter_append(sd->ent, _invalid_input_validity_filter, NULL); if (_elm_config->spinner_min_max_filter_enable) elm_entry_markup_filter_append(sd->ent, _min_max_validity_filter, obj); - efl_event_callback_add -(sd->ent, ELM_WIDGET_EVENT_UNFOCUSED, _entry_unfocused_cb, obj); + if (sd->inc_button) + efl_event_callback_add + (sd->inc_button, ELM_WIDGET_EVENT_FOCUSED, _button_focused_cb, obj); + if (sd->dec_button) + efl_event_callback_add + (sd->dec_button, ELM_WIDGET_EVENT_FOCUSED, _button_focused_cb, obj); efl_event_callback_add (sd->ent, ELM_ENTRY_EVENT_ACTIVATED, _entry_unfocused_cb, obj); } @@ -851,6 +857,15 @@ _text_button_focused_cb(void *data, const Efl_Event *event EINA_UNUSED) } static void +_button_focused_cb(void *data, const Efl_Event *event EINA_UNUSED) +{ + ELM_SPINNER_DATA_GET(data, sd); + + sd->entry_visible = EINA_TRUE; + _toggle_entry(data); +} + +static void _entry_unfocused_cb(void *data, const Efl_Event *event EINA_UNUSED) { ELM_SPINNER_DATA_GET(data, sd); --
[EGIT] [core/efl] master 01/01: elm_popup: before getting focus, all sub objs should be shown
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=9eee22cb6d5fca945073168b2295dc5a313e4d48 commit 9eee22cb6d5fca945073168b2295dc5a313e4d48 Author: WooHyun Jung <wh0705.j...@samsung.com> Date: Wed Nov 2 09:28:26 2016 +0900 elm_popup: before getting focus, all sub objs should be shown --- src/lib/elementary/elc_popup.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lib/elementary/elc_popup.c b/src/lib/elementary/elc_popup.c index 6757484..9bda0ca 100644 --- a/src/lib/elementary/elc_popup.c +++ b/src/lib/elementary/elc_popup.c @@ -92,7 +92,10 @@ _visuals_set(Evas_Object *obj) elm_layout_signal_emit(sd->main_layout, "elm,state,title_area,visible", "elm"); if (sd->action_area) - elm_layout_signal_emit(sd->main_layout, "elm,state,action_area,visible", "elm"); + { +elm_layout_signal_emit(sd->main_layout, "elm,state,action_area,visible", "elm"); +evas_object_show(sd->action_area); + } else elm_layout_signal_emit(sd->main_layout, "elm,state,action_area,hidden", "elm"); @@ -1130,6 +1133,7 @@ _content_set(Evas_Object *obj, else elm_object_content_set(sd->scr, sd->content_area); +evas_object_show(content); efl_content_set(efl_part(sd->content_area, CONTENT_PART), content); evas_object_event_callback_add @@ -1196,6 +1200,7 @@ _action_button_set(Evas_Object *obj, CRI("Failed to set layout!"); snprintf(buf, sizeof(buf), "elm.swallow.content.button%i", idx + 1); + evas_object_show(sd->buttons[idx]->btn); elm_object_part_content_set (sd->action_area, buf, sd->buttons[idx]->btn); } --
[EGIT] [core/efl] master 01/01: elm hoversel: restore focus to the button when hover end
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=9c1b0e346ea2d576388f9ce97bc017fe96484041 commit 9c1b0e346ea2d576388f9ce97bc017fe96484041 Author: WooHyun Jung <wh0705.j...@samsung.com> Date: Thu Oct 27 15:26:41 2016 +0900 elm hoversel: restore focus to the button when hover end --- src/lib/elementary/elc_hoversel.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/elementary/elc_hoversel.c b/src/lib/elementary/elc_hoversel.c index 28ada3b..22331b4 100644 --- a/src/lib/elementary/elc_hoversel.c +++ b/src/lib/elementary/elc_hoversel.c @@ -764,6 +764,7 @@ _elm_hoversel_hover_end(Eo *obj, Elm_Hoversel_Data *sd) { _hover_del(obj); } // for backward compatibility + elm_object_focus_set(obj, EINA_TRUE); } EOLIAN static Eina_Bool --
[EGIT] [core/efl] master 01/01: elm_spinner: change the key event operation on spinner
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a659fe3484d3631c3d451299e5181789cecc5e00 commit a659fe3484d3631c3d451299e5181789cecc5e00 Author: WooHyun Jung <wh0705.j...@samsung.com> Date: Sat Oct 22 12:03:54 2016 +0900 elm_spinner: change the key event operation on spinner Left/Right(or Up/Down with vertical one) changed the value of spinner previously. However, it gave uneasy because focus could not be moved to another winset until the value met the min or max. Now, inc/dec button can get focus, and enter input on them change the value. Additionally, central text button changes to the entry automatically when it gets focus. i.e. toggle on the text button is removed. @fix --- src/lib/elementary/elm_spinner.c| 119 ++-- src/lib/elementary/elm_widget_spinner.h | 2 +- 2 files changed, 52 insertions(+), 69 deletions(-) diff --git a/src/lib/elementary/elm_spinner.c b/src/lib/elementary/elm_spinner.c index 547c045..9e7b055 100644 --- a/src/lib/elementary/elm_spinner.c +++ b/src/lib/elementary/elm_spinner.c @@ -38,7 +38,6 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = { {NULL, NULL} }; -static Eina_Bool _key_action_spin(Evas_Object *obj, const char *params); static Eina_Bool _key_action_toggle(Evas_Object *obj, const char *params); static void @@ -49,12 +48,10 @@ static void _inc_dec_button_unpressed_cb(void *data, const Efl_Event *event); static void _inc_dec_button_mouse_move_cb(void *data, const Efl_Event *event); - -static const Elm_Action key_actions[] = { - {"spin", _key_action_spin}, - {"toggle", _key_action_toggle}, - {NULL, NULL} -}; +static void +_text_button_focused_cb(void *data, const Efl_Event *event); +static void +_entry_unfocused_cb(void *data, const Efl_Event *event); EFL_CALLBACKS_ARRAY_DEFINE(_inc_dec_button_cb, { EFL_UI_EVENT_CLICKED, _inc_dec_button_clicked_cb}, @@ -379,7 +376,9 @@ _entry_hide(Evas_Object *obj) if (sd->button_layout) { elm_layout_signal_emit(obj, "elm,state,entry,inactive", "elm"); +evas_object_hide(sd->ent); elm_layout_signal_emit(obj, "elm,state,button,active", "elm"); +evas_object_show(sd->text_button); } else elm_layout_signal_emit(obj, "elm,state,inactive", "elm"); @@ -412,12 +411,6 @@ _entry_value_apply(Evas_Object *obj) _delay_change_timer_cb, obj); } -static void -_entry_activated_cb(void *data, const Efl_Event *event EINA_UNUSED) -{ - _entry_value_apply(data); -} - static int _decimal_points_get(const char *label) { @@ -577,6 +570,7 @@ _entry_show_cb(void *data, elm_entry_select_all(obj); sd->entry_visible = EINA_TRUE; elm_layout_signal_emit(data, "elm,state,button,inactive", "elm"); + evas_object_hide(sd->text_button); } static void @@ -607,13 +601,13 @@ _toggle_entry(Evas_Object *obj) (sd->ent, EVAS_CALLBACK_SHOW, _entry_show_cb, obj); } elm_entry_single_line_set(sd->ent, EINA_TRUE); - efl_event_callback_add - (sd->ent, ELM_ENTRY_EVENT_ACTIVATED, _entry_activated_cb, obj); elm_layout_content_set(obj, "elm.swallow.entry", sd->ent); _entry_accept_filter_add(obj); elm_entry_markup_filter_append(sd->ent, _invalid_input_validity_filter, NULL); if (_elm_config->spinner_min_max_filter_enable) elm_entry_markup_filter_append(sd->ent, _min_max_validity_filter, obj); + efl_event_callback_add +(sd->ent, ELM_WIDGET_EVENT_UNFOCUSED, _entry_unfocused_cb, obj); } if (!sd->button_layout) { @@ -624,6 +618,7 @@ _toggle_entry(Evas_Object *obj) sd->entry_visible = EINA_TRUE; } elm_layout_signal_emit(obj, "elm,state,entry,active", "elm"); +evas_object_show(sd->ent); } } @@ -665,7 +660,7 @@ _val_inc_dec_start(void *data) ELM_SPINNER_DATA_GET(data, sd); sd->interval = sd->first_interval; - sd->spin_speed = sd->inc_clicked ? sd->step : -sd->step; + sd->spin_speed = sd->inc_btn_activated ? sd->step : -sd->step; sd->longpress_timer = NULL; ecore_timer_del(sd->spin_timer); sd->spin_timer = ecore_timer_add(sd->interval, _spin_value, data); @@ -689,32 +684,6 @@ _spin_stop(Evas_Object *obj) } static Eina_Bool -_key_action_spin(Evas_Object *obj, const char *params) -{ - const char *dir = params; - Eina_Bool horz = !!strncmp(elm_widget_style_get(obj), "vertical", 8); - ELM_SPINNER_DATA_GET(obj, sd); - - if (((!strcmp(dir, "left")) && hor
[EGIT] [core/efl] master 01/01: elm: _propagate_event should react only when the obj is focused obj
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=76a2bd931286a37d6697448020a898ae3b210e9f commit 76a2bd931286a37d6697448020a898ae3b210e9f Author: WooHyun Jung <wh0705.j...@samsung.com> Date: Fri Sep 23 10:08:01 2016 +0900 elm: _propagate_event should react only when the obj is focused obj In efl_ui_win, _evas_event_key_cb gives efl_event_callback_call, though the focused object is not the window itself. Becuase of this, _propagate_event was called twice for event single key down. So, now, _propagate_event returns itself whenever focused object is not the win but it's called from efl_ui_win's event call. The problem can be checked with following stpes. 1. elementary_test -> focus 2. Input any directions (ex: Down) 3. Focus movement happens twice for every single input. --- src/lib/elementary/elm_widget.c | 4 1 file changed, 4 insertions(+) diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index 1b7a94c..86514a3 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c @@ -728,6 +728,10 @@ _propagate_event(void *data EINA_UNUSED, const Efl_Event *event) } event_info = {}; Eina_Bool was_hold; + if ((evas_focus_get(evas_object_evas_get(obj)) != elm_widget_top_get(obj)) && + efl_isa(obj, EFL_UI_WIN_CLASS)) + return; + /* FIXME: Avoid this translation to evas struct and use pointer/key events * in all of elementary widgets * See also: efl_input_key_legacy_info_fill(). --
[EGIT] [core/efl] master 01/01: elm fileselector: add null checking before strlen
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=241196641f9639b5f2b47c8e3f3c2d4d6034dfb6 commit 241196641f9639b5f2b47c8e3f3c2d4d6034dfb6 Author: WooHyun Jung <wh0705.j...@samsung.com> Date: Tue Sep 20 13:40:37 2016 +0900 elm fileselector: add null checking before strlen --- src/lib/elementary/elc_fileselector.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elementary/elc_fileselector.c b/src/lib/elementary/elc_fileselector.c index cc3a065..d697a50 100644 --- a/src/lib/elementary/elc_fileselector.c +++ b/src/lib/elementary/elc_fileselector.c @@ -1584,7 +1584,7 @@ _files_key_down(void *data, const Efl_Event *event) char buf[PATH_MAX]; const char *en; en = elm_entry_entry_get(searchbar); - if (strlen(en) > 0) + if (en && strlen(en) > 0) { memmove(buf, en, strlen(en) -1); buf[strlen(en) -1] = '\0'; --
[EGIT] [core/efl] master 01/01: eldbus: null checking before using the pointer
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=fa3af69e0c8e6f5fe459f1de006b5f62bd14fef9 commit fa3af69e0c8e6f5fe459f1de006b5f62bd14fef9 Author: WooHyun Jung <wh0705.j...@samsung.com> Date: Tue Sep 20 11:18:52 2016 +0900 eldbus: null checking before using the pointer --- src/lib/eldbus/eldbus_message.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib/eldbus/eldbus_message.c b/src/lib/eldbus/eldbus_message.c index f18196c..2464d0e 100644 --- a/src/lib/eldbus/eldbus_message.c +++ b/src/lib/eldbus/eldbus_message.c @@ -886,6 +886,8 @@ eldbus_message_method_return_new(const Eldbus_Message *msg) ELDBUS_MESSAGE_CHECK_RETVAL(msg, NULL); reply = eldbus_message_new(EINA_TRUE); + EINA_SAFETY_ON_NULL_RETURN_VAL(reply, NULL); + reply->dbus_msg = dbus_message_new_method_return(msg->dbus_msg); dbus_message_iter_init_append(reply->dbus_msg, --
[EGIT] [core/efl] master 01/01: embryo_cc: fix memory overflow in str
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=98229bc5d6cf1ebe11af4bb05a32f2a30b470f6e commit 98229bc5d6cf1ebe11af4bb05a32f2a30b470f6e Author: WooHyun Jung <wh0705.j...@samsung.com> Date: Mon Sep 12 10:09:32 2016 +0900 embryo_cc: fix memory overflow in str After for-loop i can have value 11. So the str should be longer than 11. @fix --- src/bin/embryo/embryo_cc_sc7.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/embryo/embryo_cc_sc7.c b/src/bin/embryo/embryo_cc_sc7.c index 00e0252..db4fa69 100644 --- a/src/bin/embryo/embryo_cc_sc7.c +++ b/src/bin/embryo/embryo_cc_sc7.c @@ -454,7 +454,7 @@ matchsequence(char *start, char *end, char *pattern, char symbols[_maxoptvars][_aliasmax + 1], int *match_length) { int var, i; - charstr[_aliasmax + 1]; + charstr[_aliasmax + 2]; char *start_org = start; *match_length = 0; --
[EGIT] [core/efl] master 01/01: elm widget: remove meaningless brackets
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=9452acd126fd1d30b27748a70e84c2b802bf9f31 commit 9452acd126fd1d30b27748a70e84c2b802bf9f31 Author: WooHyun Jung <wh0705.j...@samsung.com> Date: Wed Aug 31 09:36:52 2016 +0900 elm widget: remove meaningless brackets --- src/lib/elementary/elm_widget.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index 618c735..1b7a94c 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c @@ -298,7 +298,7 @@ _obj_mouse_down(void *data, ELM_WIDGET_DATA_GET(data, sd); Evas_Event_Mouse_Down *ev = event_info; - if ((ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)) return; + if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return; top = elm_widget_top_get(data); if (top && efl_isa(top, EFL_UI_WIN_CLASS)) _elm_win_focus_auto_hide(top); --
[EGIT] [core/efl] master 01/01: elm focus: focus_auto_hide should be done with mouse_down
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d553a5a836d73927569d3449aeaa5e33f82663b6 commit d553a5a836d73927569d3449aeaa5e33f82663b6 Author: WooHyun Jung <wh0705.j...@samsung.com> Date: Sat Aug 27 13:48:35 2016 +0900 elm focus: focus_auto_hide should be done with mouse_down Focus highlight can be on the air, when focused object in scroller is moved by mouse down and move. So, mouse up is not proper for executing focus_auto_hide. @fix --- src/lib/elementary/elm_widget.c | 14 -- 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index b73661c..136d67f 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c @@ -294,10 +294,15 @@ _obj_mouse_down(void *data, Evas_Object *obj EINA_UNUSED, void *event_info) { + Evas_Object *top; + ELM_WIDGET_DATA_GET(data, sd); Evas_Event_Mouse_Down *ev = event_info; - if (!(ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)) - sd->still_in = EINA_TRUE; + if ((ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)) return; + + top = elm_widget_top_get(data); + if (top && efl_isa(top, EFL_UI_WIN_CLASS)) _elm_win_focus_auto_hide(top); + sd->still_in = EINA_TRUE; } static void @@ -4059,12 +4064,9 @@ elm_widget_focus_mouse_up_handle(Evas_Object *obj) EOLIAN static void _elm_widget_focus_mouse_up_handle(Eo *obj, Elm_Widget_Smart_Data *_pd EINA_UNUSED) { - Evas_Object *top; - if (!obj) return; if (!_is_focusable(obj)) return; - top = elm_widget_top_get(obj); - if (top && efl_isa(top, EFL_UI_WIN_CLASS)) _elm_win_focus_auto_hide(top); + elm_widget_focus_steal(obj, NULL); } --
[EGIT] [core/efl] master 01/01: elm focus default theme: fix wrong resizing
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=bb2e4195d7d0d510c968a0ba33c8b0ccfc94e101 commit bb2e4195d7d0d510c968a0ba33c8b0ccfc94e101 Author: WooHyun Jung <wh0705.j...@samsung.com> Date: Wed Aug 3 19:14:16 2016 +0900 elm focus default theme: fix wrong resizing When focus is moved rapidly, final size of focus highlight is not matched well with the focused object. Without running anim in edc, it shows right performance. @fix --- data/elementary/themes/edc/elm/focus.edc | 1 - 1 file changed, 1 deletion(-) diff --git a/data/elementary/themes/edc/elm/focus.edc b/data/elementary/themes/edc/elm/focus.edc index 2ea2804..663aeda 100644 --- a/data/elementary/themes/edc/elm/focus.edc +++ b/data/elementary/themes/edc/elm/focus.edc @@ -38,7 +38,6 @@ group { name: "elm/focus_highlight/top/default"; anim_id = get_int(g_anim_id); if (anim_id != 0) { cancel_anim(anim_id); - animator1(1, 1.0); } x1 = getarg(2); --
[EGIT] [core/efl] master 01/01: elm_entry: fix duplicate text set
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=0959e87d999f424341acbc62a5934ad56134f99b commit 0959e87d999f424341acbc62a5934ad56134f99b Author: WooHyun Jung <wh0705.j...@samsung.com> Date: Thu Jun 23 10:07:33 2016 +0900 elm_entry: fix duplicate text set Summary: When user set text to entry, "changed" smart callback is invoked 2 times. Because entry set to ""(empty string) and append text internally. But, in a recent, set flag is added for _entry_text_append(). So, empty string set is does not needed before appending. @fix Test Plan: - elm_entry_entry_set(entry, "text") : 2 times invoked (bug) - elm_object_part_text_set(entry, NULL, "text") : 2 times invoked (bug) - elm_object_part_text_set(entry, "elm.text", "text") : 1 times invoked Reviewers: herdsman, tasn, id213sin, woohyun Reviewed By: woohyun Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D4074 --- src/lib/elementary/elm_entry.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c index 0c5e25c..b0cfab5 100644 --- a/src/lib/elementary/elm_entry.c +++ b/src/lib/elementary/elm_entry.c @@ -3174,8 +3174,6 @@ _elm_entry_elm_layout_text_set(Eo *obj, Elm_Entry_Data *sd, const char *part, co sd->append_text_left = NULL; } - /* Need to clear the entry first */ - edje_object_part_text_set(sd->entry_edje, "elm.text", ""); _entry_text_append(obj, entry, EINA_TRUE); if (len > 0) --
[EGIT] [admin/devs] master 01/01: developer/jypark: update public key
woohyun pushed a commit to branch master. http://git.enlightenment.org/admin/devs.git/commit/?id=7f5b38603ac23c7304d561889e267009849feaff commit 7f5b38603ac23c7304d561889e267009849feaff Author: WooHyun Jung wh0705.j...@samsung.com Date: Tue Mar 24 11:24:22 2015 +0900 developer/jypark: update public key --- developers/jypark/id_rsa.pub | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/developers/jypark/id_rsa.pub b/developers/jypark/id_rsa.pub index 816a5ec..b1b734c 100755 --- a/developers/jypark/id_rsa.pub +++ b/developers/jypark/id_rsa.pub @@ -1 +1 @@ -ssh-rsa B3NzaC1yc2EDAQABAAACAQDBF6g8OEG5lXgIQEetaPgajWVayVHCPJqAc4kN9N3219DTtPMgDr4UOYRJPFFweIIahRReMTu3caUlVnkc5OijrGjEqEODesAzKQ3OQOX6sr9rQ2NpIz3dRnH102SSKGqoGh8NeEGG713w6WRk1Gw0mGVbh2YZkpAskaZXi0815z0L307oGyKEHEcL4nsvQQ5PM52CiXRdzcgcEuDb+ntlwezh1zrQojr4Y4hlTfu0tNSaMAIM7NELCLDKay56paMIA4Y2OrPJrCXLVORwSg6+hrqCpv+1FcNBJbK6xY4YVcj4I6u1lW4X522qsjFMZLfKI3FajioOSqiydYQgEiq2MTK1EfkKnczLjvb2B8gL8uvrJpX38bUyhNbZzC0iwa9ApATtGZnkqNihXHVdwDt+2obmKMs2SFF4d2wamso5AizzCUH3ENfrQvhP88z4oe/d6SU0 [...] +ssh-rsa B3NzaC1yc2EDAQABAAABAQDEJzgZ5SvuOFlw6ydEXMLluacbxp9njs/1WdI1OyoIioL3U4u7tqMfcEQmiCoF0KyxFCPljG2Q3PYU998Wl8XPuF5xxsiGo4SLQIPqHrgD2ppFuLXYUbcx+1ud9fGkrOKd0mW59by0/otOHy3sWlZx/uv77VvpTkl7sffKvn2mmoNss8seWWSneQui6FTmBfhVP6lbnES0nBq4+3tls7a40RVL2dgVK9Cc2cLYh2IGjqWG5fSEdaU2cHJqXMoC77EXxyGsNmejzsbeX45cwWS8JnzW01v5zX7VcpSocoC/+XgbxSqtgMZrMQyRkIey6IeUaIpt7q4ngy45hKU0VFMJ jy0703.p...@samsung.com --
[EGIT] [core/elementary] master 01/01: toolbar: remove useless codes
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=e47a59568702fc8acb7b79d61c757513bee5bb5f commit e47a59568702fc8acb7b79d61c757513bee5bb5f Author: WooHyun Jung wh0705.j...@samsung.com Date: Sat Mar 21 09:45:59 2015 +0900 toolbar: remove useless codes --- src/lib/elm_toolbar.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/lib/elm_toolbar.c b/src/lib/elm_toolbar.c index cb4278b..ad3b5c2 100644 --- a/src/lib/elm_toolbar.c +++ b/src/lib/elm_toolbar.c @@ -950,7 +950,6 @@ static void _resizing_eval(Evas_Object *obj) { Evas_Coord x, y, h; - Evas_Coord mw = -1, mh = -1; ELM_TOOLBAR_DATA_GET(obj, sd); evas_object_geometry_get(obj, x, y, NULL, h); --
[EGIT] [core/efl] master 01/01: edje: edje_entry - remove dead code
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=105132825694766e15186339f80f52dfe96d396c commit 105132825694766e15186339f80f52dfe96d396c Author: WooHyun Jung wh0705.j...@samsung.com Date: Mon Feb 2 19:12:42 2015 +0900 edje: edje_entry - remove dead code --- src/lib/edje/edje_entry.c | 7 +-- 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/lib/edje/edje_entry.c b/src/lib/edje/edje_entry.c index ac7c8c7..5b73afe 100644 --- a/src/lib/edje/edje_entry.c +++ b/src/lib/edje/edje_entry.c @@ -3587,12 +3587,7 @@ _edje_entry_cursor_up(Edje_Real_Part *rp, Edje_Cursor cur) return EINA_FALSE; evas_textblock_cursor_char_geometry_get(c, cx, cy, cw, ch); if (!evas_textblock_cursor_char_coord_set(c, cx, ly + (lh / 2))) - { -if (cx (lx + (lw / 2))) - evas_textblock_cursor_line_char_last(c); -else - evas_textblock_cursor_line_char_last(c); - } + evas_textblock_cursor_line_char_last(c); _sel_update(en-ed, c, rp-object, rp-typedata.text-entry_data); _edje_entry_imf_cursor_info_set(en); --
[EGIT] [core/elementary] master 01/01: widget: elm_win can be unfocused only when its ecore_evas loses focus.
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=cc0ea070b5e545f57832960c888d7591fafa1218 commit cc0ea070b5e545f57832960c888d7591fafa1218 Author: WooHyun Jung wh0705.j...@samsung.com Date: Sat Jan 17 16:29:46 2015 +0900 widget: elm_win can be unfocused only when its ecore_evas loses focus. --- src/lib/elm_widget.c | 34 -- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c index 39aa51c..ee19dbb 100644 --- a/src/lib/elm_widget.c +++ b/src/lib/elm_widget.c @@ -411,8 +411,38 @@ _if_focused_revert(Evas_Object *obj, (top, newest_focus_order, can_focus_only); if (newest) { - elm_object_focus_set(newest, EINA_FALSE); - elm_object_focus_set(newest, EINA_TRUE); + if (newest == top) + { + ELM_WIDGET_DATA_GET(newest, sd2); + if (!sd2) return; + + if (!elm_widget_focus_get(newest)) +elm_widget_focus_steal(newest); + else +{ + if (sd2-resize_obj elm_widget_focus_get(sd2-resize_obj)) + elm_widget_focused_object_clear(sd2-resize_obj); + else + { +const Eina_List *l; +Evas_Object *child; +EINA_LIST_FOREACH(sd2-subobjs, l, child) + { + if (elm_widget_focus_get(child)) + { + elm_widget_focused_object_clear(child); + break; + } + } + } +} + evas_object_focus_set(newest, EINA_TRUE); + } + else + { + elm_object_focus_set(newest, EINA_FALSE); + elm_object_focus_set(newest, EINA_TRUE); + } } } } --
[EGIT] [core/efl] master 01/01: examples: Change EINA_TRUE/FALSE to ECORE_CALLBACK_RENEW/CANCEL
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1f8353d8de74d6a3a52114b5f35af154818f13d8 commit 1f8353d8de74d6a3a52114b5f35af154818f13d8 Author: WooHyun Jung wh0705.j...@samsung.com Date: Thu Sep 18 13:30:07 2014 +0900 examples: Change EINA_TRUE/FALSE to ECORE_CALLBACK_RENEW/CANCEL --- src/examples/ecore/ecore_animator_example.c | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/examples/ecore/ecore_animator_example.c b/src/examples/ecore/ecore_animator_example.c index 91c2aa3..db77dc7 100644 --- a/src/examples/ecore/ecore_animator_example.c +++ b/src/examples/ecore/ecore_animator_example.c @@ -1,5 +1,5 @@ //Compile with: -//gcc -g -Wall -o ecore_animator_example ecore_animator_example.c `pkg-config --cflags --libs evas ecore-evas` +//gcc -g -Wall -o ecore_animator_example ecore_animator_example.c `pkg-config --cflags --libs evas ecore-evas ecore` #include Ecore.h #include Ecore_Evas.h @@ -66,7 +66,7 @@ _advance_frame(void *data, double pos) evas_object_resize(data, 50 * (1 + frame), 50 * (1 + frame)); evas_object_move(data, 100 * frame, 100 * frame); evas_object_color_set(data, 255 * frame, 0, 255 * (1 - frame), 255); - return EINA_TRUE; + return ECORE_CALLBACK_RENEW; } static Eina_Bool @@ -74,7 +74,7 @@ _start_second_anim(void *data) { ecore_animator_frametime_set(1. / 10); ecore_animator_timeline_add(20, _advance_frame2, data); - return EINA_FALSE; + return ECORE_CALLBACK_CANCEL; } static Eina_Bool @@ -86,7 +86,7 @@ _advance_frame2(void *data, double pos) evas_object_resize(data, 100 - (50 * frame), 100 - (50 * frame)); evas_object_move(data, 100 * (1 - frame), 100 * (1 - frame)); evas_object_color_set(data, 255 * (1 - frame), 0, 255 * frame, 255); - return EINA_TRUE; + return ECORE_CALLBACK_RENEW; } static Eina_Bool @@ -98,20 +98,20 @@ _advance_frame3(void *data) x = 0; evas_object_move(data, ++x, 350); - return EINA_TRUE; + return ECORE_CALLBACK_RENEW; } static Eina_Bool _freeze_third_anim(void *data) { ecore_animator_freeze(data); - return EINA_FALSE; + return ECORE_CALLBACK_CANCEL; } static Eina_Bool _thaw_third_anim(void *data) { ecore_animator_thaw(data); - return EINA_FALSE; + return ECORE_CALLBACK_CANCEL; } --
[EGIT] [core/efl] master 01/01: evas: table - when colspan(rowspan) is over 2, padding size should be added.
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ad8daa2f846dfc49289894703b88549ac97a0f09 commit ad8daa2f846dfc49289894703b88549ac97a0f09 Author: WooHyun Jung wh0705.j...@samsung.com Date: Sat Jul 19 09:50:59 2014 +0900 evas: table - when colspan(rowspan) is over 2, padding size should be added. @ fix --- src/lib/evas/canvas/evas_object_table.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib/evas/canvas/evas_object_table.c b/src/lib/evas/canvas/evas_object_table.c index 826cc5b..c577134 100644 --- a/src/lib/evas/canvas/evas_object_table.c +++ b/src/lib/evas/canvas/evas_object_table.c @@ -489,8 +489,10 @@ _evas_object_table_calculate_layout_homogeneous(Evas_Object *o, Evas_Table_Data cx = x + ((opt-col * ww) / priv-size.cols); cw = x + (((opt-col + opt-colspan) * ww) / priv-size.cols) - cx; +cw += (opt-colspan - 1) * priv-pad.v; cy = y + ((opt-row * hh) / priv-size.rows); ch = y + (((opt-row + opt-rowspan) * hh) / priv-size.rows) - cy; +ch += (opt-rowspan - 1) * priv-pad.h; cx += (opt-col) * priv-pad.h; cy += (opt-row) * priv-pad.v; --
[EGIT] [core/elementary] master 01/01: focus: when focus_highlight is enabled, it should be shown immediately.
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=a3a41cec1d8bc28b7aed10038fdad598e88a3a50 commit a3a41cec1d8bc28b7aed10038fdad598e88a3a50 Author: WooHyun Jung wh0705.j...@samsung.com Date: Fri Jul 4 11:16:59 2014 +0900 focus: when focus_highlight is enabled, it should be shown immediately. --- src/bin/test_focus.c | 21 - src/lib/elm_win.c| 11 ++- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/bin/test_focus.c b/src/bin/test_focus.c index b450229..d7cef02 100644 --- a/src/bin/test_focus.c +++ b/src/bin/test_focus.c @@ -60,6 +60,15 @@ _tb_sel(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED) } static void +_focus_highlight_changed(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) +{ + if (elm_check_state_get(obj)) + elm_win_focus_highlight_enabled_set(data, EINA_TRUE); + else + elm_win_focus_highlight_enabled_set(data, EINA_FALSE); +} + +static void _focus_anim_changed(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) { if (elm_check_state_get(obj)) @@ -429,9 +438,19 @@ test_focus(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_inf { Evas_Object *ck; + +ck = elm_check_add(bx); +elm_object_text_set(ck, Focus Highlight Enable); +elm_check_state_set(ck, elm_win_focus_highlight_enabled_get(win)); +elm_box_pack_end(bx, ck); +my_show(ck); +evas_object_smart_callback_add(ck, changed, + _focus_highlight_changed, + win); + ck = elm_check_add(bx); elm_object_text_set(ck, Focus Highlight Animation Enable); -elm_check_state_set(ck, elm_config_focus_highlight_animate_get()); +elm_check_state_set(ck, elm_win_focus_highlight_animate_get(win)); elm_box_pack_end(bx, ck); my_show(ck); evas_object_smart_callback_add(ck, changed, diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c index 11ca2d3..80e0ce1 100644 --- a/src/lib/elm_win.c +++ b/src/lib/elm_win.c @@ -2281,7 +2281,16 @@ _elm_win_focus_highlight_init(Elm_Win_Data *sd) EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT, _elm_win_object_focus_out, sd-obj); - sd-focus_highlight.cur.target = NULL; + sd-focus_highlight.cur.target = _elm_win_focus_target_get(evas_focus_get(sd-evas)); + if (sd-focus_highlight.cur.target) + { +if (elm_widget_highlight_in_theme_get(sd-focus_highlight.cur.target)) + sd-focus_highlight.cur.in_theme = EINA_TRUE; +else + _elm_win_focus_target_callbacks_add(sd); + } + + sd-focus_highlight.prev.target = NULL; sd-focus_highlight.fobj = edje_object_add(sd-evas); sd-focus_highlight.theme_changed = EINA_TRUE; --
[EGIT] [core/elementary] master 01/01: toolbar: fix focus highlight bug in toolbar
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=e1c262f989b0e1a0433d31470aa96691a4de5c73 commit e1c262f989b0e1a0433d31470aa96691a4de5c73 Author: WooHyun Jung wh0705.j...@samsung.com Date: Fri Jul 4 11:55:21 2014 +0900 toolbar: fix focus highlight bug in toolbar When getting focus_highlight geometry from toolbar, there can be a case that no item has focus. Then, geometry of toolbar should be refered. --- src/lib/elm_toolbar.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/elm_toolbar.c b/src/lib/elm_toolbar.c index 55ec9f8..ea6758b 100644 --- a/src/lib/elm_toolbar.c +++ b/src/lib/elm_toolbar.c @@ -2957,7 +2957,7 @@ _elm_toolbar_coordinates_adjust(Elm_Object_Item *it, } EOLIAN static void -_elm_toolbar_elm_widget_focus_highlight_geometry_get(Eo *obj EINA_UNUSED, Elm_Toolbar_Data *sd, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) +_elm_toolbar_elm_widget_focus_highlight_geometry_get(Eo *obj, Elm_Toolbar_Data *sd, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) { if (sd-focused_item) { @@ -2966,6 +2966,8 @@ _elm_toolbar_elm_widget_focus_highlight_geometry_get(Eo *obj EINA_UNUSED, Elm_To elm_widget_focus_highlight_focus_part_geometry_get (VIEW(sd-focused_item), x, y, w, h); } + else + evas_object_geometry_get(obj, x, y, w, h); } EAPI Evas_Object * --
[EGIT] [core/elementary] master 01/01: naviframe : fix focus logic while popping an item.
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=0414c4d6f8388951df1ba639bdd827aed7b8719e commit 0414c4d6f8388951df1ba639bdd827aed7b8719e Author: WooHyun Jung wh0705.j...@samsung.com Date: Mon Jun 23 15:27:14 2014 +0900 naviframe : fix focus logic while popping an item. elm_widget_tree_unfocusable_set with EINA_TRUE sets focus to the newest focused object. If prev item is tree_focusable, one of its children can get focus. This focus movement is unexpected, so should not be happened. --- src/lib/elc_naviframe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elc_naviframe.c b/src/lib/elc_naviframe.c index dd96946..4eae8b0 100644 --- a/src/lib/elc_naviframe.c +++ b/src/lib/elc_naviframe.c @@ -1631,8 +1631,8 @@ _elm_naviframe_item_pop(Eo *obj, Elm_Naviframe_Data *sd) if (prev_it) { -elm_widget_tree_unfocusable_set(VIEW(prev_it), EINA_FALSE); elm_widget_tree_unfocusable_set(VIEW(it), EINA_TRUE); +elm_widget_tree_unfocusable_set(VIEW(prev_it), EINA_FALSE); if (sd-freeze_events) { --
[EGIT] [core/elementary] master 01/01: win: set NULL to focus_highlight.prev.target when it's deleted.
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=44ea0a16efa6012a66be6215cff364cf59a81edc commit 44ea0a16efa6012a66be6215cff364cf59a81edc Author: WooHyun Jung wh0705.j...@samsung.com Date: Fri May 23 11:07:59 2014 +0900 win: set NULL to focus_highlight.prev.target when it's deleted. --- src/lib/elm_win.c | 21 +++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c index 5976315..68e603e 100644 --- a/src/lib/elm_win.c +++ b/src/lib/elm_win.c @@ -806,6 +806,16 @@ _elm_win_focus_highlight_simple_setup(Elm_Win_Data *sd, } static void +_elm_win_focus_prev_target_del(void *data, + Evas *e EINA_UNUSED, + Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + ELM_WIN_DATA_GET(data, sd); + sd-focus_highlight.prev.target = NULL; +} + +static void _elm_win_focus_highlight_reconfigure_job(void *data) { ELM_WIN_DATA_GET(data, sd); @@ -829,8 +839,12 @@ _elm_win_focus_highlight_reconfigure_job(void *data) return; if ((previous) (sd-focus_highlight.prev.in_theme)) - elm_widget_signal_emit - (previous, elm,action,focus_highlight,hide, elm); + { +evas_object_event_callback_del_full + (previous, EVAS_CALLBACK_DEL, _elm_win_focus_prev_target_del, data); +elm_widget_signal_emit + (previous, elm,action,focus_highlight,hide, elm); + } if (!target) common_visible = EINA_FALSE; @@ -891,6 +905,9 @@ the_end: _elm_win_focus_highlight_visible_set(sd, common_visible); sd-focus_highlight.geometry_changed = EINA_FALSE; sd-focus_highlight.prev = sd-focus_highlight.cur; + evas_object_event_callback_add + (sd-focus_highlight.prev.target, + EVAS_CALLBACK_DEL, _elm_win_focus_prev_target_del, data); } static void --
[EGIT] [core/efl] master 01/01: ecore/example: Modify the explanation of ecore evas extn plug example.
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e4f5c1d3f8a35d8ee751054f4b0e96e7491becb2 commit e4f5c1d3f8a35d8ee751054f4b0e96e7491becb2 Author: WooHyun Jung wh0705.j...@samsung.com Date: Fri May 9 13:34:38 2014 +0900 ecore/example: Modify the explanation of ecore evas extn plug example. --- src/examples/ecore/ecore_evas_extn_plug_example.c | 8 +++- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/examples/ecore/ecore_evas_extn_plug_example.c b/src/examples/ecore/ecore_evas_extn_plug_example.c index b08cf5e..e3d6e1c 100644 --- a/src/examples/ecore/ecore_evas_extn_plug_example.c +++ b/src/examples/ecore/ecore_evas_extn_plug_example.c @@ -1,12 +1,10 @@ /** - * Ecore example illustrating the basics of ecore evas extn socket usage. + * Ecore example illustrating the basics of ecore evas extn plug usage. * - * You'll need at least one Evas engine built for it (excluding the - * buffer one). See stdout/stderr for output. - * You can check functions of ecore extn socket if you use ecore extn plug together. + * For checking with ecore evas extn socket, please run with ecore_evas_extn_socket_example. * * @verbatim - * gcc -o ecore_evas_extn_socket_example ecore_evas_extn_socket_example.c `pkg-config --libs --cflags ecore-evas` + * gcc -o ecore_evas_extn_plug_example ecore_evas_extn_plug_example.c `pkg-config --libs --cflags ecore-evas` * @endverbatim */ --
[EGIT] [core/elementary] master 01/01: notify_test: When elm_notify is shown, set focus to it.
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=80e959b3588e86aab021bae4f80d2b3e71684fd5 commit 80e959b3588e86aab021bae4f80d2b3e71684fd5 Author: WooHyun Jung wh0705.j...@samsung.com Date: Tue Apr 29 15:39:41 2014 +0900 notify_test: When elm_notify is shown, set focus to it. --- src/bin/test_notify.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bin/test_notify.c b/src/bin/test_notify.c index e7c63ba..03bf890 100644 --- a/src/bin/test_notify.c +++ b/src/bin/test_notify.c @@ -8,6 +8,7 @@ _bt(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Evas_Object *notify = data; evas_object_show(notify); + elm_object_focus_set(notify, EINA_TRUE); } static void --
[EGIT] [core/elementary] master 01/01: elm win - fix wrong resizing of focus highlight obj.
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=6b0619a88ae0a5efcc73164660b2ab479446aceb commit 6b0619a88ae0a5efcc73164660b2ab479446aceb Author: WooHyun Jung wh0705.j...@samsung.com Date: Fri Mar 28 14:17:02 2014 +0900 elm win - fix wrong resizing of focus highlight obj. When focus highlight animation is enabled, focus highlight can be resized only by animator inside edje. So, if there is no animation by some reasons, focus highlight just keeps its original. @fix --- data/themes/edc/elm/focus.edc | 5 + src/bin/test_focus.c | 26 ++ src/lib/elm_win.c | 2 ++ 3 files changed, 33 insertions(+) diff --git a/data/themes/edc/elm/focus.edc b/data/themes/edc/elm/focus.edc index 4e9563b..19d78cd 100644 --- a/data/themes/edc/elm/focus.edc +++ b/data/themes/edc/elm/focus.edc @@ -148,5 +148,10 @@ group { name: elm/focus_highlight/top/default; target: sel; after: pulse; } + program { + signal: elm,state,anim,stop; source: elm; + action: STATE_SET default 0.0; + target: base; + } } } diff --git a/src/bin/test_focus.c b/src/bin/test_focus.c index 216ad50..f8d60ee 100644 --- a/src/bin/test_focus.c +++ b/src/bin/test_focus.c @@ -57,6 +57,15 @@ _tb_sel(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED) printf(tb sel %p\n, obj); } +static void +_focus_anim_changed(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) +{ + if (elm_check_state_get(obj)) + elm_win_focus_highlight_animate_set(data, EINA_TRUE); + else + elm_win_focus_highlight_animate_set(data, EINA_FALSE); +} + void test_focus(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { @@ -409,6 +418,23 @@ test_focus(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_inf } } } + + Evas_Object *bx = elm_box_add(win); + evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, +EVAS_HINT_EXPAND); + elm_box_pack_end(tbx, bx); + my_show(bx); + + { +Evas_Object *ck; +ck = elm_check_add(bx); +elm_object_text_set(ck, Focus Highlight Animation Enable); +elm_box_pack_end(bx, ck); +my_show(ck); +evas_object_smart_callback_add(ck, changed, + _focus_anim_changed, + win); + } } / focus 2 / diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c index 131e817..6c0bf7b 100644 --- a/src/lib/elm_win.c +++ b/src/lib/elm_win.c @@ -750,6 +750,8 @@ _elm_win_focus_highlight_simple_setup(Elm_Win_Smart_Data *sd, clip = evas_object_clip_get(target); if (clip) evas_object_clip_set(obj, clip); } + + edje_object_signal_emit(obj, elm,state,anim,stop, elm); } static void --
[EGIT] [core/elementary] master 01/01: elm_widget: Restore removed codes while eolian work.
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=6c05e867896eb998730cb92af94a4d56d4d8fe9c commit 6c05e867896eb998730cb92af94a4d56d4d8fe9c Author: WooHyun Jung wh0705.j...@samsung.com Date: Thu Mar 20 12:55:28 2014 +0900 elm_widget: Restore removed codes while eolian work. --- src/lib/elm_widget.c | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c index 25f1786..a212099 100644 --- a/src/lib/elm_widget.c +++ b/src/lib/elm_widget.c @@ -2841,7 +2841,13 @@ _elm_widget_focus_region_get(Eo *obj, Elm_Widget_Smart_Data *_pd EINA_UNUSED, Ev { Eina_Bool int_ret = EINA_FALSE; eo_do((Eo *)obj, elm_obj_widget_on_focus_region(x, y, w, h, int_ret)); - return int_ret; + if (!int_ret) + { +evas_object_geometry_get(obj, NULL, NULL, w, h); +if (x) *x = 0; +if (y) *y = 0; + } + return EINA_TRUE; } EOLIAN static void --
[EGIT] [core/elementary] master 01/01: elm_win: Fix wrong animation of focus highlight.
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=5320cca5ff5994cd14fe7ef7f85571a41c4d820b commit 5320cca5ff5994cd14fe7ef7f85571a41c4d820b Author: WooHyun Jung wh0705.j...@samsung.com Date: Thu Mar 20 14:14:20 2014 +0900 elm_win: Fix wrong animation of focus highlight. When focus is changed, focus highlight animation should be started from the original position of focus highlight object. Not from the previous focused object's position. --- src/lib/elm_win.c | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c index 78a5b90..ff4d8df 100644 --- a/src/lib/elm_win.c +++ b/src/lib/elm_win.c @@ -705,14 +705,12 @@ _elm_win_focus_highlight_anim_setup(Elm_Win_Smart_Data *sd, Evas_Object *obj) { Evas_Coord tx, ty, tw, th; - Evas_Coord w, h, px, py, pw, ph; + Evas_Coord px, py, pw, ph; Edje_Message_Int_Set *m; - Evas_Object *previous = sd-focus_highlight.prev.target; Evas_Object *target = sd-focus_highlight.cur.target; - evas_object_geometry_get(sd-obj, NULL, NULL, w, h); + evas_object_geometry_get(obj, px, py, pw, ph); elm_widget_focus_highlight_geometry_get(target, tx, ty, tw, th, EINA_TRUE); - elm_widget_focus_highlight_geometry_get(previous, px, py, pw, ph, EINA_FALSE); evas_object_move(obj, tx, ty); evas_object_resize(obj, tw, th); --
[EGIT] [core/efl] master 01/01: evas: Replace EINA_LIST_FOREACH_SAFE to while statement.
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=2791c3dc06bc1fc8f4460df9056724102d0c7c66 commit 2791c3dc06bc1fc8f4460df9056724102d0c7c66 Author: WooHyun Jung wh0705.j...@samsung.com Date: Tue Mar 11 16:34:56 2014 +0900 evas: Replace EINA_LIST_FOREACH_SAFE to while statement. Clipees can be cleared before the loop is finished because evas_object_clip_unset calls smart function of clip_unset. So, if we use EINA_LIST_FOREACH_SAFE, invalid next list pointer can be kept and read after obj-clip.clipees is freed. Thanks to Davide Andreoli for reporting. @fix --- src/lib/evas/canvas/evas_object_main.c | 11 --- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c index ff679cb..cc6c59c 100644 --- a/src/lib/evas/canvas/evas_object_main.c +++ b/src/lib/evas/canvas/evas_object_main.c @@ -621,7 +621,6 @@ _destructor(Eo *eo_obj, void *_pd, va_list *list EINA_UNUSED) return; MAGIC_CHECK_END(); Evas_Object_Protected_Data *obj = _pd; - Evas_Object_Protected_Data *tmp; Evas_Object *proxy; Eina_List *l, *l2; @@ -654,8 +653,14 @@ _destructor(Eo *eo_obj, void *_pd, va_list *list EINA_UNUSED) goto end; } evas_object_grabs_cleanup(eo_obj, obj); - EINA_LIST_FOREACH_SAFE(obj-clip.clipees, l, l2, tmp) - evas_object_clip_unset(tmp-object); + /* while should be used for null check of obj-clip.clipees, + because evas_objct_clip_unset can set null to obj-clip.clipees */ + while (obj-clip.clipees) + { +Evas_Object_Protected_Data *tmp; +tmp = eina_list_data_get(obj-clip.clipees); +evas_object_clip_unset(tmp-object); + } EINA_LIST_FOREACH_SAFE(obj-proxy-proxies, l, l2, proxy) { if (eo_isa(proxy, EVAS_OBJ_IMAGE_CLASS)) --
[EGIT] [core/efl] efl-1.9 01/01: evas: Replace EINA_LIST_FOREACH_SAFE to while statement.
woohyun pushed a commit to branch efl-1.9. http://git.enlightenment.org/core/efl.git/commit/?id=7a0fb4977343c655eb30907587302767d1dd44d0 commit 7a0fb4977343c655eb30907587302767d1dd44d0 Author: WooHyun Jung wh0705.j...@samsung.com Date: Tue Mar 11 16:34:56 2014 +0900 evas: Replace EINA_LIST_FOREACH_SAFE to while statement. Clipees can be cleared before the loop is finished because evas_object_clip_unset calls smart function of clip_unset. So, if we use EINA_LIST_FOREACH_SAFE, invalid next list pointer can be kept and read after obj-clip.clipees is freed. Thanks to Davide Andreoli for reporting. @fix --- src/lib/evas/canvas/evas_object_main.c | 11 --- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c index 637551a..9591a19 100644 --- a/src/lib/evas/canvas/evas_object_main.c +++ b/src/lib/evas/canvas/evas_object_main.c @@ -621,7 +621,6 @@ _destructor(Eo *eo_obj, void *_pd, va_list *list EINA_UNUSED) return; MAGIC_CHECK_END(); Evas_Object_Protected_Data *obj = _pd; - Evas_Object_Protected_Data *tmp; Evas_Object *proxy; Eina_List *l, *l2; @@ -654,8 +653,14 @@ _destructor(Eo *eo_obj, void *_pd, va_list *list EINA_UNUSED) goto end; } evas_object_grabs_cleanup(eo_obj, obj); - EINA_LIST_FOREACH_SAFE(obj-clip.clipees, l, l2, tmp) - evas_object_clip_unset(tmp-object); + /* while should be used for null check of obj-clip.clipees, + because evas_objct_clip_unset can set null to obj-clip.clipees */ + while (obj-clip.clipees) + { +Evas_Object_Protected_Data *tmp; +tmp = eina_list_data_get(obj-clip.clipees); +evas_object_clip_unset(tmp-object); + } EINA_LIST_FOREACH_SAFE(obj-proxy-proxies, l, l2, proxy) evas_object_image_source_unset(proxy); if (obj-cur-clipper) evas_object_clip_unset(eo_obj); --
[EGIT] [core/efl] efl-1.8 01/01: evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.
woohyun pushed a commit to branch efl-1.8. http://git.enlightenment.org/core/efl.git/commit/?id=eb022cba1d1df351d5f5043879eade5cee9d918c commit eb022cba1d1df351d5f5043879eade5cee9d918c Author: WooHyun Jung wh0705.j...@samsung.com Date: Thu Feb 27 10:31:42 2014 +0900 evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE. EINA_LIST_FREE does eina_list_remove_list, and clip_unset does the same thing to the same list pointer. So, EINA_LIST_FOREACH_SAFE is proper for this case. --- src/lib/evas/canvas/evas_object_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c index 0480098..eed4429 100644 --- a/src/lib/evas/canvas/evas_object_main.c +++ b/src/lib/evas/canvas/evas_object_main.c @@ -653,7 +653,7 @@ _destructor(Eo *eo_obj, void *_pd, va_list *list EINA_UNUSED) goto end; } evas_object_grabs_cleanup(eo_obj, obj); - EINA_LIST_FREE(obj-clip.clipees, tmp) + EINA_LIST_FOREACH_SAFE(obj-clip.clipees, l, l2, tmp) evas_object_clip_unset(tmp-object); while (obj-proxy-proxies) evas_object_image_source_unset(obj-proxy-proxies-data); --
[EGIT] [core/efl] master 01/01: evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6093e68cb01cf915057b9e330f7586039d092990 commit 6093e68cb01cf915057b9e330f7586039d092990 Author: WooHyun Jung wh0705.j...@samsung.com Date: Thu Feb 27 10:31:42 2014 +0900 evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE. EINA_LIST_FREE does eina_list_remove_list, and clip_unset does the same thing to the same list pointer. So, EINA_LIST_FOREACH_SAFE is proper for this case. --- src/lib/evas/canvas/evas_object_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c index 9db95d4..d8d3850 100644 --- a/src/lib/evas/canvas/evas_object_main.c +++ b/src/lib/evas/canvas/evas_object_main.c @@ -654,7 +654,7 @@ _destructor(Eo *eo_obj, void *_pd, va_list *list EINA_UNUSED) goto end; } evas_object_grabs_cleanup(eo_obj, obj); - EINA_LIST_FREE(obj-clip.clipees, tmp) + EINA_LIST_FOREACH_SAFE(obj-clip.clipees, l, l2, tmp) evas_object_clip_unset(tmp-object); EINA_LIST_FOREACH_SAFE(obj-proxy-proxies, l, l2, proxy) evas_object_image_source_unset(proxy); --
[EGIT] [core/efl] efl-1.9 01/01: evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.
woohyun pushed a commit to branch efl-1.9. http://git.enlightenment.org/core/efl.git/commit/?id=e6eafc517f341700bb9713fbe222bac0ae00bb5d commit e6eafc517f341700bb9713fbe222bac0ae00bb5d Author: WooHyun Jung wh0705.j...@samsung.com Date: Thu Feb 27 10:31:42 2014 +0900 evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE. EINA_LIST_FREE does eina_list_remove_list, and clip_unset does the same thing to the same list pointer. So, EINA_LIST_FOREACH_SAFE is proper for this case. --- src/lib/evas/canvas/evas_object_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c index edef53b..637551a 100644 --- a/src/lib/evas/canvas/evas_object_main.c +++ b/src/lib/evas/canvas/evas_object_main.c @@ -654,7 +654,7 @@ _destructor(Eo *eo_obj, void *_pd, va_list *list EINA_UNUSED) goto end; } evas_object_grabs_cleanup(eo_obj, obj); - EINA_LIST_FREE(obj-clip.clipees, tmp) + EINA_LIST_FOREACH_SAFE(obj-clip.clipees, l, l2, tmp) evas_object_clip_unset(tmp-object); EINA_LIST_FOREACH_SAFE(obj-proxy-proxies, l, l2, proxy) evas_object_image_source_unset(proxy); --
[EGIT] [core/elementary] master 01/01: elm_layout now supports focused/unfocused smart callback by itself for widgets that inherit layout class. If it uses elm_widget's, smart callback will be called
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=62f8db5e7e5394051281b9996cae7ea7e2368d8d commit 62f8db5e7e5394051281b9996cae7ea7e2368d8d Author: WooHyun Jung wh0705.j...@samsung.com Date: Thu Feb 6 16:18:57 2014 +0900 elm_layout now supports focused/unfocused smart callback by itself for widgets that inherit layout class. If it uses elm_widget's, smart callback will be called at the beginning or smart_on_focus function. --- src/lib/elc_ctxpopup.c| 4 ++-- src/lib/elc_fileselector.c| 4 ++-- src/lib/elc_fileselector_button.c | 4 ++-- src/lib/elc_naviframe.c | 4 ++-- src/lib/elc_player.c | 4 ++-- src/lib/elc_popup.c | 4 ++-- src/lib/elm_bubble.c | 4 ++-- src/lib/elm_button.c | 4 ++-- src/lib/elm_calendar.c| 4 ++-- src/lib/elm_check.c | 4 ++-- src/lib/elm_clock.c | 4 ++-- src/lib/elm_colorselector.c | 4 ++-- src/lib/elm_datetime.c| 4 ++-- src/lib/elm_flipselector.c| 4 ++-- src/lib/elm_gengrid.c | 4 ++-- src/lib/elm_genlist.c | 4 ++-- src/lib/elm_hover.c | 4 ++-- src/lib/elm_index.c | 4 ++-- src/lib/elm_layout.c | 10 +++--- src/lib/elm_list.c| 4 ++-- src/lib/elm_panel.c | 4 ++-- src/lib/elm_priv.h| 2 ++ src/lib/elm_progressbar.c | 4 ++-- src/lib/elm_radio.c | 4 ++-- src/lib/elm_scroller.c| 4 ++-- src/lib/elm_slider.c | 4 ++-- src/lib/elm_slideshow.c | 4 ++-- src/lib/elm_spinner.c | 4 ++-- src/lib/elm_video.c | 4 ++-- 29 files changed, 63 insertions(+), 57 deletions(-) diff --git a/src/lib/elc_ctxpopup.c b/src/lib/elc_ctxpopup.c index 1109bb1..10df5e6 100644 --- a/src/lib/elc_ctxpopup.c +++ b/src/lib/elc_ctxpopup.c @@ -24,8 +24,8 @@ ELM_PRIV_CTXPOPUP_SIGNALS(ELM_PRIV_STATIC_VARIABLE_DECLARE); static const Evas_Smart_Cb_Description _smart_callbacks[] = { ELM_PRIV_CTXPOPUP_SIGNALS(ELM_PRIV_SMART_CALLBACKS_DESC) {SIG_WIDGET_LANG_CHANGED, }, /** handled by elm_widget */ - {SIG_WIDGET_FOCUSED, }, /** handled by elm_widget */ - {SIG_WIDGET_UNFOCUSED, }, /** handled by elm_widget */ + {SIG_LAYOUT_FOCUSED, }, /** handled by elm_layout */ + {SIG_LAYOUT_UNFOCUSED, }, /** handled by elm_layout */ {NULL, NULL} }; #undef ELM_PRIV_CTXPOPUP_SIGNALS diff --git a/src/lib/elc_fileselector.c b/src/lib/elc_fileselector.c index 9c05086..d6c3e6d 100644 --- a/src/lib/elc_fileselector.c +++ b/src/lib/elc_fileselector.c @@ -38,8 +38,8 @@ ELM_PRIV_FILESELECTOR_SIGNALS(ELM_PRIV_STATIC_VARIABLE_DECLARE); static const Evas_Smart_Cb_Description _smart_callbacks[] = { ELM_PRIV_FILESELECTOR_SIGNALS(ELM_PRIV_SMART_CALLBACKS_DESC) - {SIG_WIDGET_FOCUSED, }, /** handled by elm_widget */ - {SIG_WIDGET_UNFOCUSED, }, /** handled by elm_widget */ + {SIG_LAYOUT_FOCUSED, }, /** handled by elm_layout */ + {SIG_LAYOUT_UNFOCUSED, }, /** handled by elm_layout */ {NULL, NULL} }; #undef ELM_PRIV_FILESELECTOR_SIGNALS diff --git a/src/lib/elc_fileselector_button.c b/src/lib/elc_fileselector_button.c index f845866..1a6e951 100644 --- a/src/lib/elc_fileselector_button.c +++ b/src/lib/elc_fileselector_button.c @@ -24,8 +24,8 @@ ELM_PRIV_FILESELECTOR_BUTTON_SIGNALS(ELM_PRIV_STATIC_VARIABLE_DECLARE); static const Evas_Smart_Cb_Description _smart_callbacks[] = { ELM_PRIV_FILESELECTOR_BUTTON_SIGNALS(ELM_PRIV_SMART_CALLBACKS_DESC) {SIG_WIDGET_LANG_CHANGED, }, /**handled by elm_widget */ - {SIG_WIDGET_FOCUSED, }, /** handled by elm_widget */ - {SIG_WIDGET_UNFOCUSED, }, /** handled by elm_widget */ + {SIG_LAYOUT_FOCUSED, }, /** handled by elm_layout */ + {SIG_LAYOUT_UNFOCUSED, }, /** handled by elm_layout */ {NULL, NULL} }; #undef ELM_PRIV_FILESELECTOR_BUTTON_SIGNALS diff --git a/src/lib/elc_naviframe.c b/src/lib/elc_naviframe.c index 569a31f..2173ff5 100644 --- a/src/lib/elc_naviframe.c +++ b/src/lib/elc_naviframe.c @@ -31,8 +31,8 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = { {SIG_TITLE_TRANSITION_FINISHED, }, {SIG_TITLE_CLICKED, }, {SIG_WIDGET_LANG_CHANGED, }, /** handled by elm_widget */ - {SIG_WIDGET_FOCUSED, }, /** handled by elm_widget */ - {SIG_WIDGET_UNFOCUSED, }, /** handled by elm_widget */ + {SIG_LAYOUT_FOCUSED, }, /** handled by elm_layout */ + {SIG_LAYOUT_UNFOCUSED, }, /** handled by elm_layout */ {NULL, NULL} }; diff --git a/src/lib/elc_player.c b/src/lib/elc_player.c index 136af9e..7bf4824 100644 --- a/src/lib/elc_player.c +++ b/src/lib/elc_player.c @@ -51,8 +51,8 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = { { SIG_VOLUME_CLICKED, }, { SIG_MUTE_CLICKED, }, { SIG_WIDGET_LANG_CHANGED, }, /** handled by elm_widget */ - { SIG_WIDGET_FOCUSED
[EGIT] [core/elementary] master 01/01: popup: Replace focus_direction_go with focus_cycle.
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=14c8899c5d1ffaa12347fb71fd74d9ac2512cfcf commit 14c8899c5d1ffaa12347fb71fd74d9ac2512cfcf Author: WooHyun Jung wh0705.j...@samsung.com Date: Wed Jan 22 18:36:13 2014 +0900 popup: Replace focus_direction_go with focus_cycle. --- src/lib/elc_popup.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/elc_popup.c b/src/lib/elc_popup.c index 640134c..f1f4da3 100644 --- a/src/lib/elc_popup.c +++ b/src/lib/elc_popup.c @@ -1474,25 +1474,25 @@ _elm_popup_smart_event(Eo *obj, void *_pd EINA_UNUSED, va_list *list) else if ((!strcmp(ev-key, Left)) || ((!strcmp(ev-key, KP_Left)) (!ev-string))) { -elm_widget_focus_direction_go(obj, 270.0); +elm_widget_focus_cycle(obj, ELM_FOCUS_LEFT); goto success; } else if ((!strcmp(ev-key, Right)) || ((!strcmp(ev-key, KP_Right)) (!ev-string))) { -elm_widget_focus_direction_go(obj, 90.0); +elm_widget_focus_cycle(obj, ELM_FOCUS_RIGHT); goto success; } else if ((!strcmp(ev-key, Up)) || ((!strcmp(ev-key, KP_Up)) (!ev-string))) { -elm_widget_focus_direction_go(obj, 0.0); +elm_widget_focus_cycle(obj, ELM_FOCUS_UP); goto success; } else if ((!strcmp(ev-key, Down)) || ((!strcmp(ev-key, KP_Down)) (!ev-string))) { -elm_widget_focus_direction_go(obj, 180.0); +elm_widget_focus_cycle(obj, ELM_FOCUS_DOWN); goto success; } --
[EGIT] [core/elementary] master 01/01: test_focus3: Correct wrong data for smart callback.
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=0dcf2fb49ae316d25d0359bef8bb8a4cc04140a7 commit 0dcf2fb49ae316d25d0359bef8bb8a4cc04140a7 Author: WooHyun Jung wh0705.j...@samsung.com Date: Thu Jan 23 15:07:33 2014 +0900 test_focus3: Correct wrong data for smart callback. --- src/bin/test_focus3.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/test_focus3.c b/src/bin/test_focus3.c index de951fe..9edb1c7 100644 --- a/src/bin/test_focus3.c +++ b/src/bin/test_focus3.c @@ -336,7 +336,7 @@ test_focus4(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in evas_object_size_hint_weight_set(tg, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(tg, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_check_state_set(tg, EINA_TRUE); - evas_object_smart_callback_add(tg, changed, custom_chain_unset_cb, bx); + evas_object_smart_callback_add(tg, changed, custom_chain_unset_cb, bx2); elm_box_pack_end(bx, tg); evas_object_show(tg); --
[EGIT] [core/elementary] master 01/01: entry: NULL should be set to the correct position of tmpbuf.
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=6d5a1a3d25a671ddb7d6c007596274ceb77ef2e6 commit 6d5a1a3d25a671ddb7d6c007596274ceb77ef2e6 Author: WooHyun Jung wh0705.j...@samsung.com Date: Tue Jan 21 21:00:29 2014 +0900 entry: NULL should be set to the correct position of tmpbuf. If edje_object_part_text_get gives different text from original one, length of text can be changed. So the last position of tmpbuf should be calculated again refering to the current text to be returned. --- src/lib/elm_entry.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/elm_entry.c b/src/lib/elm_entry.c index 29991b9..51d321f 100644 --- a/src/lib/elm_entry.c +++ b/src/lib/elm_entry.c @@ -2829,12 +2829,12 @@ proceed: if (sd-append_text_len 0) { char *tmpbuf; -size_t tlen; +size_t len, tlen; tlen = strlen(text); +len = tlen + sd-append_text_len - sd-append_text_position; /* FIXME: need that or we do copy uninitialised data */ -tmpbuf = calloc(1, tlen + sd-append_text_len - -sd-append_text_position + 1); +tmpbuf = calloc(1, len + 1); if (!tmpbuf) { ERR(Failed to allocate memory for entry's text %p, obj); @@ -2846,7 +2846,7 @@ proceed: memcpy(tmpbuf + tlen, sd-append_text_left + sd-append_text_position, sd-append_text_len - sd-append_text_position); -tmpbuf[sd-append_text_len] = '\0'; +tmpbuf[len] = '\0'; eina_stringshare_replace(sd-text, tmpbuf); free(tmpbuf); } --
[EGIT] [core/elementary] master 01/01: elm_widget: Fixed some codes about focus custom chain.
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=922aae2394959d20831fa07104f9265ca8a89946 commit 922aae2394959d20831fa07104f9265ca8a89946 Author: WooHyun Jung wh0705.j...@samsung.com Date: Wed Jan 22 16:24:25 2014 +0900 elm_widget: Fixed some codes about focus custom chain. - When appending an object to the focus custom chain, event callback about deletion should be added. - When a widget is deleted, its focus custom chain should be managed correctly. --- src/lib/elm_widget.c | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c index 37859ae..80676f5 100644 --- a/src/lib/elm_widget.c +++ b/src/lib/elm_widget.c @@ -326,11 +326,12 @@ _elm_widget_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED) } EINA_LIST_FREE(sd-event_cb, ecb) - free(ecb); + free(ecb); eina_stringshare_del(sd-style); if (sd-theme) elm_theme_free(sd-theme); _if_focused_revert(obj, EINA_TRUE); + elm_widget_focus_custom_chain_unset(obj); eina_stringshare_del(sd-access_info); evas_object_smart_data_set(obj, NULL); } @@ -1983,8 +1984,8 @@ _elm_widget_focus_custom_chain_append(Eo *obj, void *_pd, va_list *list) if (!_elm_widget_focus_chain_manager_is(obj)) return; - evas_object_event_callback_del_full(child, EVAS_CALLBACK_DEL, - _elm_object_focus_chain_del_cb, obj); + evas_object_event_callback_add(child, EVAS_CALLBACK_DEL, + _elm_object_focus_chain_del_cb, obj); if (!relative_child) sd-focus_chain = eina_list_append(sd-focus_chain, child); @@ -2029,8 +2030,8 @@ _elm_widget_focus_custom_chain_prepend(Eo *obj, void *_pd, va_list *list) if (!_elm_widget_focus_chain_manager_is(obj)) return; - evas_object_event_callback_del_full(child, EVAS_CALLBACK_DEL, - _elm_object_focus_chain_del_cb, obj); + evas_object_event_callback_add(child, EVAS_CALLBACK_DEL, + _elm_object_focus_chain_del_cb, obj); if (!relative_child) sd-focus_chain = eina_list_prepend(sd-focus_chain, child); --
[EGIT] [core/efl] master 01/01: edje_entry: When preediting, cursor should not be moved.
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1d189f43f6c4e9a9e6cdc3f3bffcdb0fc2493560 commit 1d189f43f6c4e9a9e6cdc3f3bffcdb0fc2493560 Author: WooHyun Jung wh0705.j...@samsung.com Date: Thu Jan 16 16:31:36 2014 +0900 edje_entry: When preediting, cursor should not be moved. --- src/lib/edje/edje_entry.c | 4 1 file changed, 4 insertions(+) diff --git a/src/lib/edje/edje_entry.c b/src/lib/edje/edje_entry.c index 8d992d7..f4b42fa 100644 --- a/src/lib/edje/edje_entry.c +++ b/src/lib/edje/edje_entry.c @@ -1304,6 +1304,10 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, (!strcmp(ev-key, KP_Down) !ev-string) || !strcmp(ev-key, Up) || (!strcmp(ev-key, KP_Up) !ev-string) || + !strcmp(ev-key, Left) || + (!strcmp(ev-key, KP_Left) !ev-string) || + !strcmp(ev-key, Right) || + (!strcmp(ev-key, KP_Right) !ev-string) || !strcmp(ev-key, Next) || (!strcmp(ev-key, KP_Next) !ev-string) || !strcmp(ev-key, Prior) || --
[EGIT] [core/elementary] master 01/01: widget: Fix a bug in elm_widget_newest_focus_order_get.
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=9e7e4777de25ad29b1998a50ce2933e1ad77f286 commit 9e7e4777de25ad29b1998a50ce2933e1ad77f286 Author: WooHyun Jung wh0705.j...@samsung.com Date: Fri Jan 3 20:02:30 2014 +0900 widget: Fix a bug in elm_widget_newest_focus_order_get. When elm_widget_newest_focus_order_get is called with can_focus_only, only focusable objects should be the candidates for newest focused object. But there are cases that unfocusable object add +1 to newest_focus_order. --- src/lib/elm_widget.c | 12 +--- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c index b1c5df5..708762a 100644 --- a/src/lib/elm_widget.c +++ b/src/lib/elm_widget.c @@ -4762,8 +4762,11 @@ _elm_widget_newest_focus_order_get(Eo *obj, void *_pd, va_list *list) best = NULL; if (*newest_focus_order sd-focus_order) { -*newest_focus_order = sd-focus_order; -best = obj; +if (!can_focus_only || elm_widget_can_focus_get(obj)) + { + *newest_focus_order = sd-focus_order; + best = obj; + } } EINA_LIST_FOREACH(sd-subobjs, l, child) { @@ -4772,11 +4775,6 @@ _elm_widget_newest_focus_order_get(Eo *obj, void *_pd, va_list *list) if (!cur) continue; best = cur; } - if (can_focus_only) - { -if ((!best) || (!elm_widget_can_focus_get(best))) - return; - } *ret = best; return; } --
[EGIT] [core/elementary] master 01/01: elementary/elm_button.c : Change the timing of signal_emitting.
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=bb782234cd121c2aae1cdeb374335f26e76e9ef4 commit bb782234cd121c2aae1cdeb374335f26e76e9ef4 Author: WooHyun Jung wh0705.j...@samsung.com Date: Thu Dec 5 10:01:43 2013 +0900 elementary/elm_button.c : Change the timing of signal_emitting. Application can delete button itsefl(or its parent) inside the smart callback function. So the signal_emitting with button object should be done in advance. --- src/lib/elm_button.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elm_button.c b/src/lib/elm_button.c index e1f3da8..42f337f 100644 --- a/src/lib/elm_button.c +++ b/src/lib/elm_button.c @@ -184,8 +184,8 @@ _elm_button_smart_event(Eo *obj, void *_pd EINA_UNUSED, va_list *list) (strcmp(ev-key, space))) return; - _activate(obj); elm_layout_signal_emit(obj, elm,anim,activate, elm); + _activate(obj); ev-event_flags |= EVAS_EVENT_FLAG_ON_HOLD; if (ret) *ret = EINA_TRUE; --
[EGIT] [core/elementary] elementary-1.8 05/05: elementary/elm_button.c : Change the timing of signal_emitting.
seoz pushed a commit to branch elementary-1.8. http://git.enlightenment.org/core/elementary.git/commit/?id=a69abd4d9279d4c2c7e4d2dc44faba38db09e10d commit a69abd4d9279d4c2c7e4d2dc44faba38db09e10d Author: WooHyun Jung wh0705.j...@samsung.com Date: Thu Dec 5 10:01:43 2013 +0900 elementary/elm_button.c : Change the timing of signal_emitting. Application can delete button itsefl(or its parent) inside the smart callback function. So the signal_emitting with button object should be done in advance. --- src/lib/elm_button.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elm_button.c b/src/lib/elm_button.c index e1f3da8..42f337f 100644 --- a/src/lib/elm_button.c +++ b/src/lib/elm_button.c @@ -184,8 +184,8 @@ _elm_button_smart_event(Eo *obj, void *_pd EINA_UNUSED, va_list *list) (strcmp(ev-key, space))) return; - _activate(obj); elm_layout_signal_emit(obj, elm,anim,activate, elm); + _activate(obj); ev-event_flags |= EVAS_EVENT_FLAG_ON_HOLD; if (ret) *ret = EINA_TRUE; --
[EGIT] [core/elementary] master 01/01: elementary/elc_multibuttonentry.c : Multibuttonentry doesn't need to call parents' on_focus.
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=6c3ac8bd674352eda408e3b047d855b5607d3b94 commit 6c3ac8bd674352eda408e3b047d855b5607d3b94 Author: WooHyun Jung wh0705.j...@samsung.com Date: Wed Nov 20 20:17:17 2013 +0900 elementary/elc_multibuttonentry.c : Multibuttonentry doesn't need to call parents' on_focus. --- src/lib/elc_multibuttonentry.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/lib/elc_multibuttonentry.c b/src/lib/elc_multibuttonentry.c index 6ddb70f..77004f9 100644 --- a/src/lib/elc_multibuttonentry.c +++ b/src/lib/elc_multibuttonentry.c @@ -287,9 +287,6 @@ _elm_multibuttonentry_smart_on_focus(Eo *obj, void *_pd, va_list *list) if (ret) *ret = EINA_FALSE; Eina_Bool int_ret; - eo_do_super(obj, MY_CLASS, elm_wdg_on_focus(int_ret)); - if (!int_ret) return; - if (elm_widget_focus_get(obj)) { // ACCESS --
[EGIT] [core/elementary] master 01/01: Fix build warning.
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=3d2e5d44aa4edc1675914b546535d44311cc22ae commit 3d2e5d44aa4edc1675914b546535d44311cc22ae Author: WooHyun Jung wh0705.j...@samsung.com Date: Wed Nov 20 20:23:49 2013 +0900 Fix build warning. --- src/lib/elc_multibuttonentry.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/lib/elc_multibuttonentry.c b/src/lib/elc_multibuttonentry.c index 77004f9..800401b 100644 --- a/src/lib/elc_multibuttonentry.c +++ b/src/lib/elc_multibuttonentry.c @@ -285,7 +285,6 @@ _elm_multibuttonentry_smart_on_focus(Eo *obj, void *_pd, va_list *list) Eina_Bool *ret = va_arg(*list, Eina_Bool *); if (ret) *ret = EINA_FALSE; - Eina_Bool int_ret; if (elm_widget_focus_get(obj)) { --
[EGIT] [core/elementary] master 01/01: elementary/elm_scroller.c : For checking focus next object, focus_direcion_get function should be changed to focus_next_get function. If there is no focus next o
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=0a3f2f0e315789bd5be87d2205c306b20f660bc2 commit 0a3f2f0e315789bd5be87d2205c306b20f660bc2 Author: WooHyun Jung wh0705.j...@samsung.com Date: Thu Nov 21 10:13:40 2013 +0900 elementary/elm_scroller.c : For checking focus next object, focus_direcion_get function should be changed to focus_next_get function. If there is no focus next object, focus_direction_get will be executed by focus_next_get. --- src/lib/elm_scroller.c | 21 ++--- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/src/lib/elm_scroller.c b/src/lib/elm_scroller.c index 67ae134..b3082d9 100644 --- a/src/lib/elm_scroller.c +++ b/src/lib/elm_scroller.c @@ -151,31 +151,22 @@ _elm_scroller_smart_event(Eo *obj, void *_pd, va_list *list) } else { - Evas_Object *tmp = NULL; - double degree = 0.0, weight = 0.0; - void *(*list_data_get)(const Eina_List *list); - - list_data_get = eina_list_data_get; + Eina_Bool r = EINA_FALSE; if ((!strcmp(ev-key, Left)) || (!strcmp(ev-key, KP_Left))) - degree = 270.0; + r = elm_widget_focus_next_get(obj, ELM_FOCUS_LEFT, new_focus); else if ((!strcmp(ev-key, Right)) || (!strcmp(ev-key, KP_Right))) - degree = 90.0; + r = elm_widget_focus_next_get(obj, ELM_FOCUS_RIGHT, new_focus); else if ((!strcmp(ev-key, Up)) || (!strcmp(ev-key, KP_Up))) - degree = 0.0; + r = elm_widget_focus_next_get(obj, ELM_FOCUS_UP, new_focus); else if ((!strcmp(ev-key, Down)) || (!strcmp(ev-key, KP_Down))) - degree = 180.0; - - if (elm_widget_focus_list_direction_get - (obj, current_focus, can_focus_list, list_data_get, degree, - tmp, weight)) - new_focus = tmp; + r = elm_widget_focus_next_get(obj, ELM_FOCUS_DOWN, new_focus); - if (new_focus) + if (r new_focus) { Evas_Coord l_x = 0; Evas_Coord l_y = 0; --
[EGIT] [core/efl] master 01/01: edje/edje_entry.c : By Next/Previous, cursor can reach to the top or the bottom of entry.
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=91bd46eee96c0519a4426ddd90ceae5361f9bc3f commit 91bd46eee96c0519a4426ddd90ceae5361f9bc3f Author: WooHyun Jung wh0705.j...@samsung.com Date: Fri Nov 1 18:32:43 2013 +0900 edje/edje_entry.c : By Next/Previous, cursor can reach to the top or the bottom of entry. --- src/lib/edje/edje_entry.c | 13 +++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/lib/edje/edje_entry.c b/src/lib/edje/edje_entry.c index 159a2b4..31c6d70 100644 --- a/src/lib/edje/edje_entry.c +++ b/src/lib/edje/edje_entry.c @@ -1879,7 +1879,11 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, if (shift) _sel_start(en-cursor, rp-object, en); else _sel_clear(ed, en-cursor, rp-object, en); } -_curs_jump_line_by(en-cursor, rp-object, en, -10); +if (!_curs_jump_line_by(en-cursor, rp-object, en, -10)) + { + evas_textblock_cursor_line_set(en-cursor, 0); + _curs_lin_start(en-cursor, rp-object, en); + } if (en-select_allow) { if (shift) _sel_extend(ed, en-cursor, rp-object, en); @@ -1897,7 +1901,12 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, if (shift) _sel_start(en-cursor, rp-object, en); else _sel_clear(ed, en-cursor, rp-object, en); } -_curs_jump_line_by(en-cursor, rp-object, en, 10); +if (!_curs_jump_line_by(en-cursor, rp-object, en, 10)) + { + int last = _curs_line_last_get(en-cursor, rp-object, en); + evas_textblock_cursor_line_set(en-cursor, last); + _curs_lin_end(en-cursor, rp-object, en); + } if (en-select_allow) { if (shift) _sel_extend(ed, en-cursor, rp-object, en); --
[EGIT] [core/elementary] master 01/01: elementary/elc_ctxpopup.c : Focus-direction-go should be tried after checking focus next object.
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=ab4c2efb1fa75637b716cbd14416d8b723d187e8 commit ab4c2efb1fa75637b716cbd14416d8b723d187e8 Author: WooHyun Jung wh0705.j...@samsung.com Date: Thu Oct 31 16:50:48 2013 +0900 elementary/elc_ctxpopup.c : Focus-direction-go should be tried after checking focus next object. --- src/lib/elc_ctxpopup.c | 11 --- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/lib/elc_ctxpopup.c b/src/lib/elc_ctxpopup.c index ec6debc..0f26cf4 100644 --- a/src/lib/elc_ctxpopup.c +++ b/src/lib/elc_ctxpopup.c @@ -148,22 +148,19 @@ _elm_ctxpopup_smart_event(Eo *obj, void *_pd, va_list *list) { if (sd-box) { - double degree = 0.0; - if ((!strcmp(ev-key, Left)) || (!strcmp(ev-key, KP_Left))) - degree = 270.0; + elm_widget_focus_cycle(sd-box, ELM_FOCUS_LEFT); else if ((!strcmp(ev-key, Right)) || (!strcmp(ev-key, KP_Right))) - degree = 90.0; + elm_widget_focus_cycle(sd-box, ELM_FOCUS_RIGHT); else if ((!strcmp(ev-key, Up)) || (!strcmp(ev-key, KP_Up))) - degree = 0.0; + elm_widget_focus_cycle(sd-box, ELM_FOCUS_UP); else if ((!strcmp(ev-key, Down)) || (!strcmp(ev-key, KP_Down))) - degree = 180.0; + elm_widget_focus_cycle(sd-box, ELM_FOCUS_DOWN); - elm_widget_focus_direction_go(obj, degree); ev-event_flags |= EVAS_EVENT_FLAG_ON_HOLD; if (ret) *ret = EINA_TRUE; return; --
[EGIT] [core/elementary] master 01/01: elementary/elm_entry.c : evas_smart_objects_calculate in elm_widget_show_region_set can delete elm_entry.
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=534253f783aaa2a5c5abbc43656507027aee8dfd commit 534253f783aaa2a5c5abbc43656507027aee8dfd Author: WooHyun Jung wh0705.j...@samsung.com Date: Mon Oct 21 19:45:53 2013 +0900 elementary/elm_entry.c : evas_smart_objects_calculate in elm_widget_show_region_set can delete elm_entry. --- src/lib/elm_entry.c | 15 --- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/lib/elm_entry.c b/src/lib/elm_entry.c index 8460dd6..ed83299 100644 --- a/src/lib/elm_entry.c +++ b/src/lib/elm_entry.c @@ -522,7 +522,13 @@ _elm_entry_smart_theme(Eo *obj, void *_pd, va_list *list) (sd-entry_edje, elm.text, sd-input_panel_return_key_disabled); if (sd-cursor_pos != 0) - elm_entry_cursor_pos_set(obj, sd-cursor_pos); + { +// elm_entry_cursor_pos_set - cursor,changed - widget_show_region_set +// - smart_objects_calculate will call all smart calculate functions, +// and one of them can delete elm_entry. +evas_object_ref(obj); +elm_entry_cursor_pos_set(obj, sd-cursor_pos); + } if (elm_widget_focus_get(obj)) edje_object_signal_emit(sd-entry_edje, elm,action,focus, elm); @@ -564,6 +570,9 @@ _elm_entry_smart_theme(Eo *obj, void *_pd, va_list *list) evas_object_smart_callback_call(obj, SIG_THEME_CHANGED, NULL); + if (sd-cursor_pos != 0) + evas_object_unref(obj); + if (ret) *ret = EINA_TRUE; } @@ -582,8 +591,8 @@ _cursor_geometry_recalc(Evas_Object *obj) (sd-entry_edje, elm.text, cx, cy, cw, ch); if (sd-cur_changed) { - elm_widget_show_region_set(obj, cx, cy, cw, ch, EINA_FALSE); sd-cur_changed = EINA_FALSE; + elm_widget_show_region_set(obj, cx, cy, cw, ch, EINA_FALSE); } } else @@ -656,8 +665,8 @@ _deferred_recalc_job(void *data) (sd-entry_edje, elm.text, cx, cy, cw, ch); if (sd-cur_changed) { - elm_widget_show_region_set(data, cx, cy, cw, ch, EINA_FALSE); sd-cur_changed = EINA_FALSE; + elm_widget_show_region_set(data, cx, cy, cw, ch, EINA_FALSE); } } } --
[EGIT] [core/elementary] master 01/01: elementary/elm_entry.c : theme,changed smart callback can move the cursor position ! Thanks Daniel~
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=97972844257fd3ffc20a620844a540150def0cf9 commit 97972844257fd3ffc20a620844a540150def0cf9 Author: WooHyun Jung wh0705.j...@samsung.com Date: Mon Oct 21 20:59:43 2013 +0900 elementary/elm_entry.c : theme,changed smart callback can move the cursor position ! Thanks Daniel~ --- src/lib/elm_entry.c | 16 +++- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/lib/elm_entry.c b/src/lib/elm_entry.c index ed83299..088b2db 100644 --- a/src/lib/elm_entry.c +++ b/src/lib/elm_entry.c @@ -521,14 +521,13 @@ _elm_entry_smart_theme(Eo *obj, void *_pd, va_list *list) edje_object_part_text_input_panel_return_key_disabled_set (sd-entry_edje, elm.text, sd-input_panel_return_key_disabled); + // elm_entry_cursor_pos_set - cursor,changed - widget_show_region_set + // - smart_objects_calculate will call all smart calculate functions, + // and one of them can delete elm_entry. + evas_object_ref(obj); + if (sd-cursor_pos != 0) - { -// elm_entry_cursor_pos_set - cursor,changed - widget_show_region_set -// - smart_objects_calculate will call all smart calculate functions, -// and one of them can delete elm_entry. -evas_object_ref(obj); -elm_entry_cursor_pos_set(obj, sd-cursor_pos); - } + elm_entry_cursor_pos_set(obj, sd-cursor_pos); if (elm_widget_focus_get(obj)) edje_object_signal_emit(sd-entry_edje, elm,action,focus, elm); @@ -570,8 +569,7 @@ _elm_entry_smart_theme(Eo *obj, void *_pd, va_list *list) evas_object_smart_callback_call(obj, SIG_THEME_CHANGED, NULL); - if (sd-cursor_pos != 0) - evas_object_unref(obj); + evas_object_unref(obj); if (ret) *ret = EINA_TRUE; } --
[EGIT] [core/elementary] master 01/01: elementary/naviframe.c : Because naviframe is focusable, it should set focus to itself when the new item is unfocusable.
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=b216de22610fd8831f03fd9fd32b9f4ffdd20c30 commit b216de22610fd8831f03fd9fd32b9f4ffdd20c30 Author: WooHyun Jung wh0705.j...@samsung.com Date: Mon Sep 30 10:09:23 2013 +0900 elementary/naviframe.c : Because naviframe is focusable, it should set focus to itself when the new item is unfocusable. --- src/lib/elc_naviframe.c | 30 +- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/src/lib/elc_naviframe.c b/src/lib/elc_naviframe.c index d3fc708..a81e255 100644 --- a/src/lib/elc_naviframe.c +++ b/src/lib/elc_naviframe.c @@ -69,7 +69,12 @@ _prev_page_focus_recover(Elm_Naviframe_Item *it) if (newest) elm_object_focus_set(newest, EINA_TRUE); else - elm_object_focus_set(VIEW(it), EINA_TRUE); + { +if (elm_object_focus_allow_get(VIEW(it))) + elm_object_focus_set(VIEW(it), EINA_TRUE); +else + elm_object_focus_set(WIDGET(it), EINA_TRUE); + } } static void @@ -1260,7 +1265,7 @@ _elm_naviframe_smart_focus_next(Eo *obj, void *_pd EINA_UNUSED, va_list *list) Eina_Bool int_ret; top_it = (Elm_Naviframe_Item *)elm_naviframe_top_item_get(obj); - if (!top_it) return; + if (!top_it) goto end; list_data_get = eina_list_data_get; @@ -1274,8 +1279,15 @@ _elm_naviframe_smart_focus_next(Eo *obj, void *_pd EINA_UNUSED, va_list *list) } int_ret = elm_widget_focus_list_next_get(obj, l, list_data_get, dir, next); - if (ret) *ret = int_ret; eina_list_free(l); + if (ret) *ret = int_ret; + +end: + if (!*ret) + { +*next = obj; +*ret = !elm_widget_focus_get(obj); + } } static void @@ -1521,7 +1533,12 @@ _item_push(Eo *obj, void *_pd, va_list *list) it-animator = ecore_animator_add(_push_transition_cb, it); } else - elm_object_focus_set(VIEW(it), EINA_TRUE); + { +if (elm_object_focus_allow_get(VIEW(it))) + elm_object_focus_set(VIEW(it), EINA_TRUE); +else + elm_object_focus_set(WIDGET(it), EINA_TRUE); + } sd-stack = eina_inlist_append(sd-stack, EINA_INLIST_GET(it)); @@ -1629,7 +1646,10 @@ _item_insert_after(Eo *obj, void *_pd, va_list *list) EINA_FALSE); evas_object_show(VIEW(it)); evas_object_hide(VIEW(after)); -elm_object_focus_set(VIEW(it), EINA_TRUE); +if (elm_object_focus_allow_get(VIEW(it))) + elm_object_focus_set(VIEW(it), EINA_TRUE); +else + elm_object_focus_set(WIDGET(it), EINA_TRUE); } elm_layout_sizing_eval(obj); --
Re: [E-devel] [PATCH] fix build warning in scim-immodule
+1 I think he is the specialist for ecore imf :) 2011/12/28, ChunEon Park her...@naver.com: +1 Here. As I know, he's been EFL Programming over 3 years. He will be a good member to improve our EFL. Thank u. -Regards, Hermet- -Original Message- From: Daniel Juyung Seolt;seojuyu...@gmail.comgt; To: Enlightenment developer listlt;enlightenment-devel@lists.sourceforge.netgt; Cc: Sent: 11-12-28(수) 08:06:18 Subject: Re: [E-devel] [PATCH] fix build warning in scim-immodule +1 here. He's been sending many patches so far and done a good job mainly on ecore imf. Daniel Juyung Seo (SeoZ) On Tue, Dec 27, 2011 at 11:28 PM, Cedric BAIL lt;cedric.b...@free.frgt; wrote: On Tue, Dec 27, 2011 at 3:13 PM, Iván Briano (Sachiel) lt;sachi...@gmail.comgt; wrote: 2011/12/27 Jihoon Kim lt;imfin...@gmail.comgt;: Here are two simple patches. 'fix_warning_scim_imcontext.patch' is for fixing build warning 'warning: unused parameter' in scim-immodule. 'fix_indent_Makefile.patch' is for fixing indentation of Makefile.am in immodules/scim directory. Would you please apply in svn? In, both at once. I changed the warning fix to include config.h at the top, as that's what we do everywhere else. I'm also wondering if your next patch shouldn't be an info.txt file and your public key. Sounds like a lazy way to get the work done faster and better as Jihoon has been annoyingly sending patch that get in svn quite fast since sometimes now. So I vote that we get less work and put the burden on him by giving him svn access. -- Cedric BAIL -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] E SVN: discomfitor trunk/elementary/src/lib
+1 ~ (wanna hear Tom's opinion. Is there any reason that this API is not deprecated yet?) 2011/10/28, Mike Blumenkrantz m...@zentific.com: On Thu, 27 Oct 2011 12:12:54 -0700 Enlightenment SVN no-re...@enlightenment.org wrote: Log: add long forgotten note for entry filters Author: discomfitor Date: 2011-10-27 12:12:53 -0700 (Thu, 27 Oct 2011) New Revision: 64446 Trac: http://trac.enlightenment.org/e/changeset/64446 Modified: trunk/elementary/src/lib/Elementary.h.in Modified: trunk/elementary/src/lib/Elementary.h.in === --- trunk/elementary/src/lib/Elementary.h.in 2011-10-27 18:59:57 UTC (rev 64445) +++ trunk/elementary/src/lib/Elementary.h.in 2011-10-27 19:12:53 UTC (rev 64446) @@ -11062,6 +11062,7 @@ * @param entry The text to be displayed * * @deprecated Use elm_object_text_set() instead. +* @note Using this function bypasses text filters */ EAPI void elm_entry_entry_set(Evas_Object *obj, const char *entry) EINA_ARG_NONNULL(1); /** -- The demand for IT networking professionals continues to grow, and the demand for specialized networking skills is growing even more rapidly. Take a complimentary Learning@Cisco Self-Assessment and learn about Cisco certifications, training, and career opportunities. http://p.sf.net/sfu/cisco-dev2dev ___ enlightenment-svn mailing list enlightenment-...@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-svn debated putting this on text_set() too. thoughts? -- Mike Blumenkrantz Zentific: Doctor recommended, mother approved. -- The demand for IT networking professionals continues to grow, and the demand for specialized networking skills is growing even more rapidly. Take a complimentary Learning@Cisco Self-Assessment and learn about Cisco certifications, training, and career opportunities. http://p.sf.net/sfu/cisco-dev2dev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- The demand for IT networking professionals continues to grow, and the demand for specialized networking skills is growing even more rapidly. Take a complimentary Learning@Cisco Self-Assessment and learn about Cisco certifications, training, and career opportunities. http://p.sf.net/sfu/cisco-dev2dev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] E SVN: woohyun IN trunk/elementary/src: bin lib
Oh. I got your point. Thanks for good advice ~~ I'll implement empty elm_widget_focus_direction_go() at first. I thought somebody(who declared this API) had a plan to implement this, so made simple directional scrolling function (only for diagonal movement). Anybody ~ who is working for this API ~ then please inform to me :) 2011/8/5 Jung정우현 woohyun0...@gmail.com hello ~ Gustavo. Can I know that you meant elm_widget_focus_direction_go API ? And one more, what is worse API I made ? I only added elm_widget_can_focus_child_get API... and I think it doesn't duplicate exist one. 2011/8/5 Gustavo Barbieri barbi...@profusion.mobi Sorry, but there is directional scrolling implemented. Why did you duplicate it with a worse API (directional scrolling takes x,y as direction parameters and may do diagonal). If it's broken or not implemented it's better to fix it than to introduce something new. Sent from my iPhone On 05/08/2011, at 10:26, Enlightenment SVN no-re...@enlightenment.org wrote: Log: elementary : Focus movement is possible with arrow keys. You can check this feature in elementary_test - focus. Author: woohyun Date: 2011-08-05 01:25:07 -0700 (Fri, 05 Aug 2011) New Revision: 62125 Trac: http://trac.enlightenment.org/e/changeset/62125 Modified: trunk/elementary/src/bin/test_focus.c trunk/elementary/src/lib/ Elementary.h.in trunk/elementary/src/lib/elm_widget.c trunk/elementary/src/lib/elm_widget.h trunk/elementary/src/lib/elm_win.c Modified: trunk/elementary/src/bin/test_focus.c === --- trunk/elementary/src/bin/test_focus.c2011-08-05 07:45:45 UTC (rev 62124) +++ trunk/elementary/src/bin/test_focus.c2011-08-05 08:25:07 UTC (rev 62125) @@ -91,7 +91,8 @@ { Evas_Object *lb = elm_label_add(win); elm_object_text_set(lb, - bUse Tab and Shift+Tab/b + bUse Tab, Shift+Tab, andbr + Arrow Keys/b ); evas_object_size_hint_weight_set(lb, 0.0, 0.0); evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, Modified: trunk/elementary/src/lib/Elementary.h.in === --- trunk/elementary/src/lib/Elementary.h.in2011-08-05 07:45:45 UTC (rev 62124) +++ trunk/elementary/src/lib/Elementary.h.in2011-08-05 08:25:07 UTC (rev 62125) @@ -320,7 +320,11 @@ typedef enum _Elm_Focus_Direction { ELM_FOCUS_PREVIOUS, -ELM_FOCUS_NEXT +ELM_FOCUS_NEXT, +ELM_FOCUS_UP, +ELM_FOCUS_DOWN, +ELM_FOCUS_LEFT, +ELM_FOCUS_RIGHT } Elm_Focus_Direction; typedef enum _Elm_Text_Format Modified: trunk/elementary/src/lib/elm_widget.c === --- trunk/elementary/src/lib/elm_widget.c2011-08-05 07:45:45 UTC (rev 62124) +++ trunk/elementary/src/lib/elm_widget.c2011-08-05 08:25:07 UTC (rev 62125) @@ -158,6 +158,10 @@ static Evas_Object *_newest_focus_order_get(Evas_Object *obj, unsigned int *newest_focus_order, Eina_Bool can_focus_only); +static Eina_Bool _focus_list_direction_nearest_get(Evas_Object *obj, +Eina_List *list, +Elm_Focus_Direction dir, +Evas_Object **nearest); /* local subsystem globals */ static Evas_Smart *_e_smart = NULL; @@ -399,6 +403,96 @@ } } +static Eina_Bool +_focus_list_direction_nearest_get(Evas_Object*obj, + Eina_List *list, + Elm_Focus_Direction dir, + Evas_Object **nearest) +{ + Evas_Object *cur, *next = NULL; + Eina_List *l; + double weight = 0.0; + Evas_Coord x, y, w, h, cx, cy; + + if (!nearest) return EINA_FALSE; + *nearest = NULL; + + evas_object_geometry_get(obj, x, y, w, h); + cx = x + (w / 2); + cy = y + (h / 2); + + EINA_LIST_FOREACH(list, l, cur) + { +if (obj == cur) continue; +Evas_Coord cur_x, cur_y, cur_w, cur_h; +int w_gap = 0, h_gap = 0; +double cur_weight = 0.0; + +evas_object_geometry_get(cur, cur_x, cur_y, cur_w, cur_h); + +if (dir == ELM_FOCUS_LEFT) + { + if (x (cur_x + cur_w)) continue; + w_gap = x - (cur_x + cur_w); + if ((cy = cur_y) (cy = (cur_y + cur_h))) + h_gap = 0; + else if (cy (cur_y + cur_h)) +
[E-devel] [PATCH] XIM patch for generating preedit changed event
I tested this patch ~ and checked that it worked well : ) In svn 61876 !! -- Got Input? Slashdot Needs You. Take our quick survey online. Come on, we don't ask for help often. Plus, you'll get a chance to win $100 to spend on ThinkGeek. http://p.sf.net/sfu/slashdot-survey ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Renaming elm_object_label_set/get
Hello ~ Tom. I really really really agree with this change J It should be ~ I think. +1 to your opinion Thanks. WooHyun. -- All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] E SVN: seoz IN trunk/devs: . woohyun
Thanks for welcoming ~ JJ -- EditLive Enterprise is the world's most technically advanced content authoring tool. Experience the power of Track Changes, Inline Image Editing and ensure content is compliant with Accessibility Checking. http://p.sf.net/sfu/ephox-dev2dev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch] Improve elm_entry_filter_limit_size function.
Hello ~ I made a patch for improving elm_entry_filter_limit_size function. After updating this patch, elm_entry_filter_limit_size function will care about tags and escape characters. Can anybody check about this patch ? Thanks : ) entry_filter.patch Description: Binary data -- EditLive Enterprise is the world's most technically advanced content authoring tool. Experience the power of Track Changes, Inline Image Editing and ensure content is compliant with Accessibility Checking. http://p.sf.net/sfu/ephox-dev2dev___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Question about edje_cc error
My result of /usr/local/bin your data is ((8+ 30)/8); If my memory is correct, it was ((8+@0)/8); Right ? -Original Message- From: Carsten Haitzler (The Rasterman) [mailto:ras...@rasterman.com] Sent: Wednesday, June 01, 2011 4:51 PM To: WooHyun Jung Cc: enlightenment-devel@lists.sourceforge.net Subject: Re: [E-devel] Question about edje_cc error On Tue, 31 May 2011 21:45:45 +0900 WooHyun Jung wh0705.j...@samsung.com said: this reduces pretty much to the attached case havign a bug :) if its 8+x is fails. if its 8.x it fails. if its 8:x it works or 8 x it works. Missed file Sorry T _ T From: WooHyun Jung [mailto:wh0705.j...@samsung.com] Sent: Tuesday, May 31, 2011 9:34 PM To: 'enlightenment-devel@lists.sourceforge.net' Subject: Question about edje_cc error Hello. All. I encountered one edje_cc error, and tried to resolve.. but hard : ( This error is shown when Macro is used. I attached a patch file for making problem situation. After adapting patch, you can see the following error message. ERR18498:edje_cc edje_cc_parse.c:1376 _funcf() /usr/local/bin/edje_cc: Error. ../../data/themes/default.edc:1973 unexpected character at @0)/8) Does anybody have a idea about this? -- - Codito, ergo sum - I code, therefore I am -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- Simplify data backup and recovery for your virtual environment with vRanger. Installation's a snap, and flexible recovery options mean your data is safe, secure and there when you need it. Data protection magic? Nope - It's vRanger. Get your free trial download today. http://p.sf.net/sfu/quest-sfdev2dev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] Question about edje_cc error
Hello. All. I encountered one edje_cc error, and tried to resolve.. but hard : ( This error is shown when Macro is used. I attached a patch file for making problem situation. After adapting patch, you can see the following error message. ERR18498:edje_cc edje_cc_parse.c:1376 _funcf() /usr/local/bin/edje_cc: Error. ../../data/themes/default.edc:1973 unexpected character at @0)/8) Does anybody have a idea about this? -- Simplify data backup and recovery for your virtual environment with vRanger. Installation's a snap, and flexible recovery options mean your data is safe, secure and there when you need it. Data protection magic? Nope - It's vRanger. Get your free trial download today. http://p.sf.net/sfu/quest-sfdev2dev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] Question about edje_cc error
Missed file ~ Sorry problem_edc.patch Description: Binary data -- Simplify data backup and recovery for your virtual environment with vRanger. Installation's a snap, and flexible recovery options mean your data is safe, secure and there when you need it. Data protection magic? Nope - It's vRanger. Get your free trial download today. http://p.sf.net/sfu/quest-sfdev2dev___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Question about edje_cc error
Missed file Sorry T _ T From: WooHyun Jung [mailto:wh0705.j...@samsung.com] Sent: Tuesday, May 31, 2011 9:34 PM To: 'enlightenment-devel@lists.sourceforge.net' Subject: Question about edje_cc error Hello. All. I encountered one edje_cc error, and tried to resolve.. but hard : ( This error is shown when Macro is used. I attached a patch file for making problem situation. After adapting patch, you can see the following error message. ERR18498:edje_cc edje_cc_parse.c:1376 _funcf() /usr/local/bin/edje_cc: Error. ../../data/themes/default.edc:1973 unexpected character at @0)/8) Does anybody have a idea about this? problem_edc.patch Description: Binary data -- Simplify data backup and recovery for your virtual environment with vRanger. Installation's a snap, and flexible recovery options mean your data is safe, secure and there when you need it. Data protection magic? Nope - It's vRanger. Get your free trial download today. http://p.sf.net/sfu/quest-sfdev2dev___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] Question about eina_inline_lock_posix.x error.
Hello~ All. If I include pthread.h first and then Elementary.h, following error message is shown. (__USE_UNIX98 = 0) /usr/include/eina-1/eina/eina_inline_lock_posix.x:101:41: error: 'PTHREAD_MUTEX_ERRORCHECK' undeclared (first use in this function) Should eina_inline_lock_posix.x file be modified as below ? #ifdef __USE_UNIX98 if (pthread_mutexattr_settype(attr, PTHREAD_MUTEX_ERRORCHECK) != 0) return EINA_FALSE; #else if (pthread_mutexattr_settype(attr, PTHREAD_MUTEX_ERRORCHECK_NP) != 0) return EINA_FALSE; #endif -- vRanger cuts backup time in half-while increasing security. With the market-leading solution for virtual backup and recovery, you get blazing-fast, flexible, and affordable data protection. Download your free trial now. http://p.sf.net/sfu/quest-d2dcopy1 ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch] elm_widget_focus_steal should be executed only with can_focus object.
Hello. All ~ I think elm_widget_focus_steal function should be executed only with can_focus widget object. (Cannot_focus object has no right to steal focus from others !!) How do you think about this ? If my idea makes sense, then plz adapt my patch : ) elm_widget.patch Description: Binary data -- What Every C/C++ and Fortran developer Should Know! Read this article and learn how Intel has extended the reach of its next-generation tools to help Windows* and Linux* C/C++ and Fortran developers boost performance applications - including clusters. http://p.sf.net/sfu/intel-dev2devmay___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch] About _parent_focus function in elm_widget.c
Hello. All. I think current _parent_focus function (elm_widget.c) has one problem. Following conditional statement(in _parent_focus func) can not cover all cases. . if (!ret || (!i) || (i != focus_order)) _parent_focus(o); . For example, an application calls like follows, 1. elm_object_unfocus(a parent of newest focused object); 2. elm_object_focus(newest focused object); then the parent(unfocused by 1) is still unfocused, even if its child gets focused(by 2). This is because (i == focus_order). So I made a patch. Can anybody check about this? Thanks. elm_widget.patch Description: Binary data -- Achieve unprecedented app performance and reliability What every C/C++ and Fortran developer should know. Learn how Intel has extended the reach of its next-generation tools to help boost performance applications - inlcuding clusters. http://p.sf.net/sfu/intel-dev2devmay___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch] Focus moving by arrow key.
Hello. All ~ I've made a patch for Focus moving by arrow key. After adapting this patch to current elementary, you can check the change by executing elementary_test application. (elementary_test - focus) Can anybody check about this ? I welcome your advice : ) Thanks !! arrow_focus_move.patch Description: Binary data -- Achieve unprecedented app performance and reliability What every C/C++ and Fortran developer should know. Learn how Intel has extended the reach of its next-generation tools to help boost performance applications - inlcuding clusters. http://p.sf.net/sfu/intel-dev2devmay___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch] bug fix in _elm_util_mkup_to_text function ~
Hello. I've found one bug in _elm_util_mkup_to_text function. If (!*p) then, it should finish the loop. Thx : ) elm_util.patch Description: Binary data -- Benefiting from Server Virtualization: Beyond Initial Workload Consolidation -- Increasing the use of server virtualization is a top priority.Virtualization can reduce costs, simplify management, and improve application availability and disaster protection. Learn more about boosting the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [Patch] elm_colorselector : mouse_down (on buttons) is canceled when mouse_move.
Hmm. But, as you said, ON_HOLD is set only by scroller. It means horizontal flicking can not be checked with vertical scroller. So I implemented like this ~ How do you think about this ? -Original Message- From: Carsten Haitzler (The Rasterman) [mailto:ras...@rasterman.com] Sent: Tuesday, April 12, 2011 4:58 PM To: WooHyun Jung Cc: enlightenment-devel@lists.sourceforge.net Subject: Re: [E-devel] [Patch] elm_colorselector : mouse_down (on buttons) is canceled when mouse_move. On Mon, 11 Apr 2011 15:32:41 +0900 WooHyun Jung wh0705.j...@samsung.com said: you know.. you should just look at the ON_HOLD flag and/or the ON_HOLD event callback rather than re-implement the check if distance moved more than X that scroller already does (then sets hold flag - hold flag == cancel what u were going to do before) :) Hello. I made a patch for elm_colorselector. Purpose is Mouse_down (on buttons) is canceled when mouse_move (i.e. flicking). Can anybody check about this ? Thanks. : ) -- - Codito, ergo sum - I code, therefore I am -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- Forrester Wave Report - Recovery time is now measured in hours and minutes not days. Key insights are discussed in the 2010 Forrester Wave Report as part of an in-depth evaluation of disaster recovery service providers. Forrester found the best-in-class provider in terms of services and vision. Read this report now! http://p.sf.net/sfu/ibm-webcastpromo ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch] elm_colorselector : mouse_down (on buttons) is canceled when mouse_move.
Hello. I made a patch for elm_colorselector. Purpose is Mouse_down (on buttons) is canceled when mouse_move (i.e. flicking). Can anybody check about this ? Thanks. : ) colorselector.patch Description: Binary data -- Xperia(TM) PLAY It's a major breakthrough. An authentic gaming smartphone on the nation's most reliable network. And it wants your games. http://p.sf.net/sfu/verizon-sfdev___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel