[EGIT] [core/efl] master 01/01: Efl: Add internal strong symbol to fix build on GCC < 5.3
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4e4b42ec036b1bda45879c1c4141b56106546373 commit 4e4b42ec036b1bda45879c1c4141b56106546373 Author: Jean-Philippe AndreDate: 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
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=dc954d8dba4538ef6cc70cb28bd6c622031825b5 commit dc954d8dba4538ef6cc70cb28bd6c622031825b5 Author: Felipe Magno de AlmeidaDate: 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
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=944e11559c34fd342550648c2dd9b3de270d3fa8 commit 944e11559c34fd342550648c2dd9b3de270d3fa8 Author: Felipe Magno de AlmeidaDate: 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.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7b0d332e0149dc13a006676779080007bc75d9e7 commit 7b0d332e0149dc13a006676779080007bc75d9e7 Author: Cedric BailDate: 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
yakov pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=027c6bcbba24e2d83ce3263b90183d0aea5ed96c commit 027c6bcbba24e2d83ce3263b90183d0aea5ed96c Author: Yakov GoldbergDate: 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
yakov pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=c0e9fe63d6130400f50d0d8e946d554e45a37b64 commit c0e9fe63d6130400f50d0d8e946d554e45a37b64 Author: Yakov GoldbergDate: 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
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=395aef6ce426b25fc0d9d724da45ae3351026403 commit 395aef6ce426b25fc0d9d724da45ae3351026403 Author: Vitalii VorobiovDate: 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)
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=2d031c886a68a4df1cb661971b9c55828563f770 commit 2d031c886a68a4df1cb661971b9c55828563f770 Author: Andrii KroitorDate: 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
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=ecf1d6228004e906a72ecca127d9facc22822072 commit ecf1d6228004e906a72ecca127d9facc22822072 Author: Vitalii VorobiovDate: 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
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=a3b07ccbbb6838e73c270d08da9a359b99e1ed4a commit a3b07ccbbb6838e73c270d08da9a359b99e1ed4a Author: Andrii KroitorDate: 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'
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=a791b970fec7f8f3f9abe0f3405bc801697cf103 commit a791b970fec7f8f3f9abe0f3405bc801697cf103 Author: Vyacheslav ReutskiyDate: 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
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=a491219d21ceddf2c753f756e6875cd66459b78f commit a491219d21ceddf2c753f756e6875cd66459b78f Author: Andrii KroitorDate: 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
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=f20bfdbc4219d732c98e01bfd79cca2d7a139a67 commit f20bfdbc4219d732c98e01bfd79cca2d7a139a67 Author: Vyacheslav ReutskiyDate: 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
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=4a52147f2fa6e57db10c9ea467538cb16f3bb95b commit 4a52147f2fa6e57db10c9ea467538cb16f3bb95b Author: Vyacheslav ReutskiyDate: 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
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=19d49e055028f2a7cf33c0ebc394886d35602730 commit 19d49e055028f2a7cf33c0ebc394886d35602730 Author: Vyacheslav ReutskiyDate: 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
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=519fb9e5f26e66bae75c0ac36663c9aec36ce8c9 commit 519fb9e5f26e66bae75c0ac36663c9aec36ce8c9 Author: Vyacheslav ReutskiyDate: 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
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=648e4fa11837a9a507265f134e95d5d73ecaafc0 commit 648e4fa11837a9a507265f134e95d5d73ecaafc0 Author: Vyacheslav ReutskiyDate: 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)
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=e7dd178460d83610f1b9b76792f2a5f7cb994729 commit e7dd178460d83610f1b9b76792f2a5f7cb994729 Author: Andrii KroitorDate: 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
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=ed3a5a3b772fea11d55bfbb427a1e2c11b34dd83 commit ed3a5a3b772fea11d55bfbb427a1e2c11b34dd83 Author: Andrii KroitorDate: 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"
tasn pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c9347b1ca2c3f75af771ed6654cc7f46d9eaaa00 commit c9347b1ca2c3f75af771ed6654cc7f46d9eaaa00 Author: Tom HacohenDate: 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.
tasn pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c6159e042bb08dffecf60de3497126d0c60d0b68 commit c6159e042bb08dffecf60de3497126d0c60d0b68 Author: Tom HacohenDate: 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
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 SinghDate: 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
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)
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=be41b5afb093c91cf75e9c00bba723f6362c8e1f commit be41b5afb093c91cf75e9c00bba723f6362c8e1f Author: Jean-Philippe AndreDate: 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
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d61e243f0fc3a591c03243a898f9f83290697ff2 commit d61e243f0fc3a591c03243a898f9f83290697ff2 Author: Jean-Philippe AndreDate: 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
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7c05a957cd6872c198734a26017f3eb8f19c commit 7c05a957cd6872c198734a26017f3eb8f19c Author: Jean-Philippe AndreDate: 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
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b476075081c81b143fdffeea1eaa4a0a516241b5 commit b476075081c81b143fdffeea1eaa4a0a516241b5 Author: Jean-Philippe AndreDate: 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
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ba9a2c36121bb7c11d204b9422b139f8b4b27f44 commit ba9a2c36121bb7c11d204b9422b139f8b4b27f44 Author: Jean-Philippe AndreDate: 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
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=cd8fb35951b8c01b546876b7a5c6fb9af79a8f42 commit cd8fb35951b8c01b546876b7a5c6fb9af79a8f42 Author: Jean-Philippe AndreDate: 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.
nikawhite pushed a commit to branch master. http://git.enlightenment.org/tools/enventor.git/commit/?id=aa8dc3a8dd7059eaaeddd495392a8e35f4d3f220 commit aa8dc3a8dd7059eaaeddd495392a8e35f4d3f220 Author: Mykyta BiliavskyiDate: 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); --