[EGIT] [enlightenment/modules/desksanity] master 02/03: make pip move/resize while clipped more accurate based on clip geometry

2015-12-02 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/desksanity.git/commit/?id=7c90ff81360aeff9de19a4cb7179c5226aad7b2b

commit 7c90ff81360aeff9de19a4cb7179c5226aad7b2b
Author: Mike Blumenkrantz 
Date:   Wed Dec 2 13:40:58 2015 -0500

make pip move/resize while clipped more accurate based on clip geometry
---
 src/pip.c | 145 ++
 1 file changed, 90 insertions(+), 55 deletions(-)

diff --git a/src/pip.c b/src/pip.c
index 21d4177..09fdc1a 100644
--- a/src/pip.c
+++ b/src/pip.c
@@ -78,6 +78,66 @@ pip_free(Pip *pip)
free(pip);
 }
 
+static void
+_pip_resize(Pip *pip, int *ox, int *oy, int *ow, int *oh, 
Ecore_Event_Mouse_Move *ev)
+{
+   int x, y, w, h;
+
+   x = *ox, y = *oy, w = *ow, h = *oh;
+
+   if ((pip->resize_mode == E_POINTER_RESIZE_B) ||
+   (pip->resize_mode == E_POINTER_RESIZE_BL) ||
+   (pip->resize_mode == E_POINTER_RESIZE_BR))
+ h = MAX(e_comp_canvas_y_root_adjust(ev->root.y) - y, 5);
+   else if ((pip->resize_mode == E_POINTER_RESIZE_T) ||
+   (pip->resize_mode == E_POINTER_RESIZE_TL) ||
+   (pip->resize_mode == E_POINTER_RESIZE_TR))
+ {
+h = MAX((y + h) - (e_comp_canvas_y_root_adjust(ev->root.y) - 
pip->down.y), 5);
+y = e_comp_canvas_y_root_adjust(ev->root.y) - pip->down.y;
+ }
+   if ((pip->resize_mode == E_POINTER_RESIZE_R) ||
+   (pip->resize_mode == E_POINTER_RESIZE_TR) ||
+   (pip->resize_mode == E_POINTER_RESIZE_BR))
+ w = MAX(e_comp_canvas_x_root_adjust(ev->root.x) - x, 5);
+   else if ((pip->resize_mode == E_POINTER_RESIZE_L) ||
+   (pip->resize_mode == E_POINTER_RESIZE_TL) ||
+   (pip->resize_mode == E_POINTER_RESIZE_BL))
+ {
+w = MAX((x + w) - (e_comp_canvas_x_root_adjust(ev->root.x) - 
pip->down.x), 5);
+x = e_comp_canvas_x_root_adjust(ev->root.x) - pip->down.x;
+ }
+   {
+  E_Client *ec;
+
+  ec = evas_object_data_get(pip->pip, "E_Client");
+  switch (pip->resize_mode)
+{
+ case E_POINTER_RESIZE_TL:
+ case E_POINTER_RESIZE_TR:
+ case E_POINTER_RESIZE_BR:
+ case E_POINTER_RESIZE_BL:
+   if (abs(e_comp_canvas_x_root_adjust(ev->root.x) - pip->down.x) > 
abs(e_comp_canvas_y_root_adjust(ev->root.y) - pip->down.y))
+ h = (ec->h * w) / ec->w;
+   else
+ w = (ec->w * h) / ec->h;
+   break;
+
+ case E_POINTER_RESIZE_T:
+ case E_POINTER_RESIZE_B:
+   w = (ec->w * h) / ec->h;
+   break;
+
+ case E_POINTER_RESIZE_R:
+ case E_POINTER_RESIZE_L:
+   h = (ec->h * w) / ec->w;
+   break;
+ default: break;
+}
+   }
+   *ox = x, *oy = y, *ow = w, *oh = h;
+}
+
 static Eina_Bool
 _pip_mouse_move(Pip *pip, int t EINA_UNUSED, Ecore_Event_Mouse_Move *ev)
 {
@@ -86,63 +146,35 @@ _pip_mouse_move(Pip *pip, int t EINA_UNUSED, 
Ecore_Event_Mouse_Move *ev)
evas_object_geometry_get(pip->pip, , , , );
if (pip->resize)
  {
-if ((pip->resize_mode == E_POINTER_RESIZE_B) ||
-(pip->resize_mode == E_POINTER_RESIZE_BL) ||
-(pip->resize_mode == E_POINTER_RESIZE_BR))
-  h = MAX(e_comp_canvas_y_root_adjust(ev->root.y) - y, 5);
-else if ((pip->resize_mode == E_POINTER_RESIZE_T) ||
-(pip->resize_mode == E_POINTER_RESIZE_TL) ||
-(pip->resize_mode == E_POINTER_RESIZE_TR))
-  {
- h = MAX((y + h) - (e_comp_canvas_y_root_adjust(ev->root.y) - 
pip->down.y), 5);
- y = e_comp_canvas_y_root_adjust(ev->root.y) - pip->down.y;
-  }
-if ((pip->resize_mode == E_POINTER_RESIZE_R) ||
-(pip->resize_mode == E_POINTER_RESIZE_TR) ||
-(pip->resize_mode == E_POINTER_RESIZE_BR))
-  w = MAX(e_comp_canvas_x_root_adjust(ev->root.x) - x, 5);
-else if ((pip->resize_mode == E_POINTER_RESIZE_L) ||
-(pip->resize_mode == E_POINTER_RESIZE_TL) ||
-(pip->resize_mode == E_POINTER_RESIZE_BL))
+_pip_resize(pip, , , , , ev);
+evas_object_geometry_set(pip->pip, x, y, w, h);
+if (pip->clip)
   {
- w = MAX((x + w) - (e_comp_canvas_x_root_adjust(ev->root.x) - 
pip->down.x), 5);
- x = e_comp_canvas_x_root_adjust(ev->root.x) - pip->down.x;
+ evas_object_geometry_get(pip->clip, , , , );
+ _pip_resize(pip, , , , , ev);
+ evas_object_geometry_set(pip->clip, x, y, w, h);
   }
-{
-   E_Client *ec;
-
-   ec = evas_object_data_get(pip->pip, "E_Client");
-   switch (pip->resize_mode)
- {
-  case E_POINTER_RESIZE_TL:
-  case E_POINTER_RESIZE_TR:
-  case E_POINTER_RESIZE_BR:
-  case E_POINTER_RESIZE_BL:
-if (abs(e_comp_canvas_x_root_adjust(ev->root.x) - pip->down.x) 
> 

[EGIT] [enlightenment/modules/desksanity] master 03/03: enable pip edit mode when creating a pip

2015-12-02 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/desksanity.git/commit/?id=c82393c2a490e201fc2f66228d4368a3df3f08c2

commit c82393c2a490e201fc2f66228d4368a3df3f08c2
Author: Mike Blumenkrantz 
Date:   Wed Dec 2 13:41:17 2015 -0500

enable pip edit mode when creating a pip

this is the normal use case so do it automatically
---
 src/pip.c | 8 
 1 file changed, 8 insertions(+)

diff --git a/src/pip.c b/src/pip.c
index 09fdc1a..793c81d 100644
--- a/src/pip.c
+++ b/src/pip.c
@@ -381,6 +381,14 @@ _pip_create(void *data, E_Menu *m EINA_UNUSED, E_Menu_Item 
*mi EINA_UNUSED)
efx_fade(o, EFX_EFFECT_SPEED_LINEAR, EFX_COLOR(255, 255, 255), 255, 0.2, 
_pip_fade_end, NULL);
 
eina_hash_add(pips, >frame, pip);
+   if (editing)
+ {
+evas_object_layer_set(pip->pip, E_LAYER_MENU + 1);
+evas_object_pass_events_set(pip->pip, 0);
+e_comp_shape_queue();
+ }
+   else
+ pips_edit();
 }
 
 static void

-- 




[EGIT] [core/efl] master 02/02: evas: properly clean up all memory.

2015-12-02 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=d577366acb77f6e99c93fd748bedbb77cc7936a6

commit d577366acb77f6e99c93fd748bedbb77cc7936a6
Author: Cedric BAIL 
Date:   Wed Dec 2 12:30:04 2015 -0800

evas: properly clean up all memory.
---
 src/lib/evas/canvas/evas_object_textblock.c | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/canvas/evas_object_textblock.c 
b/src/lib/evas/canvas/evas_object_textblock.c
index 30cfb91..df4734a 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -667,8 +667,10 @@ 
_evas_textblock_selection_iterator_get_container(Evas_Textblock_Selection_Iterat
 static void
 _evas_textblock_selection_iterator_free(Evas_Textblock_Selection_Iterator *it)
 {
-   while (it->list)
- it->list = eina_list_remove_list(it->list, it->list);
+   Evas_Textblock_Rectangle *tr;
+
+   EINA_LIST_FREE(it->list, tr)
+ free(tr);
EINA_MAGIC_SET(>iterator, 0);
free(it);
 }

-- 




[EGIT] [core/efl] master 01/02: evas: fix double free.

2015-12-02 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=11ac6b145d826159b6d336964a965d330127c4cb

commit 11ac6b145d826159b6d336964a965d330127c4cb
Author: Cedric BAIL 
Date:   Wed Dec 2 12:27:25 2015 -0800

evas: fix double free.

The ownership of this list and its content belong to the iterator. This code
was actively double freeing and our test suite doesn't crash or have any 
issue...
Well actually it was complaining that the list had error, but due to our 
other
false positive test that do trigger eina log, we continuously ignored this 
error.

NOTE: The fact that the test rely also on the container of the iterator 
instead
of the iterator itself is not that great to. I kind of feel bad now for 
having
allowed access to the container. We should have been able to allow changing 
the
logic to generate those rectangle step after step instead of in one go. Now 
this
seems difficult.
---
 src/tests/evas/evas_test_textblock.c | 14 --
 1 file changed, 14 deletions(-)

diff --git a/src/tests/evas/evas_test_textblock.c 
b/src/tests/evas/evas_test_textblock.c
index a14f599..b529fcb 100644
--- a/src/tests/evas/evas_test_textblock.c
+++ b/src/tests/evas/evas_test_textblock.c
@@ -2429,10 +2429,6 @@ START_TEST(evas_textblock_geometries)
fail_if((tr->x != tr2->x) || (tr->y != tr2->y) || (tr->w != tr2->w) ||
(tr->h != tr2->h));
 
-   EINA_LIST_FREE(rects, tr)
-  free(tr);
-   EINA_LIST_FREE(rects2, tr2)
-  free(tr2);
eina_iterator_free(it);
eina_iterator_free(it2);
 
@@ -2542,10 +2538,6 @@ START_TEST(evas_textblock_geometries)
tr3 = eina_list_nth(rects, 3);
fail_if((tr2->x != tr3->x));
 
-   EINA_LIST_FREE(rects, tr)
-  free(tr);
-   EINA_LIST_FREE(rects2, tr2)
-  free(tr2);
eina_iterator_free(it);
eina_iterator_free(it2);
 
@@ -2561,8 +2553,6 @@ START_TEST(evas_textblock_geometries)
 
fail_if(eina_list_count(rects) != 2);
 
-   EINA_LIST_FREE(rects, tr)
-  free(tr);
eina_iterator_free(it);
 
/* Same run different styles */
@@ -2576,8 +2566,6 @@ START_TEST(evas_textblock_geometries)
 
fail_if(eina_list_count(rects) != 3);
 
-   EINA_LIST_FREE(rects, tr)
-  free(tr);
eina_iterator_free(it);
 
/* Bidi text with a few back and forth from bidi. */
@@ -2592,8 +2580,6 @@ START_TEST(evas_textblock_geometries)
 
ck_assert_int_eq(eina_list_count(rects), 3);
 
-   EINA_LIST_FREE(rects, tr)
-  free(tr);
eina_iterator_free(it);
 
END_TB_TEST();

-- 




[EGIT] [enlightenment/modules/desksanity] master 02/03: add multipress functionality for superkey

2015-12-02 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/desksanity.git/commit/?id=26bf74f9912ed77109f08f8e1b8eff94833d96f3

commit 26bf74f9912ed77109f08f8e1b8eff94833d96f3
Author: Mike Blumenkrantz 
Date:   Mon Nov 9 15:58:17 2015 -0500

add multipress functionality for superkey

iterate through the focus chain by repeatedly pressing the superkey
---
 src/e_mod_main.c | 65 ++--
 1 file changed, 63 insertions(+), 2 deletions(-)

diff --git a/src/e_mod_main.c b/src/e_mod_main.c
index 830122b..5dad574 100644
--- a/src/e_mod_main.c
+++ b/src/e_mod_main.c
@@ -13,6 +13,8 @@ static Eina_List *urgent;
 static Eina_List *focus_list;
 
 static Eina_List *handlers;
+static Ecore_Timer *ds_key_focus_timeout;
+static Eina_List *ds_key_focus_desks;
 
 static void
 _ds_fade_end(Ecore_Cb cb, Efx_Map_Data *emd EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED)
@@ -75,23 +77,80 @@ ds_client_urgent_pop(E_Client *ec)
return !!e_object_unref(E_OBJECT(ec)) ? ec : NULL;
 }
 
+static Eina_List *
+ds_key_list_init(const E_Zone *zone)
+{
+   int i;
+   Eina_List *desks = NULL;
+
+   for (i = 0; i < zone->desk_x_count * zone->desk_y_count; i++)
+ {
+if (zone->desks[i]->visible) continue;
+e_object_ref(E_OBJECT(zone->desks[i]));
+desks = eina_list_append(desks, zone->desks[i]);
+ }
+   return desks;
+}
+
+static Eina_Bool
+ds_key_focus_timeout_cb(void *d EINA_UNUSED)
+{
+   E_Client *ec;
+
+   e_client_focus_track_thaw();
+   ec = e_client_focused_get();
+   if (ec)
+ e_client_focus_latest_set(ec);
+   ds_key_focus_timeout = NULL;
+   E_FREE_LIST(ds_key_focus_desks, e_object_unref);
+   return EINA_FALSE;
+}
+
 static void
 ds_key_focus(void)
 {
Eina_List *l;
E_Client *ec;
E_Zone *focus_zone = NULL;
+   static double last;
+   double t = 0.0;
+   Eina_Bool skip = EINA_FALSE;
 
if (!focus_list)
- focus_zone = e_zone_current_get();
+ {
+focus_zone = e_zone_current_get();
+if (!ds_key_focus_desks)
+  ds_key_focus_desks = ds_key_list_init(focus_zone);
+if (!ds_key_focus_timeout)
+  {
+ e_client_focus_track_freeze();
+ ds_key_focus_timeout = ecore_timer_add(0.25, 
ds_key_focus_timeout_cb, NULL);
+  }
+t = ecore_time_unix_get();
+skip = (t - last < 0.25);
+if (skip)
+  ecore_timer_reset(ds_key_focus_timeout);
+ }
+   else
+ {
+E_FREE_FUNC(ds_key_focus_timeout, ecore_timer_del);
+E_FREE_LIST(ds_key_focus_desks, e_object_unref);
+e_client_focus_track_thaw();
+ }
 
EINA_LIST_FOREACH(focus_list ?: e_client_focus_stack_get(), l, ec)
  if ((!ec->iconic) && (!ec->focused) &&
- ((!focus_zone) || ((ec->zone == focus_zone) && (!ec->desk->visible
+ ((!focus_zone) || ((ec->zone == focus_zone) && 
eina_list_data_find(ds_key_focus_desks, ec->desk
{
+  if (ds_key_focus_desks)
+{
+   ds_key_focus_desks = eina_list_remove(ds_key_focus_desks, 
ec->desk);
+   e_object_unref(E_OBJECT(ec->desk));
+}
   e_client_activate(ec, 1);
   break;
}
+   last = t;
focus_list = eina_list_free(focus_list);
 }
 
@@ -205,6 +264,8 @@ e_modapi_shutdown(E_Module *m EINA_UNUSED)
E_FREE_LIST(handlers, ecore_event_handler_del);
E_FREE_LIST(urgent, e_object_unref);
focus_list = eina_list_free(focus_list);
+   E_FREE_FUNC(ds_key_focus_timeout, ecore_timer_del);
+   E_FREE_LIST(ds_key_focus_desks, e_object_unref);
//efx_shutdown(); broken...
return 1;
 }

-- 




[EGIT] [enlightenment/modules/desksanity] master 03/03: add handling for maintaining sticky windows with superkey

2015-12-02 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/desksanity.git/commit/?id=6a21290dcd3dad4a495c0953dc93995b5eb4c229

commit 6a21290dcd3dad4a495c0953dc93995b5eb4c229
Author: Mike Blumenkrantz 
Date:   Thu Nov 12 17:51:30 2015 -0500

add handling for maintaining sticky windows with superkey

manage sticky windows based on their last-used desk when flipping
---
 src/e_mod_main.c | 30 ++
 1 file changed, 30 insertions(+)

diff --git a/src/e_mod_main.c b/src/e_mod_main.c
index 5dad574..449d653 100644
--- a/src/e_mod_main.c
+++ b/src/e_mod_main.c
@@ -16,6 +16,9 @@ static Eina_List *handlers;
 static Ecore_Timer *ds_key_focus_timeout;
 static Eina_List *ds_key_focus_desks;
 
+static Eina_Bool focus_last_focused_per_desktop;
+static unsigned int pending_flip;
+
 static void
 _ds_fade_end(Ecore_Cb cb, Efx_Map_Data *emd EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED)
 {
@@ -147,6 +150,23 @@ ds_key_focus(void)
ds_key_focus_desks = eina_list_remove(ds_key_focus_desks, 
ec->desk);
e_object_unref(E_OBJECT(ec->desk));
 }
+  if (!pending_flip)
+focus_last_focused_per_desktop = 
e_config->focus_last_focused_per_desktop;
+  if (!ec->desk->visible)
+{
+   e_config->focus_last_focused_per_desktop = 0;
+   pending_flip++;
+}
+  if (ec->sticky)
+{
+   E_Client *tec;
+
+   E_CLIENT_FOREACH(tec)
+ if ((!tec->sticky) && (tec->desk == ec->desk)) break;
+   /* do not flip to a sticky window if there are no other windows 
on its desk */
+   if ((!tec) || (tec->desk != ec->desk)) continue;
+   e_desk_show(ec->desk);
+}
   e_client_activate(ec, 1);
   break;
}
@@ -178,6 +198,15 @@ ds_key(E_Object *obj EINA_UNUSED, const char *params 
EINA_UNUSED)
 }
 
 static Eina_Bool
+ds_desk_after_show(void *d EINA_UNUSED, int t EINA_UNUSED, 
E_Event_Desk_After_Show *ev EINA_UNUSED)
+{
+   if (pending_flip)
+ pending_flip--,
+ e_config->focus_last_focused_per_desktop = focus_last_focused_per_desktop;
+   return ECORE_CALLBACK_RENEW;
+}
+
+static Eina_Bool
 ds_client_remove(void *d EINA_UNUSED, int t EINA_UNUSED, E_Event_Client *ev)
 {
ds_client_urgent_pop(ev->ec);
@@ -233,6 +262,7 @@ e_modapi_init(E_Module *m)
 
E_LIST_HANDLER_APPEND(handlers, E_EVENT_CLIENT_PROPERTY, ds_client_urgent, 
NULL);
E_LIST_HANDLER_APPEND(handlers, E_EVENT_CLIENT_REMOVE, ds_client_remove, 
NULL);
+   E_LIST_HANDLER_APPEND(handlers, E_EVENT_DESK_AFTER_SHOW, 
ds_desk_after_show, NULL);
 
act = e_action_add("ds_key");
e_action_predef_name_set(D_("Desksanity"), D_("Manage Window Focus For 
Me"), "ds_key", NULL, NULL, 0);

-- 




[EGIT] [core/efl] master 05/05: evas: set visible texcolorpick texture in 3D shaders

2015-12-02 Thread Oleksandr Shcherbina
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=e82baf2703a5988436decba5260f32e948e65fc2

commit e82baf2703a5988436decba5260f32e948e65fc2
Author: Oleksandr Shcherbina 
Date:   Wed Dec 2 14:47:28 2015 -0800

evas: set visible texcolorpick texture in 3D shaders

Summary:
Add uniform varialble uColorTexture. Generate sampler count for 
textcolorpick
and pass to renderer for bind additional texture unit to gl.
It can be used for different 3D effects - blur, wave distortion, heat haze, 
etc.
T2761

Reviewers: Hermet, raster, cedric

Reviewed By: cedric

Differential Revision: https://phab.enlightenment.org/D3372

Signed-off-by: Cedric BAIL 
---
 src/modules/evas/engines/gl_common/evas_gl_3d.c | 15 +++
 .../evas/engines/gl_common/evas_gl_3d_private.h |  5 -
 .../evas/engines/gl_common/evas_gl_3d_renderer.c| 21 -
 .../evas/engines/gl_common/evas_gl_3d_shader.c  |  5 +
 4 files changed, 40 insertions(+), 6 deletions(-)

diff --git a/src/modules/evas/engines/gl_common/evas_gl_3d.c 
b/src/modules/evas/engines/gl_common/evas_gl_3d.c
index 357039c..4cb6887 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_3d.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_3d.c
@@ -1122,13 +1122,19 @@ _mesh_draw_data_build(E3D_Draw_Data *data,
 _light_build(data, light, matrix_eye);
 eina_normal3_matrix_get(>matrix_normal, matrix_mv);
  }
-
-   int num;
+   /*Check possible quantity of texture units*/
+   int num, count = 0;
glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, );
data->smap_sampler = num - 1;
 
-   if (data->texture_count >= num)
- if ((data->flags & E3D_SHADER_FLAG_SHADOWED) || (data->texture_count > 
num))
+   if (data->render_to_texture)
+ {
+count++;
+data->colortex_sampler = num - (count + 1);
+ }
+   if (data->texture_count + count >= num)
+ if ((data->flags & E3D_SHADER_FLAG_SHADOWED) ||
+ (data->texture_count + count > num))
{
   ERR("Too many textures for your graphics configuration.");
   return EINA_FALSE;
@@ -1144,6 +1150,7 @@ _mesh_draw(E3D_Renderer *renderer, Evas_Canvas3D_Mesh 
*mesh, int frame, Evas_Can
E3D_Draw_Data   data;
 
memset(, 0x00, sizeof(E3D_Draw_Data));
+   data.render_to_texture = e3d_renderer_rendering_to_texture_get(renderer);
 
if (_mesh_draw_data_build(, mesh, frame, matrix_eye, matrix_mv, 
matrix_mvp, matrix_light, light))
  e3d_renderer_draw(renderer, );
diff --git a/src/modules/evas/engines/gl_common/evas_gl_3d_private.h 
b/src/modules/evas/engines/gl_common/evas_gl_3d_private.h
index 56f98c1..9478093 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_3d_private.h
+++ b/src/modules/evas/engines/gl_common/evas_gl_3d_private.h
@@ -87,6 +87,7 @@ struct _E3D_Draw_Data
Evas_Real shininess;
 
GLint   smap_sampler;
+   GLint   colortex_sampler;
Evas_Canvas3D_Blend_Func  blend_sfactor;
Evas_Canvas3D_Blend_Func  blend_dfactor;
Eina_Bool   blending : 1;
@@ -111,6 +112,8 @@ struct _E3D_Draw_Data
Evas_Real   pcf_step;
Evas_Real   pcf_size;
Evas_Real   constant_bias;
+
+   Eina_Bool   render_to_texture;
 };
 
 struct _E3D_Texture
@@ -171,5 +174,5 @@ void e3d_renderer_clear(E3D_Renderer 
*renderer, const Evas_Color
 void e3d_renderer_draw(E3D_Renderer *renderer, E3D_Draw_Data 
*data);
 void e3d_renderer_flush(E3D_Renderer *renderer);
 void e3d_renderer_color_pick_target_set(E3D_Renderer 
*renderer, E3D_Drawable *drawable);
-
+Eina_Boole3d_renderer_rendering_to_texture_get(E3D_Renderer 
*renderer);
 #endif /* EVAS_GL_3D_PRIVATE_H */
diff --git a/src/modules/evas/engines/gl_common/evas_gl_3d_renderer.c 
b/src/modules/evas/engines/gl_common/evas_gl_3d_renderer.c
index aff604c..05e6e97 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_3d_renderer.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_3d_renderer.c
@@ -15,7 +15,10 @@ struct _E3D_Renderer
Eina_Bool  vertex_attrib_enable[E3D_MAX_VERTEX_ATTRIB_COUNT];
Eina_Bool  depth_test_enable;
GLuint texDepth;
-   GLint smap_sampler;
+   GLint  smap_sampler;
+   Eina_Bool  render_to_texture;
+   GLuint texcolorpick;
+   GLint  colortex_sampler;
 };
 
 static inline GLenum
@@ -208,6 +211,12 @@ _renderer_texture_bind(E3D_Renderer *renderer, 
E3D_Draw_Data *data)
 glBindTexture(GL_TEXTURE_2D, renderer->texDepth);
 renderer->smap_sampler = data->smap_sampler;
  }
+   if (renderer->render_to_texture)
+ {
+glActiveTexture(GL_TEXTURE0 + data->colortex_sampler);
+glBindTexture(GL_TEXTURE_2D, renderer->texcolorpick);
+

[EGIT] [core/efl] master 03/05: ecore_evas: fix disappearing socket image

2015-12-02 Thread jiin.moon
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=91ba12fed938281048586c7127370e41689a8eff

commit 91ba12fed938281048586c7127370e41689a8eff
Author: jiin.moon 
Date:   Wed Dec 2 14:22:35 2015 -0800

ecore_evas: fix disappearing socket image

Summary:
In case there is connection between a server and some client,
show/hide does not work properly.

If there are clients need to show,
this patch make it hide operation will not work even if get the hide signal

@fix

Reviewers: jypark, Hermet, cedric

Subscribers: Hermet, cedric

Differential Revision: https://phab.enlightenment.org/D2962

Signed-off-by: Cedric BAIL 
---
 src/modules/ecore_evas/engines/extn/ecore_evas_extn.c | 18 +-
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c 
b/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c
index e280bbc..c04afe8 100644
--- a/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c
+++ b/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c
@@ -27,7 +27,6 @@
 static int blank = 0x;
 static const char *interface_extn_name = "extn";
 static const int   interface_extn_version = 1;
-
 static Ecore_Evas_Interface_Extn *_ecore_evas_extn_interface_new(void);
 static void *_ecore_evas_socket_switch(void *data, void *dest_buf);
 
@@ -38,6 +37,7 @@ struct _Extn
struct {
   Ecore_Ipc_Server *server;
   Eina_List *clients;
+  Eina_List *visible_clients;
   Eina_List *handlers;
} ipc;
struct {
@@ -208,6 +208,7 @@ _ecore_evas_extn_free(Ecore_Evas *ee)
ecore_ipc_client_del(client);
   }
 if (extn->ipc.server) ecore_ipc_server_del(extn->ipc.server);
+if (extn->ipc.visible_clients) 
eina_list_free(extn->ipc.visible_clients);
 
 EINA_LIST_FREE(extn->file.updates, ipc)
   free(ipc);
@@ -1594,6 +1595,7 @@ _ipc_client_del(void *data, int type EINA_UNUSED, void 
*event)
if (!eina_list_data_find(extn->ipc.clients, e->client)) return 
ECORE_CALLBACK_PASS_ON;
 
extn->ipc.clients = eina_list_remove(extn->ipc.clients, e->client);
+   extn->ipc.visible_clients = eina_list_remove(extn->ipc.visible_clients, 
e->client);
 
_ecore_evas_extn_event(ee, ECORE_EVAS_EXTN_CLIENT_DEL);
return ECORE_CALLBACK_PASS_ON;
@@ -1629,6 +1631,8 @@ _ipc_client_data(void *data, int type EINA_UNUSED, void 
*event)
   case OP_SHOW:
  if (!ee->visible)
{
+  if (!eina_list_data_find(extn->ipc.visible_clients, e->client))
+extn->ipc.visible_clients = 
eina_list_append(extn->ipc.visible_clients, e->client);
   ee->prop.withdrawn = EINA_FALSE;
   if (ee->func.fn_state_change) ee->func.fn_state_change(ee);
   ee->visible = 1;
@@ -1638,10 +1642,14 @@ _ipc_client_data(void *data, int type EINA_UNUSED, void 
*event)
   case OP_HIDE:
  if (ee->visible)
{
-  ee->prop.withdrawn = EINA_TRUE;
-  if (ee->func.fn_state_change) ee->func.fn_state_change(ee);
-  ee->visible = 0;
-  if (ee->func.fn_hide) ee->func.fn_hide(ee);
+  extn->ipc.visible_clients = 
eina_list_remove(extn->ipc.visible_clients, e->client);
+  if (!eina_list_count(extn->ipc.visible_clients))
+{
+   ee->prop.withdrawn = EINA_TRUE;
+   if (ee->func.fn_state_change) ee->func.fn_state_change(ee);
+   ee->visible = 0;
+   if (ee->func.fn_hide) ee->func.fn_hide(ee);
+}
}
  break;
   case OP_FOCUS:

-- 




[EGIT] [core/efl] master 01/05: edje: Remove redondant array in Evas 3D edd (part2)

2015-12-02 Thread perepelits.m
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a19786649f0eba0bafc842c861934647d22074c7

commit a19786649f0eba0bafc842c861934647d22074c7
Author: perepelits.m 
Date:   Wed Dec 2 14:09:33 2015 -0800

edje: Remove redondant array in Evas 3D edd (part2)

Summary: There are more redundant arrays to be deleted. In fact I don't 
think string name of descriptor shouldn't never change, I was testing some 2D 
examples and this is not true.

Reviewers: raster, jpeg, cedric

Subscribers: artem.popov, cedric

Differential Revision: https://phab.enlightenment.org/D3361

Signed-off-by: Cedric BAIL 
---
 src/lib/edje/edje_data.c | 6 --
 1 file changed, 6 deletions(-)

diff --git a/src/lib/edje/edje_data.c b/src/lib/edje/edje_data.c
index 8406878..6bebd15 100644
--- a/src/lib/edje/edje_data.c
+++ b/src/lib/edje/edje_data.c
@@ -926,8 +926,6 @@ _edje_edd_init(void)
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_mesh_node, 
Edje_Part_Description_Mesh_Node, "mesh_node.aabb2.rel_to", 
mesh_node.aabb2.rel_to, EET_T_INT);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_mesh_node, 
Edje_Part_Description_Mesh_Node, "mesh_node.orientation.type", 
mesh_node.orientation.type, EET_T_INT);

EET_DATA_DESCRIPTOR_ADD_SUB_NESTED_LOOK(_edje_edd_edje_part_description_mesh_node,
 Edje_Part_Description_Mesh_Node, mesh_node);
-   
EET_DATA_DESCRIPTOR_ADD_BASIC_ARRAY(_edje_edd_edje_part_description_mesh_node, 
Edje_Part_Description_Mesh_Node, "mesh_node.orientation.angle_axis", 
mesh_node.orientation.data, EDJE_T_FLOAT);
-   
EET_DATA_DESCRIPTOR_ADD_BASIC_ARRAY(_edje_edd_edje_part_description_mesh_node, 
Edje_Part_Description_Mesh_Node, "mesh_node.orientation.quaternion", 
mesh_node.orientation.data, EDJE_T_FLOAT);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_mesh_node, 
Edje_Part_Description_Mesh_Node, "mesh_node.texture.id", mesh_node.texture.id, 
EET_T_INT);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_mesh_node, 
Edje_Part_Description_Mesh_Node, "mesh_node.texture.set", 
mesh_node.texture.set, EET_T_UCHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_mesh_node, 
Edje_Part_Description_Mesh_Node, "mesh_node.texture.wrap1", 
mesh_node.texture.wrap1, EET_T_UCHAR);
@@ -951,8 +949,6 @@ _edje_edd_init(void)
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_light, 
Edje_Part_Description_Light, "light.position.space", light.position.space, 
EET_T_CHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_light, 
Edje_Part_Description_Light, "light.orientation.type", light.orientation.type, 
EET_T_INT);

EET_DATA_DESCRIPTOR_ADD_SUB_NESTED_LOOK(_edje_edd_edje_part_description_light, 
Edje_Part_Description_Light, light);
-   EET_DATA_DESCRIPTOR_ADD_BASIC_ARRAY(_edje_edd_edje_part_description_light, 
Edje_Part_Description_Light, "light.orientation.angle_axis", 
light.orientation.data, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC_ARRAY(_edje_edd_edje_part_description_light, 
Edje_Part_Description_Light, "light.orientation.quaternion", 
light.orientation.data, EDJE_T_FLOAT);
EET_DATA_DESCRIPTOR_ADD_SUB_NESTED(_edje_edd_edje_part_description_light, 
Edje_Part_Description_Light, "light.properties.ambient", 
light.properties.ambient, _edje_edd_edje_part_description_3d_color);
EET_DATA_DESCRIPTOR_ADD_SUB_NESTED(_edje_edd_edje_part_description_light, 
Edje_Part_Description_Light, "light.properties.diffuse", 
light.properties.diffuse, _edje_edd_edje_part_description_3d_color);
EET_DATA_DESCRIPTOR_ADD_SUB_NESTED(_edje_edd_edje_part_description_light, 
Edje_Part_Description_Light, "light.properties.specular", 
light.properties.specular, _edje_edd_edje_part_description_3d_color);
@@ -967,8 +963,6 @@ _edje_edd_init(void)
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_camera, 
Edje_Part_Description_Camera, "camera.position.space", camera.position.space, 
EET_T_CHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_camera, 
Edje_Part_Description_Camera, "camera.orientation.type", 
camera.orientation.type, EET_T_INT);

EET_DATA_DESCRIPTOR_ADD_SUB_NESTED_LOOK(_edje_edd_edje_part_description_camera, 
Edje_Part_Description_Camera, camera);
-   EET_DATA_DESCRIPTOR_ADD_BASIC_ARRAY(_edje_edd_edje_part_description_camera, 
Edje_Part_Description_Camera, "camera.orientation.angle_axis", 
camera.orientation.data, EDJE_T_FLOAT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC_ARRAY(_edje_edd_edje_part_description_camera, 
Edje_Part_Description_Camera, "camera.orientation.quaternion", 
camera.orientation.data, EDJE_T_FLOAT);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_camera, 
Edje_Part_Description_Camera, "camera.camera.perspective.fovy", 
camera.camera.fovy, EDJE_T_FLOAT);

[EGIT] [core/efl] master 04/05: edje: add missing EAPI keyword for edje_color_class_del

2015-12-02 Thread Jee-Yong Um
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=dc918064ce83ef029ce849cf5e80a85c434ff840

commit dc918064ce83ef029ce849cf5e80a85c434ff840
Author: Jee-Yong Um 
Date:   Wed Dec 2 14:34:12 2015 -0800

edje: add missing EAPI keyword for edje_color_class_del

Reviewers: jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3398

Signed-off-by: Cedric BAIL 
---
 src/lib/edje/edje_util.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c
index aa77208..f913fb8 100644
--- a/src/lib/edje/edje_util.c
+++ b/src/lib/edje/edje_util.c
@@ -717,7 +717,7 @@ edje_color_class_get(const char *color_class, int *r, int 
*g, int *b, int *a, in
  }
 }
 
-void
+EAPI void
 edje_color_class_del(const char *color_class)
 {
Edje_Color_Class *cc;

-- 




[EGIT] [core/efl] master 02/05: evas: fix bug with logic with eina_matrix in evas_3d_utils

2015-12-02 Thread se.osadchy
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ce4146ec6303671e072ca2cbb29b1fec069faf0c

commit ce4146ec6303671e072ca2cbb29b1fec069faf0c
Author: se.osadchy 
Date:   Wed Dec 2 14:14:17 2015 -0800

evas: fix bug with logic with eina_matrix in evas_3d_utils

Summary: Also need to fix logically dead code in coverity.

Reviewers: raster, Hermet, cedric

Subscribers: jpeg

Maniphest Tasks: T2832

Differential Revision: https://phab.enlightenment.org/D3346

Signed-off-by: Cedric BAIL 
---
 src/Makefile_Evas.am |  1 +
 src/lib/eina/eina_matrix.c   | 32 ++--
 src/lib/evas/include/evas_3d_utils.h | 32 ++--
 src/tests/evas/evas_suite.c  |  1 +
 src/tests/evas/evas_suite.h  |  1 +
 src/tests/evas/evas_test_matrix.c| 41 
 6 files changed, 76 insertions(+), 32 deletions(-)

diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am
index 0c9a214..3c1f491 100644
--- a/src/Makefile_Evas.am
+++ b/src/Makefile_Evas.am
@@ -2132,6 +2132,7 @@ tests/evas/evas_test_image.c \
 tests/evas/evas_test_mesh.c \
 tests/evas/evas_test_mask.c \
 tests/evas/evas_test_evasgl.c \
+tests/evas/evas_test_matrix.c \
 tests/evas/evas_tests_helpers.h \
 tests/evas/evas_suite.h
 
diff --git a/src/lib/eina/eina_matrix.c b/src/lib/eina/eina_matrix.c
index 7a1469c..13362f9 100644
--- a/src/lib/eina/eina_matrix.c
+++ b/src/lib/eina/eina_matrix.c
@@ -1004,40 +1004,40 @@ eina_matrix4_multiply(Eina_Matrix4 *out, const 
Eina_Matrix4 *mat_a,
  }
 
MATRIX_XX(out) = MATRIX_XX(mat_a) * MATRIX_XX(mat_b) + MATRIX_YX(mat_a) * 
MATRIX_XY(mat_b) +
-MATRIX_ZX(mat_a) * MATRIX_XZ(mat_b) + mat_a->wx * 
MATRIX_XW(mat_b);
+MATRIX_ZX(mat_a) * MATRIX_XZ(mat_b) + MATRIX_WX(mat_a) * 
MATRIX_XW(mat_b);
MATRIX_YX(out) = MATRIX_XX(mat_a) * MATRIX_YX(mat_b) + MATRIX_YX(mat_a) * 
MATRIX_YY(mat_b) +
-MATRIX_ZX(mat_a) * MATRIX_YZ(mat_b) + mat_a->wx * 
MATRIX_YW(mat_b);
+MATRIX_ZX(mat_a) * MATRIX_YZ(mat_b) + MATRIX_WX(mat_a) * 
MATRIX_YW(mat_b);
MATRIX_ZX(out) = MATRIX_XX(mat_a) * MATRIX_ZX(mat_b) + MATRIX_YX(mat_a) * 
MATRIX_ZY(mat_b) +
-MATRIX_ZX(mat_a) * MATRIX_ZZ(mat_b) + mat_a->wx * 
MATRIX_ZW(mat_b);
+MATRIX_ZX(mat_a) * MATRIX_ZZ(mat_b) + MATRIX_WX(mat_a) * 
MATRIX_ZW(mat_b);
MATRIX_WX(out) = MATRIX_XX(mat_a) * MATRIX_WX(mat_b) + MATRIX_YX(mat_a) * 
MATRIX_WY(mat_b) +
-MATRIX_ZX(mat_a) * MATRIX_WZ(mat_b) + mat_a->wx * 
MATRIX_WW(mat_b);
+MATRIX_ZX(mat_a) * MATRIX_WZ(mat_b) + MATRIX_WX(mat_a) * 
MATRIX_WW(mat_b);
 
MATRIX_XY(out) = MATRIX_XY(mat_a) * MATRIX_XX(mat_b) + MATRIX_YY(mat_a) * 
MATRIX_XY(mat_b) +
-MATRIX_ZY(mat_a) * MATRIX_XZ(mat_b) + mat_a->wy * 
MATRIX_XW(mat_b);
+MATRIX_ZY(mat_a) * MATRIX_XZ(mat_b) + MATRIX_WY(mat_a) * 
MATRIX_XW(mat_b);
MATRIX_YY(out) = MATRIX_XY(mat_a) * MATRIX_YX(mat_b) + MATRIX_YY(mat_a) * 
MATRIX_YY(mat_b) +
-MATRIX_ZY(mat_a) * MATRIX_YZ(mat_b) + mat_a->wy * 
MATRIX_YW(mat_b);
+MATRIX_ZY(mat_a) * MATRIX_YZ(mat_b) + MATRIX_WY(mat_a) * 
MATRIX_YW(mat_b);
MATRIX_ZY(out) = MATRIX_XY(mat_a) * MATRIX_ZX(mat_b) + MATRIX_YY(mat_a) * 
MATRIX_ZY(mat_b) +
-MATRIX_ZY(mat_a) * MATRIX_ZZ(mat_b) + mat_a->wy * 
MATRIX_ZW(mat_b);
+MATRIX_ZY(mat_a) * MATRIX_ZZ(mat_b) + MATRIX_WY(mat_a) * 
MATRIX_ZW(mat_b);
MATRIX_WY(out) = MATRIX_XY(mat_a) * MATRIX_WX(mat_b) + MATRIX_YY(mat_a) * 
MATRIX_WY(mat_b) +
-MATRIX_ZY(mat_a) * MATRIX_WZ(mat_b) + mat_a->wy * 
MATRIX_WW(mat_b);
+MATRIX_ZY(mat_a) * MATRIX_WZ(mat_b) + MATRIX_WY(mat_a) * 
MATRIX_WW(mat_b);
 
MATRIX_XZ(out) = MATRIX_XZ(mat_a) * MATRIX_XX(mat_b) + MATRIX_YZ(mat_a) * 
MATRIX_XY(mat_b) +
-MATRIX_ZZ(mat_a) * MATRIX_XZ(mat_b) + mat_a->wz * 
MATRIX_XW(mat_b);
+MATRIX_ZZ(mat_a) * MATRIX_XZ(mat_b) + MATRIX_WZ(mat_a) * 
MATRIX_XW(mat_b);
MATRIX_YZ(out) = MATRIX_XZ(mat_a) * MATRIX_YX(mat_b) + MATRIX_YZ(mat_a) * 
MATRIX_YY(mat_b) +
-MATRIX_ZZ(mat_a) * MATRIX_YZ(mat_b) + mat_a->wz * 
MATRIX_YW(mat_b);
+MATRIX_ZZ(mat_a) * MATRIX_YZ(mat_b) + MATRIX_WZ(mat_a) * 
MATRIX_YW(mat_b);
MATRIX_ZZ(out) = MATRIX_XZ(mat_a) * MATRIX_ZX(mat_b) + MATRIX_YZ(mat_a) * 
MATRIX_ZY(mat_b) +
-MATRIX_ZZ(mat_a) * MATRIX_ZZ(mat_b) + mat_a->wz * 
MATRIX_ZW(mat_b);
+MATRIX_ZZ(mat_a) * MATRIX_ZZ(mat_b) + MATRIX_WZ(mat_a) * 
MATRIX_ZW(mat_b);
MATRIX_WZ(out) = MATRIX_XZ(mat_a) * MATRIX_WX(mat_b) + MATRIX_YZ(mat_a) * 
MATRIX_WY(mat_b) +
-MATRIX_ZZ(mat_a) * MATRIX_WZ(mat_b) + 

[EGIT] [core/elementary] master 02/02: spinner: prevent scrolling when longpress timer enabled.

2015-12-02 Thread woochan lee
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=55c5f3b6169ea0a7e230675f6ba8c2b7b122cd6a

commit 55c5f3b6169ea0a7e230675f6ba8c2b7b122cd6a
Author: woochan lee 
Date:   Wed Dec 2 14:56:39 2015 -0800

spinner: prevent scrolling when longpress timer enabled.

Summary:
Spinner on scroller case.

Scroll should be freeze when spinner button in long press state.
If not, the scolling will be started after delete longpress timer.

Like a other widgets, scroll not allowing is correct action for this.

@fix

Reviewers: jaehwan, Hermet, eagleeye, cedric

Differential Revision: https://phab.enlightenment.org/D3334

Signed-off-by: Cedric BAIL 
---
 src/lib/elm_spinner.c | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/src/lib/elm_spinner.c b/src/lib/elm_spinner.c
index d2793bb..251a377 100644
--- a/src/lib/elm_spinner.c
+++ b/src/lib/elm_spinner.c
@@ -540,6 +540,8 @@ _val_inc_start(void *data)
sd->spin_timer = ecore_timer_add(sd->interval, _spin_value, data);
_spin_value(data);
 
+   elm_widget_scroll_freeze_push(data);
+
return ECORE_CALLBACK_CANCEL;
 }
 
@@ -555,6 +557,8 @@ _val_dec_start(void *data)
sd->spin_timer = ecore_timer_add(sd->interval, _spin_value, data);
_spin_value(data);
 
+   elm_widget_scroll_freeze_push(data);
+
return ECORE_CALLBACK_CANCEL;
 }
 
@@ -566,6 +570,8 @@ _spin_stop(Evas_Object *obj)
sd->interval = sd->first_interval;
sd->spin_speed = 0;
ELM_SAFE_FREE(sd->spin_timer, ecore_timer_del);
+
+   elm_widget_scroll_freeze_pop(obj);
 }
 
 static Eina_Bool

-- 




[EGIT] [apps/ephoto] master 01/01: Ephoto: Don't resort back to thumb browser on delete.

2015-12-02 Thread Stephen Houston
okra pushed a commit to branch master.

http://git.enlightenment.org/apps/ephoto.git/commit/?id=e5695a6aee447102e297e28beeb344e50bb77d92

commit e5695a6aee447102e297e28beeb344e50bb77d92
Author: Stephen Houston 
Date:   Wed Dec 2 19:11:29 2015 -0600

Ephoto: Don't resort back to thumb browser on delete.
---
 src/bin/ephoto.h|  2 +-
 src/bin/ephoto_main.c   | 23 ++-
 src/bin/ephoto_single_browser.c | 14 ++
 3 files changed, 25 insertions(+), 14 deletions(-)

diff --git a/src/bin/ephoto.h b/src/bin/ephoto.h
index 17855b7..ce9c84f 100644
--- a/src/bin/ephoto.h
+++ b/src/bin/ephoto.h
@@ -203,7 +203,7 @@ struct _Ephoto_Event_Entry_Create
 
 Ephoto_Entry *ephoto_entry_new(Ephoto *ephoto, const char *path,
 const char *label, Eina_File_Type type);
-void ephoto_entry_free(Ephoto_Entry *entry);
+void ephoto_entry_free(Ephoto *ephoto, Ephoto_Entry *entry);
 void ephoto_entry_free_listener_add(Ephoto_Entry *entry,
 void (*cb) (void *data, const Ephoto_Entry *entry), const void *data);
 void ephoto_entry_free_listener_del(Ephoto_Entry *entry,
diff --git a/src/bin/ephoto_main.c b/src/bin/ephoto_main.c
index 0ec69e9..e601818 100644
--- a/src/bin/ephoto_main.c
+++ b/src/bin/ephoto_main.c
@@ -423,9 +423,11 @@ _ephoto_populate_entries(Ephoto_Dir_Data *ed)
Ephoto_Entry *entry;
 
if (ed->dirs_only)
- EINA_LIST_FREE(ed->ephoto->direntries, entry) ephoto_entry_free(entry);
+ EINA_LIST_FREE(ed->ephoto->direntries, entry)
+   ephoto_entry_free(entry->ephoto, entry);
else if (ed->thumbs_only)
- EINA_LIST_FREE(ed->ephoto->entries, entry) ephoto_entry_free(entry);
+ EINA_LIST_FREE(ed->ephoto->entries, entry)
+   ephoto_entry_free(entry->ephoto, entry);
else
  ephoto_entries_free(ed->ephoto);
 
@@ -621,15 +623,26 @@ ephoto_entry_new(Ephoto *ephoto, const char *path, const 
char *label,
 }
 
 void
-ephoto_entry_free(Ephoto_Entry *entry)
+ephoto_entry_free(Ephoto *ephoto, Ephoto_Entry *entry)
 {
Ephoto_Entry_Free_Listener *fl;
+   Eina_List *node;
 
EINA_LIST_FREE(entry->free_listeners, fl)
  {
 fl->cb((void *) fl->data, entry);
 free(fl);
  }
+   if (entry->is_dir)
+ {
+node = eina_list_data_find_list(ephoto->direntries, entry);
+ephoto->direntries = eina_list_remove_list(ephoto->direntries, node);
+ }
+   else
+ {
+node = eina_list_data_find_list(ephoto->entries, entry);
+ephoto->entries = eina_list_remove_list(ephoto->entries, node);
+ }
eina_stringshare_del(entry->path);
eina_stringshare_del(entry->label);
free(entry);
@@ -670,6 +683,6 @@ ephoto_entries_free(Ephoto *ephoto)
 {
Ephoto_Entry *entry;
 
-   EINA_LIST_FREE(ephoto->entries, entry) ephoto_entry_free(entry);
-   EINA_LIST_FREE(ephoto->direntries, entry) ephoto_entry_free(entry);
+   EINA_LIST_FREE(ephoto->entries, entry) ephoto_entry_free(ephoto, entry);
+   EINA_LIST_FREE(ephoto->direntries, entry) ephoto_entry_free(ephoto, entry);
 }
diff --git a/src/bin/ephoto_single_browser.c b/src/bin/ephoto_single_browser.c
index 4ec1174..5019721 100644
--- a/src/bin/ephoto_single_browser.c
+++ b/src/bin/ephoto_single_browser.c
@@ -837,8 +837,6 @@ _prev_entry(Ephoto_Single_Browser *sb)
 {
Eina_List *node;
Ephoto_Entry *entry = NULL;
-   printf("Hi\n");
-   printf("%s\n", sb->entry->path);
node = eina_list_data_find_list(sb->ephoto->entries, sb->entry);
if (!node)
   return;
@@ -1799,10 +1797,7 @@ _delete_apply(void *data, Evas_Object *obj EINA_UNUSED,
 elm_object_focus_set(sb->event, EINA_TRUE);
 evas_object_freeze_events_set(sb->event, EINA_FALSE);
  }
-   ephoto_directory_set(sb->ephoto, sb->ephoto->config->directory,
-   NULL, EINA_FALSE, EINA_TRUE);
-   ephoto_title_set(sb->ephoto, sb->ephoto->config->directory);
-   evas_object_smart_callback_call(sb->main, "back", NULL);
+   ephoto_entry_free(sb->ephoto, sb->entry);
 }
 
 static void
@@ -2427,11 +2422,14 @@ _key_down(void *data, Evas *e EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED,
 }
 
 static void
-_entry_free(void *data, const Ephoto_Entry *entry EINA_UNUSED)
+_entry_free(void *data, const Ephoto_Entry *entry)
 {
Ephoto_Single_Browser *sb = data;
 
-   sb->entry = NULL;
+   if (entry == sb->entry)
+ {
+_next_entry(sb);
+ }
 }
 
 static void

-- 




[EGIT] [core/elementary] master 01/02: elm: set language to edje when elm_language_set is called.

2015-12-02 Thread Shilpa Singh
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=406b0937c0124c483450a6fbcc41cddfc758ba01

commit 406b0937c0124c483450a6fbcc41cddfc758ba01
Author: Shilpa Singh 
Date:   Wed Dec 2 14:55:10 2015 -0800

elm: set language to edje when elm_language_set is called.

Summary:
Application set language using elm_language_set and when elm_language_set 
is called
language should be set to edje as well

@fix

Test Plan:
Call elm_language_set and check language should be set to
edje as well.

Reviewers: cedric

Differential Revision: https://phab.enlightenment.org/D3365

Signed-off-by: Cedric BAIL 
---
 src/lib/elm_main.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/elm_main.c b/src/lib/elm_main.c
index 9ad2e8d..2799d46 100644
--- a/src/lib/elm_main.c
+++ b/src/lib/elm_main.c
@@ -1155,6 +1155,7 @@ elm_language_set(const char *lang)
 {
setlocale(LC_ALL, lang);
_elm_win_translate();
+   edje_language_set(lang);
 }
 
 EAPI Eina_Bool

-- 




[EGIT] [apps/ephoto] master 01/01: Ephoto: Use correct entry del func

2015-12-02 Thread Stephen Houston
okra pushed a commit to branch master.

http://git.enlightenment.org/apps/ephoto.git/commit/?id=d748fdaaf29fae3f0bc1dc499b1b038c7e102590

commit d748fdaaf29fae3f0bc1dc499b1b038c7e102590
Author: Stephen Houston 
Date:   Wed Dec 2 19:13:09 2015 -0600

Ephoto: Use correct entry del func
---
 src/bin/ephoto_thumb_browser.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/ephoto_thumb_browser.c b/src/bin/ephoto_thumb_browser.c
index 8b1fe55..a81eca7 100644
--- a/src/bin/ephoto_thumb_browser.c
+++ b/src/bin/ephoto_thumb_browser.c
@@ -452,7 +452,7 @@ _todo_items_process(void *data)
  entry->parent, ELM_GENLIST_ITEM_NONE, _entry_cmp, NULL, NULL);
   if (!entry->item)
 {
-   ephoto_entry_free(entry);
+   ephoto_entry_free(tb->ephoto, entry);
 }
 }
   else
@@ -483,7 +483,7 @@ _todo_items_process(void *data)
 }
else
 {
-   ephoto_entry_free(entry);
+   ephoto_entry_free(tb->ephoto, entry);
 }
}
   tb->animator.processed++;

-- 




[EGIT] [core/efl] master 01/01: evas: rewrite gl image transformation logic in a very simple way

2015-12-02 Thread Jaeun Choi
eunue pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=6768c38de47ca09b6fed3335520d1f63bf3ec933

commit 6768c38de47ca09b6fed3335520d1f63bf3ec933
Author: Jaeun Choi 
Date:   Thu Dec 3 11:49:21 2015 +0900

evas: rewrite gl image transformation logic in a very simple way

all we need to do for image transformation such as rotation or flipping in 
gl
is to map the vertices of source image to destination in a changed order.
this commit not only enhances readability but also fixes bugs in rotation.

@fix
---
 .../evas/engines/gl_common/evas_gl_context.c   | 237 ++---
 1 file changed, 157 insertions(+), 80 deletions(-)

diff --git a/src/modules/evas/engines/gl_common/evas_gl_context.c 
b/src/modules/evas/engines/gl_common/evas_gl_context.c
index dc33384..440d345 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_context.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_context.c
@@ -93,6 +93,11 @@ evas_gl_symbols(void *(*GetProcAddress)(const char *name))
 #define FINDSYM2(dst, sym, typ) if (!dst) dst = (typ)dlsym(RTLD_DEFAULT, sym)
 #define FALLBAK(dst, typ) if (!dst) dst = (typ)sym_missing
 
+#define SWAP(a, b, tmp) \
+   tmp = *a; \
+   *a = *b; \
+   *b = tmp;
+
 #ifdef GL_GLES
FINDSYM(glsym_glGenFramebuffers, "glGenFramebuffers", glsym_func_void);
FINDSYM2(glsym_glGenFramebuffers, "glGenFramebuffers", glsym_func_void);
@@ -1833,71 +1838,111 @@ again:
PUSH_6_COLORS(pn, r, g, b, a);
 }
 
+// 1-2  4-1
+// | |  =>  | |
+// 4-3  3-2
 static void
-_rotate_point_90(double *x, double *y, double w, double h)
+_rotate_90(double *x1, double *y1, double *x2, double *y2, double *x3, double 
*y3, double *x4, double *y4)
 {
-   double tx, ty, t;
-
-   tx = *x - w / 2;
-   ty = *y - h / 2;
-   t = tx;
-   tx = ty;
-   ty = t;
-   tx = tx + h / 2;
-   ty = ty + w / 2;
-   *x = tx * h / w;
-   *y = w - ty * w / h;
+   double tmp;
+
+   SWAP(x1, x4, tmp);
+   SWAP(y1, y4, tmp);
+
+   SWAP(x4, x3, tmp);
+   SWAP(y4, y3, tmp);
+
+   SWAP(x3, x2, tmp);
+   SWAP(y3, y2, tmp);
 }
 
+// 1-2  3-4
+// | |  =>  | |
+// 4-3  2-1
 static void
-_rotate_point_180(double *x, double *y, double w, double h)
+_rotate_180(double *x1, double *y1, double *x2, double *y2, double *x3, double 
*y3, double *x4, double *y4)
 {
-   double tx, ty;
-
-   tx = *x - w / 2;
-   ty = *y - h / 2;
-   tx = -tx;
-   ty = -ty;
-   tx = tx + w / 2;
-   ty = ty + h / 2;
-   *x = tx;
-   *y = ty;
+   double tmp;
+
+   SWAP(x1, x3, tmp);
+   SWAP(y1, y3, tmp);
+
+   SWAP(x2, x4, tmp);
+   SWAP(y2, y4, tmp);
 }
 
+// 1-2  2-3
+// | |  =>  | |
+// 4-3  1-4
 static void
-_rotate_point_270(double *x, double *y, double w, double h)
+_rotate_270(double *x1, double *y1, double *x2, double *y2, double *x3, double 
*y3, double *x4, double *y4)
 {
-   double tx, ty, t;
-
-   tx = *x - h / 2;
-   ty = *y - w / 2;
-   t = tx;
-   tx = ty;
-   ty = t;
-   tx = tx + w / 2;
-   ty = ty + h / 2;
-   *x = h - tx * h / w;
-   *y = ty * w / h;
+   double tmp;
+
+   SWAP(x1, x2, tmp);
+   SWAP(y1, y2, tmp);
+
+   SWAP(x2, x3, tmp);
+   SWAP(y2, y3, tmp);
+
+   SWAP(x3, x4, tmp);
+   SWAP(y3, y4, tmp);
 }
 
+// 1-2  2-1
+// | |  =>  | |
+// 4-3  3-4
 static void
-_transpose(double *x, double *y, double w, double h)
+_flip_horizontal(double *x1, double *y1, double *x2, double *y2, double *x3, 
double *y3, double *x4, double *y4)
 {
-   double t;
+   double tmp;
 
-   t = *x;
-   *x = *y * h / w;
-   *y = t * w / h;
+   SWAP(x1, x2, tmp);
+   SWAP(y1, y2, tmp);
+
+   SWAP(x3, x4, tmp);
+   SWAP(y3, y4, tmp);
 }
 
+// 1-2  4-3
+// | |  =>  | |
+// 4-3  1-2
 static void
-_transverse(double *x, double *y, double w, double h)
+_flip_vertical(double *x1, double *y1, double *x2, double *y2, double *x3, 
double *y3, double *x4, double *y4)
 {
-   double t;
+   double tmp;
+
+   SWAP(x1, x4, tmp);
+   SWAP(y1, y4, tmp);
 
-   t = *x;
-   *x = (w - *y) * h / w;
-   *y = (h - t) * w / h;
+   SWAP(x2, x3, tmp);
+   SWAP(y2, y3, tmp);
+}
+
+// 1-2  1-4
+// | |  =>  | |
+// 4-3  2-3
+static void
+_transpose(double *x1 EINA_UNUSED, double *y1 EINA_UNUSED, double *x2, double 
*y2,
+   double *x3 EINA_UNUSED, double *y3 EINA_UNUSED, double *x4, double 
*y4)
+{
+   double tmp;
+
+   SWAP(x2, x4, tmp);
+   SWAP(y2, y4, tmp);
+}
+
+// 1-2  3-2
+// | |  =>  | |
+// 4-3  4-1
+static void
+_transverse(double *x1, double *y1, double *x2 EINA_UNUSED, double *y2 
EINA_UNUSED,
+double *x3, double *y3, double *x4 EINA_UNUSED, double *y4 
EINA_UNUSED)
+{
+   double tmp;
+
+   SWAP(x1, x3, tmp);
+   SWAP(y1, y3, tmp);
 }
 
 void
@@ -1909,6 +1954,7 @@ evas_gl_common_context_image_push(Evas_Engine_GL_Context 
*gc,
   int r, int g, int b, int a,
   Eina_Bool smooth, Eina_Bool tex_only)
 {
+
Evas_GL_Texture_Pool *pt;
double ox1, oy1, ox2, oy2, 

[EGIT] [apps/ephoto] master 01/01: Ephoto: If multiple items are selected, only use those items for Single and Slideshow.

2015-12-02 Thread Stephen Houston
okra pushed a commit to branch master.

http://git.enlightenment.org/apps/ephoto.git/commit/?id=aee6e9e408556f4bd2c44112b257242e83266798

commit aee6e9e408556f4bd2c44112b257242e83266798
Author: Stephen Houston 
Date:   Wed Dec 2 20:45:35 2015 -0600

Ephoto: If multiple items are selected, only use those items for Single and 
Slideshow.
---
 src/bin/ephoto.h|  3 +++
 src/bin/ephoto_main.c   | 23 ++-
 src/bin/ephoto_single_browser.c | 20 +++-
 src/bin/ephoto_slideshow.c  | 12 +++-
 src/bin/ephoto_thumb_browser.c  | 31 ++-
 5 files changed, 81 insertions(+), 8 deletions(-)

diff --git a/src/bin/ephoto.h b/src/bin/ephoto.h
index ce9c84f..ce75554 100644
--- a/src/bin/ephoto.h
+++ b/src/bin/ephoto.h
@@ -61,6 +61,7 @@ void ephoto_config_slideshow(Ephoto *em);
 void ephoto_config_about(Ephoto *em);
 
 Evas_Object *ephoto_single_browser_add(Ephoto *ephoto, Evas_Object *parent);
+void ephoto_single_browser_entries_set(Evas_Object *obj, Eina_List *entries);
 void ephoto_single_browser_entry_set(Evas_Object *obj, Ephoto_Entry *entry);
 void ephoto_single_browser_path_pending_set(Evas_Object *obj,
 const char *path);
@@ -72,6 +73,7 @@ void ephoto_single_browser_cancel_editing(Evas_Object *main,
 /* smart callbacks called: "back" - the user wants to go back to the previous
  * screen. */
 Evas_Object *ephoto_slideshow_add(Ephoto *ephoto, Evas_Object *parent);
+void ephoto_slideshow_entries_set(Evas_Object *obj, Eina_List *entries);
 void ephoto_slideshow_entry_set(Evas_Object *obj, Ephoto_Entry *entry);
 
 /* smart callbacks called: "back" - the user wants to go back to the previous
@@ -163,6 +165,7 @@ struct _Ephoto
 
Eina_List *entries;
Eina_List *direntries;
+   Eina_List *selentries;
Eina_List *thumbs;
 
int thumb_gen_size;
diff --git a/src/bin/ephoto_main.c b/src/bin/ephoto_main.c
index dcebeea..5785cdf 100644
--- a/src/bin/ephoto_main.c
+++ b/src/bin/ephoto_main.c
@@ -39,12 +39,19 @@ _ephoto_thumb_browser_show(Ephoto *ephoto, Ephoto_Entry 
*entry)
ephoto_title_set(ephoto, ephoto->config->directory);
 
if ((entry) && (entry->item))
-  elm_gengrid_item_bring_in(entry->item, ELM_GENGRID_ITEM_SCROLLTO_IN);
+ {
+elm_gengrid_item_selected_set(entry->item, EINA_TRUE);
+elm_gengrid_item_bring_in(entry->item, ELM_GENGRID_ITEM_SCROLLTO_IN);
+ }
 }
 
 static void
 _ephoto_single_browser_show(Ephoto *ephoto, Ephoto_Entry *entry)
 {
+   if (ephoto->selentries)
+ ephoto_single_browser_entries_set(ephoto->single_browser, 
ephoto->selentries);
+   else
+ ephoto_single_browser_entries_set(ephoto->single_browser, 
ephoto->entries);
ephoto_single_browser_entry_set(ephoto->single_browser, entry);
elm_naviframe_item_simple_promote(ephoto->pager, ephoto->single_browser);
elm_object_focus_set(ephoto->single_browser, EINA_TRUE);
@@ -54,6 +61,10 @@ _ephoto_single_browser_show(Ephoto *ephoto, Ephoto_Entry 
*entry)
 static void
 _ephoto_slideshow_show(Ephoto *ephoto, Ephoto_Entry *entry)
 {
+   if (ephoto->selentries)
+ ephoto_slideshow_entries_set(ephoto->slideshow, ephoto->selentries);
+   else
+ ephoto_slideshow_entries_set(ephoto->slideshow, ephoto->entries);
ephoto_slideshow_entry_set(ephoto->slideshow, entry);
elm_naviframe_item_simple_promote(ephoto->pager, ephoto->slideshow);
elm_object_focus_set(ephoto->slideshow, EINA_TRUE);
@@ -67,6 +78,7 @@ _ephoto_single_browser_back(void *data, Evas_Object *obj 
EINA_UNUSED,
Ephoto *ephoto = data;
Ephoto_Entry *entry = event_info;
 
+   ephoto->selentries = NULL;
_ephoto_thumb_browser_show(ephoto, entry);
 }
 
@@ -84,10 +96,12 @@ _ephoto_slideshow_back(void *data, Evas_Object *obj 
EINA_UNUSED,
  break;
 
case EPHOTO_STATE_THUMB:
+  ephoto->selentries = NULL;
  _ephoto_thumb_browser_show(ephoto, entry);
  break;
 
default:
+  ephoto->selentries = NULL;
  _ephoto_thumb_browser_show(ephoto, entry);
  }
 }
@@ -108,6 +122,7 @@ _ephoto_thumb_browser_changed_directory(void *data,
 {
Ephoto *ephoto = data;
 
+   ephoto->selentries = NULL;
ephoto_single_browser_entry_set(ephoto->single_browser, NULL);
ephoto_slideshow_entry_set(ephoto->slideshow, NULL);
 }
@@ -172,6 +187,7 @@ ephoto_window_add(const char *path)
EPHOTO_EVENT_POPULATE_END = ecore_event_type_new();
EPHOTO_EVENT_POPULATE_ERROR = ecore_event_type_new();
 
+   ephoto->selentries = NULL;
ephoto->win = elm_win_util_standard_add("ephoto", "Ephoto");
if (!ephoto->win)
  {
@@ -642,6 +658,11 @@ ephoto_entry_free(Ephoto *ephoto, Ephoto_Entry *entry)
  {
 node = eina_list_data_find_list(ephoto->entries, entry);
 ephoto->entries = eina_list_remove_list(ephoto->entries, node);
+if (ephoto->selentries)
+  {
+ node = eina_list_data_find_list(ephoto->selentries, entry);
+  

[EGIT] [core/efl] master 01/01: edje: fix edje RTL description in case of custom state of a part

2015-12-02 Thread Amitesh Singh
ami pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=59681c331139e4d5424e77ff1614dc47fa8ddd8e

commit 59681c331139e4d5424e77ff1614dc47fa8ddd8e
Author: Amitesh Singh 
Date:   Thu Dec 3 11:26:10 2015 +0530

edje: fix edje RTL description in case of custom state of a part

Summary:
In case of RTL, the "custom" state properties does not apply. It happened 
because we don't copy the latest src to
dst in set_state(PART:.., "custom", 0.0); in case of dst is already 
populated.
We should copy the updated src to dst whenever we set the new custom 
description.

@fix

Reviewers: cedric, raster, jpeg, zmike, jaehwan

Subscribers: kimcinoo, seoz, jpeg

Differential Revision: https://phab.enlightenment.org/D3394
---
 src/lib/edje/edje_calc.c | 50 ++--
 1 file changed, 48 insertions(+), 2 deletions(-)

diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c
index 763c67b..3eae7e0 100644
--- a/src/lib/edje/edje_calc.c
+++ b/src/lib/edje/edje_calc.c
@@ -271,6 +271,52 @@ _edje_part_make_rtl(Edje_Part_Description_Common *desc)
desc->rel2.id_x = i;
 }
 
+static Edje_Part_Description_Common *
+_edje_get_custom_description_by_orientation(Edje *ed, 
Edje_Part_Description_Common *src, Edje_Part_Description_Common **dst, unsigned 
char type)
+{
+   Edje_Part_Description_Common *ret;
+   size_t memsize = 0;
+
+   if (!(*dst))
+ {
+ret = _edje_get_description_by_orientation(ed, src, dst, type);
+return ret;
+ }
+
+#define POPULATE_MEMSIZE_RTL(Short, Type)\
+case EDJE_PART_TYPE_##Short:  \
+{ \
+   memsize = sizeof(Edje_Part_Description_##Type);\
+   break; \
+}
+
+   switch (type)
+ {
+POPULATE_MEMSIZE_RTL(RECTANGLE, Common);
+POPULATE_MEMSIZE_RTL(SNAPSHOT, Snapshot);
+POPULATE_MEMSIZE_RTL(SWALLOW, Common);
+POPULATE_MEMSIZE_RTL(GROUP, Common);
+POPULATE_MEMSIZE_RTL(SPACER, Common);
+POPULATE_MEMSIZE_RTL(TEXT, Text);
+POPULATE_MEMSIZE_RTL(TEXTBLOCK, Text);
+POPULATE_MEMSIZE_RTL(IMAGE, Image);
+POPULATE_MEMSIZE_RTL(PROXY, Proxy);
+POPULATE_MEMSIZE_RTL(BOX, Box);
+POPULATE_MEMSIZE_RTL(TABLE, Table);
+POPULATE_MEMSIZE_RTL(EXTERNAL, External);
+POPULATE_MEMSIZE_RTL(CAMERA, Camera);
+POPULATE_MEMSIZE_RTL(LIGHT, Light);
+POPULATE_MEMSIZE_RTL(MESH_NODE, Mesh_Node);
+ }
+#undef POPULATE_MEMSIZE_RTL
+
+   ret = *dst;
+   memcpy(ret, src, memsize);
+   _edje_part_make_rtl(ret);
+
+   return ret;
+}
+
 /**
  * Returns part description
  *
@@ -398,8 +444,8 @@ _edje_part_description_find(Edje *ed, Edje_Real_Part *rp, 
const char *state_name
 
if (!strcmp(state_name, "custom"))
  return rp->custom ?
-_edje_get_description_by_orientation(ed, rp->custom->description,
- >custom->description_rtl, 
ep->type) : NULL;
+_edje_get_custom_description_by_orientation(ed, 
rp->custom->description,
+   
>custom->description_rtl, ep->type) : NULL;
 
if (!strcmp(state_name, "default") && approximate)
  {

-- 




[EGIT] [apps/ephoto] master 01/01: Ephoto: Release the drag event on mouse up in the single view.

2015-12-02 Thread Stephen Houston
okra pushed a commit to branch master.

http://git.enlightenment.org/apps/ephoto.git/commit/?id=271d43b9b06d9a9bd3ce4e5b2051cf143655b6d7

commit 271d43b9b06d9a9bd3ce4e5b2051cf143655b6d7
Author: Stephen Houston 
Date:   Wed Dec 2 17:55:08 2015 -0600

Ephoto: Release the drag event on mouse up in the single view.
---
 src/bin/ephoto_single_browser.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/bin/ephoto_single_browser.c b/src/bin/ephoto_single_browser.c
index b95ec34..4ec1174 100644
--- a/src/bin/ephoto_single_browser.c
+++ b/src/bin/ephoto_single_browser.c
@@ -131,15 +131,15 @@ _image_mouse_up_cb(void *data, Evas *e EINA_UNUSED,
 
if ((ev->button == 1) && (ev->flags == EVAS_BUTTON_DOUBLE_CLICK))
  {
- ecore_timer_del(_1s_hold);
- _1s_hold = NULL;
- elm_win_fullscreen_set(sb->ephoto->win,
+elm_win_fullscreen_set(sb->ephoto->win,
 !elm_win_fullscreen_get(sb->ephoto->win));
  }
else if (ev->button == 3)
  {
 _edit_menu(sb);
  }
+   ecore_timer_del(_1s_hold);
+   _1s_hold = NULL;
 }
 
 static Evas_Object *

-- 




[EGIT] [core/elementary] master 01/01: box: skip box in accessibility tree by default

2015-12-02 Thread Lukasz Stanislawski
stanluk pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=63381b64ffd7095a5c570c47f4a29d9d989800ba

commit 63381b64ffd7095a5c570c47f4a29d9d989800ba
Author: Lukasz Stanislawski 
Date:   Tue Dec 1 12:29:02 2015 +0100

box: skip box in accessibility tree by default
---
 src/lib/elm_box.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/elm_box.c b/src/lib/elm_box.c
index d37fd08..352e956 100644
--- a/src/lib/elm_box.c
+++ b/src/lib/elm_box.c
@@ -439,6 +439,7 @@ elm_box_add(Evas_Object *parent)
 EOLIAN static Eo *
 _elm_box_eo_base_constructor(Eo *obj, Elm_Box_Data *_pd EINA_UNUSED)
 {
+   eo_do(obj, elm_interface_atspi_accessible_type_set(ELM_ATSPI_TYPE_SKIPPED));
obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor());
eo_do(obj,
  evas_obj_type_set(MY_CLASS_NAME_LEGACY),

-- 




[EGIT] [core/efl] master 01/01: build: fix distcheck after model saver and loader rework

2015-12-02 Thread Stefan Schmidt
stefan pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a7a2781a00ca6557aef6490bc0159cb426441b28

commit a7a2781a00ca6557aef6490bc0159cb426441b28
Author: Stefan Schmidt 
Date:   Wed Dec 2 11:33:12 2015 +0100

build: fix distcheck after model saver and loader rework

32c33ed64dda542c7cfc952fc656bb711260441b broke distcheck here as the header
files would not be included in the generated tarballs. This is the second or
third time I fixed soemthing like this after a loader/saver rework. I would
appreciate if the people involved would run distcheck on their own.
---
 src/Makefile_Evas.am | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am
index f768e2d..0c9a214 100644
--- a/src/Makefile_Evas.am
+++ b/src/Makefile_Evas.am
@@ -225,6 +225,7 @@ lib_evas_libevas_la_SOURCES += \
 lib/evas/common3d/save_load/evas_model_load.c \
 lib/evas/common3d/save_load/evas_model_save.c \
 lib/evas/common3d/save_load/evas_model_load_save_common.c \
+lib/evas/common3d/save_load/evas_model_load_save_common.h \
 modules/evas/model_loaders/eet/evas_model_load_eet.c \
 modules/evas/model_loaders/md2/evas_model_load_md2.c \
 modules/evas/model_loaders/obj/evas_model_load_obj.c \

-- 




[EGIT] [core/elementary] master 01/01: atspi: always use widget's subobj as accessible children

2015-12-02 Thread Lukasz Stanislawski
stanluk pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=0aa37178abc4409a647bbf321a346bc5c7cbf261

commit 0aa37178abc4409a647bbf321a346bc5c7cbf261
Author: Lukasz Stanislawski 
Date:   Tue Dec 1 16:55:12 2015 +0100

atspi: always use widget's subobj as accessible children

Patch fixes issue when widgets could be orphaned in accessibility tree
due to overloaded accessible_children_get methods in widgets returning
Elm_Object_Items. Widgets like genlist, gengrid, list and toolbar returned
only items as its accessibility children so if some widget was attached
directly to those widgets (like ctxpopup/popup) it become orphaned
in accessibility tree.
---
 src/lib/elm_gengrid.c| 32 
 src/lib/elm_gengrid_item.eo  |  1 -
 src/lib/elm_genlist.c| 42 ++--
 src/lib/elm_genlist_item.eo  |  1 -
 src/lib/elm_interface_atspi_accessible.c | 28 -
 src/lib/elm_list.c   | 24 ++
 src/lib/elm_list_item.eo |  1 -
 src/lib/elm_toolbar.c| 13 --
 src/lib/elm_widget.c | 28 +
 src/lib/elm_widget_item.eo   |  1 -
 src/tests/elm_test_genlist.c | 36 ---
 src/tests/elm_test_list.c|  6 ++---
 12 files changed, 50 insertions(+), 163 deletions(-)

diff --git a/src/lib/elm_gengrid.c b/src/lib/elm_gengrid.c
index 1b6f0b4..3c6018e 100644
--- a/src/lib/elm_gengrid.c
+++ b/src/lib/elm_gengrid.c
@@ -900,9 +900,6 @@ _item_content_realize(Elm_Gen_Item *it,
  elm_widget_sub_object_add(WIDGET(it), content);
  if (eo_do_ret(EO_OBJ(it), tmp, elm_wdg_item_disabled_get()))
elm_widget_disabled_set(content, EINA_TRUE);
-
- if (_elm_config->atspi_mode && eo_isa(content, 
ELM_INTERFACE_ATSPI_ACCESSIBLE_MIXIN))
-   eo_do(content, 
elm_interface_atspi_accessible_parent_set(EO_OBJ(it)));
   }
  }
 }
@@ -5534,27 +5531,6 @@ 
_elm_gengrid_item_elm_interface_atspi_accessible_name_get(Eo *eo_it EINA_UNUSED,
return ret;
 }
 
-EOLIAN Eina_List*
-_elm_gengrid_item_elm_interface_atspi_accessible_children_get(Eo *eo_it 
EINA_UNUSED, Elm_Gen_Item *it)
-{
-   Eina_List *ret = NULL;
-   if (VIEW(it))
- {
-Eina_List *parts;
-const char *key;
-parts = elm_widget_stringlist_get(edje_object_data_get(VIEW(it), 
"contents"));
-
-EINA_LIST_FREE(parts, key)
-  {
- Evas_Object *part;
- part = edje_object_part_swallow_get(VIEW(it), key);
- if (part && eo_isa(part, ELM_INTERFACE_ATSPI_ACCESSIBLE_MIXIN))
-   ret = eina_list_append(ret, part);
-  }
- }
-   return ret;
-}
-
 EAPI Elm_Object_Item *
 elm_gengrid_nth_item_get(const Evas_Object *obj, unsigned int nth)
 {
@@ -5687,15 +5663,17 @@ 
_elm_gengrid_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUS
 }
 
 EOLIAN Eina_List*
-_elm_gengrid_elm_interface_atspi_accessible_children_get(Eo *obj EINA_UNUSED, 
Elm_Gengrid_Data *sd)
+_elm_gengrid_elm_interface_atspi_accessible_children_get(Eo *obj, 
Elm_Gengrid_Data *sd)
 {
-   Eina_List *ret = NULL;
+   Eina_List *ret = NULL, *ret2 = NULL;
Elm_Gen_Item *it;
 
EINA_INLIST_FOREACH(sd->items, it)
   ret = eina_list_append(ret, EO_OBJ(it));
 
-   return ret;
+   eo_do_super(obj, ELM_GENGRID_CLASS, ret2 = 
elm_interface_atspi_accessible_children_get());
+
+   return eina_list_merge(ret, ret2);
 }
 
 EOLIAN Elm_Atspi_State_Set
diff --git a/src/lib/elm_gengrid_item.eo b/src/lib/elm_gengrid_item.eo
index 95a079c..0783ee5 100644
--- a/src/lib/elm_gengrid_item.eo
+++ b/src/lib/elm_gengrid_item.eo
@@ -211,6 +211,5 @@ class Elm.Gengrid_Item(Elm.Widget_Item)
Elm.Widget_Item.cursor_unset;
Elm_Interface_Atspi_Accessible.name.get;
Elm_Interface_Atspi_Accessible.state_set.get;
-   Elm_Interface_Atspi_Accessible.children.get;
   }
 }
diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
index d2d0005..020ab24 100644
--- a/src/lib/elm_genlist.c
+++ b/src/lib/elm_genlist.c
@@ -381,8 +381,6 @@ _item_content_realize(Elm_Gen_Item *it,
   ((void *)WIDGET_ITEM_DATA_GET(EO_OBJ(it)), WIDGET(it), key);
  if (!content) continue;
  *contents = eina_list_append(*contents, content);
- if (_elm_config->atspi_mode && eo_isa(content, 
ELM_INTERFACE_ATSPI_ACCESSIBLE_MIXIN))
-   eo_do(content, 
elm_interface_atspi_accessible_parent_set(EO_OBJ(it)));
  if (!edje_object_part_swallow(target, key, content))
{
   ERR("%s (%p) can not be swallowed into %s",
@@ -396,12 +394,6 @@ _item_content_realize(Elm_Gen_Item *it,
 
  snprintf(buf, 

[EGIT] [tools/erigo] master 01/01: Refactoring and fixes introduced before

2015-12-02 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=2e24c92f56581b710b821ad55f2f643aa71211ca

commit 2e24c92f56581b710b821ad55f2f643aa71211ca
Author: Yakov Goldberg 
Date:   Wed Dec 2 09:58:34 2015 +0200

Refactoring and fixes introduced before

Commit, used to fix container flows, introduced wrong unpacking.
---
 src/bin/gui/editor.c | 26 --
 1 file changed, 12 insertions(+), 14 deletions(-)

diff --git a/src/bin/gui/editor.c b/src/bin/gui/editor.c
index f32e3fb..ad315b1 100644
--- a/src/bin/gui/editor.c
+++ b/src/bin/gui/editor.c
@@ -2737,29 +2737,27 @@ _drag_start_post(const Gui_Widget *wdg, const Eo 
*_wdg_eo)
 
  _obj_container_item_remove_helper(wdg_container, 
wdg_name_get(wdg));
 
- /* If dummy widget was created, create Eo and pack it. */
- Object_Container_Item *dummy_ci = 
wdg_obj_container_item_get(wdg_container, idx, NULL);
  Eo *wdg_cont_eo = session_eo_get(session, wdg_container);
- if (dummy_ci)
+ if (!strcmp(wdg_class_name_get(wdg_container), 
DB_DEF_LAYOUT_CLASS))
{
+  /* If dummy widget was created, create Eo and pack it. */
+  Object_Container_Item *dummy_ci = 
wdg_obj_container_item_get(wdg_container, idx, NULL);
   Gui_Widget *dummy_wdg = 
wdg_get(obj_container_item_eid_get(dummy_ci));
   manager_widget_create((Gui_Session *) session, dummy_wdg, 
NULL);
   Eo *dummy_eo = session_eo_get(session, dummy_wdg);
   eo_do(wdg_cont_eo, elm_obj_container_content_unset(part));
   eo_do(wdg_cont_eo, elm_obj_container_content_set(part, 
dummy_eo));
}
-
- /* FIXME: wdg_eo is NULL when dragging from objtree. It can be 
changed but should be?*/
- if (wdg_eo)
+ else if (!strcmp(wdg_class_name_get(wdg_container), 
DB_DEF_BOX_CLASS))
{
-  if (!strcmp(wdg_class_name_get(wdg_container), 
DB_DEF_BOX_CLASS))
-{
-   eo_do(wdg_cont_eo, elm_obj_box_unpack(wdg_eo));
-}
-  else if (!strcmp(wdg_class_name_get(wdg_container), 
DB_DEF_TABLE_CLASS))
-{
-   eo_do(wdg_cont_eo, elm_obj_table_unpack(wdg_eo));
-}
+  /* FIXME: wdg_eo is NULL when dragging from objtree. It can 
be changed but should be?*/
+  if (wdg_eo)
+eo_do(wdg_cont_eo, elm_obj_box_unpack(wdg_eo));
+   }
+ else if (!strcmp(wdg_class_name_get(wdg_container), 
DB_DEF_TABLE_CLASS))
+   {
+  if (wdg_eo)
+eo_do(wdg_cont_eo, elm_obj_table_unpack(wdg_eo));
}
   }
 else if (wdg_container_type_get(wdg_container) == ITEM_CONTAINER)

-- 




[EGIT] [core/efl] master 01/01: Evas Textblock: Fix text disappear issue when text is made up with multiple items.

2015-12-02 Thread Youngbok Shin
herdsman pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=809d8fdafea0b38aa21c40dd9460be82dffece3a

commit 809d8fdafea0b38aa21c40dd9460be82dffece3a
Author: Youngbok Shin 
Date:   Wed Dec 2 09:36:47 2015 +0200

Evas Textblock: Fix text disappear issue when text is made up with multiple 
items.

Summary:
Text is disappearing when we resize a singleline Evas Textblock with 
ellipsis.
It is happened by putting a Text item at logical_items list without 
considering about logical position.
It is only happended the text is made up with multiple items.
@fix

Test Plan:
1. Run elementary_test
2. Click Label Ellipsis
3. Resize the window dynamically and see the result.

Reviewers: woohyun, tasn, herdsman

Subscribers: jpeg, subodh6129, shilpasingh, cedric

Maniphest Tasks: T2709

Differential Revision: https://phab.enlightenment.org/D3022
---
 src/lib/evas/canvas/evas_object_textblock.c | 11 +-
 src/tests/evas/evas_test_textblock.c| 31 +
 2 files changed, 41 insertions(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/evas_object_textblock.c 
b/src/lib/evas/canvas/evas_object_textblock.c
index bb9e8af..879659c 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -4803,7 +4803,16 @@ _layout_handle_ellipsis(Ctxt *c, 
Evas_Object_Textblock_Item *it, Eina_List *i)
 
  if ((wrap > 0) && !IS_AT_END(ti, (size_t) wrap))
{
-  _layout_item_text_split_strip_white(c, ti, i, wrap);
+  Eina_List *l = i;
+
+  while (l)
+{
+   Evas_Object_Textblock_Item *iit = eina_list_data_get(l);
+   if (iit == _ITEM(ti)) break;
+   l = eina_list_prev(l);
+}
+
+  _layout_item_text_split_strip_white(c, ti, l, wrap);
   break;
}
  else if (wrap < 0)
diff --git a/src/tests/evas/evas_test_textblock.c 
b/src/tests/evas/evas_test_textblock.c
index 70592b9..ad16793 100644
--- a/src/tests/evas/evas_test_textblock.c
+++ b/src/tests/evas/evas_test_textblock.c
@@ -2018,6 +2018,37 @@ START_TEST(evas_textblock_wrapping)
evas_object_textblock_size_formatted_get(tb, , );
ck_assert_int_le(w, ellip_w);
 
+   /* Ellipsis test for multiple items in singleline. */
+ {
+evas_object_resize(tb, 500, 500);
+evas_object_textblock_text_markup_set(tb, "ABC 한글한글 DEF");
+evas_textblock_cursor_format_prepend(cur, "+ ellipsis=1.0");
+evas_object_textblock_size_native_get(tb, , );
+evas_object_resize(tb, nw, nh);
+evas_object_textblock_size_formatted_get(tb, , );
+
+/* Make the object's width smaller. */
+for (i = 1; (nw / 5) <= (nw - i); i++)
+  {
+ evas_object_resize(tb, nw - i, nh);
+ evas_object_textblock_size_formatted_get(tb, , );
+ ck_assert_int_le(bw, w);
+  }
+
+/* Revert the object's width to native width. */
+for (; (nw - i) <= nw; i--)
+  {
+ evas_object_resize(tb, nw - i, nh);
+ evas_object_textblock_size_formatted_get(tb, , );
+ ck_assert_int_le(bw, w);
+  }
+
+/* The object resized same as native size.
+ * So, formatted width and native width should be same
+ * just like our first check. */
+ck_assert_int_eq(bw, w);
+ }
+
{
   double ellip;
   for(ellip = 0.0; ellip <= 1.0; ellip = ellip + 0.1)

-- 




[EGIT] [core/elementary] master 01/01: menu: enhance accessibility support

2015-12-02 Thread Lukasz Stanislawski
stanluk pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=1e390e033259c905a2215d3a96eb799a29907f02

commit 1e390e033259c905a2215d3a96eb799a29907f02
Author: Lukasz Stanislawski 
Date:   Fri Nov 27 18:14:54 2015 +0100

menu: enhance accessibility support
---
 src/lib/elm_atspi_bridge.c |   2 +
 src/lib/elm_menu.c | 147 +
 src/lib/elm_menu.eo|   5 +-
 src/lib/elm_menu_item.eo   |   9 ++-
 4 files changed, 161 insertions(+), 2 deletions(-)

diff --git a/src/lib/elm_atspi_bridge.c b/src/lib/elm_atspi_bridge.c
index f0eec7d..782d1fd 100644
--- a/src/lib/elm_atspi_bridge.c
+++ b/src/lib/elm_atspi_bridge.c
@@ -3718,6 +3718,8 @@ _set_broadcast_flag(const char *event, Eo *bridge)
   STATE_TYPE_SET(pd->object_broadcast_mask, 
ATSPI_OBJECT_EVENT_VISIBLE_DATA_CHANGED);
 else if (!strcmp(tokens[1], "ActiveDescendantChanged"))
   STATE_TYPE_SET(pd->object_broadcast_mask, 
ATSPI_OBJECT_EVENT_ACTIVE_DESCENDANT_CHANGED);
+else if (!strcmp(tokens[1], "SelectionChanged"))
+  STATE_TYPE_SET(pd->object_broadcast_mask, 
ATSPI_OBJECT_EVENT_SELECTION_CHANGED);
  }
else if (!strcmp(tokens[0], "Window"))
  {
diff --git a/src/lib/elm_menu.c b/src/lib/elm_menu.c
index ce49793..c5ca878 100644
--- a/src/lib/elm_menu.c
+++ b/src/lib/elm_menu.c
@@ -3,6 +3,7 @@
 #endif
 
 #define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED
+#define ELM_INTERFACE_ATSPI_SELECTION_PROTECTED
 
 #define ELM_WIDGET_ITEM_PROTECTED
 #include 
@@ -107,6 +108,8 @@ _submenu_sizing_eval(Elm_Menu_Item_Data *parent_it)
  {
 ELM_MENU_ITEM_DATA_GET(eo_item, item);
 elm_layout_sizing_eval(VIEW(item));
+if (_elm_config->atspi_mode)
+  elm_interface_atspi_accessible_state_changed_signal_emit(eo_item, 
ELM_ATSPI_STATE_SHOWING, EINA_TRUE);
  }
 
 
@@ -488,6 +491,7 @@ _menu_item_activate_cb(void *data,
  if (eo_item2 != EO_OBJ(item))
elm_menu_item_selected_set(eo_item2, 0);
   }
+eo_do(ELM_INTERFACE_ATSPI_ACCESSIBLE_MIXIN, 
elm_interface_atspi_accessible_event_emit(EO_OBJ(item->parent), 
ELM_INTERFACE_ATSPI_SELECTION_EVENT_SELECTION_CHANGED, NULL));
  }
else
  {
@@ -497,7 +501,10 @@ _menu_item_activate_cb(void *data,
  if (eo_item2 != EO_OBJ(item))
elm_menu_item_selected_set(eo_item2, 0);
   }
+eo_do(ELM_INTERFACE_ATSPI_ACCESSIBLE_MIXIN, 
elm_interface_atspi_accessible_event_emit(WIDGET(item), 
ELM_INTERFACE_ATSPI_SELECTION_EVENT_SELECTION_CHANGED, NULL));
  }
+   if (_elm_config->atspi_mode)
+ elm_interface_atspi_accessible_state_changed_signal_emit(EO_OBJ(item), 
ELM_ATSPI_STATE_SELECTED, EINA_TRUE);
 }
 
 static void
@@ -510,6 +517,8 @@ _menu_item_inactivate_cb(void *data,
 
item->selected = 0;
if (item->submenu.open) _submenu_hide(item);
+   if (_elm_config->atspi_mode)
+ elm_interface_atspi_accessible_state_changed_signal_emit(EO_OBJ(item), 
ELM_ATSPI_STATE_SELECTED, EINA_FALSE);
 }
 
 static Eina_Bool
@@ -560,6 +569,7 @@ static void
 _item_obj_create(Elm_Menu_Item_Data *item)
 {
VIEW(item) = elm_layout_add(WIDGET(item));
+   eo_do(VIEW(item), 
elm_interface_atspi_accessible_type_set(ELM_ATSPI_TYPE_SKIPPED));
evas_object_size_hint_weight_set
  (VIEW(item), EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_fill_set(VIEW(item), EVAS_HINT_FILL, EVAS_HINT_FILL);
@@ -583,6 +593,7 @@ static void
 _item_separator_obj_create(Elm_Menu_Item_Data *item)
 {
VIEW(item) = elm_layout_add(WIDGET(item));
+   eo_do(VIEW(item), 
elm_interface_atspi_accessible_type_set(ELM_ATSPI_TYPE_SKIPPED));
evas_object_size_hint_weight_set
  (VIEW(item), EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_fill_set(VIEW(item), EVAS_HINT_FILL, EVAS_HINT_FILL);
@@ -605,7 +616,9 @@ _item_submenu_obj_create(Elm_Menu_Item_Data *item)
char style[1024];
 
item->submenu.location = elm_icon_add(sd->bx);
+   eo_do(item->submenu.location, 
elm_interface_atspi_accessible_type_set(ELM_ATSPI_TYPE_DISABLED));
item->submenu.hv = hv = elm_hover_add(sd->bx);
+   eo_do(item->submenu.hv, 
elm_interface_atspi_accessible_type_set(ELM_ATSPI_TYPE_SKIPPED));
elm_widget_mirrored_set(hv, EINA_FALSE);
elm_hover_target_set(hv, item->submenu.location);
elm_hover_parent_set(hv, sd->parent);
@@ -671,8 +684,10 @@ _elm_menu_evas_object_smart_add(Eo *obj, Elm_Menu_Data 
*priv)
elm_widget_can_focus_set(obj, EINA_FALSE);
 
priv->location = elm_icon_add(obj);
+   eo_do(priv->location, 
elm_interface_atspi_accessible_type_set(ELM_ATSPI_TYPE_DISABLED));
 
priv->hv = elm_hover_add(obj);
+   eo_do(priv->hv, 
elm_interface_atspi_accessible_type_set(ELM_ATSPI_TYPE_SKIPPED));
elm_widget_mirrored_set(priv->hv, EINA_FALSE);
 
elm_object_style_set(priv->hv, "menu/default");
@@ -680,6 +695,7 @@ 

[EGIT] [core/efl] master 01/02: efreet desktop tracking - fix monitoring of dirs of custom desktops

2015-12-02 Thread Carsten Haitzler
raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=5263e61585dcc90264790565efb8bcdfcfbf0a13

commit 5263e61585dcc90264790565efb8bcdfcfbf0a13
Author: Carsten Haitzler (Rasterman) 
Date:   Wed Dec 2 20:29:31 2015 +0900

efreet desktop tracking - fix monitoring of dirs of custom desktops

@fix

this is wrong - start monitoring every/any dir in which a desktop file
exists that we load a desktop file from. imagine you browse directories
in efm with lots of desktop files in them - we end up monitoring lots
of directories that we then rememebr and don't un-monitor. this
disables monitoring of dirs from which we load a .desktop file from to
fix this.
---
 src/bin/efreet/efreetd_cache.c  | 4 +++-
 src/lib/efreet/efreet_desktop.c | 8 +++-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/bin/efreet/efreetd_cache.c b/src/bin/efreet/efreetd_cache.c
index e1896e7..6fa8854 100644
--- a/src/bin/efreet/efreetd_cache.c
+++ b/src/bin/efreet/efreetd_cache.c
@@ -698,7 +698,9 @@ error:
 static void
 read_lists(void)
 {
-   fill_list("extra_desktops.dirs", _extra_dirs);
+// dont use extra dirs as the only way to get extra dirs is by loading a
+// specific desktop file at a specific path, and this is wrong
+//   fill_list("extra_desktops.dirs", _extra_dirs);
fill_list("extra_icons.dirs", _extra_dirs);
fill_list("icons.exts", _exts);
 }
diff --git a/src/lib/efreet/efreet_desktop.c b/src/lib/efreet/efreet_desktop.c
index 3de19be..a49a975 100644
--- a/src/lib/efreet/efreet_desktop.c
+++ b/src/lib/efreet/efreet_desktop.c
@@ -154,7 +154,12 @@ efreet_desktop_get(const char *file)
 
 desktop = efreet_desktop_new(file);
 if (!desktop) return NULL;
-
+return desktop;
+   // this is wrong - start monitoring every/any dir in which a desktop file
+   // exists that we load a desktop file from. imagine you browse directories
+   // in efm with lots of desktop files in them - we end up monitoring lots
+   // of directories that we then rememebr and don't un-monitor.
+#if 0
 /* If we didn't find this file in the eet cache, add path to search path */
 if (!desktop->eet)
 {
@@ -185,6 +190,7 @@ efreet_desktop_get(const char *file)
 }
 }
 return desktop;
+#endif
 }
 
 EAPI int

-- 




[EGIT] [core/efl] master 02/02: fix efreetd to scan more subdirs for desktop and icon files

2015-12-02 Thread Carsten Haitzler
raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=723634370162525cff17dc559fc6e9724f7591ae

commit 723634370162525cff17dc559fc6e9724f7591ae
Author: Carsten Haitzler (Rasterman) 
Date:   Wed Dec 2 20:32:07 2015 +0900

fix efreetd to scan more subdirs for desktop and icon files

we miss desktop files for apps and stuff because we dont monitor too
deep a tree. this ups our tree depth to 10 levels.

@fix
---
 src/bin/efreet/efreetd_cache.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/efreet/efreetd_cache.c b/src/bin/efreet/efreetd_cache.c
index 6fa8854..b72450d 100644
--- a/src/bin/efreet/efreetd_cache.c
+++ b/src/bin/efreet/efreetd_cache.c
@@ -534,7 +534,7 @@ icon_changes_listen_recursive(Eina_Inarray *stack, const 
char *path, Eina_Bool b
 
if (stat(path, ) == -1) return;
if (eina_inarray_search(stack, , stat_cmp) >= 0) return;
-   if (!_check_recurse_monitor_sanity(stack, path, 8)) return;
+   if (!_check_recurse_monitor_sanity(stack, path, 10)) return;
eina_inarray_push(stack, );
 
if ((!S_ISDIR(st.st_mode)) && (base))
@@ -573,7 +573,7 @@ desktop_changes_listen_recursive(Eina_Inarray *stack, const 
char *path, Eina_Boo
 
if (stat(path, ) == -1) return;
if (eina_inarray_search(stack, , stat_cmp) >= 0) return;
-   if (!_check_recurse_monitor_sanity(stack, path, 3)) return;
+   if (!_check_recurse_monitor_sanity(stack, path, 10)) return;
eina_inarray_push(stack, );
 
if ((!S_ISDIR(st.st_mode)) && (base))

-- 




[EGIT] [core/efl] master 01/01: Evas textblock: fix height on line wrapping

2015-12-02 Thread Daniel Hirt
herdsman pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=59e9e2ddc873dc8f0fd6fd8e1e68707d955c0401

commit 59e9e2ddc873dc8f0fd6fd8e1e68707d955c0401
Author: Daniel Hirt 
Date:   Wed Dec 2 14:37:58 2015 +0200

Evas textblock: fix height on line wrapping

Line advance should finalize the line with its last item, and not the
item we're currently wrapping. This fixes T1583, where some line
wrapping cases would look different than their equivalent 
versions.

@fix
---
 src/lib/evas/canvas/evas_object_textblock.c | 8 +++-
 src/tests/evas/evas_test_textblock.c| 9 +
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/evas_object_textblock.c 
b/src/lib/evas/canvas/evas_object_textblock.c
index 879659c..30cfb91 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -3642,6 +3642,8 @@ loop_advance:
 static void
 _layout_line_advance(Ctxt *c, Evas_Object_Textblock_Format *fmt)
 {
+   Evas_Object_Textblock_Format *last_fmt = fmt;
+
if (c->hyphen_ti)
  {
 c->ln->items = (Evas_Object_Textblock_Item *)
@@ -3652,7 +3654,11 @@ _layout_line_advance(Ctxt *c, 
Evas_Object_Textblock_Format *fmt)
eina_list_append(c->o->hyphen_items, c->hyphen_ti);
 c->hyphen_ti = NULL;
  }
-   _layout_line_finalize(c, fmt);
+   if (c->ln->items)
+ {
+last_fmt = _ITEM(EINA_INLIST_GET(c->ln->items)->last)->format;
+ }
+   _layout_line_finalize(c, last_fmt);
_layout_line_new(c, fmt);
 }
 
diff --git a/src/tests/evas/evas_test_textblock.c 
b/src/tests/evas/evas_test_textblock.c
index ad16793..a14f599 100644
--- a/src/tests/evas/evas_test_textblock.c
+++ b/src/tests/evas/evas_test_textblock.c
@@ -2162,6 +2162,15 @@ START_TEST(evas_textblock_wrapping)
 ck_assert_int_eq(bret, ret);
  }
 
+   /* Check that line wrap produces the same height values as paragraph break 
*/
+   evas_object_resize(tb, 1, 100);
+   evas_object_textblock_text_markup_set(tb, 

[EGIT] [tools/erigo] master 03/03: Fix in _drop_target_pos() cb

2015-12-02 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=35ba7e43041dfc30365e1141db633bf6ab6dfa01

commit 35ba7e43041dfc30365e1141db633bf6ab6dfa01
Author: Yakov Goldberg 
Date:   Wed Dec 2 15:50:00 2015 +0200

Fix in _drop_target_pos() cb

Callback was not properly called for drag_data == NULL
---
 src/bin/gui/editor.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/bin/gui/editor.c b/src/bin/gui/editor.c
index aaf06d3..6ef8359 100644
--- a/src/bin/gui/editor.c
+++ b/src/bin/gui/editor.c
@@ -2153,10 +2153,9 @@ _drop_target_pos(void *data, Eo *obj, Evas_Coord x, 
Evas_Coord y, Elm_Xdnd_Actio
 else
   {
  const char *drop_data = dnd_drop_data_get();
- if (!drop_data) return;
 
  /* Creation of the wdg */
- if (!_dragged_wdg)
+ if (drop_data && !_dragged_wdg)
{
   _dragged_wdg = _editor_wdg_create(_active_context_get(), 
drop_data);
}

-- 




[EGIT] [tools/erigo] master 01/03: Change multiple if to else if

2015-12-02 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=045800f333a315cc2280c384fc8b473ad3814283

commit 045800f333a315cc2280c384fc8b473ad3814283
Author: Yakov Goldberg 
Date:   Wed Dec 2 10:35:00 2015 +0200

Change multiple if to else if
---
 src/bin/gui/editor.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/bin/gui/editor.c b/src/bin/gui/editor.c
index ad315b1..aaf06d3 100644
--- a/src/bin/gui/editor.c
+++ b/src/bin/gui/editor.c
@@ -2223,7 +2223,7 @@ _drop_target_pos(void *data, Eo *obj, Evas_Coord x, 
Evas_Coord y, Elm_Xdnd_Actio
   }
 di->packed = EINA_TRUE;
  }
-   if (drop_target_wdg && !strcmp(wdg_class_name_get(drop_target_wdg), 
DB_DEF_TABLE_CLASS))
+   else if (drop_target_wdg && !strcmp(wdg_class_name_get(drop_target_wdg), 
DB_DEF_TABLE_CLASS))
  {
 const Eina_List *lst = 
wdg_obj_container_contents_list_get(drop_target_wdg), *l;
 Object_Container_Item *it;
@@ -2393,7 +2393,7 @@ _drop_target_pos(void *data, Eo *obj, Evas_Coord x, 
Evas_Coord y, Elm_Xdnd_Actio
  di->packed = EINA_TRUE;
   }
  }
-   if (drop_target_wdg && !strcmp(wdg_class_name_get(drop_target_wdg), 
DB_DEF_LAYOUT_CLASS))
+   else if (drop_target_wdg && !strcmp(wdg_class_name_get(drop_target_wdg), 
DB_DEF_LAYOUT_CLASS))
  {
 /* manually check for part's contents.
  * FIXME: DUMMY objects can be changed to dummy widget: the same 
widget but with dummy_id,
@@ -2477,7 +2477,7 @@ _drop_target_pos(void *data, Eo *obj, Evas_Coord x, 
Evas_Coord y, Elm_Xdnd_Actio
}
   }
  }
-   if (drop_target_wdg && !strcmp(wdg_class_name_get(drop_target_wdg), 
DB_DEF_NAVIFRAME_CLASS))
+   else if (drop_target_wdg && !strcmp(wdg_class_name_get(drop_target_wdg), 
DB_DEF_NAVIFRAME_CLASS))
  {
 /* manually check for part's contents.
  * FIXME: DUMMY objects can be changed to dummy widget: the same 
widget but with dummy_id,

-- 




[EGIT] [tools/erigo] master 02/03: Leave cb was not correctly called when objtree was left

2015-12-02 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=eca881051196e8f9b09e3614cd48a2a6b3e784a3

commit eca881051196e8f9b09e3614cd48a2a6b3e784a3
Author: Yakov Goldberg 
Date:   Wed Dec 2 15:47:57 2015 +0200

Leave cb was not correctly called when objtree was left
---
 src/bin/gui/dnd.c | 35 +++
 1 file changed, 19 insertions(+), 16 deletions(-)

diff --git a/src/bin/gui/dnd.c b/src/bin/gui/dnd.c
index 1eb9dc6..0dd11d6 100644
--- a/src/bin/gui/dnd.c
+++ b/src/bin/gui/dnd.c
@@ -214,25 +214,28 @@ _dropleave(void *data, Evas_Object *obj)
 {
dnd_debug("In");
_drop_info_global._enter_leave_counter--;
-   /* data is NULL when entering/leaving objtree. */
-   if (!data) return;
-   Drop_Target_Info *main_wdg_ti = data;
 
-   /* if ti->drop_target is not current main widget, then it means,
-* that prev drop target, box for example wasn't leaved properly.
-* For example moving mouse fast from one window to another will cause 
"jump".
-* So need to call leave properly.
-* */
-   if (main_wdg_ti->drop_target != main_wdg_ti->wdg)
+   /* data is NULL when entering/leaving objtree. */
+   if (data)
  {
-Drop_Target_Info *ti = wdg_data_get(main_wdg_ti->drop_target, 
DROP_TARGET);
-if (ti->drop_target_leave)
-  ti->drop_target_leave(ti->leavedata, obj);
- }
-   main_wdg_ti->drop_target = NULL;
+Drop_Target_Info *main_wdg_ti = data;
+
+/* if ti->drop_target is not current main widget, then it means,
+ * that prev drop target, box for example wasn't leaved properly.
+ * For example moving mouse fast from one window to another will cause 
"jump".
+ * So need to call leave properly.
+ * */
+if (main_wdg_ti->drop_target != main_wdg_ti->wdg)
+  {
+ Drop_Target_Info *ti = wdg_data_get(main_wdg_ti->drop_target, 
DROP_TARGET);
+ if (ti->drop_target_leave)
+   ti->drop_target_leave(ti->leavedata, obj);
+  }
+main_wdg_ti->drop_target = NULL;
 
-   if (main_wdg_ti->drop_target_leave)
- main_wdg_ti->drop_target_leave(main_wdg_ti->leavedata, obj);
+if (main_wdg_ti->drop_target_leave)
+  main_wdg_ti->drop_target_leave(main_wdg_ti->leavedata, obj);
+ }
 
if (!_drop_info_global._enter_leave_counter)
  {

-- 




[EGIT] [tools/eflete] master 08/62: property_group: remake tweens and apply it according to new UI/UX requirements

2015-12-02 Thread Vitalii Vorobiov
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=79dcad432bf544cc851d3f5987397f8b18f586b6

commit 79dcad432bf544cc851d3f5987397f8b18f586b6
Author: Vitalii Vorobiov 
Date:   Wed Nov 25 16:06:16 2015 +0200

property_group: remake tweens and apply it according to new UI/UX 
requirements
---
 data/themes/default/widgets/frame.edc| 346 +--
 data/themes/default/widgets/layouts/property.edc |  39 +++
 src/bin/ui/property_group.c  | 120 
 3 files changed, 103 insertions(+), 402 deletions(-)

diff --git a/data/themes/default/widgets/frame.edc 
b/data/themes/default/widgets/frame.edc
index de40f9f..c57ed5f 100644
--- a/data/themes/default/widgets/frame.edc
+++ b/data/themes/default/widgets/frame.edc
@@ -132,6 +132,7 @@ group { name: "elm/frame/base/default";
  clip_to: "clipper";
  description { state: "default" 0.0;
 align: 0.5 0.0;
+min: 0 150;
 rel1 {
to: "clipper";
 }
@@ -752,348 +753,3 @@ group { name: "elm/frame/base/icon";
   }
}
 }
-
-group { name: "elm/frame/base/tween";
-   images {
-  image: "icon-group-expand.png" COMP;
-  image: "icon-group-minimize.png" COMP;
-  image: "group-border-bg-upper.png" COMP;
-   }
-   parts {
-  part { name: "padding_top_left";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
-align: 0.0 0.0;
-FIXED_SIZE(3, 5);
- }
-  }
-  part { name: "padding_bottom_right";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
-align: 1.0 1.0;
-FIXED_SIZE(3, 5);
- }
-  }
-  part { name: "base";
- type: SPACER;
- scale: 1;
- description { state: "default" 0.0;
-rel1 {
-   relative: 1.0 1.0;
-   to: "padding_top_left";
-}
-rel2 {
-   relative: 0.0 0.0;
-   to: "padding_bottom_right";
-}
- }
-  }
-  part { name: "elm.text";
- type: TEXT;
- scale: 1;
- description { state: "default" 0.0;
-align: 0.0 0.0;
-color: FN_COL_DEFAULT;
-color2: 0 0 0 255;
-fixed: 1 1;
-rel1 {
-   relative: 1.0 1.0;
-   to_x: "button.area";
-   to_y: "padding_top_left";
-}
-text {
-   font: FN;
-   size: 13;
-   max: 1 1;
-   align: 0.0 0.5;
-}
- }
-  }
-  part { name: "elm.text.label";
- type: TEXT;
- description { state: "default" 0.0;
-align: 1.0 0.5;
-color: FN_COL_DEFAULT;
-color2: 0 0 0 255;
-fixed: 1 1;
-rel1.to_y: "elm.text";
-rel2 {
-   relative: 0.0 1.0;
-   to_x: "padding.right.swallow";
-   to_y: "elm.text";
-}
-text {
-   text: "Add";
-   font: FN;
-   size: 13;
-   max: 1 1;
-   align: 0.0 0.5;
-}
- }
-  }
-  part { name: "bevel.upper.add";
- type: IMAGE;
- description { state: "default" 0.0;
-align: 1.0 0.5;
-FIXED_SIZE(7, 2);
-rel1 {
-   relative: 1.0 0.0;
-   to_y: "elm.text.label";
-}
-rel2 {
-   relative: 0.0 1.0;
-   to_x: "padding_bottom_right";
-   to_y: "elm.text.label";
-}
-image {
-   normal: "group-border-bg-upper.png";
-   border: 1 1 0 2;
-}
- }
-  }
-  part { name: "padding.right.swallow";
- type: SPACER;
- description { state: "default" 0.0;
-align: 1.0 0.5;
-FIXED_SIZE(3, 3);
-rel1 {
-   relative: 1.0 0.0;
-   to_y: "elm.text";
-}
-rel2 {
-   relative: 0.0 1.0;
-   to_x: "elm.swallow.add";
-   to_y: "elm.text";
-}
- }
-  }
-  part { name: "padding_left_swallow";
- type: SPACER;
- description { state: "default" 0.0;
-align: 0.0 0.5;
-FIXED_SIZE(3, 3);
-rel1 {
-   relative: 1.0 0.0;
-   to: "elm.text";
- }
-rel2.to_y: "elm.text";
- }
-  }
-  part { name: "elm.swallow.icon";
- type: SWALLOW;
- description { state: "default" 0.0;
-align: 0.0 0.5;
-fixed: 1 1;
-rel1 {
-  relative: 1.0 0.0;
-  to: "padding_left_swallow";
-}
-rel2 {
-

[EGIT] [tools/eflete] master 13/62: style_editor: fix genlist add items

2015-12-02 Thread Mykola Solyanko
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=25aa0193ab828e784f90e27952d91d6f7a77de4e

commit 25aa0193ab828e784f90e27952d91d6f7a77de4e
Author: Mykola Solyanko 
Date:   Mon Nov 30 15:36:39 2015 +0200

style_editor: fix genlist add items
---
 src/bin/ui/editors/style_editor.c | 37 +++--
 1 file changed, 23 insertions(+), 14 deletions(-)

diff --git a/src/bin/ui/editors/style_editor.c 
b/src/bin/ui/editors/style_editor.c
index c6b1001..5bd99b6 100644
--- a/src/bin/ui/editors/style_editor.c
+++ b/src/bin/ui/editors/style_editor.c
@@ -81,21 +81,29 @@ struct _Style_Tag_Entries
 
 static Elm_Genlist_Item_Class *_itc_style = NULL;
 static Elm_Genlist_Item_Class *_itc_tags = NULL;
+static Eina_Bool is_expanded_glitem = EINA_FALSE;
 
 static void
 _on_popup_bt_cancel(void *data,
-Evas_Object *obj __UNUSED__,
+Evas_Object *obj,
 void *ei __UNUSED__)
 {
Style_Editor *style_edit = (Style_Editor *)data;
 
assert(style_edit != NULL);
assert(POPUP.name_validator != NULL);
-   elm_validator_regexp_free(POPUP.name_validator);
-   POPUP.name_validator = NULL;
+
+   if (obj && is_expanded_glitem)
+ {
+
elm_genlist_item_expanded_set(elm_genlist_selected_item_get(style_edit->glist), 
false);
+is_expanded_glitem = EINA_FALSE;
+ }
 
evas_object_del(POPUP.dialog);
POPUP.dialog = NULL;
+
+   elm_validator_regexp_free(POPUP.name_validator);
+   POPUP.name_validator = NULL;
 }
 
 static void
@@ -216,19 +224,15 @@ _on_st_add_bt_ok(void *data,
  }
 
glit_style = elm_genlist_item_append(style_edit->glist, _itc_style,
-style_name, NULL, 
ELM_GENLIST_ITEM_NONE,
+style_name, NULL, 
ELM_GENLIST_ITEM_TREE,
 _on_glit_selected, style_edit);
elm_object_item_data_set(glit_style, (char *)style_name);
 
-   elm_genlist_item_append(style_edit->glist, _itc_tags,
-   "DEFAULT", glit_style, ELM_GENLIST_ITEM_NONE,
-   _on_glit_selected, style_edit);
-
TODO("Need refactoring after callback logic for modal window 
implementation")
 
+
elm_genlist_item_selected_set(glit_style, true);
-   elm_genlist_item_bring_in(glit_style, ELM_GENLIST_ITEM_SCROLLTO_IN);
-   elm_genlist_item_show(glit_style, ELM_GENLIST_ITEM_SCROLLTO_IN);
+   elm_genlist_item_bring_in(glit_style, ELM_GENLIST_ITEM_SCROLLTO_TOP);
 
res = mem_calloc(1, sizeof(Resource));
res->name = eina_stringshare_add(style_name);
@@ -281,8 +285,7 @@ _on_tag_add_bt_ok(void *data,
   _on_glit_selected, style_edit);
elm_object_item_data_set(glit_tag,(char *)tag_name);
elm_genlist_item_selected_set(glit_tag, true);
-   elm_genlist_item_show(style_edit->tag, ELM_GENLIST_ITEM_SCROLLTO_IN);
-   elm_genlist_item_bring_in(glit_tag, ELM_GENLIST_ITEM_SCROLLTO_MIDDLE);
+   elm_genlist_item_bring_in(glit_tag, ELM_GENLIST_ITEM_SCROLLTO_TOP);
 
_on_popup_bt_cancel(style_edit, NULL, NULL);
 
@@ -361,8 +364,14 @@ _on_bt_tag_add(Style_Editor *style_edit)
 
if (!glit_parent)
  {
- style_name = elm_object_item_data_get(glit);
- style_edit->tag = glit;
+if (!elm_genlist_item_expanded_get(glit))
+  {
+ elm_genlist_item_expanded_set(glit, true);
+ is_expanded_glitem = EINA_TRUE;
+  }
+
+style_name = elm_object_item_data_get(glit);
+style_edit->tag = glit;
  }
else
  {

-- 




[EGIT] [tools/eflete] master 21/62: diff: add debug assertions

2015-12-02 Thread Andrii Kroitor
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=4c1efbd1d9d62c60dd12b1265da4ae86e6bd

commit 4c1efbd1d9d62c60dd12b1265da4ae86e6bd
Author: Andrii Kroitor 
Date:   Tue Dec 1 12:02:24 2015 +0200

diff: add debug assertions

they should be removed after our side becomes stable
---
 src/bin/editor/diff.c | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/bin/editor/diff.c b/src/bin/editor/diff.c
index ce2e155..f2c7383 100644
--- a/src/bin/editor/diff.c
+++ b/src/bin/editor/diff.c
@@ -163,7 +163,9 @@ diff_undo(Evas_Object *obj, Diff *diff)
assert(obj != NULL);
assert(diff != NULL);
 
-   return _apply(obj, >undo);
+   Eina_Bool res = _apply(obj, >undo);
+   assert(res);
+   return res;
 }
 
 Eina_Bool
@@ -172,7 +174,9 @@ diff_redo(Evas_Object *obj, Diff *diff)
assert(obj != NULL);
assert(diff != NULL);
 
-   return _apply(obj, >redo);
+   Eina_Bool res = _apply(obj, >redo);
+   assert(res);
+   return res;
 }
 
 void

-- 




[EGIT] [tools/eflete] master 06/62: Property: fill sound player content into property

2015-12-02 Thread Elizabeth Shevchenko
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=5cc9fde9c93fabdc15c597728789fee85a1dbe41

commit 5cc9fde9c93fabdc15c597728789fee85a1dbe41
Author: Elizabeth Shevchenko 
Date:   Thu Nov 26 15:02:41 2015 +0200

Property: fill sound player content into property
---
 src/bin/common/signals.h  |  12 +-
 src/bin/ui/editors/sound_editor.c | 803 +-
 src/bin/ui/editors/sound_editor.h |  19 +
 src/bin/ui/property_sound.c   | 751 ---
 4 files changed, 732 insertions(+), 853 deletions(-)

diff --git a/src/bin/common/signals.h b/src/bin/common/signals.h
index 5d08ae7..6911b8b 100644
--- a/src/bin/common/signals.h
+++ b/src/bin/common/signals.h
@@ -273,12 +273,20 @@ typedef struct {
 #define SIGNAL_SOUND_EDITOR_TAB_CLICKED "SIGNAL_SOUND_EDITOR_TAB_CLICKED"
 
  /**
- * emited when sound/sounds in sound editor is/are selected.
+ * emited when sound/sounds in sound editor is/are added/selected.
  * eventinfo - NULL
  *
  * @ingroup Window
  */
-#define SIGNAL_SOUND_SELECTED "SIGNAL_SOUND_SELECTED"
+#define SIGNAL_SOUND_ADD "SIGNAL_SOUND_ADD"
+
+ /**
+ * emited when sound/sounds in sound editor is/are deleted.
+ * eventinfo - NULL
+ *
+ * @ingroup Window
+ */
+#define SIGNAL_SOUND_DEL "SIGNAL_SOUND_DEL"
 
  /**
  * emited when style editor tab is clicked.
diff --git a/src/bin/ui/editors/sound_editor.c 
b/src/bin/ui/editors/sound_editor.c
index 6e53ff6..da20bc3 100644
--- a/src/bin/ui/editors/sound_editor.c
+++ b/src/bin/ui/editors/sound_editor.c
@@ -16,31 +16,18 @@
  * You should have received a copy of the GNU Lesser General Public License
  * along with this program; If not, see www.gnu.org/licenses/lgpl.html.
  */
-#define EO_BETA_API
-#define EFL_BETA_API_SUPPORT
-#define EFL_EO_API_SUPPORT
-
 #include "sound_editor.h"
 #include "main_window.h"
 #include "editor.h"
 
 TODO("Rename this file to sound_manager")
 
-#ifdef HAVE_AUDIO
-TODO("Check pulse_audio on configure and add COREAUDIO support")
-   #define HAVE_PULSE 1
-   #include 
-#endif
-
 #define ITEM_WIDTH 100
 #define ITEM_HEIGHT 115
-#define UPDATE_FREQUENCY 1.0 / 30.0
-#define TONE_PLAYING_DURATION 2.0
 #define SND_EDIT_KEY "sound_editor_key"
 
 typedef struct _Sound_Editor Sound_Editor;
 typedef struct _Search_Data Search_Data;
-typedef struct _Item Item;
 typedef struct _Sound Sound;
 
 struct _Sound
@@ -50,16 +37,6 @@ struct _Sound
int tone_frq;
 };
 
-struct _Item
-{
-   Eina_Stringshare *sound_name;
-   Eina_Stringshare *src;
-   Eina_Stringshare *format;
-   Edje_Edit_Sound_Comp comp;
-   double rate;
-   int tone_frq;
-};
-
 struct _Search_Data
 {
Evas_Object *search_entry;
@@ -75,48 +52,14 @@ struct _Sound_Editor
Evas_Object *tone_entry, *frq_entry;
Elm_Validator_Regexp *tone_validator, *frq_validator;
Evas_Object *gengrid;
-   Evas_Object *sample_box;
-   Evas_Object *tone_box;
Evas_Object *markup;
-   Evas_Object *player_markup;
Elm_Object_Item *tone;
Search_Data sound_search_data;
Evas_Object *check;
const char  *selected;
const char  *snd_src;
 
-#ifdef HAVE_AUDIO
-   struct {
-  int offset, length;
-  const void *data;
-  Ecore_Audio_Vio vio;
-  Eo *in, *out;
-  Eina_Binbuf *buf;
-   } io;
-#endif
-   struct {
-  Evas_Object *teg;
-  Evas_Object *tone_name;
-  Evas_Object *tone_frq;
-  Evas_Object *tone_duration;
-  Evas_Object *file_name;
-  Evas_Object *duration;
-  Evas_Object *type;
-  Evas_Object *size;
-  Evas_Object *comp;
-  Evas_Object *quality;
-   } snd_data;
-
-   Ecore_Timer *timer;
-   Evas_Object *rewind;
-   Evas_Object *play;
-   Evas_Object *pause;
Evas_Object *fs_win;
-   Eina_Bool decoration : 1;
-   Eina_Bool playing : 1;
-   Eina_Bool stopped : 1;
-   Eina_Bool switched : 1;
-   Eina_Bool added : 1;
 };
 
 static Elm_Gengrid_Item_Class *gic = NULL, *ggic = NULL;
@@ -152,597 +95,13 @@ _grid_group_label_get(void *data,
 }
 
 static void
-_sound_editor_del(Sound_Editor *edit)
-{
-   assert(edit != NULL);
-
-#ifdef HAVE_AUDIO
-   ecore_audio_shutdown();
-#endif
-   elm_gengrid_item_class_free(gic);
-   elm_gengrid_item_class_free(ggic);
-   evas_object_data_del(edit->markup, SND_EDIT_KEY);
-   eina_stringshare_del(edit->selected);
-   free(edit);
-}
-
-#ifdef HAVE_AUDIO
-static int
-_snd_file_seek(void *data, Eo *eo_obj EINA_UNUSED, int offset, int whence)
-{
-   Sound_Editor *vf = data;
-
-   assert(vf != NULL);
-
-   switch (whence)
- {
-  case SEEK_SET:
- vf->io.offset = offset;
- break;
-  case SEEK_CUR:
- vf->io.offset += offset;
- break;
-  case SEEK_END:
- vf->io.offset = vf->io.length + offset;
- break;
-  default:
- break;
- }
-   return vf->io.offset;
-}
-
-static int
-_snd_file_read(void *data, Eo *eo_obj EINA_UNUSED, void *buffer, int len)
-{
-   Sound_Editor *vf = data;
-
-   

[EGIT] [tools/eflete] master 38/62: Merge "editor: implement signal blockers"

2015-12-02 Thread Gerrit User
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=2ed0c263aba2b021e535f8f79992e9caf1598440

commit 2ed0c263aba2b021e535f8f79992e9caf1598440
Merge: a286339 dbf1509
Author: Gerrit User 
Date:   Wed Dec 2 10:24:21 2015 +0200

Merge "editor: implement signal blockers"

 src/bin/editor/editor_general.c |  2 +-
 src/bin/editor/editor_group.c   |  7 ---
 src/bin/editor/editor_macro.h   | 26 +-
 src/bin/editor/editor_part.c| 33 ++---
 src/bin/editor/editor_states.c  | 11 ++-
 src/bin/editor/editor_text.c|  3 ++-
 6 files changed, 44 insertions(+), 38 deletions(-)

-- 




[EGIT] [tools/eflete] master 60/62: UTC: delete test for nonexistent API

2015-12-02 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=6483917f60acc4c556b8f52e43d47c07a0bf71ba

commit 6483917f60acc4c556b8f52e43d47c07a0bf71ba
Author: Vyacheslav Reutskiy 
Date:   Wed Dec 2 14:42:16 2015 +0200

UTC: delete test for nonexistent API

Change-Id: I78d6db087a8886f14eb880525dba3ae5ded7d9fa
---
 tests/Makefile.am  |   2 -
 tests/test_ui_workspace/test_ui_workspace.c|   4 -
 tests/test_ui_workspace/test_ui_workspace.h|   6 -
 .../workspace_edit_object_part_state_add.c | 147 ---
 .../workspace_edit_object_part_state_del.c | 158 -
 5 files changed, 317 deletions(-)

diff --git a/tests/Makefile.am b/tests/Makefile.am
index 11a57b3..1ebe7a6 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -388,8 +388,6 @@ ui_workspace_test_SOURCES = \
 ../tests/test_ui_workspace/workspace_edit_object_part_add.c \
 ../tests/test_ui_workspace/workspace_edit_object_part_below.c \
 ../tests/test_ui_workspace/workspace_edit_object_part_del.c \
-../tests/test_ui_workspace/workspace_edit_object_part_state_add.c \
-../tests/test_ui_workspace/workspace_edit_object_part_state_del.c \
 ../tests/test_ui_workspace/workspace_edit_object_part_state_set.c \
 ../tests/test_ui_workspace/workspace_edit_object_recalc.c \
 ../tests/test_ui_workspace/workspace_edit_object_visible_set.c \
diff --git a/tests/test_ui_workspace/test_ui_workspace.c 
b/tests/test_ui_workspace/test_ui_workspace.c
index 829bccc..c25bcf3 100644
--- a/tests/test_ui_workspace/test_ui_workspace.c
+++ b/tests/test_ui_workspace/test_ui_workspace.c
@@ -33,10 +33,6 @@ Suite* test_suite (void) {
tcase_add_test(tcase, workspace_edit_object_part_del_test_p);
tcase_add_test(tcase, workspace_edit_object_part_restack_test_p1);
tcase_add_test(tcase, workspace_edit_object_part_restack_test_p2);
-   tcase_add_test(tcase, workspace_edit_object_part_state_add_test_p);
-   tcase_add_test(tcase, workspace_edit_object_part_state_add_test_p1);
-   tcase_add_test(tcase, workspace_edit_object_part_state_del_test_p);
-   tcase_add_test(tcase, workspace_edit_object_part_state_del_test_p1);
tcase_add_test(tcase, workspace_edit_object_part_state_set_test_n2);
tcase_add_test(tcase, workspace_edit_object_part_state_set_test_p);
tcase_add_test(tcase, workspace_edit_object_recalc_test_p);
diff --git a/tests/test_ui_workspace/test_ui_workspace.h 
b/tests/test_ui_workspace/test_ui_workspace.h
index 64176f8..10bb57d 100644
--- a/tests/test_ui_workspace/test_ui_workspace.h
+++ b/tests/test_ui_workspace/test_ui_workspace.h
@@ -37,12 +37,6 @@ void workspace_edit_object_part_below_test_p(int);
 void workspace_edit_object_part_del_test_p(int);
 void workspace_edit_object_part_restack_test_p1(int);
 void workspace_edit_object_part_restack_test_p2(int);
-void workspace_edit_object_part_state_add_test_n(int);
-void workspace_edit_object_part_state_add_test_n1(int);
-void workspace_edit_object_part_state_add_test_p(int);
-void workspace_edit_object_part_state_add_test_p1(int);
-void workspace_edit_object_part_state_del_test_p(int);
-void workspace_edit_object_part_state_del_test_p1(int);
 void workspace_edit_object_part_state_set_test_n2(int);
 void workspace_edit_object_part_state_set_test_p(int);
 void workspace_edit_object_recalc_test_p(int);
diff --git a/tests/test_ui_workspace/workspace_edit_object_part_state_add.c 
b/tests/test_ui_workspace/workspace_edit_object_part_state_add.c
deleted file mode 100644
index 426621b..000
--- a/tests/test_ui_workspace/workspace_edit_object_part_state_add.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/**
- * Edje Theme Editor
- * Copyright (C) 2013-2014 Samsung Electronics.
- *
- * This file is part of Edje Theme Editor.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; If not, see www.gnu.org/licenses/lgpl.html.
- */
-
-#include "test_ui_workspace.h"
-
-/**
- * @addtogroup ui_workspace_test
- * @{
- * @addtogroup workspace_edit_object_part_state_add
- * @{
- * ui_workspace
- * 
- * @}
-*/
-
-/**
- * @addtogroup workspace_edit_object_part_state_add
- * @{
- * 
- * workspace_edit_object_part_state_add
- * workspace_edit_object_part_state_add_test_p
- * 
- * @precondition
- * @step 1 initialize elementary library
- * @step 2 load extenstion theme from EFLETE_THEME file
- * @step 3 create parent window
- * @step 4 Mmap edj file.
- * @step 5 create workspace object
- 

[EGIT] [tools/eflete] master 50/62: editor: fix default box layout value

2015-12-02 Thread Andrii Kroitor
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=647c00cc44f4ae91a42420db0ae701b3e4a16939

commit 647c00cc44f4ae91a42420db0ae701b3e4a16939
Author: Andrii Kroitor 
Date:   Wed Dec 2 12:05:18 2015 +0200

editor: fix default box layout value
---
 src/bin/editor/editor_part.c   | 6 ++
 src/bin/editor/editor_states.c | 6 ++
 2 files changed, 12 insertions(+)

diff --git a/src/bin/editor/editor_part.c b/src/bin/editor/editor_part.c
index 62b6393..adaffd2 100644
--- a/src/bin/editor/editor_part.c
+++ b/src/bin/editor/editor_part.c
@@ -624,6 +624,12 @@ editor_part_add(Evas_Object *edit_object, Change *change, 
Eina_Bool merge __UNUS
  return false;
 
editor_save(edit_object);
+
+   /* fix incorrect default values */
+   TODO("Fix edje_edit")
+   if (type == EDJE_PART_TYPE_BOX)
+ edje_edit_state_box_layout_set(edit_object, part_name, "default", 0.0, 
"horizontal");
+
_editor_project_changed();
event_info = eina_stringshare_add(part_name);
if (!_editor_signals_blocked) evas_object_smart_callback_call(ap.win, 
SIGNAL_EDITOR_PART_ADDED, (void *)event_info);
diff --git a/src/bin/editor/editor_states.c b/src/bin/editor/editor_states.c
index 1881d68..08f1504 100644
--- a/src/bin/editor/editor_states.c
+++ b/src/bin/editor/editor_states.c
@@ -325,6 +325,12 @@ editor_state_add(Evas_Object *edit_object, Change *change, 
Eina_Bool merge __UNU
  }
if (!edje_edit_state_add(edit_object, part_name, state_name, state_val))
  return false;
+
+   /* fix incorrect default values */
+   TODO("Fix edje_edit")
+   if (edje_edit_part_type_get(edit_object, part_name) == EDJE_PART_TYPE_BOX)
+ edje_edit_state_box_layout_set(edit_object, part_name, state_name, 
state_val, "horizontal");
+
_editor_project_changed();
event_info.part_name = eina_stringshare_add(part_name);
event_info.state_name = eina_stringshare_printf("%s %.2f", state_name, 
state_val);

-- 




[EGIT] [tools/eflete] master 47/62: Ewe ruler: use Evas_Object* for elm_box_add.

2015-12-02 Thread Mykyta Biliavskyi
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=c94a857bd6d5a45f300b3010911f6e563ecf8c99

commit c94a857bd6d5a45f300b3010911f6e563ecf8c99
Author: Mykyta Biliavskyi 
Date:   Tue Nov 10 17:08:28 2015 +

Ewe ruler: use Evas_Object* for elm_box_add.
---
 src/lib/ewe_ruler.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/ewe_ruler.c b/src/lib/ewe_ruler.c
index e3ca6ba..b9b6331 100644
--- a/src/lib/ewe_ruler.c
+++ b/src/lib/ewe_ruler.c
@@ -409,7 +409,7 @@ _ewe_ruler_scale_add(Eo *obj,
 
sd->scales = eina_list_append(sd->scales, ret);
 
-   ret->box = elm_box_add(evas_object_evas_get(obj));
+   ret->box = elm_box_add(obj);
elm_box_align_set(ret->box, 0.0, 0.0);
elm_box_horizontal_set(ret->box, sd->horizontal);
evas_object_smart_member_add(ret->box, obj);

-- 




[EGIT] [tools/eflete] master 45/62: Main window: hide History block controls.

2015-12-02 Thread Mykyta Biliavskyi
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=af991782148a2e0bb62d081966fbead5235ba870

commit af991782148a2e0bb62d081966fbead5235ba870
Author: Mykyta Biliavskyi 
Date:   Fri Nov 13 13:10:33 2015 +

Main window: hide History block controls.

When Eflete lunched the prorperty layout is shown,
and History content should be hidden.

@fix
---
 src/bin/ui/main_window.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/bin/ui/main_window.c b/src/bin/ui/main_window.c
index 001fe83..2f27e62 100644
--- a/src/bin/ui/main_window.c
+++ b/src/bin/ui/main_window.c
@@ -190,6 +190,8 @@ ui_main_window_add(void)
ap.block.property = ui_property_add(ap.win);
elm_layout_content_set(ap.block.right_top, NULL, ap.block.property);
ap.block.history = history_ui_add();
+   evas_object_hide(ap.block.history);
+   elm_layout_content_set(ap.block.right_top, NULL, ap.block.property);
elm_object_part_content_set(ap.panes.right, "right", ap.block.right_top);
 
ap.menu = ui_menu_add();

-- 




[EGIT] [tools/eflete] master 46/62: Config: fix set projects dir path.

2015-12-02 Thread Mykyta Biliavskyi
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=2f239c23bf12ddeb88e6d9a6886b7ee32b37f732

commit 2f239c23bf12ddeb88e6d9a6886b7ee32b37f732
Author: Mykyta Biliavskyi 
Date:   Fri Nov 13 11:20:25 2015 +

Config: fix set projects dir path.

In case if projects dir does not exists - all
files sectors will be displayed with the NULL path.
In this commit added additional check the directory exist.

@fix
---
 src/bin/config/config.c | 11 +++
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/bin/config/config.c b/src/bin/config/config.c
index 3e0bb68..bd2e950 100644
--- a/src/bin/config/config.c
+++ b/src/bin/config/config.c
@@ -335,10 +335,13 @@ _profile_update(Profile *prof)
 
char *env_path = getenv("EFLETE_PROJECTS_DIR");
prof->version = PROFILE_VERSION;
-   if ((!prof->general.projects_folder) || (env_path))
- prof->general.projects_folder   =  env_path != NULL ?
-strdup(env_path):
-strdup(getenv("HOME"));
+   if ((!env_path) || (!ecore_file_exists(env_path)))
+ env_path = getenv("HOME");
+
+   if ((!prof->general.projects_folder) ||
+   (!ecore_file_exists(prof->general.projects_folder)))
+ prof->general.projects_folder  = strdup(env_path);
+
if (!prof->shortcuts)
  prof->shortcuts = _default_shortcuts_get();
 }

-- 




[EGIT] [tools/eflete] master 53/62: Merge "editor: fix default box layout value"

2015-12-02 Thread Gerrit User
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=725eb28f9108d7e570abe05b9972351e70b88db5

commit 725eb28f9108d7e570abe05b9972351e70b88db5
Merge: 76d6ba3 647c00c
Author: Gerrit User 
Date:   Wed Dec 2 15:46:38 2015 +0200

Merge "editor: fix default box layout value"

 src/bin/editor/editor_part.c   | 6 ++
 src/bin/editor/editor_states.c | 6 ++
 2 files changed, 12 insertions(+)

-- 




[EGIT] [tools/eflete] master 36/62: Merge "diff: add FUNCTION_TYPE_SIGNALSBLOCK"

2015-12-02 Thread Gerrit User
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=b6916e24067eb6836b4a58c9a6a8ee767990c97b

commit b6916e24067eb6836b4a58c9a6a8ee767990c97b
Merge: 6242fe6 63821bd
Author: Gerrit User 
Date:   Wed Dec 2 10:24:13 2015 +0200

Merge "diff: add FUNCTION_TYPE_SIGNALSBLOCK"

 src/bin/editor/diff.c | 5 +
 src/bin/editor/diff.h | 1 +
 2 files changed, 6 insertions(+)

-- 




[EGIT] [tools/eflete] master 40/62: Merge "group_navigator: use editor api to add and to delete parts"

2015-12-02 Thread Gerrit User
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=2d183dfbecc7fc0c305ba08180273d25c789ceab

commit 2d183dfbecc7fc0c305ba08180273d25c789ceab
Merge: a09bdd9 a68223e
Author: Gerrit User 
Date:   Wed Dec 2 10:24:29 2015 +0200

Merge "group_navigator: use editor api to add and to delete parts"

 src/bin/ui/group_navigator.c | 102 +--
 1 file changed, 80 insertions(+), 22 deletions(-)

-- 




[EGIT] [tools/eflete] master 54/62: Merge "group_navigator: add stubs for part_item add/del"

2015-12-02 Thread Gerrit User
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=9e0f98d7b6692e426def5a80e147d24efd92d5ef

commit 9e0f98d7b6692e426def5a80e147d24efd92d5ef
Merge: 725eb28 8891681
Author: Gerrit User 
Date:   Wed Dec 2 15:46:58 2015 +0200

Merge "group_navigator: add stubs for part_item add/del"

 src/bin/ui/group_navigator.c | 30 ++
 1 file changed, 26 insertions(+), 4 deletions(-)

-- 




[EGIT] [tools/eflete] master 43/62: Sound editor: don't show controls, until editor tab isn't choosen.

2015-12-02 Thread Mykyta Biliavskyi
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=f0e24f3d99aff9e6492cca415f6904316d1d24d4

commit f0e24f3d99aff9e6492cca415f6904316d1d24d4
Author: Mykyta Biliavskyi 
Date:   Mon Nov 23 10:24:32 2015 +

Sound editor: don't show controls, until editor tab isn't choosen.
---
 src/bin/ui/editors/sound_editor.c | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/bin/ui/editors/sound_editor.c 
b/src/bin/ui/editors/sound_editor.c
index da20bc3..6aeca4e 100644
--- a/src/bin/ui/editors/sound_editor.c
+++ b/src/bin/ui/editors/sound_editor.c
@@ -713,16 +713,13 @@ _sound_editor_main_markup_create(Sound_Editor *edit)
edit->markup = elm_layout_add(ap.win);
elm_layout_theme_set(edit->markup, "layout", "sound_editor", "default");
evas_object_size_hint_weight_set(edit->markup, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);
-   evas_object_show(edit->markup);
evas_object_data_set(edit->markup, SND_EDIT_KEY, edit);
 
evas_object_event_callback_add(edit->markup, EVAS_CALLBACK_DEL, 
_on_sound_editor_del, edit);
 
btn = elm_button_add(edit->markup);
evas_object_smart_callback_add(btn, "clicked", _on_delete_clicked_cb, edit);
-   evas_object_show(btn);
elm_object_part_content_set(edit->markup, "swallow.btn.del", btn);
-   evas_object_show(btn);
 
ic = elm_icon_add(btn);
elm_icon_standard_set(ic, "minus");
@@ -766,7 +763,8 @@ _sound_editor_main_markup_create(Sound_Editor *edit)
   break;
  }
search = _sound_editor_search_field_create(edit->markup);
-   elm_object_part_content_set(edit->markup, "swallow.search_area", search);
+   evas_object_hide(search);
+   elm_layout_content_set(edit->markup, "swallow.search_area", search);
evas_object_smart_callback_add(search, "changed", _search_changed, edit);
evas_object_smart_callback_add(search, "activated", _search_nxt_gd_item, 
edit);
evas_object_smart_callback_add(edit->gengrid, "pressed", _search_reset_cb,

-- 




[EGIT] [tools/eflete] master 24/62: diff: add FUNCTION_TYPE_SIGNALSBLOCK

2015-12-02 Thread Andrii Kroitor
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=63821bd2703fb749b21adbfe6d170181c96fe0ff

commit 63821bd2703fb749b21adbfe6d170181c96fe0ff
Author: Andrii Kroitor 
Date:   Tue Dec 1 14:33:29 2015 +0200

diff: add FUNCTION_TYPE_SIGNALSBLOCK
---
 src/bin/editor/diff.c | 5 +
 src/bin/editor/diff.h | 1 +
 2 files changed, 6 insertions(+)

diff --git a/src/bin/editor/diff.c b/src/bin/editor/diff.c
index f2c7383..58e56b0 100644
--- a/src/bin/editor/diff.c
+++ b/src/bin/editor/diff.c
@@ -20,6 +20,7 @@
 #include "diff.h"
 #include "change.h"
 
+typedef Eina_Bool (* function_type_signalsblock) (Change*);
 typedef Eina_Bool (* function_type_int) (Evas_Object *, Change*, Eina_Bool, 
int);
 typedef Eina_Bool (* function_type_string_string_double_double) (Evas_Object 
*, Change*, Eina_Bool,
  const char *, 
const char *, double, double);
@@ -77,6 +78,8 @@ _apply(Evas_Object *obj, Function_Info *fi)
  {
   case FUNCTION_TYPE_NONE:
  return true;
+  case FUNCTION_TYPE_SIGNALSBLOCK:
+ return ((function_type_signalsblock)fi->function)(NULL);
   case FUNCTION_TYPE_INT:
  return ((function_type_int)fi->function)(obj, NULL, false, 
fi->args.type_i.i1);
   case FUNCTION_TYPE_STRING_STRING_DOUBLE_DOUBLE:
@@ -191,6 +194,7 @@ diff_update(Diff *diff, Diff *new_diff)
  {
   case FUNCTION_TYPE_NONE:
   case FUNCTION_TYPE_INT:
+  case FUNCTION_TYPE_SIGNALSBLOCK:
  break;
   case FUNCTION_TYPE_STRING_STRING_DOUBLE_DOUBLE:
  eina_stringshare_del(diff->redo.args.type_ssdd.s1);
@@ -340,6 +344,7 @@ diff_free(Diff *diff)
  {
   case FUNCTION_TYPE_NONE:
   case FUNCTION_TYPE_INT:
+  case FUNCTION_TYPE_SIGNALSBLOCK:
  break;
   case FUNCTION_TYPE_STRING_STRING_DOUBLE_DOUBLE:
  eina_stringshare_del(diff->redo.args.type_ssdd.s1);
diff --git a/src/bin/editor/diff.h b/src/bin/editor/diff.h
index 17cd1f3..09e5fa9 100644
--- a/src/bin/editor/diff.h
+++ b/src/bin/editor/diff.h
@@ -23,6 +23,7 @@
 
 typedef enum {
FUNCTION_TYPE_NONE = 0,
+   FUNCTION_TYPE_SIGNALSBLOCK,
FUNCTION_TYPE_INT,
FUNCTION_TYPE_STRING_STRING_DOUBLE_DOUBLE,
FUNCTION_TYPE_STRING_STRING_DOUBLE_INT,

-- 




[EGIT] [tools/eflete] master 03/62: groupedit: hilight item when it selected

2015-12-02 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=a219d13fca2be9a6e47a931c3eb02134316f25e5

commit a219d13fca2be9a6e47a931c3eb02134316f25e5
Author: Vyacheslav Reutskiy 
Date:   Thu Nov 26 10:11:52 2015 +0200

groupedit: hilight item when it selected

Change-Id: Ia16728cce487be399114bb673740df3db3330cfc
---
 src/bin/ui/workspace/groupedit.c | 30 +++---
 src/bin/ui/workspace/groupedit.h |  4 +---
 src/bin/ui/workspace/groupedit_calc.c| 25 ++---
 src/bin/ui/workspace/groupedit_private.h |  4 
 src/bin/ui/workspace/workspace.c |  6 --
 5 files changed, 54 insertions(+), 15 deletions(-)

diff --git a/src/bin/ui/workspace/groupedit.c b/src/bin/ui/workspace/groupedit.c
index 562efcc..cd5a7ed 100644
--- a/src/bin/ui/workspace/groupedit.c
+++ b/src/bin/ui/workspace/groupedit.c
@@ -554,6 +554,9 @@ groupedit_edit_object_part_select(Evas_Object *obj, const 
char *part)
else
  gp = NULL;
 
+   if (sd->selected && sd->selected->current_item)
+ elm_object_signal_emit(sd->selected->current_item->layout, 
"border,part_item,hilight,off", "eflete");
+
if (!sd->separated) sd->selected = gp;
else
  {
@@ -659,20 +662,33 @@ groupedit_zoom_factor_set(Evas_Object *obj, double factor)
return true;
 }
 
-Eina_Bool
+void
 groupedit_edit_object_part_item_selected_set(Evas_Object *obj,
  Eina_Stringshare *item_name,
- Eina_Bool selected __UNUSED__)
+ Eina_Bool selected)
 {
+   Groupedit_Part *gp;
+   Groupedit_Item *item;
WS_GROUPEDIT_DATA_GET(obj, sd);
-   Groupedit_Part *gp = sd->selected;
 
-   if (!gp) return false;
+   gp = sd->selected;
+   if (!gp) return;
 
-   assert(item_name != NULL);
+   if (!item_name) return;
+   item = _part_item_search(gp->items, item_name);
+   if (gp->current_item)
+ elm_object_signal_emit(gp->current_item->layout, 
"border,part_item,hilight,off", "eflete");
 
-   TODO("need to find a item in the list and emit signal for hilight it. NOT 
RECALC")
-   return false;
+   if (selected)
+ {
+elm_object_signal_emit(item->layout, "border,part_item,hilight,on", 
"eflete");
+gp->current_item = item;
+ }
+   else
+ {
+elm_object_signal_emit(item->layout, "border,part_item,hilight,off", 
"eflete");
+gp->current_item = NULL;
+ }
 }
 
 #undef MY_CLASS_NAME
diff --git a/src/bin/ui/workspace/groupedit.h b/src/bin/ui/workspace/groupedit.h
index a90692b..d7445d2 100644
--- a/src/bin/ui/workspace/groupedit.h
+++ b/src/bin/ui/workspace/groupedit.h
@@ -397,11 +397,9 @@ groupedit_zoom_factor_set(Evas_Object *obj, double factor);
  * @param item_name The name of item, which selection should be changed.
  * @param selected If EINA_TRUE - item will be selected, otherwise unselected.
  *
- * @return EINA_FALSE on failure, EINA_TRUE on success.
- *
  * @ingroup Groupedit
  */
-Eina_Bool
+void
 groupedit_edit_object_part_item_selected_set(Evas_Object *obj,
  Eina_Stringshare *item_name,
  Eina_Bool selected);
diff --git a/src/bin/ui/workspace/groupedit_calc.c 
b/src/bin/ui/workspace/groupedit_calc.c
index 38b2ce6..da881fe 100644
--- a/src/bin/ui/workspace/groupedit_calc.c
+++ b/src/bin/ui/workspace/groupedit_calc.c
@@ -37,7 +37,6 @@ _part_draw_add(Ws_Groupedit_Smart_Data *sd, Part_ *part);
 static void
 _move_border_to_top(Ws_Groupedit_Smart_Data *sd);
 
-
 static void
 _part_draw_del(Ws_Groupedit_Smart_Data *sd, Part_ *part);
 
@@ -311,6 +310,26 @@ _parts_list_find(Eina_List *parts, const char *part)
return NULL;
 }
 
+Groupedit_Item *
+_part_item_search(Eina_List *items, const char *item_name)
+{
+   Eina_List *l;
+   Groupedit_Item *item;
+
+   assert(items != NULL);
+   assert(item_name != NULL);
+
+   EINA_LIST_FOREACH(items, l, item)
+ {
+/* we are sure that all strings are stringshare, and for compare two
+ * strings enough compare they pointers */
+if ((item->name == item_name))
+  return item;
+ }
+   return NULL;
+}
+
+
 void
 _selected_item_return_to_place(Ws_Groupedit_Smart_Data *sd)
 {
@@ -544,7 +563,7 @@ _part_table_add(Ws_Groupedit_Smart_Data *sd, Groupedit_Part 
*gp)
assert(gp->container == NULL);
 
gp->container = evas_object_table_add(sd->e);
-   elm_box_pack_end(gp->draw, gp->container);
+   elm_box_pack_before(gp->draw, gp->container, gp->proxy_part);
evas_object_show(gp->container);
 
table = edje_object_part_object_get(sd->group->edit_object, gp->part->name);
@@ -649,7 +668,7 @@ _part_box_add(Ws_Groupedit_Smart_Data *sd, Groupedit_Part 
*gp)
 
fprintf(stdout, "%s\n", gp->part->name);
gp->container = evas_object_box_add(sd->e);
-   elm_box_pack_end(gp->draw, gp->container);
+ 

[EGIT] [tools/eflete] master 20/62: groupedit: use hint weight for for expand object instead hint min/max

2015-12-02 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=2bdfdc876dcb3037e91101087ba2f2dbfd1e89b1

commit 2bdfdc876dcb3037e91101087ba2f2dbfd1e89b1
Author: Vyacheslav Reutskiy 
Date:   Fri Nov 27 11:32:13 2015 +0200

groupedit: use hint weight for for expand object instead hint min/max

Change-Id: Ia8551569e9a252089bc1e42b7813a3885c4953e0
---
 src/bin/ui/workspace/groupedit_calc.c | 31 ---
 1 file changed, 16 insertions(+), 15 deletions(-)

diff --git a/src/bin/ui/workspace/groupedit_calc.c 
b/src/bin/ui/workspace/groupedit_calc.c
index 22e886b..1c13917 100644
--- a/src/bin/ui/workspace/groupedit_calc.c
+++ b/src/bin/ui/workspace/groupedit_calc.c
@@ -808,8 +808,6 @@ _part_recalc_apply(Ws_Groupedit_Smart_Data *sd,
 {
Evas_Coord x, y, xe, ye, w, h;
Evas_Coord part_x, part_y, abs_x, abs_y;
-   Evas_Coord ro_w, ro_h;
-   const Evas_Object *ro;
 
assert(sd != NULL);
assert(gp != NULL);
@@ -820,24 +818,23 @@ _part_recalc_apply(Ws_Groupedit_Smart_Data *sd,
evas_object_resize(gp->draw, w, h);
evas_object_move(gp->draw, (x * sd->zoom_factor + xe + offset_x),
   (y * sd->zoom_factor + ye + offset_y));
-   evas_object_size_hint_min_set(gp->layout, w, h);
-   evas_object_size_hint_max_set(gp->layout, w, h);
 
-   if (gp->container) evas_object_size_hint_max_set(gp->container, w, h);
-
-   evas_object_resize(gp->container, w, h);
-   evas_object_move(gp->container, (x * sd->zoom_factor + xe + offset_x),
-   (y * sd->zoom_factor + ye + offset_y));
-
-   /* set the proxy part size */
-   ro = edje_object_part_object_get(sd->group->edit_object, gp->part->name);
-   evas_object_geometry_get(ro, NULL, NULL, _w, _h);
-   evas_object_size_hint_min_set(gp->proxy_part, ro_w, ro_h);
-   evas_object_size_hint_max_set(gp->proxy_part, ro_w, ro_h);
+   if (gp->container)
+ {
+evas_object_resize(gp->container, w, h);
+evas_object_move(gp->container, (x * sd->zoom_factor + xe + offset_x),
+ (y * sd->zoom_factor + ye + offset_y));
+ }
 
if (gp->part->type == EDJE_PART_TYPE_TEXT)
  {
 double x_align, y_align;
+const Evas_Object *ro;
+Evas_Coord ro_w, ro_h;
+ro = edje_object_part_object_get(sd->group->edit_object, 
gp->part->name);
+evas_object_geometry_get(ro, NULL, NULL, _w, _h);
+evas_object_resize(gp->proxy_part, ro_w, ro_h);
+
 
 x_align = edje_edit_state_text_align_x_get(sd->group->edit_object,
gp->part->name,
@@ -1006,12 +1003,16 @@ _part_draw_add(Ws_Groupedit_Smart_Data *sd, Part_ *part)
gp->draw = elm_box_add(sd->parent); \
elm_box_layout_set(gp->draw, evas_object_box_layout_stack, NULL, NULL); \
gp->layout = elm_layout_add(sd->parent); \
+   evas_object_size_hint_weight_set(gp->layout, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND); \
+   evas_object_size_hint_align_set(gp->layout, EVAS_HINT_FILL, 
EVAS_HINT_FILL); \
elm_layout_theme_set(gp->layout, "layout", "groupview", "default"); \
evas_object_show(gp->layout); \
elm_box_pack_end(gp->draw, gp->layout);
 
 #define PART_VIEW_PROXY_SET() \
gp->proxy_part = evas_object_image_filled_add(sd->e); \
+   evas_object_size_hint_weight_set(gp->proxy_part, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND); \
+   evas_object_size_hint_align_set(gp->proxy_part, EVAS_HINT_FILL, 
EVAS_HINT_FILL); \
elm_box_pack_end(gp->draw, gp->proxy_part); \
evas_object_show(gp->proxy_part); \
 

-- 




[EGIT] [tools/eflete] master 17/62: groupedit: delete unused code for color set

2015-12-02 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=47af8b86c9fef36a792ee06651f7e9e47d2a7823

commit 47af8b86c9fef36a792ee06651f7e9e47d2a7823
Author: Vyacheslav Reutskiy 
Date:   Thu Nov 26 15:08:23 2015 +0200

groupedit: delete unused code for color set

How groupedit used proxy almost for all parts, besides image. So
need only main color set to object.

Change-Id: I6d52a9b30c550b614a4b871d64d7d21d7cd6e8b3
---
 src/bin/ui/workspace/groupedit_calc.c | 68 ++-
 1 file changed, 10 insertions(+), 58 deletions(-)

diff --git a/src/bin/ui/workspace/groupedit_calc.c 
b/src/bin/ui/workspace/groupedit_calc.c
index da881fe..638e057 100644
--- a/src/bin/ui/workspace/groupedit_calc.c
+++ b/src/bin/ui/workspace/groupedit_calc.c
@@ -1130,81 +1130,33 @@ _move_border_to_top(Ws_Groupedit_Smart_Data *sd)
 }
 
 static inline void
-_colors_get(Groupedit_Part *gp, Evas_Object *edit_obj, const char *state, 
double value,
-int *r, int *g, int *b, int *a,
-int *r2, int *g2, int *b2, int *a2,
-int *r3, int *g3, int *b3, int *a3)
+_color_apply(Groupedit_Part *gp, Evas_Object *edit_obj, const char *state, 
double value)
 {
+   int r, g, b, a;
int cr, cg, cb, ca;
-   int cr2, cg2, cb2, ca2;
-   int cr3, cg3, cb3, ca3;
Eina_Stringshare *color_class;
 
assert(gp != NULL);
assert(edit_obj != NULL);
assert(state != NULL);
 
-   if (r || g || b || a)
- edje_edit_state_color_get(edit_obj, gp->part->name, state, value, r, g, 
b, a);
-   if (r2 || g2 || b2 || a2)
- edje_edit_state_color2_get(edit_obj, gp->part->name, state, value, r2, 
g2, b2, a2);
-   if (r3 || g3 || b3 || a3)
- edje_edit_state_color3_get(edit_obj, gp->part->name, state, value, r3, 
g3, b3, a3);
-
+   edje_edit_state_color_get(edit_obj, gp->part->name, state, value, , , 
, );
color_class = edje_edit_state_color_class_get(edit_obj, gp->part->name, 
state, value);
if (color_class)
  {
 if (edje_edit_color_class_colors_get(edit_obj, color_class, , , 
, ,
- , , , ,
- , , , ))
+ NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL))
   {
- if (r) *r = ((cr + 1) * *r) >> 8;
- if (g) *g = ((cg + 1) * *g) >> 8;
- if (b) *b = ((cb + 1) * *b) >> 8;
- if (a) *a = ((ca + 1) * *a) >> 8;
-
- if (r2) *r2 = ((cr2 + 1) * *r2) >> 8;
- if (g2) *g2 = ((cg2 + 1) * *g2) >> 8;
- if (b2) *b2 = ((cb2 + 1) * *b2) >> 8;
- if (a2) *a2 = ((ca2 + 1) * *a2) >> 8;
-
- if (r3) *r3 = ((cr3 + 1) * *r3) >> 8;
- if (g3) *g3 = ((cg3 + 1) * *g3) >> 8;
- if (b3) *b3 = ((cb3 + 1) * *b3) >> 8;
- if (a3) *a3 = ((ca3 + 1) * *a3) >> 8;
+ r = ((cr + 1) * r) >> 8;
+ g = ((cg + 1) * g) >> 8;
+ b = ((cb + 1) * b) >> 8;
+ a = ((ca + 1) * a) >> 8;
   }
 eina_stringshare_del(color_class);
  }
-
-   if (a) evas_color_argb_premul(*a, r, g, b);
-   if (a2) evas_color_argb_premul(*a2, r2, g2, b2);
-   if (a3) evas_color_argb_premul(*a3, r3, g3, b3);
-}
-
-static inline void
-_color_apply(Groupedit_Part *gp, Evas_Object *edit_obj, const char *state, 
double value)
-{
-   int r, g, b, a;
-   int r2, g2, b2, a2;
-   int r3, g3, b3, a3;
-
-   assert(gp != NULL);
-   assert(edit_obj != NULL);
-   assert(state != NULL);
-
-   if (gp->part->type == EDJE_PART_TYPE_TEXT || gp->part->type == 
EDJE_PART_TYPE_TEXTBLOCK)
- _colors_get(gp, edit_obj, state, value, , , , , , , , 
, , , , );
-   else
- _colors_get(gp, edit_obj, state, value, , , , , NULL, NULL, NULL, 
NULL, NULL, NULL, NULL, NULL);
-
+   evas_color_argb_premul(a, , , );
evas_object_color_set(gp->draw, r, g, b, a);
-   if (gp->part->type == EDJE_PART_TYPE_TEXT || gp->part->type == 
EDJE_PART_TYPE_TEXTBLOCK)
- {
-evas_object_text_shadow_color_set(gp->draw, r2, g2, b2, a2);
-evas_object_text_outline_color_set(gp->draw, r3, g3, b3, a3);
-evas_object_text_glow_color_set(gp->draw, r2, g2, b2, a2);
-evas_object_text_glow2_color_set(gp->draw, r3, g3, b3, a3);
- }
 }
 
 static void

-- 




[EGIT] [tools/eflete] master 62/62: Merge branch 'master' from internal eflete repo

2015-12-02 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=a503b8b5abab19ba7fa41bc03fda1690bea13146

commit a503b8b5abab19ba7fa41bc03fda1690bea13146
Merge: 6b9f758 92e01ea
Author: Vyacheslav Reutskiy 
Date:   Wed Dec 2 16:10:32 2015 +0200

Merge branch 'master' from internal eflete repo

 configure.ac   |   8 +-
 data/themes/default/widgets/frame.edc  | 346 +
 data/themes/default/widgets/layout.edc |  54 +-
 data/themes/default/widgets/layouts/property.edc   |  39 +
 src/bin/common/signals.h   |  12 +-
 src/bin/common/widget_macro.h  |   1 -
 src/bin/config/config.c|  11 +-
 src/bin/editor/diff.c  |  13 +-
 src/bin/editor/diff.h  |   1 +
 src/bin/editor/editor.h|   6 +
 src/bin/editor/editor_general.c|  41 +-
 src/bin/editor/editor_group.c  |   7 +-
 src/bin/editor/editor_macro.h  |  26 +-
 src/bin/editor/editor_part.c   |  43 +-
 src/bin/editor/editor_states.c |  21 +-
 src/bin/editor/editor_text.c   |   3 +-
 src/bin/ui/editors/sound_editor.c  | 809 +
 src/bin/ui/editors/sound_editor.h  |  19 +
 src/bin/ui/editors/style_editor.c  |  37 +-
 src/bin/ui/group_navigator.c   | 134 +++-
 src/bin/ui/main_window.c   |   2 +
 src/bin/ui/popup.c |  36 +-
 src/bin/ui/property.c  |   3 +
 src/bin/ui/property_group.c| 157 ++--
 src/bin/ui/property_sound.c| 751 +--
 src/bin/ui/property_style.c|   4 +-
 src/bin/ui/workspace/groupedit.c   | 194 ++---
 src/bin/ui/workspace/groupedit.h   |  54 +-
 src/bin/ui/workspace/groupedit_calc.c  | 594 ++-
 src/bin/ui/workspace/groupedit_private.h   |  42 +-
 src/bin/ui/workspace/workspace.c   |  48 +-
 src/bin/ui/workspace/workspace.h   |  25 -
 src/lib/ewe_ruler.c|   2 +-
 tests/Makefile.am  |   2 -
 tests/test_ui_workspace/test_ui_workspace.c|   4 -
 tests/test_ui_workspace/test_ui_workspace.h|   6 -
 .../workspace_edit_object_part_state_add.c | 147 
 .../workspace_edit_object_part_state_del.c | 158 
 38 files changed, 1476 insertions(+), 2384 deletions(-)

-- 




[EGIT] [tools/eflete] master 61/62: groupedit: cleanup from unused members

2015-12-02 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=92e01eadbca44e6fe86360ec300a25ae7756a6a1

commit 92e01eadbca44e6fe86360ec300a25ae7756a6a1
Author: Vyacheslav Reutskiy 
Date:   Wed Dec 2 15:10:22 2015 +0200

groupedit: cleanup from unused members

Change-Id: Ifd903499a35f45c0c84459d9227dec482a00a11b
---
 src/bin/ui/workspace/groupedit_calc.c| 19 ---
 src/bin/ui/workspace/groupedit_private.h | 20 
 2 files changed, 39 deletions(-)

diff --git a/src/bin/ui/workspace/groupedit_calc.c 
b/src/bin/ui/workspace/groupedit_calc.c
index 0374ed2..42e2ea5 100644
--- a/src/bin/ui/workspace/groupedit_calc.c
+++ b/src/bin/ui/workspace/groupedit_calc.c
@@ -35,9 +35,6 @@ static Groupedit_Part *
 _part_draw_add(Ws_Groupedit_Smart_Data *sd, Part_ *part);
 
 static void
-_move_border_to_top(Ws_Groupedit_Smart_Data *sd);
-
-static void
 _part_draw_del(Ws_Groupedit_Smart_Data *sd, Part_ *part);
 
 static void
@@ -72,7 +69,6 @@ _edit_object_part_add(Ws_Groupedit_Smart_Data *sd,
 
gp = _part_draw_add(sd, part);
sd->parts = eina_list_append(sd->parts, gp);
-   _move_border_to_top(sd);
evas_object_smart_changed(sd->obj);
 
return true;
@@ -255,7 +251,6 @@ _parts_list_new(Ws_Groupedit_Smart_Data *sd)
 sd->parts = eina_list_append(sd->parts, gp);
  }
evas_event_thaw(sd->e);
-   _move_border_to_top(sd);
 }
 
 void
@@ -978,20 +973,6 @@ _item_draw_del(Groupedit_Item *item)
free(item);
 }
 
-static void
-_move_border_to_top(Ws_Groupedit_Smart_Data *sd)
-{
-   assert(sd != NULL);
-
-   evas_object_smart_member_del(sd->container);
-   evas_object_smart_member_del(sd->handler_TL.obj);
-   evas_object_smart_member_del(sd->handler_BR.obj);
-
-   evas_object_smart_member_add(sd->container, sd->obj);
-   evas_object_smart_member_add(sd->handler_TL.obj, sd->obj);
-   evas_object_smart_member_add(sd->handler_BR.obj, sd->obj);
-}
-
 static inline void
 _color_apply(Groupedit_Part *gp, Evas_Object *edit_obj, const char *state, 
double value)
 {
diff --git a/src/bin/ui/workspace/groupedit_private.h 
b/src/bin/ui/workspace/groupedit_private.h
index 9cc3ebb..494c243 100644
--- a/src/bin/ui/workspace/groupedit_private.h
+++ b/src/bin/ui/workspace/groupedit_private.h
@@ -59,17 +59,9 @@ struct _Ws_Groupedit_Smart_Data
Evas *e;
Evas_Object *obj;
Evas_Object *event;
-   Evas_Object *container;
Evas_Object *parent;
Evas_Object *box;
Groupedit_Geom geom;
-   /* Paddings which solve scroller issue,
-  when container data move to 0,0 coords */
-   struct {
-  int t_left;
-  int t_top;
-  int bottom;
-   } paddings;
/* Minimal and maximum size of the container,
   i.e size of the edie_edit object */
struct {
@@ -80,16 +72,6 @@ struct _Ws_Groupedit_Smart_Data
   int w; /* default: -1, size is not limited */
   int h; /* default: -1, size is not limited */
} con_size_max;
-   struct {
-  Evas_Object *obj;
-  int w, h;
-   } handler_TL;
-   struct{
-  Evas_Object *obj;
-  int w, h;
-   } handler_BR;
-   Eina_Bool handler_TL_pressed : 1;
-   Eina_Bool handler_BR_pressed : 1;
Evas_Object *edit_obj_clipper;
Eina_List *parts;
Eina_Bool separated : 1;
@@ -100,8 +82,6 @@ struct _Ws_Groupedit_Smart_Data
Evas_Object *clipper;  /**< The background clipper, need to draw item bg
in the separete mode.*/
double zoom_factor; /**< current zoom factor. */
-   Evas_Coord downx;
-   Evas_Coord downy;
Eina_Bool manual_calc : 1;
 };
 

-- 




[EGIT] [tools/eflete] master 28/62: group_navigator: use editor api to add and to delete parts

2015-12-02 Thread Andrii Kroitor
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=a68223e53201568b48a63465399971dbaab8bdf0

commit a68223e53201568b48a63465399971dbaab8bdf0
Author: Andrii Kroitor 
Date:   Tue Dec 1 16:16:35 2015 +0200

group_navigator: use editor api to add and to delete parts
---
 src/bin/ui/group_navigator.c | 102 +--
 1 file changed, 80 insertions(+), 22 deletions(-)

diff --git a/src/bin/ui/group_navigator.c b/src/bin/ui/group_navigator.c
index 4b851e1..93e9554 100644
--- a/src/bin/ui/group_navigator.c
+++ b/src/bin/ui/group_navigator.c
@@ -512,18 +512,35 @@ _popup_add_part_ok_clicked(void *data,
const Edje_Part_Type type = *((const Edje_Part_Type *)data);
Part_List *pl = evas_object_data_get(obj, GROUP_NAVIGATOR_DATA);
const char *name;
-   Part_ *part;
-   Elm_Object_Item *glit;
+   Eina_Stringshare *msg;
+   Change *change;
 
assert(pl != NULL);
 
name = elm_entry_entry_get(pl->popup.entry_name);
+   msg = eina_stringshare_printf(_("added new part \"%s\""), name);
+   change = change_add(msg);
+   editor_part_add(pl->group->edit_object, change, false, name, type);
+
+   history_change_add(pl->group->history, change);
+   eina_stringshare_del(msg);
+   ecore_job_add(_job_popup_del, pl);
+}
+
+static void
+_editor_part_added_cb(void *data,
+  Evas_Object *obj __UNUSED__,
+  void *event_info)
+{
+   Part_List *pl = data;
+   Eina_Stringshare *part_name = event_info;
+   Part_ *part;
+   Elm_Object_Item *glit;
 
-   edje_edit_part_add(pl->group->edit_object, name, type);
-   /* if (type == EDJE_PART_IMAGE) */
-   TODO("Add noimage here")
+   assert(pl != NULL);
+   assert(part_name != NULL);
 
-   part = gm_part_add(ap.project, pl->group, name);
+   part = gm_part_add(ap.project, pl->group, part_name);
 
glit = elm_genlist_item_append(pl->genlist,
   pl->itc_part,
@@ -537,8 +554,6 @@ _popup_add_part_ok_clicked(void *data,
evas_object_smart_callback_call(ap.win, SIGNAL_PART_ADDED, (void *)part);
 
elm_genlist_item_selected_set(glit, true);
-
-   ecore_job_add(_job_popup_del, pl);
 }
 
 static void
@@ -786,21 +801,71 @@ _part_del(Part_List *pl,
 {
Part_ *part;
Eina_Stringshare *part_name;
+   Eina_Stringshare *msg;
+   Change *change;
 
assert(pl != NULL);
assert(glit != NULL);
 
part = elm_object_item_data_get(glit);
-   _unselect_part(pl);
+
+   part_name = eina_stringshare_add(part->name);
+   msg = eina_stringshare_printf(_("deleted part \"%s\""), part_name);
+   change = change_add(msg);
+   editor_part_del(pl->group->edit_object, change, false, part_name);
+   history_change_add(pl->group->history, change);
+   eina_stringshare_del(msg);
+   eina_stringshare_del(part_name);
+}
+
+static Elm_Object_Item *
+_part_item_find(Part_List *pl, Part_ *part)
+{
+   Elm_Object_Item *part_item;
+   Part_ *pr;
+
+   assert(pl != NULL);
+   assert(part != NULL);
+
+   part_item = elm_genlist_first_item_get(pl->genlist);
+   pr = elm_object_item_data_get(part_item);
+   while (pr != part)
+ {
+part_item = elm_genlist_item_next_get(part_item);
+pr = elm_object_item_data_get(part_item);
+
+assert(pr != NULL);
+ }
+   assert(part_item != NULL);
+   return part_item;
+}
+
+static void
+_editor_part_deleted_cb(void *data,
+Evas_Object *obj __UNUSED__,
+void *event_info)
+{
+   Part_List *pl = data;
+   Eina_Stringshare *part_name = event_info;
+   Part_ *part;
+   Elm_Object_Item *part_item;
+
+   assert(pl != NULL);
+   assert(part_name != NULL);
+
+   part = pm_resource_unsorted_get(pl->group->parts, part_name);
+
+   part_item = _part_item_find(pl, part);
+   if (pl->selected_part_item == part_item)
+ _unselect_part(pl);
 
/* This callbck should be called before actual part deletion */
evas_object_smart_callback_call(ap.win, SIGNAL_PART_DELETED, (void *)part);
 
-   elm_object_item_del(glit);
+   elm_object_item_del(part_item);
/* part is freed after deletion so we need to save its name */
part_name = eina_stringshare_ref(part->name);
gm_part_del(ap.project, part);
-   edje_edit_part_del(pl->group->edit_object, part_name);
eina_stringshare_del(part_name);
 }
 
@@ -829,6 +894,7 @@ _state_del(Part_List *pl,
part_name = eina_stringshare_ref(state->part->name);
state_name = eina_stringshare_ref(state->parsed_name);
state_val = state->parsed_val;
+   TODO("recheck string args logic");
editor_state_del(pl->group->edit_object, change, false, part_name, 
state_name, state_val);
eina_stringshare_del(part_name);
eina_stringshare_del(state_name);
@@ -1036,6 +1102,8 @@ group_navigator_add(Group *group)
 
pl->name_validator = elm_validator_regexp_new(PART_NAME_REGEX, NULL);
 
+   evas_object_smart_callback_add(ap.win, SIGNAL_EDITOR_PART_ADDED, 
_editor_part_added_cb, pl);
+ 

[EGIT] [tools/eflete] master 34/62: configure: update dependencies version

2015-12-02 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=81d631e7b6aafe63103ce6d195dfc7f5deef003c

commit 81d631e7b6aafe63103ce6d195dfc7f5deef003c
Author: Vyacheslav Reutskiy 
Date:   Wed Dec 2 08:06:34 2015 +0200

configure: update dependencies version

Change-Id: I17a9c17c6baf3925aa5f573b2e63f4fec4610b56
---
 configure.ac | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/configure.ac b/configure.ac
index ab99730..2606dd4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -13,10 +13,10 @@ AM_INIT_AUTOMAKE([1.13 dist-bzip2 subdir-objects 
color-tests foreign])
 LT_INIT([win32-dll disable-static pic-only])
 
 dnl m4_define([package], "EFL\ Edje\ Theme\ Editor")
-m4_define([efl_version], [1.14.99])
-m4_define([elm_version], [1.14.99])
-m4_define([efl_version_max], [999])
-m4_define([elm_version_max], [999])
+m4_define([efl_version], [1.16])
+m4_define([elm_version], [1.16])
+m4_define([efl_version_max], [1.16.1])
+m4_define([elm_version_max], [1.16.1])
 
 m4_define([enventor_version], [0.4.0])
 

-- 




[EGIT] [tools/eflete] master 31/62: groupedit: no longer need to calc geomentry with zomm factor

2015-12-02 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=4e79f2d364771ba353c60024e29fce99e30a63f7

commit 4e79f2d364771ba353c60024e29fce99e30a63f7
Author: Vyacheslav Reutskiy 
Date:   Tue Dec 1 16:23:14 2015 +0200

groupedit: no longer need to calc geomentry with zomm factor

Change-Id: I727930f73911f9df1e4a8b76ff62fa83d78246ee
---
 src/bin/ui/workspace/groupedit_calc.c | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/bin/ui/workspace/groupedit_calc.c 
b/src/bin/ui/workspace/groupedit_calc.c
index 5b03c15..7063533 100644
--- a/src/bin/ui/workspace/groupedit_calc.c
+++ b/src/bin/ui/workspace/groupedit_calc.c
@@ -1230,7 +1230,7 @@ _part_object_area_calc(Ws_Groupedit_Smart_Data *sd, 
Groupedit_Part *gp)
 rel_part = _parts_list_find(sd->parts, rel_to);
 edje_object_part_geometry_get(sd->group->edit_object, 
rel_part->part->name, , NULL, , NULL);
  }
-   x = (xc + (int)(wc * relative * sd->zoom_factor)) + offset;
+   x = (xc + (int)(wc * relative)) + offset;
edje_edit_string_free(rel_to);
 
yc = yg;
@@ -1243,7 +1243,7 @@ _part_object_area_calc(Ws_Groupedit_Smart_Data *sd, 
Groupedit_Part *gp)
 rel_part = _parts_list_find(sd->parts, rel_to);
 edje_object_part_geometry_get(sd->group->edit_object, 
rel_part->part->name, NULL, , NULL, );
  }
-   y = (yc + (int)(hc * relative * sd->zoom_factor)) + offset;
+   y = (yc + (int)(hc * relative)) + offset;
edje_edit_string_free(rel_to);
 
xc = xg; wc = sd->con_current_size->w;
@@ -1255,7 +1255,7 @@ _part_object_area_calc(Ws_Groupedit_Smart_Data *sd, 
Groupedit_Part *gp)
 rel_part = _parts_list_find(sd->parts, rel_to);
 edje_object_part_geometry_get(sd->group->edit_object, 
rel_part->part->name, , NULL, , NULL);
  }
-   w = ((xc - x) + (int)(wc * relative * sd->zoom_factor)) + offset;
+   w = ((xc - x) + (int)(wc * relative)) + offset;
if (w < 0) { x += w; w = 0; }
edje_edit_string_free(rel_to);
 
@@ -1268,7 +1268,7 @@ _part_object_area_calc(Ws_Groupedit_Smart_Data *sd, 
Groupedit_Part *gp)
 rel_part = _parts_list_find(sd->parts, rel_to);
 edje_object_part_geometry_get(sd->group->edit_object, 
rel_part->part->name, NULL, , NULL, );
  }
-   h = ((yc - y) + (int)(hc * relative * sd->zoom_factor)) + offset;
+   h = ((yc - y) + (int)(hc * relative)) + offset;
if (h < 0) { y += h; h = 0; }
edje_edit_string_free(rel_to);
 

-- 




[EGIT] [tools/eflete] master 23/62: popup: multiple image add implementation and use it in tweens

2015-12-02 Thread Vitalii Vorobiov
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=f4672f5e3793053c46a9a6d66fee8bd01877611a

commit f4672f5e3793053c46a9a6d66fee8bd01877611a
Author: Vitalii Vorobiov 
Date:   Fri Nov 27 20:12:43 2015 +0200

popup: multiple image add implementation and use it in tweens
---
 src/bin/ui/popup.c  | 28 ++--
 src/bin/ui/property_group.c | 30 +++---
 2 files changed, 33 insertions(+), 25 deletions(-)

diff --git a/src/bin/ui/popup.c b/src/bin/ui/popup.c
index b56536c..66b981e 100644
--- a/src/bin/ui/popup.c
+++ b/src/bin/ui/popup.c
@@ -22,6 +22,7 @@
 static Popup_Button btn_pressed;
 static Evas_Object *popup;
 static Evas_Object *helper;
+static Evas_Object *gengrid;
 static Evas_Object *fs;
 static Helper_Done_Cb dismiss_func;
 static void* func_data;
@@ -383,19 +384,25 @@ popup_fileselector_image_helper(const char *title, 
Evas_Object *follow_up, const
 
 static void
 _done_image(void *data,
-Evas_Object *obj,
+Evas_Object *obj __UNUSED__,
 void *event_info __UNUSED__)
 {
Eina_Bool res = true;
Item *item = NULL;
-   const Eina_List* sel_list;
+   const Eina_List *sel_list, *l;
+   Eina_List *ret_list = NULL;
+   Elm_Object_Item *item_list;
 
if (dismiss_func)
  {
-TODO("Make multiselect for tweens and remake gengrid because of that?")
-sel_list = elm_gengrid_selected_items_get(obj);
-item = elm_object_item_data_get(eina_list_data_get(sel_list));
-res = ((Helper_Done_Cb)dismiss_func)(func_data, obj, (char 
*)item->image_name);
+sel_list = elm_gengrid_selected_items_get(gengrid);
+EINA_LIST_FOREACH(sel_list, l, item_list)
+  {
+ item = elm_object_item_data_get(item_list);
+ ret_list = eina_list_append(ret_list, 
eina_stringshare_add(item->image_name));
+  }
+res = ((Helper_Done_Cb)dismiss_func)(func_data, obj, ret_list);
+eina_list_free(ret_list);
  }
 
if (res)
@@ -421,7 +428,7 @@ _grid_del(void *data,
 }
 
 Eina_Bool
-_image_gengrid_init(Evas_Object *gengrid)
+_image_gengrid_init()
 {
Eina_List *l = NULL;
Item *it = NULL;
@@ -507,7 +514,7 @@ popup_gengrid_image_helper(const char *title, Evas_Object 
*follow_up,
Helper_Done_Cb func, void *data,
Eina_Bool multi)
 {
-   Evas_Object *gengrid, *entry, *icon, *button;
+   Evas_Object *entry, *icon, *button;
 
dismiss_func = func;
func_data = data;
@@ -529,6 +536,7 @@ popup_gengrid_image_helper(const char *title, Evas_Object 
*follow_up,
 
 BUTTON_ADD(fs, button, _("Ok"))
 elm_object_part_content_set(helper, "elm.swallow.ok", button);
+evas_object_smart_callback_add(button, "clicked", _done_image, 
follow_up);
 evas_object_show(button);
  }
else
@@ -536,13 +544,13 @@ popup_gengrid_image_helper(const char *title, Evas_Object 
*follow_up,
 elm_gengrid_multi_select_set(gengrid, false);
 elm_gengrid_multi_select_mode_set(gengrid,
   
ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL);
+evas_object_smart_callback_add(gengrid, "clicked,double", _done_image, 
follow_up);
  }
elm_gengrid_item_size_set(gengrid, ITEM_WIDTH, ITEM_HEIGHT);
elm_gengrid_align_set(gengrid, 0.0, 0.0);
elm_scroller_policy_set(gengrid, ELM_SCROLLER_POLICY_OFF,
ELM_SCROLLER_POLICY_OFF);
elm_object_part_content_set(fs, "eflete.swallow.genlist", gengrid);
-   evas_object_smart_callback_add(gengrid, "clicked,double", _done_image, 
follow_up);
 
if (!gic)
  {
@@ -553,7 +561,7 @@ popup_gengrid_image_helper(const char *title, Evas_Object 
*follow_up,
 gic->func.del = _grid_del;
  }
 
-   _image_gengrid_init(gengrid);
+   _image_gengrid_init();
 
ENTRY_ADD(fs, entry, true);
elm_object_part_text_set(entry, "guide", _("Search"));
diff --git a/src/bin/ui/property_group.c b/src/bin/ui/property_group.c
index c497dae..b606c7b 100644
--- a/src/bin/ui/property_group.c
+++ b/src/bin/ui/property_group.c
@@ -2850,14 +2850,17 @@ _on_image_editor_done(void *data,
   Evas_Object *obj __UNUSED__,
   void *event_info)
 {
-   Group_Prop_Data *pd = (Group_Prop_Data *)data;
-
const char *value;
-   const char *selected = (const char *)event_info;
+   Eina_List *list_selected = (Eina_List *)event_info;
+   const char *selected;
 
-   if (!selected) return false;
+   Group_Prop_Data *pd = (Group_Prop_Data *)data;
+
+   if (!list_selected) return false;
value = elm_entry_entry_get(pd->attributes.state_image.image);
 
+   selected = eina_list_data_get(list_selected);
+
if (strcmp(value, selected) == 0) return false;
elm_entry_entry_set(pd->attributes.state_image.image, selected);
 
@@ -2920,30 +2923,27 @@ _on_image_editor_tween_done(void *data,
 

[EGIT] [tools/eflete] master 04/62: Merge "layout.edc: add bg for part item, will be used as hilight for item"

2015-12-02 Thread Gerrit User
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=963980d475294313f0eee6407793c8e85540ab97

commit 963980d475294313f0eee6407793c8e85540ab97
Merge: c6e6721 56384cd
Author: Gerrit User 
Date:   Thu Nov 26 11:18:48 2015 +0200

Merge "layout.edc: add bg for part item, will be used as hilight for item"

 data/themes/default/widgets/layout.edc | 24 
 1 file changed, 24 insertions(+)

-- 




[EGIT] [tools/eflete] master 27/62: editor: do not emit signals on reset

2015-12-02 Thread Andrii Kroitor
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=6e0672be5ec874e3fca2269ec7baf9d0fff00fee

commit 6e0672be5ec874e3fca2269ec7baf9d0fff00fee
Author: Andrii Kroitor 
Date:   Tue Dec 1 16:15:18 2015 +0200

editor: do not emit signals on reset
---
 src/bin/editor/editor_part.c   | 4 
 src/bin/editor/editor_states.c | 4 
 2 files changed, 8 insertions(+)

diff --git a/src/bin/editor/editor_part.c b/src/bin/editor/editor_part.c
index ac30d5e..62b6393 100644
--- a/src/bin/editor/editor_part.c
+++ b/src/bin/editor/editor_part.c
@@ -537,6 +537,8 @@ editor_part_reset(Evas_Object *edit_object, Change *change, 
Eina_Bool merge __UN
assert(edit_object != NULL);
assert(part_name != NULL);
 
+   you_shall_not_pass_editor_signals(change);
+
Edje_Part_Type type = edje_edit_part_type_get(edit_object, part_name);
 
if ((type == EDJE_PART_TYPE_TEXTBLOCK) || (type == EDJE_PART_TYPE_TEXT))
@@ -591,6 +593,8 @@ editor_part_reset(Evas_Object *edit_object, Change *change, 
Eina_Bool merge __UN
   res = res && editor_part_item_del(edit_object, change, false, part_name, 
name);
edje_edit_string_list_free(items);
 
+   you_shall_pass_editor_signals(change);
+
return res;
 }
 
diff --git a/src/bin/editor/editor_states.c b/src/bin/editor/editor_states.c
index 3b5ddf3..1881d68 100644
--- a/src/bin/editor/editor_states.c
+++ b/src/bin/editor/editor_states.c
@@ -196,6 +196,8 @@ editor_state_reset(Evas_Object *edit_object, Change 
*change, Eina_Bool merge __U
assert(part_name != NULL);
assert(state_name != NULL);
 
+   you_shall_not_pass_editor_signals(change);
+
Edje_Part_Type type = edje_edit_part_type_get(edit_object, part_name);
 
switch (type)
@@ -291,6 +293,8 @@ editor_state_reset(Evas_Object *edit_object, Change 
*change, Eina_Bool merge __U
res = res && editor_state_rel2_to_y_reset(edit_object, change, part_name, 
state_name, state_val);
res = res && editor_state_visible_reset(edit_object, change, part_name, 
state_name, state_val);
 
+   you_shall_pass_editor_signals(change);
+
return res;
 }
 

-- 




[EGIT] [tools/eflete] master 01/62: layout.edc: add bg for part item, will be used as hilight for item

2015-12-02 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=56384cd290d0b1477204bdeb4794d3f9613a56c1

commit 56384cd290d0b1477204bdeb4794d3f9613a56c1
Author: Vyacheslav Reutskiy 
Date:   Wed Nov 25 16:20:34 2015 +0200

layout.edc: add bg for part item, will be used as hilight for item

Change-Id: I949f7bb9c321851418c17b443e62b5394584
---
 data/themes/default/widgets/layout.edc | 24 
 1 file changed, 24 insertions(+)

diff --git a/data/themes/default/widgets/layout.edc 
b/data/themes/default/widgets/layout.edc
index a906411..359685b 100644
--- a/data/themes/default/widgets/layout.edc
+++ b/data/themes/default/widgets/layout.edc
@@ -3447,6 +3447,7 @@ group { name: "elm/layout/groupview/default";
  image: "bg_group.png" COMP;
  image: "bg_table.png" COMP;
  image: "bg_box.png" COMP;
+ image: "bg_part_item.png" COMP;
   }
   part { name: "bg";
  type: IMAGE;
@@ -3471,6 +3472,15 @@ group { name: "elm/layout/groupview/default";
  BG(table,  bg_table.png)
  BG(box,bg_box.png)
 #undef BG
+ description { state: "part_item_hilight" 0.0;
+inherit: "default" 0.0;
+image.normal: "bg_part_item.png";
+ }
+ description { state: "part_item_hilight" 1.0;
+inherit: "default" 0.0;
+visible: 1;
+image.normal: "bg_part_item.png";
+ }
   }
   part { name: "elm.swallow.content";
  type: SWALLOW;
@@ -3523,4 +3533,18 @@ group { name: "elm/layout/groupview/default";
   PROGRAM(part_item)
 #undef PROGRAM
}
+   program { name: "part_item_hilight_off";
+  source: "eflete";
+  filter: "border" "part_item" 0.0;
+  signal: "border,part_item,hilight,off";
+  action: STATE_SET part_item_hilight 0.0;
+  target: "bg";
+   }
+   program { name: "part_item_hilight_on";
+  source: "eflete";
+  filter: "border" "part_item" 0.0;
+  signal: "border,part_item,hilight,on";
+  action: STATE_SET part_item_hilight 1.0;
+  target: "bg";
+   }
 }

-- 




[EGIT] [tools/eflete] master 14/62: Merge "popup: logic mistake in image_helper multiselection"

2015-12-02 Thread Gerrit User
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=82d357005d0915c9e9867b421cc713352bf0fe1c

commit 82d357005d0915c9e9867b421cc713352bf0fe1c
Merge: 25aa019 b160a00
Author: Gerrit User 
Date:   Tue Dec 1 08:08:36 2015 +0200

Merge "popup: logic mistake in image_helper multiselection"

 src/bin/ui/popup.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 




[EGIT] [tools/eflete] master 29/62: groupedit: pack all parts view to box

2015-12-02 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=456f344b229503a23bd594b691c4b3d901a82462

commit 456f344b229503a23bd594b691c4b3d901a82462
Author: Vyacheslav Reutskiy 
Date:   Tue Dec 1 15:56:28 2015 +0200

groupedit: pack all parts view to box

Now all parts packed to box with custom layout. This layout puts in
place parts. It's broke the zoom and separate mode, but new zoom
implementation will be very simple.

TODO:
 * implement new zoom;
 * implement custom layout for separate mode.

Change-Id: Ia9575d8eba43df9b44389db07f77347533587955
---
 src/bin/ui/workspace/groupedit.c |  11 +
 src/bin/ui/workspace/groupedit_calc.c| 368 +--
 src/bin/ui/workspace/groupedit_private.h |   8 +
 3 files changed, 171 insertions(+), 216 deletions(-)

diff --git a/src/bin/ui/workspace/groupedit.c b/src/bin/ui/workspace/groupedit.c
index cd5a7ed..0da59c2 100644
--- a/src/bin/ui/workspace/groupedit.c
+++ b/src/bin/ui/workspace/groupedit.c
@@ -230,6 +230,13 @@ _groupedit_smart_calculate(Evas_Object *o)
evas_object_resize(priv->group->edit_object,
   priv->con_current_size->w,
   priv->con_current_size->h);
+  evas_object_move(priv->box,
+   priv->con_current_size->x,
+   priv->con_current_size->y);
+
+   evas_object_resize(priv->box,
+  priv->con_current_size->w,
+  priv->con_current_size->h);
 
priv->manual_calc = false;
_parts_recalc(priv);
@@ -276,6 +283,10 @@ groupedit_add(Evas_Object *parent, Group *group)
sd->group = group;
evas_object_smart_member_add(sd->group->edit_object, obj);
 
+   sd->box = elm_box_add(parent);
+   elm_box_layout_set(sd->box, _parts_stack_layout, sd, NULL);
+   evas_object_show(sd->box);
+   evas_object_smart_member_add(sd->box, obj);
_parts_list_new(sd);
 
/* hide the editing object by using clipper (clipper is small, it's size is 
0,0)
diff --git a/src/bin/ui/workspace/groupedit_calc.c 
b/src/bin/ui/workspace/groupedit_calc.c
index 1c13917..b7a6600 100644
--- a/src/bin/ui/workspace/groupedit_calc.c
+++ b/src/bin/ui/workspace/groupedit_calc.c
@@ -44,7 +44,7 @@ static void
 _item_draw_del(Groupedit_Item *ge_item);
 
 static void
-_part_object_area_calc(Ws_Groupedit_Smart_Data *sd);
+_part_object_area_calc(Ws_Groupedit_Smart_Data *sd, Groupedit_Part *gp);
 
 static void
 _common_param_update(Groupedit_Part *gp, Evas_Object *edit_obj);
@@ -393,6 +393,7 @@ _select_item_move_to_top(Ws_Groupedit_Smart_Data *sd)
sd->to_select = NULL;
 }
 
+#if 0
 static void
 _part_separete_mod_mouse_click_cb(void *data,
   Evas *e __UNUSED__,
@@ -450,6 +451,7 @@ _part_separete_mod_mouse_out_cb(void *data,
if (sd->selected == gp) return;
edje_object_signal_emit(gp->item, "item,mouse,out", "eflete");
 }
+#endif /*  */
 
 static void
 _part_select(void *data,
@@ -800,14 +802,13 @@ _part_container_del(Groupedit_Part *gp)
 evas_object_repeat_events_set(OBJECT, false); \
  }
 
+#undef GP_REAL_GEOMETRY_CALC
+#undef ZOOM_APPLY
+
 static void
-_part_recalc_apply(Ws_Groupedit_Smart_Data *sd,
-   Groupedit_Part *gp,
-   int offset_x,
-   int offset_y)
+_part_calc(Ws_Groupedit_Smart_Data *sd, Groupedit_Part *gp)
 {
Evas_Coord x, y, xe, ye, w, h;
-   Evas_Coord part_x, part_y, abs_x, abs_y;
 
assert(sd != NULL);
assert(gp != NULL);
@@ -815,18 +816,13 @@ _part_recalc_apply(Ws_Groupedit_Smart_Data *sd,
edje_object_part_geometry_get(sd->group->edit_object, gp->part->name, , 
, , );
evas_object_geometry_get(sd->group->edit_object, , , NULL, NULL);
 
-   evas_object_resize(gp->draw, w, h);
-   evas_object_move(gp->draw, (x * sd->zoom_factor + xe + offset_x),
-  (y * sd->zoom_factor + ye + offset_y));
-
-   if (gp->container)
- {
-evas_object_resize(gp->container, w, h);
-evas_object_move(gp->container, (x * sd->zoom_factor + xe + offset_x),
- (y * sd->zoom_factor + ye + offset_y));
- }
+   gp->geom.x = x + xe;
+   gp->geom.y = y + ye;
+   gp->geom.w = w;
+   gp->geom.h = h;
 
-   if (gp->part->type == EDJE_PART_TYPE_TEXT)
+   if ((gp->part->type == EDJE_PART_TYPE_TEXT) ||
+   (gp->part->type == EDJE_PART_TYPE_TEXTBLOCK))
  {
 double x_align, y_align;
 const Evas_Object *ro;
@@ -835,7 +831,6 @@ _part_recalc_apply(Ws_Groupedit_Smart_Data *sd,
 evas_object_geometry_get(ro, NULL, NULL, _w, _h);
 evas_object_resize(gp->proxy_part, ro_w, ro_h);
 
-
 x_align = edje_edit_state_text_align_x_get(sd->group->edit_object,
gp->part->name,

gp->part->current_state->parsed_name,
@@ -846,142 +841,76 @@ 

[EGIT] [tools/eflete] master 30/62: groupedit: delete unnecessary member 'real_size' and used macro

2015-12-02 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=197cc0189482eaa3400dbce8dcef7ee7a060d074

commit 197cc0189482eaa3400dbce8dcef7ee7a060d074
Author: Vyacheslav Reutskiy 
Date:   Tue Dec 1 16:19:57 2015 +0200

groupedit: delete unnecessary member 'real_size' and used macro

Change-Id: I1dc7e83921bb65a040d46722b1243eb303b9a67a
---
 src/bin/ui/workspace/groupedit.c |  2 --
 src/bin/ui/workspace/groupedit_calc.c| 55 
 src/bin/ui/workspace/groupedit_private.h |  1 -
 3 files changed, 58 deletions(-)

diff --git a/src/bin/ui/workspace/groupedit.c b/src/bin/ui/workspace/groupedit.c
index 0da59c2..8932d4c 100644
--- a/src/bin/ui/workspace/groupedit.c
+++ b/src/bin/ui/workspace/groupedit.c
@@ -93,7 +93,6 @@ _groupedit_smart_add(Evas_Object *o)
 
priv->obj = o;
priv->con_current_size = (Groupedit_Geom *)mem_calloc(1, 
sizeof(Groupedit_Geom));
-   priv->real_size = (Groupedit_Geom *)mem_calloc(1, sizeof(Groupedit_Geom));
priv->zoom_factor = 1.0;
priv->parts = NULL;
priv->obj_area.obj = edje_object_add(priv->e);
@@ -124,7 +123,6 @@ _groupedit_smart_del(Evas_Object *o)
evas_object_hide(sd->group->edit_object);
evas_object_del(sd->edit_obj_clipper);
 
-   free(sd->real_size);
free(sd->con_current_size);
free(sd->obj_area.geom);
 
diff --git a/src/bin/ui/workspace/groupedit_calc.c 
b/src/bin/ui/workspace/groupedit_calc.c
index b7a6600..5b03c15 100644
--- a/src/bin/ui/workspace/groupedit_calc.c
+++ b/src/bin/ui/workspace/groupedit_calc.c
@@ -601,8 +601,6 @@ _part_table_add(Ws_Groupedit_Smart_Data *sd, Groupedit_Part 
*gp)
for (i = 0; i < col; i++)
  free(items_draw[i]);
free(items_draw);
-
-
 }
 
 /* get from edje_util.c:2935 */
@@ -758,53 +756,6 @@ _part_container_del(Groupedit_Part *gp)
gp->container = NULL;
 }
 
-#define GP_REAL_GEOMETRY_CALC(PART_X, PART_Y, ABS_X, ABS_Y) \
-   w *= sd->zoom_factor; h *= sd->zoom_factor; \
-   PART_X = x * sd->zoom_factor + xe + offset_x; \
-   PART_Y = y * sd->zoom_factor + ye + offset_y; \
-   ABS_X = abs(sd->real_size->x - PART_X); \
-   ABS_Y = abs(sd->real_size->y - PART_Y); \
-   if (PART_X > sd->real_size->x) \
- w += ABS_X; \
-   else \
- { \
-sd->real_size->w += ABS_X; \
-sd->real_size->x = PART_X; \
- } \
-   if (PART_Y > sd->real_size->y) \
- h += ABS_Y; \
-   else \
- { \
-sd->real_size->h += ABS_Y; \
-sd->real_size->y = PART_Y; \
- } \
-   if (sd->real_size->w < w) \
- sd->real_size->w = w; \
-   if (sd->real_size->h < h) \
- sd->real_size->h = h;
-
-#define ZOOM_APPLY(OBJECT) \
-   if (fabs(sd->zoom_factor - 1.0) > 0.1) \
- { \
-evas_object_geometry_get(OBJECT, , , NULL, NULL); \
-Evas_Map *m = evas_map_new(4); \
-evas_map_smooth_set(m, false); \
-evas_map_util_points_populate_from_object_full(m, OBJECT, 0); \
-evas_map_util_zoom(m, sd->zoom_factor, sd->zoom_factor, x, y); \
-evas_object_map_set(OBJECT, m); \
-evas_object_map_enable_set(OBJECT, true); \
-evas_map_free(m); \
-evas_object_repeat_events_set(OBJECT, true); \
- } \
-   else \
- { \
-evas_object_map_enable_set(OBJECT, false); \
-evas_object_repeat_events_set(OBJECT, false); \
- }
-
-#undef GP_REAL_GEOMETRY_CALC
-#undef ZOOM_APPLY
-
 static void
 _part_calc(Ws_Groupedit_Smart_Data *sd, Groupedit_Part *gp)
 {
@@ -858,12 +809,6 @@ _part_update(Ws_Groupedit_Smart_Data *sd, Groupedit_Part 
*gp)
 
if (!sd->parts) return false;
 
-   evas_object_geometry_get(sd->obj, >real_size->x,
->real_size->y,
->real_size->w,
->real_size->h);
-
-
switch (gp->part->type)
  {
   case EDJE_PART_TYPE_TEXT:
diff --git a/src/bin/ui/workspace/groupedit_private.h 
b/src/bin/ui/workspace/groupedit_private.h
index 27d3fa3..2e3bb04 100644
--- a/src/bin/ui/workspace/groupedit_private.h
+++ b/src/bin/ui/workspace/groupedit_private.h
@@ -80,7 +80,6 @@ struct _Ws_Groupedit_Smart_Data
   int h; /* default: -1, size is not limited */
} con_size_max;
Groupedit_Geom *con_current_size;
-   Groupedit_Geom *real_size;
struct {
   Evas_Object *obj;
   int w, h;

-- 




[EGIT] [tools/eflete] master 18/62: groupedit: delete forgoten debug messages

2015-12-02 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=d1b072f759f4f77e7000890664fe9fdcb3f7ab6d

commit d1b072f759f4f77e7000890664fe9fdcb3f7ab6d
Author: Vyacheslav Reutskiy 
Date:   Thu Nov 26 15:23:56 2015 +0200

groupedit: delete forgoten debug messages

Change-Id: Ia27e52af958810946c9a7c1fed53c3cb14cbcf28
---
 src/bin/ui/workspace/groupedit_calc.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/src/bin/ui/workspace/groupedit_calc.c 
b/src/bin/ui/workspace/groupedit_calc.c
index 638e057..f4df182 100644
--- a/src/bin/ui/workspace/groupedit_calc.c
+++ b/src/bin/ui/workspace/groupedit_calc.c
@@ -568,7 +568,6 @@ _part_table_add(Ws_Groupedit_Smart_Data *sd, Groupedit_Part 
*gp)
 
table = edje_object_part_object_get(sd->group->edit_object, gp->part->name);
evas_object_table_col_row_size_get(table, , );
-   fprintf(stdout, "%5d %5d\n", col, row);
items_draw = (Eina_Stringshare ***)mem_calloc(1, sizeof(Eina_Stringshare 
**) * col);
for (i = 0; i < col; i++)
  items_draw[i] = (Eina_Stringshare **)mem_calloc(1, 
sizeof(Eina_Stringshare *) * row);
@@ -666,7 +665,6 @@ _part_box_add(Ws_Groupedit_Smart_Data *sd, Groupedit_Part 
*gp)
 
assert(gp->container == NULL);
 
-   fprintf(stdout, "%s\n", gp->part->name);
gp->container = evas_object_box_add(sd->e);
elm_box_pack_before(gp->draw, gp->container, gp->proxy_part);
evas_object_show(gp->container);
@@ -1238,7 +1236,6 @@ _image_param_update(Groupedit_Part *gp, Evas_Object 
*edit_obj)
id = edje_edit_image_id_get(edit_obj, image_normal);
edje_edit_string_free(image_normal);
buf = eina_stringshare_printf("edje/images/%i", id);
-   //fprintf(stdout, "%s\n", buf);
evas_object_image_file_set(gp->proxy_part, ap.project->dev, buf);
err = evas_object_image_load_error_get(gp->proxy_part);
if (err != EVAS_LOAD_ERROR_NONE)

-- 




[EGIT] [tools/eflete] master 51/62: group_navigator: add stubs for part_item add/del

2015-12-02 Thread Andrii Kroitor
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=8891681a8ce1196a104ea74ff64790895b430d2c

commit 8891681a8ce1196a104ea74ff64790895b430d2c
Author: Andrii Kroitor 
Date:   Wed Dec 2 12:24:58 2015 +0200

group_navigator: add stubs for part_item add/del
---
 src/bin/ui/group_navigator.c | 30 ++
 1 file changed, 26 insertions(+), 4 deletions(-)

diff --git a/src/bin/ui/group_navigator.c b/src/bin/ui/group_navigator.c
index 93e9554..d58df96 100644
--- a/src/bin/ui/group_navigator.c
+++ b/src/bin/ui/group_navigator.c
@@ -51,6 +51,7 @@ typedef struct
 
Evas_Object *menu;
Elm_Object_Item *add_state_menu_item;
+   Elm_Object_Item *add_part_item_menu_item;
Elm_Validator_Regexp *name_validator;
struct {
 Evas_Object *entry_name;
@@ -391,6 +392,7 @@ _unselect_part(Part_List *pl)
elm_genlist_item_item_class_update(pl->selected_part_item, pl->itc_part);
pl->selected_part_item = NULL;
elm_object_item_disabled_set(pl->add_state_menu_item, true);
+   elm_object_item_disabled_set(pl->add_part_item_menu_item, true);
elm_object_disabled_set(pl->btn_del, true);
evas_object_smart_callback_call(ap.win, SIGNAL_PART_UNSELECTED, (void 
*)part);
 }
@@ -433,6 +435,9 @@ _selected_cb(void *data,
 elm_genlist_item_item_class_update(glit_part, pl->itc_part_selected);
  }
elm_object_item_disabled_set(pl->add_state_menu_item, false);
+   if ((part->type == EDJE_PART_TYPE_BOX) ||
+   (part->type == EDJE_PART_TYPE_TABLE))
+ elm_object_item_disabled_set(pl->add_part_item_menu_item, false);
if ((itc == pl->itc_item_caption) ||
(((itc == pl->itc_state) || (itc == pl->itc_state_selected)) &&
 (!strcmp(((State *)elm_object_item_data_get(glit))->name, "default 
0.00"
@@ -780,6 +785,14 @@ _on_menu_add_state_clicked(void *data __UNUSED__,
 }
 
 static void
+_on_menu_add_item_clicked(void *data __UNUSED__,
+  Evas_Object *obj __UNUSED__,
+  void *ei __UNUSED__)
+{
+   printf("_on_menu_add_item_clicked\n");
+}
+
+static void
 _on_btn_plus_clicked(void *data,
  Evas_Object *obj,
  void *ei __UNUSED__)
@@ -952,6 +965,13 @@ _editor_state_deleted_cb(void *data,
 }
 
 static void
+_item_del(Part_List *pl __UNUSED__,
+  Elm_Object_Item *glit __UNUSED__)
+{
+   printf("_item_del\n");
+}
+
+static void
 _on_btn_minus_clicked(void *data,
   Evas_Object *obj __UNUSED__,
   void *ei __UNUSED__)
@@ -968,11 +988,11 @@ _on_btn_minus_clicked(void *data,
 
itc = elm_genlist_item_item_class_get(glit);
if (itc == pl->itc_part_selected)
- {
-_part_del(pl, glit);
- }
+ _part_del(pl, glit);
else if ((itc == pl->itc_state_selected) || (itc == pl->itc_state))
-  _state_del(pl, glit);
+ _state_del(pl, glit);
+   else if ((itc == pl->itc_item))
+ _item_del(pl, glit);
 
TODO("Check if we still need this")
/* Need to save pl->group->edit_object, since we changed it */
@@ -1077,6 +1097,8 @@ group_navigator_add(Group *group)
 
pl->add_state_menu_item = elm_menu_item_add(pl->menu, NULL, NULL, 
_("State"), _on_menu_add_state_clicked, NULL);
elm_object_item_disabled_set(pl->add_state_menu_item, true);
+   pl->add_part_item_menu_item = elm_menu_item_add(pl->menu, NULL, NULL, 
_("Item"), _on_menu_add_item_clicked, NULL);
+   elm_object_item_disabled_set(pl->add_part_item_menu_item, true);
menu_item = elm_menu_item_separator_add(pl->menu, NULL);
 
menu_item = elm_menu_item_add(pl->menu, NULL, NULL, _("Rectangle"), 
_on_menu_add_part_clicked, &_type_rect);

-- 




[EGIT] [tools/eflete] master 26/62: editor: implement signal blockers

2015-12-02 Thread Andrii Kroitor
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=dbf1509a6337e386c3409a75b80620214406d17c

commit dbf1509a6337e386c3409a75b80620214406d17c
Author: Andrii Kroitor 
Date:   Tue Dec 1 16:14:10 2015 +0200

editor: implement signal blockers
---
 src/bin/editor/editor_general.c |  2 +-
 src/bin/editor/editor_group.c   |  7 ---
 src/bin/editor/editor_macro.h   | 26 +-
 src/bin/editor/editor_part.c| 33 ++---
 src/bin/editor/editor_states.c  | 11 ++-
 src/bin/editor/editor_text.c|  3 ++-
 6 files changed, 44 insertions(+), 38 deletions(-)

diff --git a/src/bin/editor/editor_general.c b/src/bin/editor/editor_general.c
index a479dda..70d748e 100644
--- a/src/bin/editor/editor_general.c
+++ b/src/bin/editor/editor_general.c
@@ -28,7 +28,7 @@ _editor_save(Evas_Object *edit_object, Eina_Bool 
current_group)
if (!edje_edit_without_source_save(edit_object, current_group))
  return false;
 
-   evas_object_smart_callback_call(ap.win, SIGNAL_EDITOR_SAVED, NULL);
+   if (!_editor_signals_blocked) evas_object_smart_callback_call(ap.win, 
SIGNAL_EDITOR_SAVED, NULL);
return true;
 }
 Eina_Bool
diff --git a/src/bin/editor/editor_group.c b/src/bin/editor/editor_group.c
index b18957c..1629adf 100644
--- a/src/bin/editor/editor_group.c
+++ b/src/bin/editor/editor_group.c
@@ -19,6 +19,7 @@
 
 #include "editor.h"
 
+extern int _editor_signals_blocked;
 Eina_Bool
 editor_group_add(Evas_Object *obj, const char *name)
 {
@@ -113,7 +114,7 @@ editor_group_max_## VAL ##_set(Evas_Object *obj, Change 
*change, Eina_Bool merge
if (!edje_edit_group_max_## VAL ##_set(obj, new_value)) \
  return false; \
_editor_project_changed(); \
-   evas_object_smart_callback_call(ap.win, SIGNAL_EDITOR_ATTRIBUTE_CHANGED, 
); \
+   if (!_editor_signals_blocked) evas_object_smart_callback_call(ap.win, 
SIGNAL_EDITOR_ATTRIBUTE_CHANGED, ); \
return true; \
 }
 
@@ -156,7 +157,7 @@ editor_group_min_## VAL ##_set(Evas_Object *obj, Change 
*change, Eina_Bool merge
if (!edje_edit_group_min_## VAL ##_set(obj, new_value)) \
  return false; \
_editor_project_changed(); \
-   evas_object_smart_callback_call(ap.win, SIGNAL_EDITOR_ATTRIBUTE_CHANGED, 
); \
+   if (!_editor_signals_blocked) evas_object_smart_callback_call(ap.win, 
SIGNAL_EDITOR_ATTRIBUTE_CHANGED, ); \
return true; \
 }
 
@@ -190,6 +191,6 @@ editor_group_name_set(Evas_Object *edit_object, Change 
*change, Eina_Bool merge,
if (!edje_edit_group_name_set(edit_object, new_val))
  return false;
_editor_project_changed();
-   evas_object_smart_callback_call(ap.win, SIGNAL_EDITOR_ATTRIBUTE_CHANGED, 
);
+   if (!_editor_signals_blocked) evas_object_smart_callback_call(ap.win, 
SIGNAL_EDITOR_ATTRIBUTE_CHANGED, );
return true;
 }
diff --git a/src/bin/editor/editor_macro.h b/src/bin/editor/editor_macro.h
index c5b351f..805a963 100644
--- a/src/bin/editor/editor_macro.h
+++ b/src/bin/editor/editor_macro.h
@@ -51,7 +51,7 @@ editor_state_## FUNC ##_set(Evas_Object *edit_object, Change 
*change, Eina_Bool
if (!edje_edit_state_## FUNC ##_set(edit_object, part_name, state_name, 
state_val, new_val)) \
  return false; \
_editor_project_changed(); \
-   evas_object_smart_callback_call(ap.win, SIGNAL_EDITOR_ATTRIBUTE_CHANGED, 
); \
+   if (!_editor_signals_blocked) evas_object_smart_callback_call(ap.win, 
SIGNAL_EDITOR_ATTRIBUTE_CHANGED, ); \
return true; \
 }
 
@@ -89,7 +89,7 @@ editor_state_## FUNC ##_set(Evas_Object *edit_object, Change 
*change, Eina_Bool
if (!edje_edit_state_## FUNC ##_set(edit_object, part_name, state_name, 
state_val, new_val)) \
  return false; \
_editor_project_changed(); \
-   evas_object_smart_callback_call(ap.win, SIGNAL_EDITOR_ATTRIBUTE_CHANGED, 
); \
+   if (!_editor_signals_blocked) evas_object_smart_callback_call(ap.win, 
SIGNAL_EDITOR_ATTRIBUTE_CHANGED, ); \
return true; \
 }
 
@@ -127,7 +127,7 @@ editor_state_## FUNC ##_set(Evas_Object *edit_object, 
Change *change, Eina_Bool
if (!edje_edit_state_## FUNC ##_set(edit_object, part_name, state_name, 
state_val, new_val)) \
  return false; \
_editor_project_changed(); \
-   evas_object_smart_callback_call(ap.win, SIGNAL_EDITOR_ATTRIBUTE_CHANGED, 
); \
+   if (!_editor_signals_blocked) evas_object_smart_callback_call(ap.win, 
SIGNAL_EDITOR_ATTRIBUTE_CHANGED, ); \
return true; \
 }
 
@@ -179,7 +179,7 @@ editor_state_## FUNC ##_set(Evas_Object *edit_object, 
Change *change, Eina_Bool
   change_diff_add(change, diff); \
  } \
_editor_project_changed(); \
-   evas_object_smart_callback_call(ap.win, SIGNAL_EDITOR_ATTRIBUTE_CHANGED, 
); \
+   if (!_editor_signals_blocked) evas_object_smart_callback_call(ap.win, 
SIGNAL_EDITOR_ATTRIBUTE_CHANGED, ); \
return true; \
 }
 
@@ -224,7 +224,7 @@ editor_state_## FUNC ##_set(Evas_Object *edit_object, 
Change *change, Eina_Bool
if 

[EGIT] [tools/eflete] master 25/62: editor: add methods that [un]blocks signals

2015-12-02 Thread Andrii Kroitor
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=5525e34c2af0db9d80b97787aaf2b3dbe3d23a13

commit 5525e34c2af0db9d80b97787aaf2b3dbe3d23a13
Author: Andrii Kroitor 
Date:   Tue Dec 1 15:56:10 2015 +0200

editor: add methods that [un]blocks signals
---
 src/bin/editor/editor.h |  6 ++
 src/bin/editor/editor_general.c | 39 +++
 2 files changed, 45 insertions(+)

diff --git a/src/bin/editor/editor.h b/src/bin/editor/editor.h
index c088402..91cb5d0 100644
--- a/src/bin/editor/editor.h
+++ b/src/bin/editor/editor.h
@@ -177,6 +177,12 @@ editor_group_alias_add(Evas_Object *obj, const char 
*group_src, const char *grou
 Eina_Bool
 editor_group_del(Evas_Object *obj, const char *name);
 
+Eina_Bool
+you_shall_not_pass_editor_signals(Change *change);
+
+Eina_Bool
+you_shall_pass_editor_signals(Change *change);
+
 /* Group */
 Eina_Bool
 editor_group_min_w_set(Evas_Object *obj, Change *change, Eina_Bool merge,
diff --git a/src/bin/editor/editor_general.c b/src/bin/editor/editor_general.c
index 12b2f19..a479dda 100644
--- a/src/bin/editor/editor_general.c
+++ b/src/bin/editor/editor_general.c
@@ -19,6 +19,7 @@
 
 #include "editor.h"
 
+int _editor_signals_blocked = 0;
 static inline Eina_Bool
 _editor_save(Evas_Object *edit_object, Eina_Bool current_group)
 {
@@ -56,3 +57,41 @@ editor_internal_group_add(Evas_Object *edit_object)
  return false;
return true;
 }
+
+Eina_Bool
+you_shall_not_pass_editor_signals(Change *change)
+{
+   Diff *diff;
+
+   if (change)
+ {
+diff = mem_calloc(1, sizeof(Diff));
+diff->redo.type = FUNCTION_TYPE_SIGNALSBLOCK;
+diff->redo.function = you_shall_not_pass_editor_signals;
+diff->undo.type = FUNCTION_TYPE_NONE;
+
+change_diff_add(change, diff);
+ }
+   _editor_signals_blocked++;
+   return true;
+}
+
+Eina_Bool
+you_shall_pass_editor_signals(Change *change)
+{
+   Diff *diff;
+
+   assert(_editor_signals_blocked > 0);
+
+   if (change)
+ {
+diff = mem_calloc(1, sizeof(Diff));
+diff->redo.type = FUNCTION_TYPE_SIGNALSBLOCK;
+diff->redo.function = you_shall_pass_editor_signals;
+diff->undo.type = FUNCTION_TYPE_NONE;
+
+change_diff_add(change, diff);
+ }
+   _editor_signals_blocked--;
+   return true;
+}

-- 




[EGIT] [tools/eflete] master 55/62: Merge "groupedit: delete unused char buffer"

2015-12-02 Thread Gerrit User
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=b9a29812aa7b2ee6793b34637fe9235d386921de

commit b9a29812aa7b2ee6793b34637fe9235d386921de
Merge: 9e0f98d e56ffec
Author: Gerrit User 
Date:   Wed Dec 2 15:55:48 2015 +0200

Merge "groupedit: delete unused char buffer"

 src/bin/ui/workspace/groupedit.c | 2 --
 1 file changed, 2 deletions(-)

-- 




[EGIT] [tools/eflete] master 41/62: Workspace: delete highlight object with workspace delete.

2015-12-02 Thread Mykyta Biliavskyi
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=2823b9611f5bee7228d4fac02cb2ec35e31e5798

commit 2823b9611f5bee7228d4fac02cb2ec35e31e5798
Author: Mykyta Biliavskyi 
Date:   Mon Nov 23 15:55:46 2015 +

Workspace: delete highlight object with workspace delete.
---
 src/bin/ui/workspace/workspace.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/bin/ui/workspace/workspace.c b/src/bin/ui/workspace/workspace.c
index 5535cc0..96f783d 100644
--- a/src/bin/ui/workspace/workspace.c
+++ b/src/bin/ui/workspace/workspace.c
@@ -1264,6 +1264,8 @@ _workspace_smart_del(Evas_Object *o)
 {
WS_DATA_GET(o, sd);
 
+   evas_object_del(sd->highlight.space_hl);
+   evas_object_del(sd->highlight.highlight);
_workspace_parent_sc->del(o);
 }
 

-- 




[EGIT] [tools/eflete] master 57/62: groupedit: delete obj_area sturct because it moved to Groupedit_Part

2015-12-02 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=40c7b43969b0e81ebe7d898126f718257ed039b3

commit 40c7b43969b0e81ebe7d898126f718257ed039b3
Author: Vyacheslav Reutskiy 
Date:   Wed Dec 2 12:20:12 2015 +0200

groupedit: delete obj_area sturct because it moved to Groupedit_Part

Change-Id: I67d750a1f357de255db887493d0077551aa461ac
---
 src/bin/ui/workspace/groupedit.c | 44 +++-
 src/bin/ui/workspace/groupedit_private.h |  6 -
 2 files changed, 3 insertions(+), 47 deletions(-)

diff --git a/src/bin/ui/workspace/groupedit.c b/src/bin/ui/workspace/groupedit.c
index 488b2bc..1e44899 100644
--- a/src/bin/ui/workspace/groupedit.c
+++ b/src/bin/ui/workspace/groupedit.c
@@ -29,30 +29,6 @@ EVAS_SMART_SUBCLASS_NEW(MY_CLASS_NAME, _groupedit,
 evas_object_smart_clipped_class_get, _smart_callbacks);
 
 static void
-_style_set(Evas_Object *o, const char *style)
-{
-   char group[BUFF_MAX];
-   WS_GROUPEDIT_DATA_GET(o, sd)
-   assert(style != NULL);
-
-   #define GROUP_NAME(item, style) \
-  snprintf(group, BUFF_MAX, "eflete/groupedit/%s/%s", item, style);
-
-   GROUP_NAME("object_area", style)
-   if (!edje_object_file_set(sd->obj_area.obj, EFLETE_EDJ, group))
- {
-GROUP_NAME("object_area", "default")
-if (!edje_object_file_set(sd->obj_area.obj, EFLETE_EDJ, group))
-  {
- ERR("Could not set up default theme for object area!");
- abort();
-  }
- }
-
-   #undef GROUP_NAME
-}
-
-static void
 _unselect_part(void *data,
Evas *e __UNUSED__,
Evas_Object *obj __UNUSED__,
@@ -69,7 +45,6 @@ _unselect_part(void *data,
 if (!sd->selected) return;
 _selected_item_return_to_place(sd);
  }
-   evas_object_hide(sd->obj_area.obj);
evas_object_smart_callback_call(o, SIGNAL_GROUPEDIT_PART_UNSELECTED,
(void *)sd->selected->part);
sd->selected = NULL;
@@ -95,19 +70,11 @@ _groupedit_smart_add(Evas_Object *o)
priv->geom = (Groupedit_Geom *)mem_calloc(1, sizeof(Groupedit_Geom));
priv->zoom_factor = 1.0;
priv->parts = NULL;
-   priv->obj_area.obj = edje_object_add(priv->e);
-   evas_object_repeat_events_set(priv->obj_area.obj, true);
-   priv->obj_area.visible = false;
-   priv->obj_area.show_now = false;
-   priv->obj_area.geom = (Groupedit_Geom *)mem_calloc(1, 
sizeof(Groupedit_Geom));
priv->separated = false;
priv->selected = NULL;
priv->to_select = NULL;
 
-   evas_object_smart_member_add(priv->obj_area.obj, o);
evas_object_smart_member_add(priv->event, o);
-
-   _style_set(o, "default");
 }
 
 static void
@@ -124,7 +91,6 @@ _groupedit_smart_del(Evas_Object *o)
evas_object_del(sd->edit_obj_clipper);
 
free(sd->geom);
-   free(sd->obj_area.geom);
 
_groupedit_parent_sc->del(o);
 }
@@ -468,26 +434,22 @@ groupedit_part_object_area_get(Evas_Object *obj)
 {
WS_GROUPEDIT_DATA_GET(obj, sd)
 
-   return sd->obj_area.obj;
+   return sd->obj;
 }
 
 void
-groupedit_part_object_area_visible_set(Evas_Object *obj, Eina_Bool visible)
+groupedit_part_object_area_visible_set(Evas_Object *obj, Eina_Bool visible 
__UNUSED__)
 {
WS_GROUPEDIT_DATA_GET(obj, sd);
-   sd->obj_area.visible = visible;
 
if (!sd->selected) return;
-
-   if (visible) evas_object_show(sd->obj_area.obj);
-   else evas_object_hide(sd->obj_area.obj);
 }
 
 Eina_Bool
 groupedit_part_object_area_visible_get(Evas_Object *obj)
 {
WS_GROUPEDIT_DATA_GET(obj, sd);
-   return sd->obj_area.visible;
+   return false;
 }
 
 Eina_Bool
diff --git a/src/bin/ui/workspace/groupedit_private.h 
b/src/bin/ui/workspace/groupedit_private.h
index 5595105..6412d07 100644
--- a/src/bin/ui/workspace/groupedit_private.h
+++ b/src/bin/ui/workspace/groupedit_private.h
@@ -92,12 +92,6 @@ struct _Ws_Groupedit_Smart_Data
Eina_Bool handler_BR_pressed : 1;
Evas_Object *edit_obj_clipper;
Eina_List *parts;
-   struct {
-  Evas_Object *obj;
-  Groupedit_Geom *geom;
-  Eina_Bool visible : 1;
-  Eina_Bool show_now : 1;
-   } obj_area;
Eina_Bool separated : 1;
Groupedit_Part *selected;
Groupedit_Part *to_select;

-- 




[EGIT] [tools/eflete] master 48/62: goupedit_calc: fix segfault on incorrect box layout

2015-12-02 Thread Andrii Kroitor
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=0ba8fdb27c88ab5c964fb8ac2bb010af6e6f9dd4

commit 0ba8fdb27c88ab5c964fb8ac2bb010af6e6f9dd4
Author: Andrii Kroitor 
Date:   Wed Dec 2 11:47:00 2015 +0200

goupedit_calc: fix segfault on incorrect box layout
---
 src/bin/ui/workspace/groupedit_calc.c | 38 +++
 1 file changed, 21 insertions(+), 17 deletions(-)

diff --git a/src/bin/ui/workspace/groupedit_calc.c 
b/src/bin/ui/workspace/groupedit_calc.c
index e7417bc..9943ca8 100644
--- a/src/bin/ui/workspace/groupedit_calc.c
+++ b/src/bin/ui/workspace/groupedit_calc.c
@@ -627,28 +627,32 @@ _edje_box_layout_builtin_find(const char *name)
};
const struct edje_box_layout_builtin *base;
 
-   switch (name[0])
+   if (name)
  {
-  case 'h':
-base = _edje_box_layout_builtin + 0;
-break;
-
-  case 's':
-base = _edje_box_layout_builtin + 4;
-break;
+switch (name[0])
+  {
+   case 'h':
+  base = _edje_box_layout_builtin + 0;
+  break;
 
-  case 'v':
-base = _edje_box_layout_builtin + 5;
-break;
+   case 's':
+  base = _edje_box_layout_builtin + 4;
+  break;
 
-  default:
-return NULL;
- }
+   case 'v':
+  base = _edje_box_layout_builtin + 5;
+  break;
 
-   for (; (base->name) && (base->name[0] == name[0]); base++)
- if (strcmp(base->name, name) == 0)
-   return base->cb;
+   default:
+  return NULL;
+  }
 
+for (; (base->name) && (base->name[0] == name[0]); base++)
+  if (strcmp(base->name, name) == 0)
+return base->cb;
+ }
+   else
+ return _edje_box_layout_builtin[0].cb;
return NULL;
 }
 

-- 




[EGIT] [tools/eflete] master 52/62: Merge "goupedit_calc: fix segfault on incorrect box layout"

2015-12-02 Thread Gerrit User
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=76d6ba32ab1d8787387cfd3388c7aa3894cef64d

commit 76d6ba32ab1d8787387cfd3388c7aa3894cef64d
Merge: c94a857 0ba8fdb
Author: Gerrit User 
Date:   Wed Dec 2 15:46:25 2015 +0200

Merge "goupedit_calc: fix segfault on incorrect box layout"

 src/bin/ui/workspace/groupedit_calc.c | 38 +++
 1 file changed, 21 insertions(+), 17 deletions(-)

-- 




[EGIT] [tools/eflete] master 35/62: Merge "diff: add debug assertions"

2015-12-02 Thread Gerrit User
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=6242fe6540da84b5c7c33c0f17c094519507e414

commit 6242fe6540da84b5c7c33c0f17c094519507e414
Merge: 81d631e 4c1efbd
Author: Gerrit User 
Date:   Wed Dec 2 10:24:05 2015 +0200

Merge "diff: add debug assertions"

 src/bin/editor/diff.c | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

-- 




[EGIT] [tools/eflete] master 33/62: groupedit: delete unnecessary macro

2015-12-02 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=13dcecdfa26495825c64cfb11bcddc9c0ab16331

commit 13dcecdfa26495825c64cfb11bcddc9c0ab16331
Author: Vyacheslav Reutskiy 
Date:   Tue Dec 1 16:51:04 2015 +0200

groupedit: delete unnecessary macro

Change-Id: I346368e30565aa0975dcb156b0fa55051ce562b7
---
 src/bin/ui/workspace/groupedit_calc.c | 31 +++
 1 file changed, 11 insertions(+), 20 deletions(-)

diff --git a/src/bin/ui/workspace/groupedit_calc.c 
b/src/bin/ui/workspace/groupedit_calc.c
index 4421105..e7417bc 100644
--- a/src/bin/ui/workspace/groupedit_calc.c
+++ b/src/bin/ui/workspace/groupedit_calc.c
@@ -866,16 +866,17 @@ _part_draw_add(Ws_Groupedit_Smart_Data *sd, Part_ *part)
gp->part = part;
gp->item = NULL;
 
-#define PART_VIEW_ADD() \
-   gp->draw = elm_box_add(sd->parent); \
-   elm_box_layout_set(gp->draw, evas_object_box_layout_stack, NULL, NULL); \
-   gp->layout = elm_layout_add(sd->parent); \
-   evas_object_size_hint_weight_set(gp->layout, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND); \
-   evas_object_size_hint_align_set(gp->layout, EVAS_HINT_FILL, 
EVAS_HINT_FILL); \
-   elm_layout_theme_set(gp->layout, "layout", "groupview", "default"); \
-   evas_object_show(gp->layout); \
-   elm_box_pack_end(gp->draw, gp->layout); \
-   evas_object_show(gp->draw); \
+   gp->draw = elm_box_add(sd->parent);
+   elm_box_layout_set(gp->draw, evas_object_box_layout_stack, NULL, NULL);
+   evas_object_show(gp->draw);
+   elm_box_pack_end(sd->box, gp->draw);
+
+   gp->layout = elm_layout_add(sd->parent);
+   evas_object_size_hint_weight_set(gp->layout, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);
+   evas_object_size_hint_align_set(gp->layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   elm_layout_theme_set(gp->layout, "layout", "groupview", "default");
+   evas_object_show(gp->layout);
+   elm_box_pack_end(gp->draw, gp->layout);
 
 #define PART_VIEW_PROXY_SET() \
gp->proxy_part = evas_object_image_filled_add(sd->e); \
@@ -884,50 +885,40 @@ _part_draw_add(Ws_Groupedit_Smart_Data *sd, Part_ *part)
elm_box_pack_end(gp->draw, gp->proxy_part); \
evas_object_show(gp->proxy_part); \
 
-   elm_box_pack_end(sd->box, gp->draw);
switch (part->type)
  {
   case EDJE_PART_TYPE_RECTANGLE:
- PART_VIEW_ADD()
  PART_VIEW_PROXY_SET()
  break;
   case EDJE_PART_TYPE_TEXT:
   case EDJE_PART_TYPE_TEXTBLOCK:
- PART_VIEW_ADD()
  PART_VIEW_PROXY_SET()
  elm_object_signal_emit(gp->layout, "border,text", "eflete");
  break;
   case EDJE_PART_TYPE_IMAGE:
- PART_VIEW_ADD()
  PART_VIEW_PROXY_SET()
  elm_object_signal_emit(gp->layout, "border,text", "eflete");
  break;
   case EDJE_PART_TYPE_PROXY: // it part like image
- PART_VIEW_ADD()
  PART_VIEW_PROXY_SET()
  elm_object_signal_emit(gp->layout, "border,proxy", "eflete");
  break;
   case EDJE_PART_TYPE_SWALLOW:
- PART_VIEW_ADD()
  elm_object_signal_emit(gp->layout, "border,swallow", "eflete");
  break;
   case EDJE_PART_TYPE_SPACER:
- PART_VIEW_ADD()
  elm_object_signal_emit(gp->layout, "border,spacer", "eflete");
  break;
   case EDJE_PART_TYPE_GROUP:
- PART_VIEW_ADD()
  PART_VIEW_PROXY_SET()
  elm_object_signal_emit(gp->layout, "border,group", "eflete");
  break;
   case EDJE_PART_TYPE_TABLE:
- PART_VIEW_ADD()
  PART_VIEW_PROXY_SET()
  elm_object_signal_emit(gp->layout, "border,table", "eflete");
  _part_table_add(sd, gp);
  break;
   case EDJE_PART_TYPE_BOX:
- PART_VIEW_ADD()
  PART_VIEW_PROXY_SET()
  elm_object_signal_emit(gp->layout, "border,box", "eflete");
  _part_box_add(sd, gp);

-- 




[EGIT] [tools/eflete] master 19/62: groupedit: update image nad proxy on all changes

2015-12-02 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=928fa3ad22c8307cdfc3a04eaa83b0c0080e1d57

commit 928fa3ad22c8307cdfc3a04eaa83b0c0080e1d57
Author: Vyacheslav Reutskiy 
Date:   Thu Nov 26 16:11:47 2015 +0200

groupedit: update image nad proxy on all changes

It's not good solution, but now it's work. After refactoring need
to separate the geometry calculation and update attributes for part,
and call of necessity.

Change-Id: Iece9e53e3a5319ee255b57a5ab4cb14a4fed1e2a
---
 src/bin/ui/workspace/groupedit_calc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/bin/ui/workspace/groupedit_calc.c 
b/src/bin/ui/workspace/groupedit_calc.c
index f4df182..22e886b 100644
--- a/src/bin/ui/workspace/groupedit_calc.c
+++ b/src/bin/ui/workspace/groupedit_calc.c
@@ -935,10 +935,10 @@ _parts_recalc(Ws_Groupedit_Smart_Data *sd)
   _common_param_update(gp, sd->group->edit_object);
   break;
case EDJE_PART_TYPE_IMAGE:
-  if (sd->manual_calc) _image_param_update(gp, 
sd->group->edit_object);
+  _image_param_update(gp, sd->group->edit_object);
   break;
-   case EDJE_PART_TYPE_PROXY: // it part like image
-  if (sd->manual_calc) _proxy_param_update(gp, 
sd->group->edit_object);
+   case EDJE_PART_TYPE_PROXY:
+  _proxy_param_update(gp, sd->group->edit_object);
   break;
case EDJE_PART_TYPE_TABLE:
   if (sd->manual_calc)

-- 




[EGIT] [tools/eflete] master 37/62: Merge "editor: add methods that [un]blocks signals"

2015-12-02 Thread Gerrit User
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=a286339a5792fb70decc5352cf16db7ffb0c88f7

commit a286339a5792fb70decc5352cf16db7ffb0c88f7
Merge: b6916e2 5525e34
Author: Gerrit User 
Date:   Wed Dec 2 10:24:17 2015 +0200

Merge "editor: add methods that [un]blocks signals"

 src/bin/editor/editor.h |  6 ++
 src/bin/editor/editor_general.c | 39 +++
 2 files changed, 45 insertions(+)

-- 




[EGIT] [tools/eflete] master 49/62: groupedit: delete unused char buffer

2015-12-02 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=e56ffec5ab629b062a261be1464c7fd1974f7e89

commit e56ffec5ab629b062a261be1464c7fd1974f7e89
Author: Vyacheslav Reutskiy 
Date:   Wed Dec 2 11:51:36 2015 +0200

groupedit: delete unused char buffer

Change-Id: I7e54f62510bc035c86d554d4afca0064b5b11546
---
 src/bin/ui/workspace/groupedit.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/bin/ui/workspace/groupedit.c b/src/bin/ui/workspace/groupedit.c
index c83b9b2..828935d 100644
--- a/src/bin/ui/workspace/groupedit.c
+++ b/src/bin/ui/workspace/groupedit.c
@@ -200,7 +200,6 @@ _groupedit_smart_calculate(Evas_Object *o)
 {
Evas_Coord x, y, w, h;
Evas_Coord px, py, pw, ph;
-   char buff[16];
 
WS_GROUPEDIT_DATA_GET(o, priv)
evas_object_geometry_get(priv->parent, , , , );
@@ -215,7 +214,6 @@ _groupedit_smart_calculate(Evas_Object *o)
 priv->con_current_size->y = y;
 priv->con_current_size->w = w;
 priv->con_current_size->h = h;
-snprintf(buff, 16, "%i %i", priv->con_current_size->w, 
priv->con_current_size->h);
  }
 
DBG("Groupedit geometry: x[%i] y[%i] w[%i] h[%i]", x, y, w, h);

-- 




[EGIT] [tools/eflete] master 56/62: groupedit: move and resize groupedit only if it necessary

2015-12-02 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=48cef367990638423076256c4fd02dd089f1615c

commit 48cef367990638423076256c4fd02dd089f1615c
Author: Vyacheslav Reutskiy 
Date:   Wed Dec 2 12:08:24 2015 +0200

groupedit: move and resize groupedit only if it necessary

Change-Id: I6b01b4807c8fab5edb7a444a7f10fc01911a3424
---
 src/bin/ui/workspace/groupedit.c | 45 +---
 src/bin/ui/workspace/groupedit_calc.c|  4 +--
 src/bin/ui/workspace/groupedit_private.h |  2 +-
 3 files changed, 21 insertions(+), 30 deletions(-)

diff --git a/src/bin/ui/workspace/groupedit.c b/src/bin/ui/workspace/groupedit.c
index 828935d..488b2bc 100644
--- a/src/bin/ui/workspace/groupedit.c
+++ b/src/bin/ui/workspace/groupedit.c
@@ -92,7 +92,7 @@ _groupedit_smart_add(Evas_Object *o)
   _unselect_part, o);
 
priv->obj = o;
-   priv->con_current_size = (Groupedit_Geom *)mem_calloc(1, 
sizeof(Groupedit_Geom));
+   priv->geom = (Groupedit_Geom *)mem_calloc(1, sizeof(Groupedit_Geom));
priv->zoom_factor = 1.0;
priv->parts = NULL;
priv->obj_area.obj = edje_object_add(priv->e);
@@ -123,7 +123,7 @@ _groupedit_smart_del(Evas_Object *o)
evas_object_hide(sd->group->edit_object);
evas_object_del(sd->edit_obj_clipper);
 
-   free(sd->con_current_size);
+   free(sd->geom);
free(sd->obj_area.geom);
 
_groupedit_parent_sc->del(o);
@@ -202,41 +202,32 @@ _groupedit_smart_calculate(Evas_Object *o)
Evas_Coord px, py, pw, ph;
 
WS_GROUPEDIT_DATA_GET(o, priv)
-   evas_object_geometry_get(priv->parent, , , , );
+  evas_object_geometry_get(priv->parent, , , , );
evas_object_resize(priv->event, pw, ph);
evas_object_move(priv->event, px, py);
 
evas_object_geometry_get(o, , , , );
 
-   if (!priv->separated)
+   if ((priv->geom->x != x) || (priv->geom->y != y) ||
+   (priv->geom->w != w) || (priv->geom->h != h))
  {
-priv->con_current_size->x = x;
-priv->con_current_size->y = y;
-priv->con_current_size->w = w;
-priv->con_current_size->h = h;
+priv->geom->x = x;
+priv->geom->y = y;
+priv->geom->w = w;
+priv->geom->h = h;
+
+evas_object_move(priv->group->edit_object,x ,y);
+evas_object_resize(priv->group->edit_object, w, h);
+evas_object_move(priv->box, x, y);
+evas_object_resize(priv->box, w, h);
  }
-
-   DBG("Groupedit geometry: x[%i] y[%i] w[%i] h[%i]", x, y, w, h);
-   if (!priv->separated)
- {
-evas_object_move(priv->group->edit_object,
- priv->con_current_size->x,
- priv->con_current_size->y);
- }
-   evas_object_resize(priv->group->edit_object,
-  priv->con_current_size->w,
-  priv->con_current_size->h);
-  evas_object_move(priv->box,
-   priv->con_current_size->x,
-   priv->con_current_size->y);
-
-   evas_object_resize(priv->box,
-  priv->con_current_size->w,
-  priv->con_current_size->h);
+   else
+ elm_box_recalculate(priv->box);
 
priv->manual_calc = false;
 
-   evas_object_smart_callback_call(o, SIG_CHANGED, (void 
*)priv->con_current_size);
+   DBG("Groupedit geometry: x[%i] y[%i] w[%i] h[%i]", x, y, w, h);
+   evas_object_smart_callback_call(o, SIG_CHANGED, (void *)priv->geom);
 }
 
 /* this need for macro EVAS_SMART_SUBCLASS_NEW */
diff --git a/src/bin/ui/workspace/groupedit_calc.c 
b/src/bin/ui/workspace/groupedit_calc.c
index 9943ca8..14dbb9e 100644
--- a/src/bin/ui/workspace/groupedit_calc.c
+++ b/src/bin/ui/workspace/groupedit_calc.c
@@ -1235,7 +1235,7 @@ _part_object_area_calc(Ws_Groupedit_Smart_Data *sd, 
Groupedit_Part *gp)
y = (yc + (int)(hc * relative)) + offset;
edje_edit_string_free(rel_to);
 
-   xc = xg; wc = sd->con_current_size->w;
+   xc = xg; wc = sd->geom->w;
rel_to = edje_edit_state_rel2_to_x_get(sd->group->edit_object, name, state, 
value);
relative = edje_edit_state_rel2_relative_x_get(sd->group->edit_object, 
name, state, value);
offset = edje_edit_state_rel2_offset_x_get(sd->group->edit_object, name, 
state, value);
@@ -1248,7 +1248,7 @@ _part_object_area_calc(Ws_Groupedit_Smart_Data *sd, 
Groupedit_Part *gp)
if (w < 0) { x += w; w = 0; }
edje_edit_string_free(rel_to);
 
-   yc = yg; hc = sd->con_current_size->h;
+   yc = yg; hc = sd->geom->h;
rel_to = edje_edit_state_rel2_to_y_get(sd->group->edit_object, name, state, 
value);
relative = edje_edit_state_rel2_relative_y_get(sd->group->edit_object, 
name, state, value);
offset = edje_edit_state_rel2_offset_y_get(sd->group->edit_object, name, 
state, value);
diff --git a/src/bin/ui/workspace/groupedit_private.h 
b/src/bin/ui/workspace/groupedit_private.h
index e397c96..5595105 100644
--- a/src/bin/ui/workspace/groupedit_private.h
+++ 

[EGIT] [tools/eflete] master 58/62: groupedit: integrate the Groupedit_Geom to smart data

2015-12-02 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=e4eeb96641070a8b28d428bbee5daf605a66adbb

commit e4eeb96641070a8b28d428bbee5daf605a66adbb
Author: Vyacheslav Reutskiy 
Date:   Wed Dec 2 12:23:52 2015 +0200

groupedit: integrate the Groupedit_Geom to smart data

Change-Id: I419ad04bcd70f56ab7ef585d519cefaedb9f4f05
---
 src/bin/ui/workspace/groupedit.c | 17 +++--
 src/bin/ui/workspace/groupedit_calc.c|  4 ++--
 src/bin/ui/workspace/groupedit_private.h |  2 +-
 3 files changed, 10 insertions(+), 13 deletions(-)

diff --git a/src/bin/ui/workspace/groupedit.c b/src/bin/ui/workspace/groupedit.c
index 1e44899..716a694 100644
--- a/src/bin/ui/workspace/groupedit.c
+++ b/src/bin/ui/workspace/groupedit.c
@@ -67,7 +67,6 @@ _groupedit_smart_add(Evas_Object *o)
   _unselect_part, o);
 
priv->obj = o;
-   priv->geom = (Groupedit_Geom *)mem_calloc(1, sizeof(Groupedit_Geom));
priv->zoom_factor = 1.0;
priv->parts = NULL;
priv->separated = false;
@@ -90,8 +89,6 @@ _groupedit_smart_del(Evas_Object *o)
evas_object_hide(sd->group->edit_object);
evas_object_del(sd->edit_obj_clipper);
 
-   free(sd->geom);
-
_groupedit_parent_sc->del(o);
 }
 
@@ -174,13 +171,13 @@ _groupedit_smart_calculate(Evas_Object *o)
 
evas_object_geometry_get(o, , , , );
 
-   if ((priv->geom->x != x) || (priv->geom->y != y) ||
-   (priv->geom->w != w) || (priv->geom->h != h))
+   if ((priv->geom.x != x) || (priv->geom.y != y) ||
+   (priv->geom.w != w) || (priv->geom.h != h))
  {
-priv->geom->x = x;
-priv->geom->y = y;
-priv->geom->w = w;
-priv->geom->h = h;
+priv->geom.x = x;
+priv->geom.y = y;
+priv->geom.w = w;
+priv->geom.h = h;
 
 evas_object_move(priv->group->edit_object,x ,y);
 evas_object_resize(priv->group->edit_object, w, h);
@@ -193,7 +190,7 @@ _groupedit_smart_calculate(Evas_Object *o)
priv->manual_calc = false;
 
DBG("Groupedit geometry: x[%i] y[%i] w[%i] h[%i]", x, y, w, h);
-   evas_object_smart_callback_call(o, SIG_CHANGED, (void *)priv->geom);
+   evas_object_smart_callback_call(o, SIG_CHANGED, >geom);
 }
 
 /* this need for macro EVAS_SMART_SUBCLASS_NEW */
diff --git a/src/bin/ui/workspace/groupedit_calc.c 
b/src/bin/ui/workspace/groupedit_calc.c
index 14dbb9e..0374ed2 100644
--- a/src/bin/ui/workspace/groupedit_calc.c
+++ b/src/bin/ui/workspace/groupedit_calc.c
@@ -1235,7 +1235,7 @@ _part_object_area_calc(Ws_Groupedit_Smart_Data *sd, 
Groupedit_Part *gp)
y = (yc + (int)(hc * relative)) + offset;
edje_edit_string_free(rel_to);
 
-   xc = xg; wc = sd->geom->w;
+   xc = xg; wc = sd->geom.w;
rel_to = edje_edit_state_rel2_to_x_get(sd->group->edit_object, name, state, 
value);
relative = edje_edit_state_rel2_relative_x_get(sd->group->edit_object, 
name, state, value);
offset = edje_edit_state_rel2_offset_x_get(sd->group->edit_object, name, 
state, value);
@@ -1248,7 +1248,7 @@ _part_object_area_calc(Ws_Groupedit_Smart_Data *sd, 
Groupedit_Part *gp)
if (w < 0) { x += w; w = 0; }
edje_edit_string_free(rel_to);
 
-   yc = yg; hc = sd->geom->h;
+   yc = yg; hc = sd->geom.h;
rel_to = edje_edit_state_rel2_to_y_get(sd->group->edit_object, name, state, 
value);
relative = edje_edit_state_rel2_relative_y_get(sd->group->edit_object, 
name, state, value);
offset = edje_edit_state_rel2_offset_y_get(sd->group->edit_object, name, 
state, value);
diff --git a/src/bin/ui/workspace/groupedit_private.h 
b/src/bin/ui/workspace/groupedit_private.h
index 6412d07..9cc3ebb 100644
--- a/src/bin/ui/workspace/groupedit_private.h
+++ b/src/bin/ui/workspace/groupedit_private.h
@@ -62,7 +62,7 @@ struct _Ws_Groupedit_Smart_Data
Evas_Object *container;
Evas_Object *parent;
Evas_Object *box;
-   Groupedit_Geom *geom;
+   Groupedit_Geom geom;
/* Paddings which solve scroller issue,
   when container data move to 0,0 coords */
struct {

-- 




[EGIT] [apps/ephoto] master 01/01: Ephoto: Handle instances where a delete takes place in directories with only one image.

2015-12-02 Thread Stephen Houston
okra pushed a commit to branch master.

http://git.enlightenment.org/apps/ephoto.git/commit/?id=b1fc28d881203f9e89cabcf4837bbc1d1dc3ea76

commit b1fc28d881203f9e89cabcf4837bbc1d1dc3ea76
Author: Stephen Houston 
Date:   Wed Dec 2 19:55:53 2015 -0600

Ephoto: Handle instances where a delete takes place in directories with 
only one image.
---
 src/bin/ephoto_single_browser.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/bin/ephoto_single_browser.c b/src/bin/ephoto_single_browser.c
index ecc91cc..3e8f7f3 100644
--- a/src/bin/ephoto_single_browser.c
+++ b/src/bin/ephoto_single_browser.c
@@ -2428,8 +2428,11 @@ _entry_free(void *data, const Ephoto_Entry *entry)
 
if (entry == sb->entry)
  {
-_next_entry(sb);
 elm_object_item_del(entry->item);
+if (eina_list_count(sb->ephoto->entries) <= 1)
+  evas_object_smart_callback_call(sb->main, "back", NULL);
+else
+  _next_entry(sb);
  }
 }
 

-- 




[EGIT] [apps/ephoto] master 01/01: Ephoto: Make sure to delete the entry item when deleted from single view.

2015-12-02 Thread Stephen Houston
okra pushed a commit to branch master.

http://git.enlightenment.org/apps/ephoto.git/commit/?id=f45273dbaaf6b66895168fb09bd1cf76b557b59a

commit f45273dbaaf6b66895168fb09bd1cf76b557b59a
Author: Stephen Houston 
Date:   Wed Dec 2 19:22:15 2015 -0600

Ephoto: Make sure to delete the entry item when deleted from single view.
---
 src/bin/ephoto_single_browser.c | 1 +
 src/bin/ephoto_thumb_browser.c  | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bin/ephoto_single_browser.c b/src/bin/ephoto_single_browser.c
index 5019721..ecc91cc 100644
--- a/src/bin/ephoto_single_browser.c
+++ b/src/bin/ephoto_single_browser.c
@@ -2429,6 +2429,7 @@ _entry_free(void *data, const Ephoto_Entry *entry)
if (entry == sb->entry)
  {
 _next_entry(sb);
+elm_object_item_del(entry->item);
  }
 }
 
diff --git a/src/bin/ephoto_thumb_browser.c b/src/bin/ephoto_thumb_browser.c
index a81eca7..3f660fa 100644
--- a/src/bin/ephoto_thumb_browser.c
+++ b/src/bin/ephoto_thumb_browser.c
@@ -480,7 +480,7 @@ _todo_items_process(void *data)
   if (entry->item)
 {
elm_object_item_data_set(entry->item, entry);
-}
+ }
else
 {
ephoto_entry_free(tb->ephoto, entry);

--