[EGIT] [core/efl] master 01/01: Efl: Add internal strong symbol to fix build on GCC < 5.3

2016-04-06 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 4e4b42ec036b1bda45879c1c4141b56106546373
Author: Jean-Philippe Andre 
Date:   Thu Apr 7 14:40:10 2016 +0900

Efl: Add internal strong symbol to fix build on GCC < 5.3

This fixes a crash in ecore_init, calling a weak function from
libefl that was resolved to NULL.

So, here's a fun thing happening with GCC < 5.3. Since a1a506e13e2
all EOAPI and EO class_get() functions are weak symbols. This means
that all APIs inside libefl.so are weak.

As a result, gcc linker with --as-needed skipped linking to libefl
since not a single strong symbol from libefl was required by
libecore. This is actually a bug in gcc linker since we do in fact
use symbols from libefl, just weak ones.

GCC 5.3 seems to be fixed, so people with GCC 5.3+ will not
experience any build/runtime issue. The current patch is
a workaround that bug, by artifically creating a strong symbol
required by ecore.

Other libraries than ecore might also need to call
__efl_internal_init, if they end up not being linked to libefl.
---
 src/lib/ecore/ecore.c| 3 +++
 src/lib/efl/Efl.h| 3 +++
 src/lib/efl/interfaces/efl_interfaces_main.c | 6 ++
 3 files changed, 12 insertions(+)

diff --git a/src/lib/ecore/ecore.c b/src/lib/ecore/ecore.c
index d7eead3..6c326a7 100644
--- a/src/lib/ecore/ecore.c
+++ b/src/lib/ecore/ecore.c
@@ -210,6 +210,9 @@ ecore_init(void)
if (++_ecore_init_count != 1)
  return _ecore_init_count;
 
+   /* make sure libecore is linked to libefl - workaround gcc bug */
+   __efl_internal_init();
+
setlocale(LC_CTYPE, "");
/*
   if (strcmp(nl_langinfo(CODESET), "UTF-8"))
diff --git a/src/lib/efl/Efl.h b/src/lib/efl/Efl.h
index 2002ebc..4cc909a 100644
--- a/src/lib/efl/Efl.h
+++ b/src/lib/efl/Efl.h
@@ -119,6 +119,9 @@ typedef Efl_Gfx_Path_Command_Type Efl_Gfx_Path_Command;
 
 #endif
 
+/* work-around bug in gcc --as-needed link optimization */
+EAPI void __efl_internal_init(void);
+
 #if defined ( __cplusplus )
 }
 #endif
diff --git a/src/lib/efl/interfaces/efl_interfaces_main.c 
b/src/lib/efl/interfaces/efl_interfaces_main.c
index 908e228..68ff6f3 100644
--- a/src/lib/efl/interfaces/efl_interfaces_main.c
+++ b/src/lib/efl/interfaces/efl_interfaces_main.c
@@ -37,3 +37,9 @@ EAPI const Eo_Event_Description _EFL_GFX_PATH_CHANGED =
 #include "interfaces/efl_animator.eo.c"
 #include "interfaces/efl_orientation.eo.c"
 #include "interfaces/efl_flip.eo.c"
+
+EAPI void
+__efl_internal_init(void)
+{
+   /* nothing to do, the symbol only is required for link to work */
+}

-- 




[EGIT] [core/efl] master 02/03: eolian: add Eolian support for Eina Promises

2016-04-06 Thread Felipe Magno de Almeida
cedric pushed a commit to branch master.

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

commit dc954d8dba4538ef6cc70cb28bd6c622031825b5
Author: Felipe Magno de Almeida 
Date:   Fri Apr 1 22:50:28 2016 -0300

eolian: add Eolian support for Eina Promises

Add a promise object to allows Eolian interface to include promises
as a way to have asynchronous value return and composibility.

The usage is like this in a .eo file:

class Foo {
   methods {
  bar {
 params {
@inout promise: Promise;
 }
  }
   }
}

Which will create the following API interface:

void foo_bar(Eo* obj, Eina_Promise** promise);

and a Eina_Promise_Owner for the implementation, like this:

void _foo_bar(Eo* obj, Private_Data* pdata, Eina_Promise_Owner* promise);

Signed-off-by: Cedric Bail 
---
 src/Makefile_Eolian.am  | 13 +---
 src/bin/eolian/eo_generator.c   | 48 ++---
 src/lib/eina/eina_promise.h | 20 
 src/lib/eolian/eo_lexer.c   |  3 +-
 src/lib/eolian/eo_lexer.h   |  9 --
 src/lib/eolian/eo_parser.c  |  2 +-
 src/tests/eolian/eolian_generated_promise.c | 46 +++
 src/tests/eolian/generated_promise.eo   | 42 +
 8 files changed, 170 insertions(+), 13 deletions(-)

diff --git a/src/Makefile_Eolian.am b/src/Makefile_Eolian.am
index 2f4554c..a542127 100644
--- a/src/Makefile_Eolian.am
+++ b/src/Makefile_Eolian.am
@@ -111,19 +111,24 @@ tests/eolian/eolian_suite
 tests_eolian_eolian_suite_SOURCES = \
 tests/eolian/eolian_parsing.c \
 tests/eolian/eolian_generation.c \
+tests/eolian/eolian_generated_promise.c \
 tests/eolian/eolian_suite.c \
 tests/eolian/eolian_suite.h
 
-tests_eolian_eolian_suite_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
+tests/eolian/tests_eolian_eolian_suite-eolian_generated_promise.$(OBJEXT): 
tests/eolian/generated_promise.eo.h tests/eolian/generated_promise.eo.c
+
+CLEANFILES += tests/eolian/generated_promise.eo.h 
tests/eolian/generated_promise.eo.c
+
+tests_eolian_eolian_suite_CPPFLAGS = -I$(top_builddir)/src/lib/efl 
-I$(top_builddir)/src/tests/eolian \
 -DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/eolian\" \
 -DPACKAGE_DATA_DIR=\"$(top_srcdir)/src/tests/eolian\" \
 -DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)\" \
 @CHECK_CFLAGS@ \
-@EOLIAN_CFLAGS@
+@EOLIAN_CFLAGS@ @EO_CFLAGS@
 TESTS += tests/eolian/eolian_suite
 
-tests_eolian_eolian_suite_LDADD = @CHECK_LIBS@ @USE_EOLIAN_LIBS@
-tests_eolian_eolian_suite_DEPENDENCIES = @USE_EOLIAN_INTERNAL_LIBS@
+tests_eolian_eolian_suite_LDADD = @CHECK_LIBS@ @USE_EOLIAN_LIBS@ @USE_EO_LIBS@
+tests_eolian_eolian_suite_DEPENDENCIES = @USE_EOLIAN_INTERNAL_LIBS@ 
@USE_EO_INTERNAL_LIBS@
 tests_eolian_eolian_suite.$(OBJEXT): $(EOLIAN_TESTS_EOS_GENERATED)
 
 endif
diff --git a/src/bin/eolian/eo_generator.c b/src/bin/eolian/eo_generator.c
index 22efb10..78e8108 100644
--- a/src/bin/eolian/eo_generator.c
+++ b/src/bin/eolian/eo_generator.c
@@ -311,6 +311,9 @@ eo_bind_func_generate(const Eolian_Class *class, const 
Eolian_Function *funcid,
if (ftype != EOLIAN_PROP_GET && ftype != EOLIAN_PROP_SET) ftype = 
eolian_function_type_get(funcid);
Eina_Bool is_prop = (ftype == EOLIAN_PROP_GET || ftype == EOLIAN_PROP_SET);
 
+   Eina_Bool has_promise = EINA_FALSE;
+   const char* promise_param_name = NULL;
+   const char* promise_value_type = NULL;
Eina_Bool need_implementation = EINA_TRUE;
if (!impl_env && eolian_function_is_virtual_pure(funcid, ftype)) 
need_implementation = EINA_FALSE;
 
@@ -318,6 +321,7 @@ eo_bind_func_generate(const Eolian_Class *class, const 
Eolian_Function *funcid,
Eina_Strbuf *va_args = eina_strbuf_new();
Eina_Strbuf *params = eina_strbuf_new(); /* only variables names */
Eina_Strbuf *full_params = eina_strbuf_new(); /* variables types + names */
+   Eina_Strbuf *impl_full_params = eina_strbuf_new(); /* variables types + 
names */
Eina_Strbuf *params_init = eina_strbuf_new(); /* init of variables to 
default */
 
rettypet = eolian_function_return_type_get(funcid, ftype);
@@ -360,6 +364,8 @@ eo_bind_func_generate(const Eolian_Class *class, const 
Eolian_Function *funcid,
 eina_strbuf_append_printf(params, "%s", pname);
 eina_strbuf_append_printf(full_params, ", %s %s%s",
   ptype, pname, is_empty || is_auto?" EINA_UNUSED":"");
+eina_strbuf_append_printf(impl_full_params, ", %s %s%s",
+  ptype, pname, is_empty || is_auto?" EINA_UNUSED":"");
 eina_stringshare_del(ptype);
  }
eina_iterator_free(itr);
@@ -375,9 +381,33 @@ eo_bind_func_generate(const Eolian_Class *class, const 
Eolian_Function *funcid,
  const char *ptype = 

[EGIT] [core/efl] master 01/03: eo: add before and after macro hooks for API generation functions

2016-04-06 Thread Felipe Magno de Almeida
cedric pushed a commit to branch master.

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

commit 944e11559c34fd342550648c2dd9b3de270d3fa8
Author: Felipe Magno de Almeida 
Date:   Fri Mar 11 17:22:59 2016 -0300

eo: add before and after macro hooks for API generation functions

Add two parameters for macros that generate API functions in Eo so
that the generation can be customized with macros used by Eolian.

Signed-off-by: Cedric Bail 
---
 src/bin/eolian/eo_generator.c  |   2 +-
 src/bindings/eo_cxx/eo_inherit.hh  |   2 +-
 src/lib/eo/Eo.h|  36 --
 src/tests/eo/access/access_inherit.c   |   2 +-
 src/tests/eo/access/access_simple.c|   2 +-
 .../composite_objects/composite_objects_simple.c   | 132 ++---
 src/tests/eo/constructors/constructors_mixin.c |   2 +-
 src/tests/eo/constructors/constructors_simple.c|   6 +-
 .../function_overrides_inherit2.c  |   4 +-
 .../function_overrides/function_overrides_simple.c |   8 +-
 src/tests/eo/interface/interface_interface.c   |   2 +-
 src/tests/eo/interface/interface_interface2.c  |   2 +-
 src/tests/eo/interface/interface_simple.c  |   4 +-
 src/tests/eo/mixin/mixin_mixin.c   |   2 +-
 src/tests/eo/mixin/mixin_simple.c  |   4 +-
 src/tests/eo/signals/signals_simple.c  |   2 +-
 src/tests/eo/suite/eo_test_class_simple.c  |  18 +--
 src/tests/eo/suite/eo_test_general.c   |   4 +-
 src/tests/eo/suite/eo_test_threaded_calls.c|   6 +-
 src/tests/eolian/data/class_simple_ref.c   |  10 +-
 src/tests/eolian/data/override_ref.c   |  18 +--
 21 files changed, 139 insertions(+), 129 deletions(-)

diff --git a/src/bin/eolian/eo_generator.c b/src/bin/eolian/eo_generator.c
index d718775..22efb10 100644
--- a/src/bin/eolian/eo_generator.c
+++ b/src/bin/eolian/eo_generator.c
@@ -511,7 +511,7 @@ eo_bind_func_generate(const Eolian_Class *class, const 
Eolian_Function *funcid,
 Eina_Bool ret_is_void = (!rettype || !strcmp(rettype, "void"));
 _class_func_env_create(class, eolian_function_name_get(funcid), ftype, 
_env);
 eina_strbuf_append_printf(eo_func_decl,
-  "EOAPI EO_%sFUNC_BODY%s%s(%s",
+  "EOAPI EO_%sFUNC_BODY%s%s(%s, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK",
   ret_is_void?"VOID_":"", has_params?"V":"",
   (ftype == EOLIAN_PROP_GET ||
eolian_function_object_is_const(funcid) ||
diff --git a/src/bindings/eo_cxx/eo_inherit.hh 
b/src/bindings/eo_cxx/eo_inherit.hh
index a05d11f..a73de37 100644
--- a/src/bindings/eo_cxx/eo_inherit.hh
+++ b/src/bindings/eo_cxx/eo_inherit.hh
@@ -30,7 +30,7 @@ Eo_Class const* create_class(eina::index_sequence);
 /// @param this_ The user data to be passed to the resolved function.
 /// @param args An heterogeneous sequence of arguments.
 ///
-inline EO_VOID_FUNC_BODYV(inherit_constructor, EO_FUNC_CALL(this_), void* 
this_);
+inline EO_VOID_FUNC_BODYV(inherit_constructor, _EO_EMPTY_HOOK, _EO_EMPTY_HOOK, 
EO_FUNC_CALL(this_), void* this_);
 
 }
 
diff --git a/src/lib/eo/Eo.h b/src/lib/eo/Eo.h
index f890b83..4992b21 100644
--- a/src/lib/eo/Eo.h
+++ b/src/lib/eo/Eo.h
@@ -515,60 +515,70 @@ typedef struct _Eo_Call_Cache
__FILE__, __LINE__)) return DefRet;  \
  _Eo_##Name##_func _func_ = (_Eo_##Name##_func) ___call.func;   \
 
+#define _EO_EMPTY_HOOK()
+
 // to define an EAPI function
-#define _EO_FUNC_BODY(Name, ObjType, Ret, DefRet)  
   \
+#define _EO_FUNC_BODY(Name, ObjType, BeforeHook, AfterHook, Ret, DefRet) \
   Ret   \
   Name(ObjType obj)
\
   { \
  typedef Ret (*_Eo_##Name##_func)(Eo *, void *obj_data);\
  Ret _r;\
  EO_FUNC_COMMON_OP(obj, Name, DefRet);   \
+ BeforeHook()   \
  _r = _func_(___call.eo_id, ___call.data);\
  _eo_call_end(&___call); \
+ AfterHook()   \
  return _r; \
   }
 
-#define _EO_VOID_FUNC_BODY(Name, ObjType)  
\
+#define _EO_VOID_FUNC_BODY(Name, ObjType, BeforeHook, AfterHook)\
   void \
   Name(ObjType obj)
\
   {   

[EGIT] [core/efl] master 03/03: ecore: attempt to fix windows build by putting header in a more logical place.

2016-04-06 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit 7b0d332e0149dc13a006676779080007bc75d9e7
Author: Cedric Bail 
Date:   Wed Apr 6 14:34:45 2016 -0700

ecore: attempt to fix windows build by putting header in a more logical 
place.
---
 src/lib/ecore/Ecore.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/ecore/Ecore.h b/src/lib/ecore/Ecore.h
index 477335a..685b4a3 100644
--- a/src/lib/ecore/Ecore.h
+++ b/src/lib/ecore/Ecore.h
@@ -296,7 +296,6 @@
 #define _ECORE_H
 
 #include 
-#include 
 
 #ifdef _MSC_VER
 # include 
@@ -304,6 +303,7 @@
 
 #include 
 #include 
+#include 
 
 #ifdef EAPI
 # undef EAPI

-- 




[EGIT] [tools/erigo] master 01/02: Add content support to popup

2016-04-06 Thread Yakov Goldberg
yakov pushed a commit to branch master.

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

commit 027c6bcbba24e2d83ce3263b90183d0aea5ed96c
Author: Yakov Goldberg 
Date:   Thu Mar 24 11:14:50 2016 +0200

Add content support to popup
---
 src/bin/gui/egui_logic.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/gui/egui_logic.c b/src/bin/gui/egui_logic.c
index 451a47f..7b58aa1 100644
--- a/src/bin/gui/egui_logic.c
+++ b/src/bin/gui/egui_logic.c
@@ -896,7 +896,7 @@ _toolbar_simulate_cb(void *data, Evas_Object *obj 
EINA_UNUSED, void *event_info
 
if (!gui_context_start_points_get(ctx))
  {
-popup_show(g_main_wdgs->main_win->main_win, "Error", "Start point is 
not defined. Open \"Settings\" to define.", NULL, NULL,
+popup_show(g_main_wdgs->main_win->main_win, "Error", "Start point is 
not defined. Open \"Settings\" to define.", NULL,
POPUP_OK_BUTTON, NULL, NULL);
 return;
  }

-- 




[EGIT] [tools/erigo] master 02/02: Add Simple view support to Property View

2016-04-06 Thread Yakov Goldberg
yakov pushed a commit to branch master.

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

commit c0e9fe63d6130400f50d0d8e946d554e45a37b64
Author: Yakov Goldberg 
Date:   Sun Jan 24 13:30:21 2016 +0200

Add Simple view support to Property View

Now Property view has two represenation modes: Expert and Simlple.
Expert shows all widget properties grouped by class in inheritace
sequence.

Simple mode shows only pre-definded commonly used properties
grouped by categories.

Set of properties and its handlers in Simple view can be modified in config 
file.
---
 data/config/CMakeLists.txt|   1 +
 data/config/simple_op_db.txt  | 367 
 src/bin/gui/CMakeLists.txt|   1 +
 src/bin/gui/editor.c  |  57 +++
 src/bin/gui/egui_layout.json  | 784 +++---
 src/bin/gui/egui_logic.c  |  13 +-
 src/bin/gui/prop_layout.c |  38 +-
 src/bin/gui/props_helper.c|  12 +
 src/bin/gui/props_helper.h|   6 +
 src/bin/gui/propview.c|  37 +-
 src/bin/gui/propview.h|   2 +-
 src/bin/gui/simple_propview.c | 600 
 src/bin/gui/simple_propview.h |  14 +
 src/lib/CMakeLists.txt|   1 +
 src/lib/database.c| 250 ++
 src/lib/database.h|  78 +
 src/lib/desc_simple_parser.c  | 757 
 src/lib/desc_simple_parser.h  |  28 ++
 src/lib/gui_widget.c  |  11 +
 src/lib/gui_widget.h  |   3 +
 src/lib/test_simple_op.txt|   7 +
 21 files changed, 2665 insertions(+), 402 deletions(-)

diff --git a/data/config/CMakeLists.txt b/data/config/CMakeLists.txt
index 4696272..720b5f1 100644
--- a/data/config/CMakeLists.txt
+++ b/data/config/CMakeLists.txt
@@ -3,6 +3,7 @@ cmake_minimum_required(VERSION 2.8.1)
 LIST(APPEND CONFIG_FILES
  func_names.json
  black_list.json
+ simple_op_db.txt
  egui_all.eo
 )
 #always copy config files into build directory, so egui_cmd will be able to 
generate egui_auto
diff --git a/data/config/simple_op_db.txt b/data/config/simple_op_db.txt
new file mode 100644
index 000..9a3d33d
--- /dev/null
+++ b/data/config/simple_op_db.txt
@@ -0,0 +1,367 @@
+UI_Component_Specification.Visible {
+ Elm.Widget.visible;
+}
+
+UI_Component_Specification.Disabled {
+ none Elm.Box, Elm.Image, Elm.Icon, Elm.Bg;
+ Elm.Widget.disabled;
+}
+
+Component_Specific_Properties.Autodel {
+ Elm.Win.autodel;
+}
+
+Component_Specific_Properties.Title {
+ Elm.Win.title;
+}
+
+Component_Specific_Properties.Type {
+ Elm.Win.type;
+}
+
+Component_Specific_Properties.Maximized {
+ Elm.Win.maximized;
+}
+
+UI_Component_Specification.Text {
+ Elm.Widget.part_text(NULL, %1) for Elm.Button, Elm.Check, Elm.Label, 
Elm.Entry, Elm.Frame, Elm.Bubble, Elm.Fileselector_Entry, 
Elm.Fileselector_Button, Elm.Hoversel;
+ none Elm.Box, Elm.Table, Elm.Image, Elm.Icon, Elm.Toolbar, Elm.Slider, 
Elm.Win, Elm.Panes, Elm.Progressbar, Elm.Bg, Elm.Calendar, Elm.Clock, 
Elm.Fileselector, Elm.Separator, Elm.Colorselector, Elm.Dayselector, 
Elm.Actionslider, Elm.Naviframe;
+ Elm.Widget.part_text;
+}
+
+UI_Component_Specification.Style {
+ none Elm.Toolbar, Elm.Table, Elm.Entry, Elm.Bg, Elm.Win, Elm.Panes, 
Elm.Image, Elm.Icon, Elm.Frame, Elm.Calendar, Elm.Clock, Elm.Bubble, 
Elm.Fileselector, Elm.Fileselector_Entry, Elm.Fileselector_Button, 
Elm.Hoversel, Elm.Separator, Elm.Colorselector, Elm.Dayselector, 
Elm.Actionslider, Elm.Naviframe;
+ Elm.Widget.style;
+}
+
+Component_Specific_Properties.Autorepeat {
+ none Elm.Fileselector_Button, Elm.Hoversel;
+ Elm.Button.autorepeat;
+}
+
+Component_Specific_Properties.Autorepeat_Initial_Timeout {
+ none Elm.Fileselector_Button, Elm.Hoversel;
+ Elm.Button.autorepeat_initial_timeout;
+}
+
+Component_Specific_Properties.Autorepeat_Gap_Timeout {
+ none Elm.Fileselector_Button, Elm.Hoversel;
+ Elm.Button.autorepeat_gap_timeout;
+}
+
+Component_Specific_Properties.UI_Component_Specification.Horizontal {
+ Elm.Box.horizontal;
+ Elm.Toolbar.horizontal;
+ Elm.Slider.horizontal;
+ Elm.Panes.horizontal;
+ Elm.Progressbar.horizontal;
+ Elm.Hoversel.horizontal;
+ Elm.Separator.horizontal;
+}
+
+Component_Specific_Properties.Hover_Parent {
+ Elm.Hoversel.hover_parent;
+}
+
+Component_Specific_Properties.Auto_Update {
+ Elm.Hoversel.auto_update;
+}
+
+Component_Specific_Properties.Fixed {
+ Elm.Panes.fixed;
+}
+
+Component_Specific_Properties.Right_Size {
+ Elm.Panes.content_right_size;
+}
+
+Component_Specific_Properties.Homogeneous {
+ Elm.Box.homogeneous;
+ Elm.Table.homogeneous;
+ Elm.Toolbar.homogeneous;
+}
+
+Component_Specific_Properties.Padding {
+ Elm.Box.padding;
+ Elm.Table.padding;
+}
+
+Component_Specific_Properties.Image_Path {
+ Efl.File.file(%0, NULL) 

[EGIT] [tools/eflete] master 03/13: demo: call SWALLOW_SET/TEXT_SET callbacks only for current workspace

2016-04-06 Thread Vitalii Vorobiov
rimmed pushed a commit to branch master.

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

commit 395aef6ce426b25fc0d9d724da45ae3351026403
Author: Vitalii Vorobiov 
Date:   Mon Apr 4 18:30:09 2016 +0300

demo: call SWALLOW_SET/TEXT_SET callbacks only for current workspace

This require some little architecture changing, since before this comming
it was this way: trying to set up content for secondly opened group in demo 
mode
setting it into firstly opened group

@fix
---
 src/bin/ui/live_view/elementary/live_check.c   |  6 +--
 src/bin/ui/live_view/elementary/live_radio.c   | 43 +++---
 .../ui/live_view/elementary/live_widget_common.c   | 33 -
 src/bin/ui/tabs.c  | 34 +
 src/bin/ui/workspace/workspace.c   | 28 +-
 src/bin/ui/workspace/workspace.h   | 10 +
 6 files changed, 103 insertions(+), 51 deletions(-)

diff --git a/src/bin/ui/live_view/elementary/live_check.c 
b/src/bin/ui/live_view/elementary/live_check.c
index f5a84ef..4f505a9 100644
--- a/src/bin/ui/live_view/elementary/live_check.c
+++ b/src/bin/ui/live_view/elementary/live_check.c
@@ -28,9 +28,9 @@ widget_check_create(Evas_Object *parent, const Group *group)
 
Evas_Object *object = elm_check_add(parent);
 
-   evas_object_smart_callback_add(ap.win, SIGNAL_DEMO_SWALLOW_SET, 
on_swallow_check, object);
-   evas_object_smart_callback_add(ap.win, SIGNAL_DEMO_TEXT_SET, on_text_check, 
object);
-   evas_object_smart_callback_add(ap.win, SIGNAL_DEMO_SIGNAL_SEND, 
send_signal, object);
+   evas_object_smart_callback_add(object, SIGNAL_DEMO_SWALLOW_SET, 
on_swallow_check, NULL);
+   evas_object_smart_callback_add(object, SIGNAL_DEMO_TEXT_SET, on_text_check, 
NULL);
+   evas_object_smart_callback_add(object, SIGNAL_DEMO_SIGNAL_SEND, 
send_signal, NULL);
evas_object_event_callback_add(object, EVAS_CALLBACK_DEL, demo_object_del, 
NULL);
 
elm_object_style_set(object, group->style);
diff --git a/src/bin/ui/live_view/elementary/live_radio.c 
b/src/bin/ui/live_view/elementary/live_radio.c
index 271e61d..bf6b43b 100644
--- a/src/bin/ui/live_view/elementary/live_radio.c
+++ b/src/bin/ui/live_view/elementary/live_radio.c
@@ -21,12 +21,11 @@
 
 static void
 _on_radio_swallow_check(void *data __UNUSED__,
-Evas_Object *obj __UNUSED__,
-void *ei __UNUSED__)
+Evas_Object *obj,
+void *ei)
 {
Demo_Part *part = (Demo_Part *)ei;
-   Evas_Object *object = (Evas_Object *) data;
-   Eina_List* radio_list = elm_box_children_get(object);
+   Eina_List* radio_list = elm_box_children_get(obj);
Evas_Object *content, *radio_obj;
 
int content_type = part->swallow_content;
@@ -43,7 +42,7 @@ _on_radio_swallow_check(void *data __UNUSED__,
  /* if NONE - delete object */
  if (content_type != CONTENT_NONE)
{
-  content = object_generate(part, object);
+  content = object_generate(part, obj);
   part->objects = eina_list_append(part->objects, content);
   elm_object_part_content_set(radio_obj, part->name, content);
}
@@ -69,12 +68,11 @@ _on_radio_swallow_check(void *data __UNUSED__,
 
 static void
 _on_radio_text_check(void *data __UNUSED__,
-Evas_Object *obj __UNUSED__,
-void *ei __UNUSED__)
+ Evas_Object *obj,
+ void *ei)
 {
Demo_Part *part = (Demo_Part *)ei;
-   Evas_Object *object = (Evas_Object *) data;
-   Eina_List* radio_list = elm_box_children_get(object);
+   Eina_List* radio_list = elm_box_children_get(obj);
Evas_Object *radio_obj;
 
EINA_LIST_FREE(radio_list, radio_obj)
@@ -82,13 +80,12 @@ _on_radio_text_check(void *data __UNUSED__,
 }
 
 static void
-_radio_send_signal(void *data,
-   Evas_Object *obj __UNUSED__,
-   void *ei __UNUSED__)
+_radio_send_signal(void *data __UNUSED__,
+   Evas_Object *obj,
+   void *ei)
 {
Demo_Signal *sig = (Demo_Signal *)ei;
-   Evas_Object *object = (Evas_Object *)data;
-   Eina_List* radio_list = elm_box_children_get(object);
+   Eina_List* radio_list = elm_box_children_get(obj);
Evas_Object *radio_obj = NULL;
 
assert(sig != NULL);
@@ -99,17 +96,6 @@ _radio_send_signal(void *data,
  elm_layout_signal_emit(radio_obj, sig->sig_name, sig->source_name);
 }
 
-void
-_demo_radio_del(void *data __UNUSED__,
-Evas *evas __UNUSED__,
-Evas_Object *object,
-void *event_info __UNUSED__)
-{
-   evas_object_smart_callback_del_full(ap.win, SIGNAL_DEMO_SWALLOW_SET, 
_on_radio_swallow_check, object);
-   evas_object_smart_callback_del_full(ap.win, 

[EGIT] [tools/eflete] master 02/13: shortcuts: add part unselect shortcut(ESC)

2016-04-06 Thread Andrii Kroitor
rimmed pushed a commit to branch master.

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

commit 2d031c886a68a4df1cb661971b9c55828563f770
Author: Andrii Kroitor 
Date:   Mon Apr 4 17:09:36 2016 +0300

shortcuts: add part unselect shortcut(ESC)
---
 src/bin/common/signals.h |  1 +
 src/bin/ui/shortcuts/shortcuts.c |  6 +-
 src/bin/ui/shortcuts/shortcuts.h |  1 +
 src/bin/ui/tabs.c| 10 +
 src/bin/ui/workspace/workspace.c | 44 
 src/bin/ui/workspace/workspace.h |  9 
 6 files changed, 48 insertions(+), 23 deletions(-)

diff --git a/src/bin/common/signals.h b/src/bin/common/signals.h
index 19dce29..6318355 100644
--- a/src/bin/common/signals.h
+++ b/src/bin/common/signals.h
@@ -470,6 +470,7 @@ typedef struct {
 #define SIGNAL_SHORTCUT_STATE_NEXT "SIGNAL_SHORTCUT_STATE_NEXT"
 #define SIGNAL_SHORTCUT_PART_SHOWHIDE "SIGNAL_SHORTCUT_PART_SHOWHIDE"
 #define SIGNAL_SHORTCUT_ALL_PARTS_SHOWHIDE "SIGNAL_SHORTCUT_ALL_PARTS_SHOWHIDE"
+#define SIGNAL_SHORTCUT_PART_UNSELECT "SIGNAL_SHORTCUT_PART_UNSELECT"
 #define SIGNAL_SHORTCUT_ZOOM_IN "SIGNAL_SHORTCUT_ZOOM_IN"
 #define SIGNAL_SHORTCUT_ZOOM_OUT "SIGNAL_SHORTCUT_ZOOM_OUT"
 #define SIGNAL_SHORTCUT_ZOOM_RESET "SIGNAL_SHORTCUT_ZOOM_RESET"
diff --git a/src/bin/ui/shortcuts/shortcuts.c b/src/bin/ui/shortcuts/shortcuts.c
index 2c01e51..0420e8d 100644
--- a/src/bin/ui/shortcuts/shortcuts.c
+++ b/src/bin/ui/shortcuts/shortcuts.c
@@ -151,6 +151,7 @@ _shortcut_handle(Shortcut_Type type)
 SHORTCUT(STATE_NEXT);
 SHORTCUT(PART_SHOWHIDE);
 SHORTCUT(ALL_PARTS_SHOWHIDE);
+SHORTCUT(PART_UNSELECT);
 SHORTCUT_NUM(TAB_NUM1, SIGNAL_SHORTCUT_TAB_NUM, 1);
 SHORTCUT_NUM(TAB_NUM2, SIGNAL_SHORTCUT_TAB_NUM, 2);
 SHORTCUT_NUM(TAB_NUM3, SIGNAL_SHORTCUT_TAB_NUM, 3);
@@ -244,7 +245,8 @@ _key_press_event_cb(void *data __UNUSED__, int type 
__UNUSED__, void *event)
   (!(((sc.keycode >= 67 /*F1*/) &&
   (sc.keycode <= 76 /*F10*/)) ||
  (sc.keycode == 95 /*F11*/) ||
- (sc.keycode == 96 /*F12*/)) ) &&
+ (sc.keycode == 96 /*F12*/) ||
+ (sc.keycode == 9 /*ESC*/)) ) &&
   /* elm_entry is in focus */
   (!strcmp("elm_entry", 
evas_object_type_get(elm_object_focused_object_get(ap.win)
  {
@@ -404,6 +406,8 @@ _default_shortcuts_add()
  MOD_NONE, 43/*h*/);
_add_shortcut(false, SHORTCUT_TYPE_ALL_PARTS_SHOWHIDE, SHORTCUT_TYPE_NONE,
  MOD_SHIFT, 43/*h*/);
+   _add_shortcut(false, SHORTCUT_TYPE_PART_UNSELECT, SHORTCUT_TYPE_NONE,
+ MOD_NONE, 9/*ESC*/);
 
_add_shortcut(false, SHORTCUT_TYPE_TAB_NUM1, SHORTCUT_TYPE_NONE,
  MOD_CTRL, 10/*1*/);
diff --git a/src/bin/ui/shortcuts/shortcuts.h b/src/bin/ui/shortcuts/shortcuts.h
index 5471ace..e84b7ff 100644
--- a/src/bin/ui/shortcuts/shortcuts.h
+++ b/src/bin/ui/shortcuts/shortcuts.h
@@ -87,6 +87,7 @@ typedef enum {
SHORTCUT_TYPE_STATE_NEXT,
SHORTCUT_TYPE_PART_SHOWHIDE,
SHORTCUT_TYPE_ALL_PARTS_SHOWHIDE,
+   SHORTCUT_TYPE_PART_UNSELECT,
SHORTCUT_TYPE_ZOOM_IN,
SHORTCUT_TYPE_ZOOM_OUT,
SHORTCUT_TYPE_ZOOM_RESET,
diff --git a/src/bin/ui/tabs.c b/src/bin/ui/tabs.c
index a5dd889..2f6fcfd 100644
--- a/src/bin/ui/tabs.c
+++ b/src/bin/ui/tabs.c
@@ -629,6 +629,15 @@ _shortcut_part_showhide_cb(void *data __UNUSED__,
 }
 
 static void
+_shortcut_part_unselect_cb(void *data __UNUSED__,
+   Evas_Object *obj __UNUSED__,
+   void *event_info __UNUSED__)
+{
+   if (tabs.current_workspace)
+ workspace_part_unselect_request(tabs.current_workspace);
+}
+
+static void
 _shortcut_all_parts_showhide_cb(void *data __UNUSED__,
 Evas_Object *obj __UNUSED__,
 void *event_info __UNUSED__)
@@ -941,6 +950,7 @@ tabs_add(void)
evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_DEL, 
_shortcut_del_cb, NULL);
evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_STATE_NEXT, 
_shortcut_state_next_cb, NULL);
evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_PART_SHOWHIDE, 
_shortcut_part_showhide_cb, NULL);
+   evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_PART_UNSELECT, 
_shortcut_part_unselect_cb, NULL);
evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_ALL_PARTS_SHOWHIDE, 
_shortcut_all_parts_showhide_cb, NULL);
evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_TAB_NEXT, 
_shortcut_tab_next_cb, NULL);
evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_TAB_PREV, 
_shortcut_tab_prev_cb, NULL);
diff --git a/src/bin/ui/workspace/workspace.c b/src/bin/ui/workspace/workspace.c
index 33f50bc..85d4cca 100644
--- a/src/bin/ui/workspace/workspace.c
+++ b/src/bin/ui/workspace/workspace.c
@@ -1230,6 +1230,30 @@ workspace_program_del(Evas_Object *obj, Eina_Stringshare 
*program_name)
 

[EGIT] [tools/eflete] master 04/13: demo: update every demo object callbacks

2016-04-06 Thread Vitalii Vorobiov
rimmed pushed a commit to branch master.

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

commit ecf1d6228004e906a72ecca127d9facc22822072
Author: Vitalii Vorobiov 
Date:   Mon Apr 4 19:20:07 2016 +0300

demo: update every demo object callbacks

to a new architecture we have
---
 src/bin/ui/live_view/elementary/live_bg.c  |  9 ++--
 src/bin/ui/live_view/elementary/live_bubble.c  |  7 ++-
 src/bin/ui/live_view/elementary/live_button.c  |  7 ++-
 src/bin/ui/live_view/elementary/live_calendar.c|  7 ++-
 src/bin/ui/live_view/elementary/live_check.c   |  1 -
 src/bin/ui/live_view/elementary/live_clock.c   |  7 ++-
 .../ui/live_view/elementary/live_colorselector.c   |  7 ++-
 src/bin/ui/live_view/elementary/live_ctxpopup.c|  7 ++-
 .../ui/live_view/elementary/live_custom_layout.c   |  7 ++-
 src/bin/ui/live_view/elementary/live_datetime.c|  7 ++-
 src/bin/ui/live_view/elementary/live_entry.c   |  7 ++-
 src/bin/ui/live_view/elementary/live_frame.c   | 37 +--
 src/bin/ui/live_view/elementary/live_gengrid.c | 48 +++-
 src/bin/ui/live_view/elementary/live_genlist.c | 47 +++
 src/bin/ui/live_view/elementary/live_label.c   |  7 ++-
 src/bin/ui/live_view/elementary/live_layout.c  |  7 ++-
 src/bin/ui/live_view/elementary/live_list.c| 36 +--
 .../live_view/elementary/live_multibuttonentry.c   | 43 ++
 src/bin/ui/live_view/elementary/live_naviframe.c   | 53 ++
 src/bin/ui/live_view/elementary/live_notify.c  | 29 +++-
 src/bin/ui/live_view/elementary/live_panel.c   |  7 ++-
 src/bin/ui/live_view/elementary/live_panes.c   |  7 ++-
 src/bin/ui/live_view/elementary/live_popup.c   | 47 +++
 src/bin/ui/live_view/elementary/live_progressbar.c |  7 ++-
 src/bin/ui/live_view/elementary/live_scroller.c| 34 --
 .../ui/live_view/elementary/live_segment_control.c | 44 ++
 src/bin/ui/live_view/elementary/live_separator.c   |  7 ++-
 src/bin/ui/live_view/elementary/live_slider.c  |  7 ++-
 src/bin/ui/live_view/elementary/live_spinner.c |  7 ++-
 src/bin/ui/live_view/elementary/live_toolbar.c |  7 ++-
 .../ui/live_view/elementary/live_widget_common.c   | 11 -
 31 files changed, 202 insertions(+), 363 deletions(-)

diff --git a/src/bin/ui/live_view/elementary/live_bg.c 
b/src/bin/ui/live_view/elementary/live_bg.c
index ce0ea37..3cd589a 100644
--- a/src/bin/ui/live_view/elementary/live_bg.c
+++ b/src/bin/ui/live_view/elementary/live_bg.c
@@ -19,8 +19,6 @@
 
 #include "live_elementary_widgets.h"
 
-
-
 Evas_Object *
 widget_bg_create(Evas_Object *parent, const Group *group)
 {
@@ -30,10 +28,9 @@ widget_bg_create(Evas_Object *parent, const Group *group)
 
Evas_Object *object = elm_bg_add(parent);
 
-   evas_object_smart_callback_add(ap.win, SIGNAL_DEMO_SWALLOW_SET, 
on_swallow_check, object);
-   evas_object_smart_callback_add(ap.win, SIGNAL_DEMO_TEXT_SET, on_text_check, 
object);
-   evas_object_smart_callback_add(ap.win, SIGNAL_DEMO_SIGNAL_SEND, 
send_signal, object);
-   evas_object_event_callback_add(object, EVAS_CALLBACK_DEL, demo_object_del, 
NULL);
+   evas_object_smart_callback_add(object, SIGNAL_DEMO_SWALLOW_SET, 
on_swallow_check, NULL);
+   evas_object_smart_callback_add(object, SIGNAL_DEMO_TEXT_SET, on_text_check, 
NULL);
+   evas_object_smart_callback_add(object, SIGNAL_DEMO_SIGNAL_SEND, 
send_signal, NULL);
 
elm_object_style_set(object, group->style);
 
diff --git a/src/bin/ui/live_view/elementary/live_bubble.c 
b/src/bin/ui/live_view/elementary/live_bubble.c
index 39a9d35..3035ac9 100644
--- a/src/bin/ui/live_view/elementary/live_bubble.c
+++ b/src/bin/ui/live_view/elementary/live_bubble.c
@@ -50,10 +50,9 @@ widget_bubble_create(Evas_Object *parent, const Group *group)
if (strcmp(group->class, "base") != 0)
  elm_bubble_pos_set(object, _bubble_pos_get(group->class));
 
-   evas_object_smart_callback_add(ap.win, SIGNAL_DEMO_SWALLOW_SET, 
on_swallow_check, object);
-   evas_object_smart_callback_add(ap.win, SIGNAL_DEMO_TEXT_SET, on_text_check, 
object);
-   evas_object_smart_callback_add(ap.win, SIGNAL_DEMO_SIGNAL_SEND, 
send_signal, object);
-   evas_object_event_callback_add(object, EVAS_CALLBACK_DEL, demo_object_del, 
NULL);
+   evas_object_smart_callback_add(object, SIGNAL_DEMO_SWALLOW_SET, 
on_swallow_check, NULL);
+   evas_object_smart_callback_add(object, SIGNAL_DEMO_TEXT_SET, on_text_check, 
NULL);
+   evas_object_smart_callback_add(object, SIGNAL_DEMO_SIGNAL_SEND, 
send_signal, NULL);
 
elm_object_style_set(object, group->style);
 
diff --git a/src/bin/ui/live_view/elementary/live_button.c 
b/src/bin/ui/live_view/elementary/live_button.c
index eea6a73..a0f8e22 100644
--- a/src/bin/ui/live_view/elementary/live_button.c
+++ 

[EGIT] [tools/eflete] master 11/13: property_group: don't delete frames on unset

2016-04-06 Thread Andrii Kroitor
rimmed pushed a commit to branch master.

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

commit a3b07ccbbb6838e73c270d08da9a359b99e1ed4a
Author: Andrii Kroitor 
Date:   Wed Apr 6 15:16:09 2016 +0300

property_group: don't delete frames on unset
---
 src/bin/ui/property_group.c  | 4 +---
 src/bin/ui/property_macros.h | 3 +--
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/src/bin/ui/property_group.c b/src/bin/ui/property_group.c
index ea881d6..f86d900 100644
--- a/src/bin/ui/property_group.c
+++ b/src/bin/ui/property_group.c
@@ -2353,6 +2353,7 @@ _ui_property_program_set(Evas_Object *property, const 
char *program)
 prop_program_filter_state_update(pd);
 prop_program_targets_update(pd);
 prop_program_afters_update(pd);
+evas_object_show(pd->attributes.program.frame);
  }
elm_box_pack_end(prop_box, pd->attributes.program.frame);
 }
@@ -2587,9 +2588,6 @@ _ui_property_part_unset(Evas_Object *property)
*/
PROP_ITEM_UNSET(prop_box, pd->attributes.part.frame)
PROP_ITEM_UNSET(prop_box, pd->attributes.state.frame)
-   evas_object_del(pd->attributes.state.color1);
-   evas_object_del(pd->attributes.state.color2);
-   evas_object_del(pd->attributes.state.color3);
PROP_ITEM_UNSET(prop_box, pd->attributes.state_object_area.frame)
PROP_ITEM_UNSET(prop_box, pd->attributes.state_text.frame)
PROP_ITEM_UNSET(prop_box, pd->attributes.state_image.frame)
diff --git a/src/bin/ui/property_macros.h b/src/bin/ui/property_macros.h
index 8a3be98..6be84db 100644
--- a/src/bin/ui/property_macros.h
+++ b/src/bin/ui/property_macros.h
@@ -33,8 +33,7 @@
  {\
 evas_object_smart_callback_del(ITEM, "clicked", _on_frame_click); \
 elm_box_unpack(BOX, ITEM); \
-evas_object_del(ITEM); \
-ITEM = NULL; \
+evas_object_hide(ITEM); \
  }
 /*
  * Callback is added for frames at property box to correct scroller

-- 




[EGIT] [tools/eflete] master 08/13: workspace: add to ctx menu item 'Show rulers'

2016-04-06 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

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

commit a791b970fec7f8f3f9abe0f3405bc801697cf103
Author: Vyacheslav Reutskiy 
Date:   Wed Apr 6 09:22:28 2016 +0300

workspace: add to ctx menu item 'Show rulers'

Change-Id: I9195f023b6111243b8f65ec842a6c79f40d2db44
---
 src/bin/ui/menu.c|  2 +-
 src/bin/ui/workspace/workspace.c | 10 ++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/bin/ui/menu.c b/src/bin/ui/menu.c
index cb5..a93c6e6 100644
--- a/src/bin/ui/menu.c
+++ b/src/bin/ui/menu.c
@@ -314,7 +314,7 @@ ui_menu_add(void)
   ___(MENU_VIEW);
   ITEM_MENU_ADD(MENU_VIEW, MENU_VIEW_WORKSPACE_OBJECT_AREA, NULL, _("Show 
object area"), "o")
   ___(MENU_VIEW);
-  ITEM_MENU_ADD(MENU_VIEW, MENU_VIEW_RULERS_SHOW, NULL, _("Show/Hide 
rulers"), NULL)
+  ITEM_MENU_ADD(MENU_VIEW, MENU_VIEW_RULERS_SHOW, NULL, _("Show rulers"), 
NULL)
   ITEM_MENU_ADD(MENU_VIEW, MENU_VIEW_RULERS_ABS, NULL, _("Absolute 
scale"), NULL)
   ITEM_MENU_ADD(MENU_VIEW, MENU_VIEW_RULERS_REL, NULL, _("Relative 
scale"), NULL)
   ITEM_MENU_ADD(MENU_VIEW, MENU_VIEW_RULERS_BOTH, NULL, _("Both scales"), 
NULL)
diff --git a/src/bin/ui/workspace/workspace.c b/src/bin/ui/workspace/workspace.c
index 501becb..cd124b9 100644
--- a/src/bin/ui/workspace/workspace.c
+++ b/src/bin/ui/workspace/workspace.c
@@ -565,6 +565,14 @@ _menu_redo(void *data __UNUSED__,
 }
 
 static void
+_menu_rulers_visible(void *data __UNUSED__,
+ Evas_Object *obj __UNUSED__,
+ void *event_info __UNUSED__)
+{
+   evas_object_smart_callback_call(ap.win, SIGNAL_SHORTCUT_RULERS_VISIBLED, 
NULL);
+}
+
+static void
 _menu_dismiss(void *data __UNUSED__,
   Evas_Object *obj,
   void *event_info __UNUSED__)
@@ -601,6 +609,8 @@ _menu_cb(void *data,
evas_object_smart_callback_add(menu, "dismissed", _menu_dismiss, NULL);
MENU_ITEM_ADD(menu, NULL, NULL, _("Undo"), _menu_undo, "Ctrl-Z");
MENU_ITEM_ADD(menu, NULL, NULL, _("Redo"), _menu_redo, "Ctrl-Y");
+   elm_menu_item_separator_add(menu, NULL);
+   MENU_ITEM_ADD(menu, NULL, NULL, _("Show rulers"), _menu_rulers_visible, 
NULL);
 
elm_menu_move(menu, ev->canvas.x, ev->canvas.y);
evas_object_show(menu);

-- 




[EGIT] [tools/eflete] master 05/13: workspace: hide buggy container on project close

2016-04-06 Thread Andrii Kroitor
rimmed pushed a commit to branch master.

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

commit a491219d21ceddf2c753f756e6875cd66459b78f
Author: Andrii Kroitor 
Date:   Tue Apr 5 11:30:40 2016 +0300

workspace: hide buggy container on project close
---
 src/bin/ui/workspace/workspace.c | 12 
 1 file changed, 12 insertions(+)

diff --git a/src/bin/ui/workspace/workspace.c b/src/bin/ui/workspace/workspace.c
index b4256fe..811baa9 100644
--- a/src/bin/ui/workspace/workspace.c
+++ b/src/bin/ui/workspace/workspace.c
@@ -201,6 +201,18 @@ _workspace_del(void *data,
gm_group_edit_object_unload(wd->group);
color_term(wd->code.color_data);
 
+   TODO("remove after moving from smart object");
+   evas_object_del(wd->normal.layout);
+   evas_object_del(wd->normal.scroller);
+   evas_object_del(wd->normal.content);
+   evas_object_del(wd->normal.container);
+   evas_object_hide(wd->normal.container);
+   evas_object_del(wd->demo.layout);
+   evas_object_del(wd->demo.scroller);
+   evas_object_del(wd->demo.content);
+   evas_object_del(wd->demo.container);
+   evas_object_hide(wd->demo.container);
+
free(wd);
 }
 

-- 




[EGIT] [tools/eflete] master 10/13: workspace: implement the scale switcher for rulers

2016-04-06 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

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

commit f20bfdbc4219d732c98e01bfd79cca2d7a139a67
Author: Vyacheslav Reutskiy 
Date:   Wed Apr 6 13:19:27 2016 +0300

workspace: implement the scale switcher for rulers

Change-Id: Ie4afa352ff29f18b06b131ccc88848eab2ac44fe
---
 src/bin/ui/workspace/workspace.c | 61 ++--
 1 file changed, 53 insertions(+), 8 deletions(-)

diff --git a/src/bin/ui/workspace/workspace.c b/src/bin/ui/workspace/workspace.c
index 9ac8c60..3139eb6 100644
--- a/src/bin/ui/workspace/workspace.c
+++ b/src/bin/ui/workspace/workspace.c
@@ -578,11 +578,56 @@ _menu_rulers_visible(void *data __UNUSED__,
evas_object_smart_callback_call(ap.win, SIGNAL_SHORTCUT_RULERS_VISIBLED, 
NULL);
 }
 
-#define MENU_ITEM_ADD(MENU, PARENT, ICON, LABEL, CALLBACK, SHORTCUT, WIDGET) \
+static void
+_menu_ruler_abs(void *data,
+Evas_Object *obj __UNUSED__,
+void *event_info __UNUSED__)
+{
+   Workspace_Data *wd = data;
+   Scroll_Area *area;
+
+   area = _scroll_area_get(wd);
+   ewe_ruler_scale_visible_set(area->ruler_h.obj, NULL, true);
+   ewe_ruler_scale_visible_set(area->ruler_h.obj, area->ruler_h.scale_rel, 
false);
+   ewe_ruler_scale_visible_set(area->ruler_v.obj, NULL, true);
+   ewe_ruler_scale_visible_set(area->ruler_v.obj, area->ruler_v.scale_rel, 
false);
+}
+
+static void
+_menu_ruler_rel(void *data,
+Evas_Object *obj __UNUSED__,
+void *event_info __UNUSED__)
+{
+   Workspace_Data *wd = data;
+   Scroll_Area *area;
+
+   area = _scroll_area_get(wd);
+   ewe_ruler_scale_visible_set(area->ruler_h.obj, NULL, false);
+   ewe_ruler_scale_visible_set(area->ruler_h.obj, area->ruler_h.scale_rel, 
true);
+   ewe_ruler_scale_visible_set(area->ruler_v.obj, NULL, false);
+   ewe_ruler_scale_visible_set(area->ruler_v.obj, area->ruler_v.scale_rel, 
true);
+}
+
+static void
+_menu_rulers_both(void *data,
+  Evas_Object *obj __UNUSED__,
+  void *event_info __UNUSED__)
+{
+   Workspace_Data *wd = data;
+   Scroll_Area *area;
+
+   area = _scroll_area_get(wd);
+   ewe_ruler_scale_visible_set(area->ruler_h.obj, NULL, true);
+   ewe_ruler_scale_visible_set(area->ruler_h.obj, area->ruler_h.scale_rel, 
true);
+   ewe_ruler_scale_visible_set(area->ruler_v.obj, NULL, true);
+   ewe_ruler_scale_visible_set(area->ruler_v.obj, area->ruler_v.scale_rel, 
true);
+}
+
+#define MENU_ITEM_ADD(MENU, PARENT, ICON, LABEL, CALLBACK, SHORTCUT, WIDGET, 
DATA) \
do \
  { \
 Elm_Object_Item *item; \
-item = elm_menu_item_add(MENU, PARENT, ICON, LABEL, CALLBACK, NULL); \
+item = elm_menu_item_add(MENU, PARENT, ICON, LABEL, CALLBACK, DATA); \
 if (SHORTCUT || WIDGET) \
   { \
  Evas_Object *item_obj = elm_menu_item_object_get(item);\
@@ -621,18 +666,18 @@ static void
 _menu_add(Workspace_Data *wd)
 {
wd->menu.obj = elm_menu_add(ap.win);
-   MENU_ITEM_ADD(wd->menu.obj, NULL, NULL, _("Undo"), _menu_undo, "Ctrl-Z", 
NULL);
-   MENU_ITEM_ADD(wd->menu.obj, NULL, NULL, _("Redo"), _menu_redo, "Ctrl-Y", 
NULL);
+   MENU_ITEM_ADD(wd->menu.obj, NULL, NULL, _("Undo"), _menu_undo, "Ctrl-Z", 
NULL, NULL);
+   MENU_ITEM_ADD(wd->menu.obj, NULL, NULL, _("Redo"), _menu_redo, "Ctrl-Y", 
NULL, NULL);
elm_menu_item_separator_add(wd->menu.obj, NULL);
-   MENU_ITEM_ADD(wd->menu.obj, NULL, NULL, _("Show rulers"), 
_menu_rulers_visible, NULL, NULL);
+   MENU_ITEM_ADD(wd->menu.obj, NULL, NULL, _("Show rulers"), 
_menu_rulers_visible, NULL, NULL, NULL);
 
elm_menu_item_separator_add(wd->menu.obj, NULL);
wd->menu.scale_abs = _radio_switcher_add(wd, NULL, NULL, 0, NULL);
-   MENU_ITEM_ADD(wd->menu.obj, NULL, NULL, _("Absolute scale"), 
_menu_rulers_visible, NULL, wd->menu.scale_abs);
+   MENU_ITEM_ADD(wd->menu.obj, NULL, NULL, _("Absolute scale"), 
_menu_ruler_abs, NULL, wd->menu.scale_abs, wd);
wd->menu.scale_rel = _radio_switcher_add(wd, NULL, NULL, 1, 
wd->menu.scale_abs);
-   MENU_ITEM_ADD(wd->menu.obj, NULL, NULL, _("Relative scale"), 
_menu_rulers_visible, NULL, wd->menu.scale_rel);
+   MENU_ITEM_ADD(wd->menu.obj, NULL, NULL, _("Relative scale"), 
_menu_ruler_rel, NULL, wd->menu.scale_rel, wd);
wd->menu.scale_both = _radio_switcher_add(wd, NULL, NULL, 2, 
wd->menu.scale_abs);
-   MENU_ITEM_ADD(wd->menu.obj, NULL, NULL, _("Both scales"), 
_menu_rulers_visible, NULL, wd->menu.scale_both);
+   MENU_ITEM_ADD(wd->menu.obj, NULL, NULL, _("Both scales"), 
_menu_rulers_both, NULL, wd->menu.scale_both, wd);
 }
 
 static void

-- 




[EGIT] [tools/eflete] master 12/13: workspace: correct the orhographic mistake

2016-04-06 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

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

commit 4a52147f2fa6e57db10c9ea467538cb16f3bb95b
Author: Vyacheslav Reutskiy 
Date:   Wed Apr 6 14:43:28 2016 +0300

workspace: correct the orhographic mistake

Change-Id: If16d8d7fc802c341a06063d34780b5da3ceb50f4
---
 src/bin/ui/tabs.c|  8 
 src/bin/ui/workspace/workspace.c | 14 +++---
 src/bin/ui/workspace/workspace.h |  4 ++--
 3 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/src/bin/ui/tabs.c b/src/bin/ui/tabs.c
index df84f17..8502397 100644
--- a/src/bin/ui/tabs.c
+++ b/src/bin/ui/tabs.c
@@ -878,7 +878,7 @@ _shortcut_object_area_cb(void *data __UNUSED__,
 }
 
 static void
-_shortcut_rulers_visibled_cb(void *data __UNUSED__,
+_shortcut_rulers_visible_cb(void *data __UNUSED__,
  Evas_Object *obj __UNUSED__,
  void *event_info __UNUSED__)
 {
@@ -886,8 +886,8 @@ _shortcut_rulers_visibled_cb(void *data __UNUSED__,
 
if (tabs.current_workspace)
  {
-visible = workspace_rulers_visibled_get(tabs.current_workspace);
-workspace_rulers_visibled_set(tabs.current_workspace, !visible);
+visible = workspace_rulers_visible_get(tabs.current_workspace);
+workspace_rulers_visible_set(tabs.current_workspace, !visible);
  }
 }
 
@@ -1023,7 +1023,7 @@ tabs_add(void)
evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_FIT, 
_shortcut_fit_cb, NULL);
evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_FILL, 
_shortcut_fill_cb, NULL);
evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_OBJECT_AREA, 
_shortcut_object_area_cb, NULL);
-   evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_RULERS_VISIBLED, 
_shortcut_rulers_visibled_cb, NULL);
+   evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_RULERS_VISIBLED, 
_shortcut_rulers_visible_cb, NULL);
return tabs.layout;
 }
 
diff --git a/src/bin/ui/workspace/workspace.c b/src/bin/ui/workspace/workspace.c
index 3139eb6..d06d1c0 100644
--- a/src/bin/ui/workspace/workspace.c
+++ b/src/bin/ui/workspace/workspace.c
@@ -60,7 +60,7 @@ struct _Scroll_Area {
Evas_Object *content; /* for normal mode - groupview, for demo - elm widget 
*/
Ruler ruler_v;
Ruler ruler_h;
-   Eina_Bool rulers_visibled : 1;
+   Eina_Bool rulers_visible : 1;
 };
 typedef struct _Scroll_Area Scroll_Area;
 
@@ -1021,8 +1021,8 @@ workspace_add(Evas_Object *parent, Group *group)
wd->code.size = -1;
wd->group = group;
wd->mode = MODE_NORMAL;
-   wd->normal.rulers_visibled = true;
-   wd->demo.rulers_visibled = true;
+   wd->normal.rulers_visible = true;
+   wd->demo.rulers_visible = true;
 
wd->toolbar.layout = elm_layout_add(wd->panes);
elm_layout_theme_set(wd->toolbar.layout, "layout", "workspace", "toolbar");
@@ -1378,13 +1378,13 @@ workspace_program_del(Evas_Object *obj, 
Eina_Stringshare *program_name)
 }
 
 void
-workspace_rulers_visibled_set(Evas_Object *obj, Eina_Bool visible)
+workspace_rulers_visible_set(Evas_Object *obj, Eina_Bool visible)
 {
Scroll_Area *area;
WS_DATA_GET(obj);
 
area = _scroll_area_get(wd);
-   area->rulers_visibled = visible;
+   area->rulers_visible = visible;
if (visible)
  elm_layout_signal_emit(area->layout, "elm,state,rulers,show", "eflete");
else
@@ -1392,13 +1392,13 @@ workspace_rulers_visibled_set(Evas_Object *obj, 
Eina_Bool visible)
 }
 
 Eina_Bool
-workspace_rulers_visibled_get(Evas_Object *obj)
+workspace_rulers_visible_get(Evas_Object *obj)
 {
Scroll_Area *area;
WS_DATA_GET(obj);
 
area = _scroll_area_get(wd);
-   return area->rulers_visibled;
+   return area->rulers_visible;
 }
 
 void
diff --git a/src/bin/ui/workspace/workspace.h b/src/bin/ui/workspace/workspace.h
index 4c2bb69..c82f4b1 100644
--- a/src/bin/ui/workspace/workspace.h
+++ b/src/bin/ui/workspace/workspace.h
@@ -345,10 +345,10 @@ Eina_Bool
 workspace_object_area_visible_get(Evas_Object *obj);
 
 void
-workspace_rulers_visibled_set(Evas_Object *obj, Eina_Bool visible);
+workspace_rulers_visible_set(Evas_Object *obj, Eina_Bool visible);
 
 Eina_Bool
-workspace_rulers_visibled_get(Evas_Object *obj);
+workspace_rulers_visible_get(Evas_Object *obj);
 
 TODO("remove after property refactor!!! HIGH LEVEL");
 Eina_Bool

-- 




[EGIT] [tools/eflete] master 07/13: workspace: add the ctxpopup

2016-04-06 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

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

commit 19d49e055028f2a7cf33c0ebc394886d35602730
Author: Vyacheslav Reutskiy 
Date:   Wed Apr 6 08:30:24 2016 +0300

workspace: add the ctxpopup

This commit add the ctxpopup for workspace with two items 'Redo' and
'Undo'.

Change-Id: I2321a94f64837667fcea2167abbe7cc77b1d75e7
---
 src/bin/ui/workspace/workspace.c | 61 
 1 file changed, 61 insertions(+)

diff --git a/src/bin/ui/workspace/workspace.c b/src/bin/ui/workspace/workspace.c
index c27e411..501becb 100644
--- a/src/bin/ui/workspace/workspace.c
+++ b/src/bin/ui/workspace/workspace.c
@@ -549,6 +549,64 @@ _container_changed(void *data,
 }
 
 static void
+_menu_undo(void *data __UNUSED__,
+   Evas_Object *obj __UNUSED__,
+   void *event_info __UNUSED__)
+{
+   evas_object_smart_callback_call(ap.win, SIGNAL_SHORTCUT_UNDO, NULL);
+}
+
+static void
+_menu_redo(void *data __UNUSED__,
+   Evas_Object *obj __UNUSED__,
+   void *event_info __UNUSED__)
+{
+   evas_object_smart_callback_call(ap.win, SIGNAL_SHORTCUT_REDO, NULL);
+}
+
+static void
+_menu_dismiss(void *data __UNUSED__,
+  Evas_Object *obj,
+  void *event_info __UNUSED__)
+{
+   evas_object_del(obj);
+}
+
+#define MENU_ITEM_ADD(MENU, PARENT, ICON, LABEL, CALLBACK, SHORTCUT) \
+   do \
+ { \
+Elm_Object_Item *item; \
+item = elm_menu_item_add(MENU, PARENT, ICON, LABEL, CALLBACK, NULL); \
+if (SHORTCUT) \
+  { \
+ Evas_Object *item_obj = elm_menu_item_object_get(item);\
+ elm_object_part_text_set(item_obj, "elm.shortcut", SHORTCUT); \
+  } \
+ } \
+   while (0);
+
+static void
+_menu_cb(void *data,
+ Evas *e __UNUSED__,
+ Evas_Object *obj __UNUSED__,
+ void *event_info)
+{
+   Scroll_Area *area = data;
+   Evas_Event_Mouse_Down *ev = event_info;
+   Evas_Object *menu;
+
+   if (ev->button != 3) return;
+
+   menu = elm_menu_add(area->scroller);
+   evas_object_smart_callback_add(menu, "dismissed", _menu_dismiss, NULL);
+   MENU_ITEM_ADD(menu, NULL, NULL, _("Undo"), _menu_undo, "Ctrl-Z");
+   MENU_ITEM_ADD(menu, NULL, NULL, _("Redo"), _menu_redo, "Ctrl-Y");
+
+   elm_menu_move(menu, ev->canvas.x, ev->canvas.y);
+   evas_object_show(menu);
+}
+
+static void
 _scroll_area_add(Workspace_Data *wd, Scroll_Area *area, Eina_Bool scale_rel)
 {
area->bg_preview = BG_PREVIEW_TILE;
@@ -576,6 +634,9 @@ _scroll_area_add(Workspace_Data *wd, Scroll_Area *area, 
Eina_Bool scale_rel)
evas_object_smart_callback_add(area->container, "container,changed", 
_container_changed, wd);
elm_object_content_set(area->scroller, area->container);
container_container_size_set(area->container, 350, 350);
+
+   if (scale_rel) /* this bool like marker, if scale_rel is true we have the 
area for normal mode */
+ evas_object_event_callback_add(area->scroller, EVAS_CALLBACK_MOUSE_DOWN, 
_menu_cb, area);
 }
 
 static void

-- 




[EGIT] [tools/eflete] master 09/13: menu: move 'scale' items to workspace ctx menu

2016-04-06 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

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

commit 519fb9e5f26e66bae75c0ac36663c9aec36ce8c9
Author: Vyacheslav Reutskiy 
Date:   Wed Apr 6 10:35:53 2016 +0300

menu: move 'scale' items to workspace ctx menu

We are forced to move those items, because in case when used the dbus
session for menu, like it did in Unity (Ubuntu), we have a problem, who
am I kidding, this a big trouble, can't set the custom widget to menu
item. So now this items in the ctx menu on workspace.

Change-Id: Icb4aad8f3dc2775ecd0ce54da65f5b4a96af0944
---
 src/bin/ui/main_window.h |  3 --
 src/bin/ui/menu.c| 15 --
 src/bin/ui/workspace/workspace.c | 65 ++--
 3 files changed, 43 insertions(+), 40 deletions(-)

diff --git a/src/bin/ui/main_window.h b/src/bin/ui/main_window.h
index dce5fdb..1ff5e0f 100644
--- a/src/bin/ui/main_window.h
+++ b/src/bin/ui/main_window.h
@@ -79,9 +79,6 @@ enum Menu_Item
   MENU_VIEW_WORKSPACE_FILL,
   MENU_VIEW_WORKSPACE_OBJECT_AREA,
   MENU_VIEW_RULERS_SHOW,
-  MENU_VIEW_RULERS_ABS,
-  MENU_VIEW_RULERS_REL,
-  MENU_VIEW_RULERS_BOTH,
MENU_HELP,
   MENU_HELP_ABOUT,
 
diff --git a/src/bin/ui/menu.c b/src/bin/ui/menu.c
index a93c6e6..77bfa07 100644
--- a/src/bin/ui/menu.c
+++ b/src/bin/ui/menu.c
@@ -51,9 +51,6 @@ int MENU_ITEMS_LIST_STYLE_ONLY[] = {
MENU_VIEW_WORKSPACE_FILL,
MENU_VIEW_WORKSPACE_OBJECT_AREA,
MENU_VIEW_RULERS_SHOW,
-   MENU_VIEW_RULERS_ABS,
-   MENU_VIEW_RULERS_REL,
-   MENU_VIEW_RULERS_BOTH,
MENU_FILE_EXPORT_EDC_GROUP,
MENU_EDIT_PART_ADD,
MENU_EDIT_STATE_ADD,
@@ -155,15 +152,6 @@ _menu_cb(void *data __UNUSED__,
   case MENU_VIEW_RULERS_SHOW:
  evas_object_smart_callback_call(ap.win, 
SIGNAL_SHORTCUT_RULERS_VISIBLED, NULL);
  break;
-  case MENU_VIEW_RULERS_ABS:
- evas_object_smart_callback_call(tabs_current_workspace_get(), 
"ruler,toggle", strdup("abs"));
- break;
-  case MENU_VIEW_RULERS_REL:
- evas_object_smart_callback_call(tabs_current_workspace_get(), 
"ruler,toggle", strdup("rel"));
- break;
-  case MENU_VIEW_RULERS_BOTH:
- evas_object_smart_callback_call(tabs_current_workspace_get(), 
"ruler,toggle", strdup("abs"));
- break;
   case MENU_VIEW_WORKSPACE_OBJECT_AREA:
  evas_object_smart_callback_call(ap.win, SIGNAL_SHORTCUT_OBJECT_AREA, 
NULL);
  break;
@@ -315,9 +303,6 @@ ui_menu_add(void)
   ITEM_MENU_ADD(MENU_VIEW, MENU_VIEW_WORKSPACE_OBJECT_AREA, NULL, _("Show 
object area"), "o")
   ___(MENU_VIEW);
   ITEM_MENU_ADD(MENU_VIEW, MENU_VIEW_RULERS_SHOW, NULL, _("Show rulers"), 
NULL)
-  ITEM_MENU_ADD(MENU_VIEW, MENU_VIEW_RULERS_ABS, NULL, _("Absolute 
scale"), NULL)
-  ITEM_MENU_ADD(MENU_VIEW, MENU_VIEW_RULERS_REL, NULL, _("Relative 
scale"), NULL)
-  ITEM_MENU_ADD(MENU_VIEW, MENU_VIEW_RULERS_BOTH, NULL, _("Both scales"), 
NULL)
 
ITEM_MENU_ADD(MENU_NULL, MENU_HELP, NULL, _("Help"), NULL)
   ITEM_MENU_ADD(MENU_HELP, MENU_HELP_ABOUT, NULL, _("About"), NULL)
diff --git a/src/bin/ui/workspace/workspace.c b/src/bin/ui/workspace/workspace.c
index cd124b9..9ac8c60 100644
--- a/src/bin/ui/workspace/workspace.c
+++ b/src/bin/ui/workspace/workspace.c
@@ -96,6 +96,12 @@ struct _Workspace_Data
} toolbar;
Evas_Object *panes_h; /* for set subobject like code, sequance etc */
 
+   struct {
+  Evas_Object *obj;
+  Evas_Object *scale_abs;
+  Evas_Object *scale_rel;
+  Evas_Object *scale_both;
+   } menu;
Scroll_Area normal;
Scroll_Area demo;
struct {
@@ -572,23 +578,16 @@ _menu_rulers_visible(void *data __UNUSED__,
evas_object_smart_callback_call(ap.win, SIGNAL_SHORTCUT_RULERS_VISIBLED, 
NULL);
 }
 
-static void
-_menu_dismiss(void *data __UNUSED__,
-  Evas_Object *obj,
-  void *event_info __UNUSED__)
-{
-   evas_object_del(obj);
-}
-
-#define MENU_ITEM_ADD(MENU, PARENT, ICON, LABEL, CALLBACK, SHORTCUT) \
+#define MENU_ITEM_ADD(MENU, PARENT, ICON, LABEL, CALLBACK, SHORTCUT, WIDGET) \
do \
  { \
 Elm_Object_Item *item; \
 item = elm_menu_item_add(MENU, PARENT, ICON, LABEL, CALLBACK, NULL); \
-if (SHORTCUT) \
+if (SHORTCUT || WIDGET) \
   { \
  Evas_Object *item_obj = elm_menu_item_object_get(item);\
- elm_object_part_text_set(item_obj, "elm.shortcut", SHORTCUT); \
+ if (SHORTCUT) elm_object_part_text_set(item_obj, "elm.shortcut", 
SHORTCUT); \
+ if (WIDGET) elm_object_part_content_set(item_obj, 
"elm.swallow.content", WIDGET); \
   } \
  } \
while (0);
@@ -599,21 +598,41 @@ _menu_cb(void *data,
  Evas_Object *obj __UNUSED__,
  void *event_info)
 {
-   Scroll_Area *area = data;
+   Workspace_Data *wd = data;
+   

[EGIT] [tools/eflete] master 13/13: groupview: fix the object area calculation

2016-04-06 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

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

commit 648e4fa11837a9a507265f134e95d5d73ecaafc0
Author: Vyacheslav Reutskiy 
Date:   Wed Apr 6 14:46:52 2016 +0300

groupview: fix the object area calculation

Need add 1 (one) to object area size for compensate re2.offset

Change-Id: I67360add66850e88e73085ff9c93a34ac59873eb
---
 src/bin/ui/workspace/groupview_calc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/ui/workspace/groupview_calc.c 
b/src/bin/ui/workspace/groupview_calc.c
index a75d552..c7801b2 100644
--- a/src/bin/ui/workspace/groupview_calc.c
+++ b/src/bin/ui/workspace/groupview_calc.c
@@ -980,7 +980,7 @@ _part_object_area_calc(Groupview_Smart_Data *sd, 
Groupview_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)) + offset;
+   w = ((xc - x) + (int)(wc * relative)) + offset + 1;
if (w < 0) { x += w; w = 0; }
edje_edit_string_free(rel_to);
 
@@ -993,7 +993,7 @@ _part_object_area_calc(Groupview_Smart_Data *sd, 
Groupview_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)) + offset;
+   h = ((yc - y) + (int)(hc * relative)) + offset + 1;
if (h < 0) { y += h; h = 0; }
edje_edit_string_free(rel_to);
 

-- 




[EGIT] [tools/eflete] master 01/13: shortcuts: add shortcuts for popup (without usage)

2016-04-06 Thread Andrii Kroitor
rimmed pushed a commit to branch master.

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

commit e7dd178460d83610f1b9b76792f2a5f7cb994729
Author: Andrii Kroitor 
Date:   Mon Apr 4 16:41:05 2016 +0300

shortcuts: add shortcuts for popup (without usage)
---
 src/bin/common/signals.h |   2 +
 src/bin/ui/shortcuts/shortcuts.c | 126 ++-
 src/bin/ui/shortcuts/shortcuts.h |   2 +
 3 files changed, 74 insertions(+), 56 deletions(-)

diff --git a/src/bin/common/signals.h b/src/bin/common/signals.h
index 496fe07..19dce29 100644
--- a/src/bin/common/signals.h
+++ b/src/bin/common/signals.h
@@ -477,6 +477,8 @@ typedef struct {
 #define SIGNAL_SHORTCUT_FIT "SIGNAL_SHORTCUT_FIT"
 #define SIGNAL_SHORTCUT_OBJECT_AREA "SIGNAL_SHORTCUT_OBJECT_AREA"
 #define SIGNAL_SHORTCUT_RULERS_VISIBLED "SIGNAL_SHORTCUT_RULERS_VISIBLED"
+#define SIGNAL_SHORTCUT_POPUP_CANCEL "SIGNAL_SHORTCUT_POPUP_CANCEL"
+#define SIGNAL_SHORTCUT_POPUP_DONE "SIGNAL_SHORTCUT_POPUP_DONE"
 
 /**
  * emited when shortcut is pressed.
diff --git a/src/bin/ui/shortcuts/shortcuts.c b/src/bin/ui/shortcuts/shortcuts.c
index a3cb7ca..2c01e51 100644
--- a/src/bin/ui/shortcuts/shortcuts.c
+++ b/src/bin/ui/shortcuts/shortcuts.c
@@ -108,6 +108,7 @@ struct _Shortcut_Module
 unpressing for
 shortcuts */
Eina_List *shortcuts;  /**< list of user's shortcuts */
+   Eina_List *popup_shortcuts;/**< list of user's popup shortcuts */
Eina_List *held_shortcuts; /**< list of functions that is being held */
unsigned int last_modifiers;
 };
@@ -174,6 +175,8 @@ _shortcut_handle(Shortcut_Type type)
 SHORTCUT(ZOOM_OUT);
 SHORTCUT(ZOOM_RESET);
 SHORTCUT(OBJECT_AREA);
+SHORTCUT(POPUP_CANCEL);
+SHORTCUT(POPUP_DONE);
 
   case SHORTCUT_TYPE_NONE:
  break;
@@ -253,22 +256,20 @@ _key_press_event_cb(void *data __UNUSED__, int type 
__UNUSED__, void *event)
 
ap.shortcuts->last_modifiers = sc.modifiers;
 
-   if (!ap.popup)
- {
-/* check if shortcut already pressed */
-shortcut = eina_list_search_sorted(ap.shortcuts->held_shortcuts, 
(Eina_Compare_Cb)_shortcut_cmp, );
-if (shortcut)
-  return ECORE_CALLBACK_PASS_ON;
+   /* check if shortcut already pressed */
+   shortcut = eina_list_search_sorted(ap.shortcuts->held_shortcuts, 
(Eina_Compare_Cb)_shortcut_cmp, );
+   if (shortcut)
+ return ECORE_CALLBACK_PASS_ON;
 
-shortcut = eina_list_search_sorted(ap.shortcuts->shortcuts, 
(Eina_Compare_Cb)_shortcut_cmp, );
-if (shortcut)
-  {
- ap.shortcuts->held_shortcuts = 
eina_list_sorted_insert(ap.shortcuts->held_shortcuts,
-
(Eina_Compare_Cb)_shortcut_cmp, shortcut);
- _shortcut_handle(shortcut->type_press);
- if (shortcut->type_press != SHORTCUT_TYPE_NONE)
-   return ECORE_CALLBACK_DONE;
-  }
+   shortcut = eina_list_search_sorted(ap.popup!=NULL ? 
ap.shortcuts->popup_shortcuts : ap.shortcuts->shortcuts,
+  (Eina_Compare_Cb)_shortcut_cmp, );
+   if (shortcut)
+ {
+ap.shortcuts->held_shortcuts = 
eina_list_sorted_insert(ap.shortcuts->held_shortcuts,
+   
(Eina_Compare_Cb)_shortcut_cmp, shortcut);
+_shortcut_handle(shortcut->type_press);
+if (shortcut->type_press != SHORTCUT_TYPE_NONE)
+  return ECORE_CALLBACK_DONE;
  }
 
return ECORE_CALLBACK_PASS_ON;
@@ -348,7 +349,8 @@ _win_unfocused_cb(void *data __UNUSED__,
 }
 
 static void
-_add_shortcut(Shortcut_Type type_press,
+_add_shortcut(Eina_Bool popup,
+  Shortcut_Type type_press,
   Shortcut_Type type_unpress,
   unsigned int modifiers,
   unsigned int keycode)
@@ -362,7 +364,12 @@ _add_shortcut(Shortcut_Type type_press,
sc->keycode = keycode;
sc->modifiers = modifiers;
 
-   ap.shortcuts->shortcuts = eina_list_sorted_insert(ap.shortcuts->shortcuts, 
(Eina_Compare_Cb)_shortcut_cmp, sc);
+   if (popup)
+ ap.shortcuts->popup_shortcuts = 
eina_list_sorted_insert(ap.shortcuts->popup_shortcuts,
+ 
(Eina_Compare_Cb)_shortcut_cmp, sc);
+   else
+ ap.shortcuts->shortcuts = eina_list_sorted_insert(ap.shortcuts->shortcuts,
+   
(Eina_Compare_Cb)_shortcut_cmp, sc);
 }
 
 static void
@@ -370,92 +377,99 @@ _default_shortcuts_add()
 {
assert(ap.shortcuts != NULL);
 
-   _add_shortcut(SHORTCUT_TYPE_QUIT, SHORTCUT_TYPE_NONE,
+   _add_shortcut(false, SHORTCUT_TYPE_QUIT, SHORTCUT_TYPE_NONE,
  MOD_CTRL, 24/*q*/);
 
-   _add_shortcut(SHORTCUT_TYPE_UNDO, 

[EGIT] [tools/eflete] master 06/13: workspace: add shortcuts for selecting next(x) and prev(z) parts

2016-04-06 Thread Andrii Kroitor
rimmed pushed a commit to branch master.

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

commit ed3a5a3b772fea11d55bfbb427a1e2c11b34dd83
Author: Andrii Kroitor 
Date:   Wed Apr 6 11:22:41 2016 +0300

workspace: add shortcuts for selecting next(x) and prev(z) parts
---
 src/bin/common/signals.h   |  2 ++
 src/bin/ui/shortcuts/shortcuts.c   |  6 +
 src/bin/ui/shortcuts/shortcuts.h   |  2 ++
 src/bin/ui/tabs.c  | 20 ++
 src/bin/ui/workspace/group_navigator.c | 49 ++
 src/bin/ui/workspace/group_navigator.h |  6 +
 src/bin/ui/workspace/workspace.c   | 16 +++
 src/bin/ui/workspace/workspace.h   |  6 +
 8 files changed, 107 insertions(+)

diff --git a/src/bin/common/signals.h b/src/bin/common/signals.h
index 6318355..90bbe1e 100644
--- a/src/bin/common/signals.h
+++ b/src/bin/common/signals.h
@@ -468,6 +468,8 @@ typedef struct {
 #define SIGNAL_SHORTCUT_MODE_CODE "SIGNAL_SHORTCUT_MODE_CODE"
 #define SIGNAL_SHORTCUT_MODE_DEMO "SIGNAL_SHORTCUT_MODE_DEMO"
 #define SIGNAL_SHORTCUT_STATE_NEXT "SIGNAL_SHORTCUT_STATE_NEXT"
+#define SIGNAL_SHORTCUT_PART_NEXT "SIGNAL_SHORTCUT_PART_NEXT"
+#define SIGNAL_SHORTCUT_PART_PREV "SIGNAL_SHORTCUT_PART_PREV"
 #define SIGNAL_SHORTCUT_PART_SHOWHIDE "SIGNAL_SHORTCUT_PART_SHOWHIDE"
 #define SIGNAL_SHORTCUT_ALL_PARTS_SHOWHIDE "SIGNAL_SHORTCUT_ALL_PARTS_SHOWHIDE"
 #define SIGNAL_SHORTCUT_PART_UNSELECT "SIGNAL_SHORTCUT_PART_UNSELECT"
diff --git a/src/bin/ui/shortcuts/shortcuts.c b/src/bin/ui/shortcuts/shortcuts.c
index 0420e8d..9dd4441 100644
--- a/src/bin/ui/shortcuts/shortcuts.c
+++ b/src/bin/ui/shortcuts/shortcuts.c
@@ -149,6 +149,8 @@ _shortcut_handle(Shortcut_Type type)
 SHORTCUT(ADD_PROGRAM);
 SHORTCUT(DEL);
 SHORTCUT(STATE_NEXT);
+SHORTCUT(PART_NEXT);
+SHORTCUT(PART_PREV);
 SHORTCUT(PART_SHOWHIDE);
 SHORTCUT(ALL_PARTS_SHOWHIDE);
 SHORTCUT(PART_UNSELECT);
@@ -402,6 +404,10 @@ _default_shortcuts_add()
  MOD_NONE, 119/*del*/);
_add_shortcut(false, SHORTCUT_TYPE_STATE_NEXT, SHORTCUT_TYPE_NONE,
  MOD_NONE, 39/*s*/);
+   _add_shortcut(false, SHORTCUT_TYPE_PART_NEXT, SHORTCUT_TYPE_NONE,
+ MOD_NONE, 53/*x*/);
+   _add_shortcut(false, SHORTCUT_TYPE_PART_PREV, SHORTCUT_TYPE_NONE,
+ MOD_NONE, 52/*z*/);
_add_shortcut(false, SHORTCUT_TYPE_PART_SHOWHIDE, SHORTCUT_TYPE_NONE,
  MOD_NONE, 43/*h*/);
_add_shortcut(false, SHORTCUT_TYPE_ALL_PARTS_SHOWHIDE, SHORTCUT_TYPE_NONE,
diff --git a/src/bin/ui/shortcuts/shortcuts.h b/src/bin/ui/shortcuts/shortcuts.h
index e84b7ff..a442deb 100644
--- a/src/bin/ui/shortcuts/shortcuts.h
+++ b/src/bin/ui/shortcuts/shortcuts.h
@@ -85,6 +85,8 @@ typedef enum {
SHORTCUT_TYPE_MODE_CODE,
SHORTCUT_TYPE_MODE_DEMO,
SHORTCUT_TYPE_STATE_NEXT,
+   SHORTCUT_TYPE_PART_NEXT,
+   SHORTCUT_TYPE_PART_PREV,
SHORTCUT_TYPE_PART_SHOWHIDE,
SHORTCUT_TYPE_ALL_PARTS_SHOWHIDE,
SHORTCUT_TYPE_PART_UNSELECT,
diff --git a/src/bin/ui/tabs.c b/src/bin/ui/tabs.c
index 937f0ea..df84f17 100644
--- a/src/bin/ui/tabs.c
+++ b/src/bin/ui/tabs.c
@@ -650,6 +650,24 @@ _shortcut_state_next_cb(void *data __UNUSED__,
 }
 
 static void
+_shortcut_part_next_cb(void *data __UNUSED__,
+   Evas_Object *obj __UNUSED__,
+   void *event_info __UNUSED__)
+{
+   if (tabs.current_workspace)
+ workspace_part_next_request(tabs.current_workspace);
+}
+
+static void
+_shortcut_part_prev_cb(void *data __UNUSED__,
+   Evas_Object *obj __UNUSED__,
+   void *event_info __UNUSED__)
+{
+   if (tabs.current_workspace)
+ workspace_part_prev_request(tabs.current_workspace);
+}
+
+static void
 _shortcut_part_showhide_cb(void *data __UNUSED__,
Evas_Object *obj __UNUSED__,
void *event_info __UNUSED__)
@@ -983,6 +1001,8 @@ tabs_add(void)
evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_ADD_PROGRAM, 
_shortcut_add_program_cb, NULL);
evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_DEL, 
_shortcut_del_cb, NULL);
evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_STATE_NEXT, 
_shortcut_state_next_cb, NULL);
+   evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_PART_NEXT, 
_shortcut_part_next_cb, NULL);
+   evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_PART_PREV, 
_shortcut_part_prev_cb, NULL);
evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_PART_SHOWHIDE, 
_shortcut_part_showhide_cb, NULL);
evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_PART_UNSELECT, 
_shortcut_part_unselect_cb, NULL);
evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_ALL_PARTS_SHOWHIDE, 
_shortcut_all_parts_showhide_cb, NULL);
diff --git a/src/bin/ui/workspace/group_navigator.c 

[EGIT] [core/efl] master 01/01: Revert "Eo: Fix rare crash after call_resolve"

2016-04-06 Thread Tom Hacohen
tasn pushed a commit to branch master.

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

commit c9347b1ca2c3f75af771ed6654cc7f46d9eaaa00
Author: Tom Hacohen 
Date:   Wed Apr 6 11:17:05 2016 +0100

Revert "Eo: Fix rare crash after call_resolve"

I'm reverting this because according to jpeg it was possibly fixed in
5284b62e930f0bef0ed3125b3a485e0599451ef8.
I reverted this patch after his fix and followed his reproduction cases
and it seems that his second patch does indeed fix this issue so this
patch is no longer needed.

This reverts commit 0862b9d08384bc1d862b90952130ec988f56b33b.
---
 src/lib/eo/eo.c | 11 ---
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c
index d1dd8e8..434ab3e 100644
--- a/src/lib/eo/eo.c
+++ b/src/lib/eo/eo.c
@@ -347,15 +347,12 @@ _eo_call_resolve(Eo *eo_id, const char *func_name, 
Eo_Op_Call_Data *call, Eo_Cal
  if ((const void *)inputklass == cache->index[i].klass)
{
   func = (const op_type_funcs *)cache->entry[i].func;
-  if (EINA_LIKELY(func->func && func->src))
+  call->func = func->func;
+  if (is_obj)
 {
-   call->func = func->func;
-   if (is_obj)
- {
-call->data = (char *) obj + cache->off[i].off;
- }
-   return EINA_TRUE;
+   call->data = (char *) obj + cache->off[i].off;
 }
+  return EINA_TRUE;
}
   }
 #endif

-- 




[EGIT] [core/efl] master 01/01: Eo tests: Also test function calls in reinit test.

2016-04-06 Thread Tom Hacohen
tasn pushed a commit to branch master.

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

commit c6159e042bb08dffecf60de3497126d0c60d0b68
Author: Tom Hacohen 
Date:   Wed Apr 6 10:16:24 2016 +0100

Eo tests: Also test function calls in reinit test.

Since we cache ops we also need to check function calls work
when we reinit eo, not just class_get functions.

This commit essentially verifies that
5284b62e930f0bef0ed3125b3a485e0599451ef8 was done correctly.
---
 src/tests/eo/suite/eo_test_class_simple.c | 27 ++-
 src/tests/eo/suite/eo_test_class_simple.h |  5 +
 src/tests/eo/suite/eo_test_init.c | 15 +++
 3 files changed, 46 insertions(+), 1 deletion(-)

diff --git a/src/tests/eo/suite/eo_test_class_simple.c 
b/src/tests/eo/suite/eo_test_class_simple.c
index 224e80a..8566ed9 100644
--- a/src/tests/eo/suite/eo_test_class_simple.c
+++ b/src/tests/eo/suite/eo_test_class_simple.c
@@ -89,7 +89,6 @@ EO_VOID_FUNC_BODY(simple_pure_virtual);
 EO_VOID_FUNC_BODY(simple_no_implementation);
 
 static Eo_Op_Description op_descs[] = {
- EO_OP_FUNC_OVERRIDE(eo_dbg_info_get, _dbg_info_get),
  EO_OP_FUNC(simple_a_set, _a_set),
  EO_OP_FUNC(simple_a_get, _a_get),
  EO_OP_FUNC(simple_a_print, _a_print),
@@ -97,6 +96,7 @@ static Eo_Op_Description op_descs[] = {
  EO_OP_FUNC(simple_recursive, _recursive),
  EO_OP_FUNC(simple_part_get, _part_get),
  EO_OP_FUNC(simple_pure_virtual, NULL),
+ EO_OP_FUNC_OVERRIDE(eo_dbg_info_get, _dbg_info_get),
 };
 
 static const Eo_Class_Description class_desc = {
@@ -112,3 +112,28 @@ static const Eo_Class_Description class_desc = {
 
 EO_DEFINE_CLASS(simple_class_get, _desc, EO_CLASS, NULL)
 
+
+static int
+_beef_get(Eo *obj EINA_UNUSED, void *class_data EINA_UNUSED)
+{
+   return 0xBEEF;
+}
+
+EO_FUNC_BODY_CONST(simple2_class_beef_get, int, 0);
+
+static Eo_Op_Description op_descs2[] = {
+ EO_OP_CLASS_FUNC(simple2_class_beef_get, _beef_get),
+};
+
+static const Eo_Class_Description class_desc2 = {
+ EO_VERSION,
+ "Simple2",
+ EO_CLASS_TYPE_REGULAR,
+ EO_CLASS_DESCRIPTION_OPS(op_descs2),
+ NULL,
+ 0,
+ NULL,
+ NULL
+};
+
+EO_DEFINE_CLASS(simple2_class_get, _desc2, EO_CLASS, NULL)
diff --git a/src/tests/eo/suite/eo_test_class_simple.h 
b/src/tests/eo/suite/eo_test_class_simple.h
index 3360ea8..32e3844 100644
--- a/src/tests/eo/suite/eo_test_class_simple.h
+++ b/src/tests/eo/suite/eo_test_class_simple.h
@@ -24,4 +24,9 @@ extern const Eo_Event_Description _EV_A_CHANGED2;
 #define SIMPLE_CLASS simple_class_get()
 const Eo_Class *simple_class_get(void);
 
+EAPI int simple2_class_beef_get(const Eo_Class *obj);
+
+#define SIMPLE2_CLASS simple2_class_get()
+const Eo_Class *simple2_class_get(void);
+
 #endif
diff --git a/src/tests/eo/suite/eo_test_init.c 
b/src/tests/eo/suite/eo_test_init.c
index ef04d31..4a1948c 100644
--- a/src/tests/eo/suite/eo_test_init.c
+++ b/src/tests/eo/suite/eo_test_init.c
@@ -5,6 +5,7 @@
 #include 
 
 #include "eo_suite.h"
+#include "eo_test_class_simple.h"
 
 START_TEST(eo_test_simple)
 {
@@ -17,12 +18,26 @@ END_TEST
 
 START_TEST(eo_test_init_shutdown)
 {
+   Eo *obj;
+
fail_if(!eo_init());
ck_assert_str_eq("Eo_Base", eo_class_name_get(EO_BASE_CLASS));
+
+   /* XXX-1: Essential for the next test to assign the wrong op. */
+   obj = eo_add(SIMPLE_CLASS, NULL);
+   simple_a_set(obj, 1);
+   ck_assert_int_eq(1, simple_a_get(obj));
+
+   /* XXX-1: Essential for the next test to cache the op. */
+   ck_assert_int_eq(0xBEEF, simple2_class_beef_get(SIMPLE2_CLASS));
+   eo_unref(obj);
fail_if(eo_shutdown());
 
fail_if(!eo_init());
ck_assert_str_eq("Eo_Base", eo_class_name_get(EO_BASE_CLASS));
+
+   /* XXX-1: Verify that the op was not cached. */
+   ck_assert_int_eq(0xBEEF, simple2_class_beef_get(SIMPLE2_CLASS));
fail_if(eo_shutdown());
 }
 END_TEST

-- 




[EGIT] [website/www-content] master 01/01: Wiki page start changed with summary [] by Amitesh Singh

2016-04-06 Thread Amitesh Singh
WWW-www.enlightenment.org pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=6860212c36b97bc73fa1725115c879ca771585c1

commit 6860212c36b97bc73fa1725115c879ca771585c1
Author: Amitesh Singh 
Date:   Wed Apr 6 02:34:22 2016 -0700

Wiki page start changed with summary [] by Amitesh Singh
---
 pages/docs/efl/start.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pages/docs/efl/start.txt b/pages/docs/efl/start.txt
index a27daa7..2537600 100644
--- a/pages/docs/efl/start.txt
+++ b/pages/docs/efl/start.txt
@@ -270,7 +270,7 @@ too. Also never call any EFL functions after elm_shutdown().
 int
 main(int argc, char **argv)
 {
-   if (!elm_init()) return -1;
+   if (!elm_init(argc, argv)) return -1;
 
elm_run();
 

-- 




[EGIT] [core/efl] master 01/01: efl build - ecore - add efl link as a PUBLIC link as efl headers it in

2016-04-06 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit b67413bc33bc217167c176a51eb4fad3991c4f54
Author: Carsten Haitzler (Rasterman) 
Date:   Wed Apr 6 18:18:58 2016 +0900

efl build - ecore - add efl link as a PUBLIC link as efl headers it in

I added Efl.h to Ecore.h - because we really want to use efl
interfaces ... like everywhere. so add it to the link too.
---
 pc/ecore.pc.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pc/ecore.pc.in b/pc/ecore.pc.in
index 6189dd9..7611e96 100644
--- a/pc/ecore.pc.in
+++ b/pc/ecore.pc.in
@@ -13,6 +13,6 @@ Name: ecore
 Description: Ecore event abstraction library
 Requires.private: @requirements_pc_ecore@
 Version: @VERSION@
-Libs: -L${libdir} -lecore
+Libs: -L${libdir} -lecore -lefl
 Libs.private: @requirements_libs_ecore@
 Cflags: -I${includedir}/efl-@VMAJ@ -I${includedir}/ecore-@VMAJ@

-- 




[EGIT] [core/efl] master 01/06: elm_web: Fix warning (missing initializer)

2016-04-06 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit be41b5afb093c91cf75e9c00bba723f6362c8e1f
Author: Jean-Philippe Andre 
Date:   Wed Apr 6 16:24:33 2016 +0900

elm_web: Fix warning (missing initializer)
---
 src/lib/elementary/elm_web2.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/lib/elementary/elm_web2.c b/src/lib/elementary/elm_web2.c
index 89db9d5..17ca829 100644
--- a/src/lib/elementary/elm_web2.c
+++ b/src/lib/elementary/elm_web2.c
@@ -44,6 +44,8 @@ static Elm_Web_Module ewm = {
   NULL,
   NULL,
 
+  NULL,
+
   NULL
 };
 

-- 




[EGIT] [core/efl] master 05/06: elm_glview: Fix warning with clang

2016-04-06 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit d61e243f0fc3a591c03243a898f9f83290697ff2
Author: Jean-Philippe Andre 
Date:   Wed Apr 6 16:34:53 2016 +0900

elm_glview: Fix warning with clang

I'm using the same gcc construct to initiliaze a complex
struct with {} instead of {0}.
---
 src/lib/elementary/elm_glview.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/elementary/elm_glview.c b/src/lib/elementary/elm_glview.c
index 31d54f2..80eeea7 100644
--- a/src/lib/elementary/elm_glview.c
+++ b/src/lib/elementary/elm_glview.c
@@ -46,7 +46,7 @@ _elm_glview_elm_widget_on_focus(Eo *obj, Elm_Glview_Data *_pd 
EINA_UNUSED, Elm_O
 static void
 _glview_update_surface(Evas_Object *obj)
 {
-   Evas_Native_Surface ns = { 0 };
+   Evas_Native_Surface ns = {};
Evas_GL_Options_Bits opt;
 
ELM_GLVIEW_DATA_GET(obj, sd);

-- 




[EGIT] [core/efl] master 02/06: elm: Fix some warnings with clang

2016-04-06 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 7c05a957cd6872c198734a26017f3eb8f19c
Author: Jean-Philippe Andre 
Date:   Wed Apr 6 15:22:20 2016 +0900

elm: Fix some warnings with clang

warning: missing field 'desc' initializer
 [-Wmissing-field-initializers]

Solution: use gcc extension to init structs with {}.
This is a bit ugly, but having too many warnings leads to
ignoring them and not noticing valid ones.

The warning is triggered because the first member of Eo_Event
is not a primitive type (it's a struct _Eo_Opaque *).
---
 src/lib/elementary/elc_fileselector.c  | 4 ++--
 src/lib/elementary/elm_colorselector.c | 4 ++--
 src/lib/elementary/elm_conform.c   | 2 +-
 src/lib/elementary/elm_photocam.c  | 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/lib/elementary/elc_fileselector.c 
b/src/lib/elementary/elc_fileselector.c
index 1e086a2..7f23065 100644
--- a/src/lib/elementary/elc_fileselector.c
+++ b/src/lib/elementary/elc_fileselector.c
@@ -134,7 +134,7 @@ _elm_fileselector_elm_widget_theme_apply(Eo *obj, 
Elm_Fileselector_Data *sd)
 static Eina_Bool
 _key_action_select(Evas_Object *obj, const char *params EINA_UNUSED)
 {
-   Eo_Event event = {0};
+   Eo_Event event = {};
_ok(obj, );
return EINA_TRUE;
 }
@@ -142,7 +142,7 @@ _key_action_select(Evas_Object *obj, const char *params 
EINA_UNUSED)
 static Eina_Bool
 _key_action_escape(Evas_Object *obj, const char *params EINA_UNUSED)
 {
-   Eo_Event event = {0};
+   Eo_Event event = {};
_canc(obj, );
return EINA_TRUE;
 }
diff --git a/src/lib/elementary/elm_colorselector.c 
b/src/lib/elementary/elm_colorselector.c
index ca2ae72..d61e41d 100644
--- a/src/lib/elementary/elm_colorselector.c
+++ b/src/lib/elementary/elm_colorselector.c
@@ -2006,7 +2006,7 @@ _key_action_move(Evas_Object *obj, const char *params)
   }
 else if (sd->focused == ELM_COLORSELECTOR_COMPONENTS)
   {
- Eo_Event event = {0};
+ Eo_Event event = {};
  event.obj = sd->cb_data[sd->sel_color_type]->lbt;
  _button_clicked_cb(sd->cb_data[sd->sel_color_type], );
   }
@@ -2020,7 +2020,7 @@ _key_action_move(Evas_Object *obj, const char *params)
   }
 else if (sd->focused == ELM_COLORSELECTOR_COMPONENTS)
   {
- Eo_Event event = {0};
+ Eo_Event event = {};
  event.obj = sd->cb_data[sd->sel_color_type]->rbt;
  _button_clicked_cb(sd->cb_data[sd->sel_color_type], );
   }
diff --git a/src/lib/elementary/elm_conform.c b/src/lib/elementary/elm_conform.c
index 7021c5c..529c8e9 100644
--- a/src/lib/elementary/elm_conform.c
+++ b/src/lib/elementary/elm_conform.c
@@ -994,7 +994,7 @@ _elm_conformant_eo_base_constructor(Eo *obj, 
Elm_Conformant_Data *sd)
evas_obj_smart_callbacks_descriptions_set(obj, _smart_callbacks);
elm_interface_atspi_accessible_role_set(obj, ELM_ATSPI_ROLE_FILLER);
 
-   Eo_Event event = {0};
+   Eo_Event event = {};
event.obj = sd->win;
sd->win = elm_widget_top_get(obj);
_on_indicator_mode_changed(obj, );
diff --git a/src/lib/elementary/elm_photocam.c 
b/src/lib/elementary/elm_photocam.c
index 31acf63..d90554c 100644
--- a/src/lib/elementary/elm_photocam.c
+++ b/src/lib/elementary/elm_photocam.c
@@ -1952,7 +1952,7 @@ done:
if (an)
  {
 // FIXME: If one day we do support partial animator in photocam, this 
would require change
-Eo_Event event = {0};
+Eo_Event event = {};
 event.obj = evas_object_evas_get(obj);
 if (!_zoom_anim_cb(obj, ))
   {

-- 




[EGIT] [core/efl] master 04/06: elm_config: Fix typo and warning

2016-04-06 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit b476075081c81b143fdffeea1eaa4a0a516241b5
Author: Jean-Philippe Andre 
Date:   Wed Apr 6 16:33:16 2016 +0900

elm_config: Fix typo and warning

A major typo (hard to find with the naked eye) was present in
elm_config's list of text & color classes. See D3487.

I'm pretty sure this feature has not been used at all.
---
 src/lib/elementary/elm_config.c | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/lib/elementary/elm_config.c b/src/lib/elementary/elm_config.c
index 6bb1363..aa72b4a 100644
--- a/src/lib/elementary/elm_config.c
+++ b/src/lib/elementary/elm_config.c
@@ -77,9 +77,9 @@ static const Elm_Text_Class _elm_text_classes[] = {
{"entry_text_disabled", "Entry Disabled Text"},
{"entry_guide_text", "Entry Guide Text"},
{"entry", "Entry"},
-   {"index_highlight_text," "Index Highlight Text"},
-   {"index_item_text," "Index Items Text"},
-   {"index_item_text_selected," "Index Selected Items Text"},
+   {"index_highlight_text", "Index Highlight Text"},
+   {"index_item_text", "Index Items Text"},
+   {"index_item_text_selected", "Index Selected Items Text"},
{"multibuttonentry_item_text", "Multibuttonentry Items"},
{"multibuttonentry_item_text_pressed", "Multibuttonentry Pressed Items"},
{"multibuttonentry_item_text_disabled", "Multibuttonentry Disabled Items"},
@@ -133,9 +133,9 @@ static const Elm_Color_Class _elm_color_classes[] = {
{"grid_item_selected", "Grid Item Selected Text"},
{"index_bg", "Index Background"},
{"index_item_bg", "Index Item Background"},
-   {"index_highlight_text," "Index Highlight Text"},
-   {"index_item_text," "Index Items Text"},
-   {"index_item_text_selected," "Index Selected Items Text"},
+   {"index_highlight_text", "Index Highlight Text"},
+   {"index_item_text", "Index Items Text"},
+   {"index_item_text_selected", "Index Selected Items Text"},
{"toolbar_item", "Toolbar Item Text"},
{"toolbar_item_disabled", "Toolbar Item Disabled Text"},
{"toolbar_item_selected", "Toolbar Item Selected Text"},

-- 




[EGIT] [core/efl] master 06/06: elm_test: Fix warning with clang

2016-04-06 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit ba9a2c36121bb7c11d204b9422b139f8b4b27f44
Author: Jean-Philippe Andre 
Date:   Wed Apr 6 16:36:55 2016 +0900

elm_test: Fix warning with clang

Invalid enum type
---
 src/bin/elementary/test_image.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/elementary/test_image.c b/src/bin/elementary/test_image.c
index f8f3d85..7ef6914 100644
--- a/src/bin/elementary/test_image.c
+++ b/src/bin/elementary/test_image.c
@@ -24,7 +24,7 @@ my_im_ch(void *data, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUSED)
Evas_Object *win = data;
Evas_Object *im = evas_object_data_get(win, "im");
Evas_Object *rdg = evas_object_data_get(win, "rdg");
-   Evas_Image_Orient v = elm_radio_value_get(rdg);
+   Elm_Image_Orient v = elm_radio_value_get(rdg);
 
elm_image_orient_set(im, v);
fprintf(stderr, "Set %i and got %i\n",

-- 




[EGIT] [core/efl] master 03/06: els_box: Fix warning with clang

2016-04-06 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit cd8fb35951b8c01b546876b7a5c6fb9af79a8f42
Author: Jean-Philippe Andre 
Date:   Wed Apr 6 15:16:37 2016 +0900

els_box: Fix warning with clang

warning: comparison of constant 100 with expression of type
 'Evas_Aspect_Control' is always true
 [-Wtautological-constant-out-of-range-compare]
---
 src/lib/elementary/els_box.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/elementary/els_box.c b/src/lib/elementary/els_box.c
index 1499c0b..b874c79 100644
--- a/src/lib/elementary/els_box.c
+++ b/src/lib/elementary/els_box.c
@@ -265,7 +265,7 @@ _smart_extents_calculate(Evas_Object *box, 
Evas_Object_Box_Data *priv, int w, in
   aspect = EVAS_ASPECT_CONTROL_NONE;
   ERR("Invalid aspect specified!");
}
- if (paspect < 100) //value starts overflowed as UINT_MAX
+ if ((unsigned) paspect < 100) //value starts overflowed as 
UINT_MAX
{
   /* this condition can cause some items to not be the same 
size,
* resulting in a non-homogeneous homogeneous layout

-- 




[EGIT] [tools/enventor] master 01/01: Undo/redo: correct work with unicode symbols.

2016-04-06 Thread Mykyta Biliavskyi
nikawhite pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=aa8dc3a8dd7059eaaeddd495392a8e35f4d3f220

commit aa8dc3a8dd7059eaaeddd495392a8e35f4d3f220
Author: Mykyta Biliavskyi 
Date:   Wed Apr 6 15:05:21 2016 +0900

Undo/redo: correct work with unicode symbols.

@fix T3420
---
 src/lib/redoundo.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/redoundo.c b/src/lib/redoundo.c
index a8061ee..30f49ca 100644
--- a/src/lib/redoundo.c
+++ b/src/lib/redoundo.c
@@ -148,7 +148,7 @@ entry_changed_user_cb(void *data, Evas_Object *obj 
EINA_UNUSED,
 if (info->change.insert.plain_length == 0) goto nochange;
 diff->text = eina_stringshare_add(info->change.insert.content);
 char *utf8 = evas_textblock_text_markup_to_utf8(NULL, diff->text);
-diff->length = strlen(utf8);
+diff->length = info->change.insert.plain_length;
 diff->cursor_pos = info->change.insert.pos;
 diff->action = EINA_TRUE;
 free(utf8);

--