[EGIT] [core/efl] master 01/02: efl_ui_position_manager_grid: avoid zero division case

2019-11-28 Thread WooHyun Jung
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

2019-11-22 Thread WooHyun Jung
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

2019-10-14 Thread WooHyun Jung
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

2019-10-07 Thread WooHyun Jung
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

2019-09-26 Thread WooHyun Jung
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

2019-09-26 Thread WooHyun Jung
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

2019-09-26 Thread WooHyun Jung
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

2019-09-25 Thread WooHyun Jung
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

2019-09-25 Thread WooHyun Jung
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

2019-09-23 Thread WooHyun Jung
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

2019-09-19 Thread WooHyun Jung
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

2019-09-15 Thread WooHyun Jung
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

2019-09-15 Thread WooHyun Jung
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

2019-09-15 Thread WooHyun Jung
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

2019-09-15 Thread WooHyun Jung
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

2019-09-15 Thread WooHyun Jung
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

2019-09-15 Thread WooHyun Jung
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

2019-09-15 Thread WooHyun Jung
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

2019-09-15 Thread WooHyun Jung
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)

2019-09-15 Thread WooHyun Jung
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

2019-09-15 Thread WooHyun Jung
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

2019-09-15 Thread WooHyun Jung
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

2019-09-15 Thread WooHyun Jung
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

2019-07-11 Thread WooHyun Jung
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

2019-05-30 Thread WooHyun Jung
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

2017-10-10 Thread WooHyun Jung
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

2017-08-23 Thread WooHyun Jung
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

2017-07-26 Thread WooHyun Jung
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"

2017-07-16 Thread WooHyun Jung
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

2017-07-16 Thread WooHyun Jung
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

2017-04-13 Thread WooHyun Jung
+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

2016-12-20 Thread WooHyun Jung
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

2016-12-02 Thread WooHyun Jung
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

2016-11-29 Thread WooHyun Jung
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

2016-11-01 Thread WooHyun Jung
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

2016-10-27 Thread WooHyun Jung
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

2016-10-21 Thread WooHyun Jung
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

2016-09-22 Thread WooHyun Jung
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

2016-09-19 Thread WooHyun Jung
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

2016-09-19 Thread WooHyun Jung
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

2016-09-11 Thread WooHyun Jung
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

2016-08-30 Thread WooHyun Jung
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

2016-08-26 Thread WooHyun Jung
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

2016-08-03 Thread WooHyun Jung
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

2016-06-22 Thread WooHyun Jung
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

2015-03-23 Thread WooHyun Jung
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

2015-03-20 Thread WooHyun Jung
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

2015-02-02 Thread WooHyun Jung
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.

2015-01-16 Thread WooHyun Jung
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

2014-09-17 Thread WooHyun Jung
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.

2014-07-18 Thread WooHyun Jung
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.

2014-07-03 Thread WooHyun Jung
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

2014-07-03 Thread WooHyun Jung
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.

2014-06-23 Thread WooHyun Jung
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.

2014-05-22 Thread WooHyun Jung
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.

2014-05-08 Thread WooHyun Jung
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.

2014-04-29 Thread WooHyun Jung
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.

2014-03-27 Thread WooHyun Jung
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.

2014-03-19 Thread WooHyun Jung
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.

2014-03-19 Thread WooHyun Jung
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.

2014-03-11 Thread WooHyun Jung
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.

2014-03-11 Thread WooHyun Jung
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.

2014-03-02 Thread WooHyun Jung
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.

2014-02-26 Thread WooHyun Jung
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.

2014-02-26 Thread WooHyun Jung
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

2014-02-05 Thread WooHyun Jung
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.

2014-01-22 Thread WooHyun Jung
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.

2014-01-22 Thread WooHyun Jung
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.

2014-01-21 Thread WooHyun Jung
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.

2014-01-21 Thread WooHyun Jung
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.

2014-01-15 Thread WooHyun Jung
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.

2014-01-03 Thread WooHyun Jung
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.

2013-12-04 Thread WooHyun Jung
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.

2013-12-04 Thread WooHyun Jung
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.

2013-11-20 Thread WooHyun Jung
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.

2013-11-20 Thread WooHyun Jung
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

2013-11-20 Thread WooHyun Jung
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.

2013-11-01 Thread WooHyun Jung
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.

2013-10-31 Thread WooHyun Jung
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.

2013-10-21 Thread WooHyun Jung
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~

2013-10-21 Thread WooHyun Jung
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.

2013-09-29 Thread WooHyun Jung
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

2011-12-28 Thread WooHyun Jung
+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

2011-10-28 Thread WooHyun Jung
+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

2011-08-05 Thread WooHyun Jung
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

2011-07-28 Thread WooHyun Jung
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

2011-07-04 Thread WooHyun Jung
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

2011-06-14 Thread WooHyun Jung
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.

2011-06-07 Thread WooHyun Jung
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

2011-06-01 Thread WooHyun Jung
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

2011-05-31 Thread WooHyun Jung
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

2011-05-31 Thread WooHyun Jung
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

2011-05-31 Thread WooHyun Jung
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.

2011-05-30 Thread WooHyun Jung
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.

2011-05-20 Thread WooHyun Jung
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

2011-05-17 Thread WooHyun Jung
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.

2011-05-16 Thread WooHyun Jung
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 ~

2011-04-21 Thread WooHyun Jung
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.

2011-04-12 Thread WooHyun Jung
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.

2011-04-11 Thread WooHyun Jung
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


  1   2   >