Re: [E-devel] EFL Profiling Viewer 1.1 released
Hi, Actually I haven't any plans about moving this project to use meson and ninja build system. Maybe someone from E devs could help with thing that you are reported, because personally I didn't even try to setup meson build system. If there are exists any issues with current cmake realisation - you are welcome for a report this. NikaWhite On Fri, 2017-12-22 at 14:42 -0500, William L. Thomson Jr. wrote: > Ran into a build issue, maybe ninja specific not sure. I switched all > E > cmake based ebuilds over to ninja generator from autotools. Cmake > supports both autotools/make and ninja. Thus far I have yet to see > any > build issues specific to ninja. Though I suspect this maybe one. > > ninja: error: > '/tmp/portage/dev-util/efl-profiler-viewer- > 1.1/work/v1.1/po/efl_profiler.pot', > needed by 'po/po', missing and no known rule to make it > > I know meson has means to generate an initial pot file but I do not > believe cmake has such feature. > http://mesonbuild.com/Localisation.html > > Aside from that one aspect I much prefer cmake to meson for po file > management. Though meson can update PO files it does not do that > during > every build you have to run a target for that, same with the main pot > file, pros and cons. > > --- > --- > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] EFL Profiling Viewer 1.1 released
Hi enlightenment developers, Many improvements are done due to last release. Version 1.1 introduces faster data processing and redraw mechanisms. The goal of this release is update the profiling viewer to be usable during on-the-fly profiling. Updated Clouseau extension provide new UX for make the enlightenment applications workflow investigation more convenient and effective. Many thanks for all contributors. Video: https://phab.enlightenment.org/F2934395 Download: https://git.enlightenment.org/devs/nikawhite/efl_profiler_viewer.git/sn apshot/efl_profiler_viewer-1.1.tar.gz Should this application be added here https://www.enlightenment.org/abo ut ? I think that repository need to be moved into Developer Tools section. Description page here: https://phab.enlightenment.org/w/projects/efl_profiling_viewer/ Source code available here: https://git.enlightenment.org/devs/nikawhite/efl_profiler_viewer.git/ Project and dashboards for ideas and bugs locates here: https://phab.enlightenment.org/project/profile/151/ HIGHLIGHTS - * Clouseau support improvements. * Add Find feature. * Speed up eina_log data processing. * Faster redraw events. Various fixes. For details look NEWS file. NikaWhite -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [tools/enventor] master 01/01: Build: apply changes for eo syntax and gfx api.
nikawhite pushed a commit to branch master. http://git.enlightenment.org/tools/enventor.git/commit/?id=900330174a8c1e1eb864c256bb217df49c4274da commit 900330174a8c1e1eb864c256bb217df49c4274da Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Sep 27 13:25:26 2017 +0300 Build: apply changes for eo syntax and gfx api. Due to changes in EO syntax and efl_gfx_* api signature change build was failed. --- src/lib/enventor_object.eo | 4 ++-- src/lib/enventor_smart.c | 12 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/lib/enventor_object.eo b/src/lib/enventor_object.eo index 14a176f..4add173 100644 --- a/src/lib/enventor_object.eo +++ b/src/lib/enventor_object.eo @@ -119,11 +119,11 @@ class Enventor.Object (Elm.Widget, Efl.File) { return: bool; params { @in type: Enventor_Path_Type; -@in pathes: own(const(list<own(stringshare)>)); +@in pathes: const (list< stringshare @owned >) @owned ; } } path_get { - return: const(list<own(stringshare)>); + return: const (list< stringshare @owned >) @owned ; params { @in type: Enventor_Path_Type; } diff --git a/src/lib/enventor_smart.c b/src/lib/enventor_smart.c index 6372783..4675983 100644 --- a/src/lib/enventor_smart.c +++ b/src/lib/enventor_smart.c @@ -275,26 +275,26 @@ _enventor_object_efl_canvas_group_group_member_add(Eo *obj, Enventor_Object_Data } EOLIAN static void -_enventor_object_efl_gfx_position_set(Eo *obj, Enventor_Object_Data *pd EINA_UNUSED, Evas_Coord x, Evas_Coord y) +_enventor_object_efl_gfx_position_set(Eo *obj, Enventor_Object_Data *pd EINA_UNUSED, Eina_Position2D pos) { - efl_gfx_position_set(efl_super(obj, MY_CLASS), x, y); + efl_gfx_position_set(efl_super(obj, MY_CLASS), pos); Eina_Iterator *it = evas_object_smart_iterator_new(obj); Evas_Object *o; EINA_ITERATOR_FOREACH(it, o) - evas_object_move(o, x, y); + evas_object_move(o, pos.x, pos.y); eina_iterator_free(it); } EOLIAN static void -_enventor_object_efl_gfx_size_set(Eo *obj, Enventor_Object_Data *pd EINA_UNUSED, Evas_Coord w, Evas_Coord h) +_enventor_object_efl_gfx_size_set(Eo *obj, Enventor_Object_Data *pd EINA_UNUSED, Eina_Size2D size) { - efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h); + efl_gfx_size_set(efl_super(obj, MY_CLASS), size); Eina_Iterator *it = evas_object_smart_iterator_new(obj); Evas_Object *o; EINA_ITERATOR_FOREACH(it, o) - evas_object_resize(o, w, h); + evas_object_resize(o, size.w, size.h); eina_iterator_free(it); } --
[E-devel] EFL Profiling Viewer 1.0.2 release
Hello all! It is a good day for announce release EFL Profiling Viewer micro version 1.0.2. Features: * Event Filters. * Integration with Clouseau. * Splitted into library and GUI app. * Change time range interval from dialog window. Fixes: * Fix compilation warnings, use -pedantic flag by default. Developers need more feedback about daily use cases. We are looking ways for improve usability and functionality. Description page here: https://phab.enlightenment.org/w/projects/efl_profiling_viewer/ (Help to move link into in the phriction main page) Source code available here: https://git.enlightenment.org/devs/nikawhite/efl_profiler_viewer.git/ Project and dashboards for ideas and bugs locates here: https://phab.enlightenment.org/project/profile/151/ NikaWhite -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [tools/clouseau] master 01/01: Fix build: Use Eina for Efl.Gfx API.
nikawhite pushed a commit to branch master. http://git.enlightenment.org/tools/clouseau.git/commit/?id=4df7f378399be8c9c17d8ff3e6f1dd806dfcb8eb commit 4df7f378399be8c9c17d8ff3e6f1dd806dfcb8eb Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Sep 20 17:08:01 2017 +0300 Fix build: Use Eina for Efl.Gfx API. --- src/bin/gui.c | 4 ++-- src/lib/clouseau_debug.c| 16 src/lib/extensions/objects_introspection/gui.c | 8 src/lib/extensions/objects_introspection/main.c | 9 + 4 files changed, 19 insertions(+), 18 deletions(-) diff --git a/src/bin/gui.c b/src/bin/gui.c index f3643c3..218a267 100644 --- a/src/bin/gui.c +++ b/src/bin/gui.c @@ -43,12 +43,12 @@ gui_main_win_create(Eo *__main_parent) pub_widgets->main_win = main_win; elm_win_autodel_set(main_win, EINA_TRUE); elm_win_title_set(main_win, "Clouseau"); - efl_gfx_size_set(main_win, 478, 484); + efl_gfx_size_set(main_win, EINA_SIZE2D(478, 484)); bg = efl_add(ELM_BG_CLASS, main_win); evas_object_size_hint_weight_set(bg, 1.00, 1.00); efl_gfx_visible_set(bg, EINA_TRUE); - efl_gfx_position_set(bg, 0, 0); + efl_gfx_position_set(bg, EINA_POSITION2D(0, 0)); elm_win_resize_object_add(main_win, bg); main_box = elm_box_add(main_win); diff --git a/src/lib/clouseau_debug.c b/src/lib/clouseau_debug.c index 1cdb9bf..844dcdc 100644 --- a/src/lib/clouseau_debug.c +++ b/src/lib/clouseau_debug.c @@ -787,14 +787,14 @@ _main_loop_obj_highlight_cb(Eina_Debug_Session *session EINA_UNUSED, int srcid E evas_object_move(rect, 0, 0); if (efl_isa(obj, EFL_GFX_INTERFACE)) { -Evas_Coord x = 0, y = 0, w = 0, h = 0; -efl_gfx_geometry_get(obj, , , , ); -if (efl_isa(obj, EFL_UI_WIN_CLASS)) x = y = 0; - -evas_object_polygon_point_add(rect, x, y); -evas_object_polygon_point_add(rect, x + w, y); -evas_object_polygon_point_add(rect, x + w, y + h); -evas_object_polygon_point_add(rect, x, y + h); +Eina_Rect obj_geom = {.x = 0, .y = 0, .w = 0, .h = 0}; +obj_geom = efl_gfx_geometry_get(obj); +if (efl_isa(obj, EFL_UI_WIN_CLASS)) obj_geom.x = obj_geom.y = 0; + +evas_object_polygon_point_add(rect, obj_geom.x, obj_geom.y); +evas_object_polygon_point_add(rect, obj_geom.x + obj_geom.w, obj_geom.y); +evas_object_polygon_point_add(rect, obj_geom.x + obj_geom.w, obj_geom.y + obj_geom.h); +evas_object_polygon_point_add(rect, obj_geom.x, obj_geom.y + obj_geom.h); } else { diff --git a/src/lib/extensions/objects_introspection/gui.c b/src/lib/extensions/objects_introspection/gui.c index 3adbdec..b29ad51 100644 --- a/src/lib/extensions/objects_introspection/gui.c +++ b/src/lib/extensions/objects_introspection/gui.c @@ -109,7 +109,7 @@ gui_win_create(Eo *__main_parent) panes = efl_add(EFL_UI_PANES_CLASS, box); elm_panes_content_right_size_set(panes, 0.60); evas_object_size_hint_weight_set(panes, 1.00, 1.00); - efl_gfx_size_set(panes, 75, 75); + efl_gfx_size_set(panes, EINA_SIZE2D(75, 75)); efl_gfx_visible_set(panes, EINA_TRUE); evas_object_size_hint_weight_set(panes, 1.00, 1.00); evas_object_size_hint_align_set(panes, -1.00, -1.00); @@ -165,13 +165,13 @@ gui_show_screenshot_button_create(Eo *__main_parent) pub_widgets->bt = bt; evas_object_size_hint_weight_set(bt, 1.00, 1.00); efl_gfx_visible_set(bt, EINA_TRUE); - efl_gfx_size_set(bt, 73, 30); + efl_gfx_size_set(bt, EINA_SIZE2D(73, 30)); efl_event_callback_add(bt, EFL_UI_EVENT_CLICKED, show_screenshot_button_clicked, NULL); elm_icon1 = elm_icon_add(bt); evas_object_size_hint_weight_set(elm_icon1, 1.00, 1.00); efl_gfx_visible_set(elm_icon1, EINA_TRUE); - efl_gfx_size_set(elm_icon1, 40, 40); + efl_gfx_size_set(elm_icon1, EINA_SIZE2D(40, 40)); efl_file_set(elm_icon1, SHOW_SCREENSHOT_ICON, NULL); elm_object_part_content_set(bt, "icon", elm_icon1); efl_event_callback_add(bt, EFL_EVENT_DEL, _pubs_free_cb, pub_widgets); @@ -190,7 +190,7 @@ gui_show_screenshot_win_create(Eo *__main_parent) win = elm_win_add(__main_parent, "Screenshot", ELM_WIN_BASIC); pub_widgets->win = win; elm_win_autodel_set(win, EINA_TRUE); - efl_gfx_size_set(win, 300, 300); + efl_gfx_size_set(win, EINA_SIZE2D(300, 300)); evas_object_size_hint_weight_set(win, 1.00, 1.00); elm_win_title_set(win, "Screenshot"); bg = efl_add(ELM_BG_CLASS, win); diff --git a/src/lib/extensions/objects_introspection/main.c b/src/lib/extensions/objects_introspection/main.c index 48fe230..6a20699 100644 --- a/src/lib/extensions/objects_introspection/main.c +++ b/src/lib/extensions/objects_introspection/main.c @@ -802,17 +802,18 @@ show_screenshot_button_clicked(void *data EINA_UNUSED,
[EGIT] [tools/clouseau] master 01/01: Add profiling viewer extension.
nikawhite pushed a commit to branch master. http://git.enlightenment.org/tools/clouseau.git/commit/?id=170923b1647164ab759289a7205f0bbfbc490210 commit 170923b1647164ab759289a7205f0bbfbc490210 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Fri Sep 1 14:06:21 2017 +0300 Add profiling viewer extension. Summary: Due to splitting efl_profiling_viewer to the library this extension was prepared. This is a first version of extension and will be improved. After @Deepwarrior will publish code for efl_profiling_viewer that make possible to work with real time data from efl_debug system, it will be possible compile clouseau with efl_profiling_viewer support. Test Plan: Inctall Profiling_Viewer library in the system. Build clouseau. Launch clouseau and select Profiling viewer extesion. Reviewers: Deepwarrior, JackDanielZ Reviewed By: Deepwarrior Tags: #clouseau, PHID-PROJ-w56dx3enc43oqdzz2xpa Differential Revision: https://phab.enlightenment.org/D5061 --- CMakeLists.txt | 1 + src/bin/clouseau_client.c | 7 + src/lib/extensions/CMakeLists.txt | 4 + src/lib/extensions/profiling_viewer/CMakeLists.txt | 39 src/lib/extensions/profiling_viewer/main.c | 201 + 5 files changed, 252 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 71a5906..3685640 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,6 +18,7 @@ find_package(Elementary REQUIRED) find_package(Ecore REQUIRED) find_package(Evas REQUIRED) find_package(Ffi REQUIRED) +find_package(efl_profiler) add_subdirectory(src/bin) add_subdirectory(src/lib) diff --git a/src/bin/clouseau_client.c b/src/bin/clouseau_client.c index fbaeb31..d854fc7 100644 --- a/src/bin/clouseau_client.c +++ b/src/bin/clouseau_client.c @@ -317,6 +317,13 @@ _configs_load() _config->extensions_cfgs = eina_list_append(_config->extensions_cfgs, ext_cfg); } + if (!_ext_cfg_find_by_path(INSTALL_PREFIX"/lib/libclouseau_profiling_viewer.so")) + { +ext_cfg = calloc(1, sizeof(*ext_cfg)); +ext_cfg->lib_path = eina_stringshare_add(INSTALL_PREFIX"/lib/libclouseau_profiling_viewer.so"); +_config->extensions_cfgs = eina_list_append(_config->extensions_cfgs, ext_cfg); + } + _config_save(); } diff --git a/src/lib/extensions/CMakeLists.txt b/src/lib/extensions/CMakeLists.txt index f205ad3..6392e44 100644 --- a/src/lib/extensions/CMakeLists.txt +++ b/src/lib/extensions/CMakeLists.txt @@ -1,2 +1,6 @@ add_subdirectory(objects_introspection) add_subdirectory(evlog) + +if (${EFL_PROFILER_FOUND}) + add_subdirectory(profiling_viewer) +endif (${EFL_PROFILER_FOUND}) diff --git a/src/lib/extensions/profiling_viewer/CMakeLists.txt b/src/lib/extensions/profiling_viewer/CMakeLists.txt new file mode 100644 index 000..0bf1204 --- /dev/null +++ b/src/lib/extensions/profiling_viewer/CMakeLists.txt @@ -0,0 +1,39 @@ +set(CMAKE_BUILD_TYPE Debug) + + + +STRING(REGEX REPLACE "\n" "" EOLIAN_EO_DIR ${EOLIAN_EO_DIR}) +STRING(REGEX REPLACE " " "" EOLIAN_EO_DIR ${EOLIAN_EO_DIR}) +add_definitions(${CLI_COMMON_DEFINITIONS} -DEFL_EO_API_SUPPORT + -DEOLIAN_EO_DIR="${EOLIAN_EO_DIR}") + +add_definitions(-DEFL_EO_API_SUPPORT -DGUI_IMAGES_PATH="${CMAKE_INSTALL_PREFIX}/share/${PROJECT_NAME_LOWER}") + +set(EOLIAN_INCLUDE_FLAG -I \"${EOLIAN_EO_DIR}/eo-1\" -I${CMAKE_CURRENT_SOURCE_DIR}) + +include_directories( + ${CMAKE_CURRENT_BINARY_DIR} + ${EFL_PROFILER_INCLUDE_DIRS} + ${ELEMENTARY_INCLUDE_DIRS} + ${EVAS_INCLUDE_DIRS} + ${EO_INCLUDE_DIRS} + ${EINA_INCLUDE_DIRS} + ${EET_INCLUDE_DIRS} + ${EOLIAN_INCLUDE_DIRS} + ) + +link_directories (${PC_LIBELEMENTARY_LIBRARY_DIRS}) + +add_library(clouseau_profiling_viewer SHARED main.c) + +target_link_libraries(clouseau_profiling_viewer + efl_profiler + ${ELEMENTARY_LIBRARIES} + ${EVAS_LIBRARIES} + ${EO_LIBRARIES} + ${EINA_LIBRARIES} + ${EET_LIBRARIES} + ${EOLIAN_LIBRARIES} + ) + +INSTALL(TARGETS clouseau_profiling_viewer LIBRARY DESTINATION lib) diff --git a/src/lib/extensions/profiling_viewer/main.c b/src/lib/extensions/profiling_viewer/main.c new file mode 100644 index 000..293ea20 --- /dev/null +++ b/src/lib/extensions/profiling_viewer/main.c @@ -0,0 +1,201 @@ +#include +#include +#include + +#include "../../Clouseau.h" + +#define _EET_ENTRY "config" + + +typedef enum { + STREAM_STOPPED = 0, + STREAM_PROCESSING, + STREAM_PAUSED +} CLOUSEAU_PROFILER_STATUS; + +typedef struct { + Evas_Object *profiler; + Ecore_Timer *record_get_timer; + struct { +CLOUSEAU_PROFILER_STATUS status; /*<< 0 - stopped, 1 - processing, 2 - paused */ + } stream; +} Inf; + +static int _clouseau_profiling_extensi
[EGIT] [core/efl] master 01/01: Software gdi: fix build on Windows.
nikawhite pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=8c4e4811fd83dfc530bc95b33802815d05fb56bb commit 8c4e4811fd83dfc530bc95b33802815d05fb56bb Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Fri Sep 1 13:50:34 2017 +0300 Software gdi: fix build on Windows. Summary: Function argument was renamed, but in function body still uses old variable name. Test Plan: Build on Windows host Reviewers: cedric, vtorri Reviewed By: vtorri Subscribers: jpeg Tags: #windows, #efl Differential Revision: https://phab.enlightenment.org/D5152 --- src/modules/evas/engines/software_gdi/evas_engine.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/evas/engines/software_gdi/evas_engine.c b/src/modules/evas/engines/software_gdi/evas_engine.c index 10562d3189..dc17d232cc 100644 --- a/src/modules/evas/engines/software_gdi/evas_engine.c +++ b/src/modules/evas/engines/software_gdi/evas_engine.c @@ -30,7 +30,7 @@ eng_output_setup(void *engine, void *in, unsigned int w, unsigned int h) if (w <= 0) w = 1; - if (height <= 0) + if (h <= 0) h = 1; ob = evas_software_gdi_outbuf_setup(w, h, --
Re: [E-devel] dropping Windows XP support
Hello Vincent, as one of who support Windows - doesn't saw anyone who uses EFL with Windows XP. I think that dropping XP is a good idea. NikaWhite On Thu, 2017-08-31 at 09:55 +0300, Vincent Torri wrote: > hello > > i would like to know the opinion here about dropping windows xp > support. Is there people at samsung e.g. that still use win xp for > development ? Or do you know a set of users using win xp elsewhere ? > > I plan to remove compilation and run time on win xp. > > cheers > > Vincent > > --- > --- > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 01/01: efl_wl: Update to latest dmabuf protocol version
Thanks. All is fine now. NikaWhite. On Mon, 2017-08-14 at 11:26 -0500, Derek Foreman wrote: > On 2017-08-14 11:05 AM, Mykyta Biliavskyi wrote: > > Hi Derek, > > > > On Thu, 2017-08-10 at 09:38 -0700, Derek Foreman wrote: > > > derekf pushed a commit to branch master. > > > > > > http://git.enlightenment.org/core/efl.git/commit/?id=49bdba850523 > > > 2371 > > > db4609c0ad963ecb0896f275 > > > > > > commit 49bdba8505232371db4609c0ad963ecb0896f275 > > > Author: Derek Foreman <der...@osg.samsung.com> > > > Date: Thu Aug 10 11:36:38 2017 -0500 > > > > > > efl_wl: Update to latest dmabuf protocol version > > > > > > Weston's dmabuf code continues to be modular enough that we > > > can > > > pull > > > it in with little change. > > > > > > This updates us to version 3 of the protocol. > > > > > > Currently only contains stubs for format queries. > > > > > > after that commit I couldn't build upstream EFL. > > > > Configure flags: > > ./autogen.sh --prefix="/usr/" --enable-xinput22 --enable-image- > > loader-webp --enable-harfbuzz --enable-multisense --disable-tslib > > -- > > disable-static --enable-valgrind --enable-xine --enable-wayland -- > > enable-elput --enable-drm --with-opengl=es --enable-egl > > > > Build error: > >CC lib/efl_wl/lib_efl_wl_libefl_wl_la-efl_wl.lo > >CC lib/efl_wl/lib_efl_wl_libefl_wl_la-dmabuf.lo > >CC lib/efl_wl/lib_efl_wl_libefl_wl_la-linux-dmabuf- > > unstable-v1- > > protocol.lo > > lib/efl_wl/dmabuf.c: In function 'params_create_common': > > lib/efl_wl/dmabuf.c:313:4: error: > > 'ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_INVALID_WL_BUFFER' undeclared > > (first > > use in this function); did you mean > > Ooooh, sorry! I've "fixed" this now - you're now going to get the > expected configure time error that your wayland-protocols version is > too > old. > > You'll need to upgrade wayland-protocols to version 1.10. > > Thanks, > Derek > > > > 'ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_INVALID_FORMAT'? > > ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_INVALID_WL_BUFFER, > > ^~ > > ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_INVALID_FORMAT > > lib/efl_wl/dmabuf.c:313:4: note: each undeclared identifier is > > reported > > only once for each function it appears in > > lib/efl_wl/dmabuf.c: At top level: > > lib/efl_wl/dmabuf.c:350:2: warning: excess elements in struct > > initializer > >params_create_immed > >^~~ > > lib/efl_wl/dmabuf.c:350:2: note: (near initialization for > > 'zwp_linux_buffer_params_implementation') > > lib/efl_wl/dmabuf.c: In function 'bind_linux_dmabuf': > > lib/efl_wl/dmabuf.c:499:16: error: > > 'ZWP_LINUX_DMABUF_V1_MODIFIER_SINCE_VERSION' undeclared (first use > > in > > this function); did you mean > > 'ZWP_LINUX_DMABUF_V1_FORMAT_SINCE_VERSION'? > >if (version < ZWP_LINUX_DMABUF_V1_MODIFIER_SINCE_VERSION) > > ^~ > > ZWP_LINUX_DMABUF_V1_FORMAT_SINCE_VERSION > > lib/efl_wl/dmabuf.c:523:4: warning: implicit declaration of > > function > > 'zwp_linux_dmabuf_v1_send_modifier'; did you mean > > 'zwp_linux_dmabuf_v1_send_format'? [-Wimplicit-function- > > declaration] > > zwp_linux_dmabuf_v1_send_modifier(resource, formats[i], > > ^ > > zwp_linux_dmabuf_v1_send_format > > make[4]: *** [Makefile:33685: lib/efl_wl/lib_efl_wl_libefl_wl_la- > > dmabuf.lo] Error 1 > > > > I am on nvidia, there output of the nvidia-smi: > > $ nvidia-smi > > Mon Aug 14 19:03:38 2017 > > + > > > > -+ > > > NVIDIA-SMI 384.59 Driver Version: > > > > 384.59| > > > ---+--+ > > > --- > > > > ---+ > > > GPU NamePersistence-M| Bus-IdDisp.A | Volatile > > > > Uncorr. ECC | > > > Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU- > > > > Util Compute M. | > > > ===+==+== > > > = > > > > ===| > > > 0 Ge
Re: [E-devel] [EGIT] [core/efl] master 01/01: efl_wl: Update to latest dmabuf protocol version
Hi Derek, On Thu, 2017-08-10 at 09:38 -0700, Derek Foreman wrote: > derekf pushed a commit to branch master. > > http://git.enlightenment.org/core/efl.git/commit/?id=49bdba8505232371 > db4609c0ad963ecb0896f275 > > commit 49bdba8505232371db4609c0ad963ecb0896f275 > Author: Derek Foreman> Date: Thu Aug 10 11:36:38 2017 -0500 > > efl_wl: Update to latest dmabuf protocol version > > Weston's dmabuf code continues to be modular enough that we can > pull > it in with little change. > > This updates us to version 3 of the protocol. > > Currently only contains stubs for format queries. after that commit I couldn't build upstream EFL. Configure flags: ./autogen.sh --prefix="/usr/" --enable-xinput22 --enable-image- loader-webp --enable-harfbuzz --enable-multisense --disable-tslib -- disable-static --enable-valgrind --enable-xine --enable-wayland -- enable-elput --enable-drm --with-opengl=es --enable-egl Build error: CC lib/efl_wl/lib_efl_wl_libefl_wl_la-efl_wl.lo CC lib/efl_wl/lib_efl_wl_libefl_wl_la-dmabuf.lo CC lib/efl_wl/lib_efl_wl_libefl_wl_la-linux-dmabuf-unstable-v1- protocol.lo lib/efl_wl/dmabuf.c: In function 'params_create_common': lib/efl_wl/dmabuf.c:313:4: error: 'ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_INVALID_WL_BUFFER' undeclared (first use in this function); did you mean 'ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_INVALID_FORMAT'? ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_INVALID_WL_BUFFER, ^~ ZWP_LINUX_BUFFER_PARAMS_V1_ERROR_INVALID_FORMAT lib/efl_wl/dmabuf.c:313:4: note: each undeclared identifier is reported only once for each function it appears in lib/efl_wl/dmabuf.c: At top level: lib/efl_wl/dmabuf.c:350:2: warning: excess elements in struct initializer params_create_immed ^~~ lib/efl_wl/dmabuf.c:350:2: note: (near initialization for 'zwp_linux_buffer_params_implementation') lib/efl_wl/dmabuf.c: In function 'bind_linux_dmabuf': lib/efl_wl/dmabuf.c:499:16: error: 'ZWP_LINUX_DMABUF_V1_MODIFIER_SINCE_VERSION' undeclared (first use in this function); did you mean 'ZWP_LINUX_DMABUF_V1_FORMAT_SINCE_VERSION'? if (version < ZWP_LINUX_DMABUF_V1_MODIFIER_SINCE_VERSION) ^~ ZWP_LINUX_DMABUF_V1_FORMAT_SINCE_VERSION lib/efl_wl/dmabuf.c:523:4: warning: implicit declaration of function 'zwp_linux_dmabuf_v1_send_modifier'; did you mean 'zwp_linux_dmabuf_v1_send_format'? [-Wimplicit-function-declaration] zwp_linux_dmabuf_v1_send_modifier(resource, formats[i], ^ zwp_linux_dmabuf_v1_send_format make[4]: *** [Makefile:33685: lib/efl_wl/lib_efl_wl_libefl_wl_la- dmabuf.lo] Error 1 I am on nvidia, there output of the nvidia-smi: $ nvidia-smi Mon Aug 14 19:03:38 2017 + -+ | NVIDIA-SMI 384.59 Driver Version: 384.59| |---+--+--- ---+ | GPU NamePersistence-M| Bus-IdDisp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU- Util Compute M. | |===+==+=== ===| | 0 GeForce GT 650M Off | :01:00.0 N/A | N/A | | N/A 62CP0N/A / N/A |418MiB / 1999MiB | N/A Default | +---+--+--- ---+ Maybe you know wat is wrong. Thanks. NikaWhite. > --- > src/lib/efl_wl/dmabuf.c | 110 > > src/lib/efl_wl/dmabuf.h | 3 ++ > src/lib/efl_wl/efl_wl.c | 12 ++ > 3 files changed, 108 insertions(+), 17 deletions(-) > > diff --git a/src/lib/efl_wl/dmabuf.c b/src/lib/efl_wl/dmabuf.c > index a451179d53..273d141b05 100644 > --- a/src/lib/efl_wl/dmabuf.c > +++ b/src/lib/efl_wl/dmabuf.c > @@ -43,6 +43,8 @@ > #include > > __attribute__ ((visibility("hidden"))) Eina_Bool > comp_dmabuf_test(struct linux_dmabuf_buffer *dmabuf); > +__attribute__ ((visibility("hidden"))) void > comp_dmabuf_formats_query(void *c, int **formats, int *num_formats); > +__attribute__ ((visibility("hidden"))) void > comp_dmabuf_modifiers_query(void *c, int format, uint64_t > **modifiers, int *num_modifiers); > > static void > linux_dmabuf_buffer_destroy(struct linux_dmabuf_buffer *buffer) > @@ -55,7 +57,6 @@ linux_dmabuf_buffer_destroy(struct > linux_dmabuf_buffer *buffer) > } > > buffer->attributes.n_planes = 0; > - > free(buffer); > } > > @@ -123,7 +124,7 @@ params_add(struct wl_client *client, > buffer->attributes.offset[plane_idx] = offset; > buffer->attributes.stride[plane_idx] = stride; > buffer->attributes.modifier[plane_idx] = > ((uint64_t)modifier_hi << 32) | > -
Re: [E-devel] EFL Profiling Viewer Released!
Hi, JackDanielz, which way better to communicate about integration Profiling Viewer into clouseau? Mail list, phabricator or IRC? I am curious about features roadmap for efl_debug and clouseau. Biber, could you please add link of the Profiling Viewer description (h ttps://phab.enlightenment.org/w/projects/efl_profiling_viewer/) to the main phriction page (https://phab.enlightenment.org/w/) inside "Application" section? My account haven't enough rights for do this. Cheers NikaWhite. On Sun, 2017-07-02 at 16:15 +0200, Vincent Torri wrote: > On Sun, Jul 2, 2017 at 3:05 PM, Nika White <belyavski...@gmail.com> > wrote: > > Vincent, using a chart library is a good replacement for navigation > > area. > > Right now > > it uses evas polygon object. > > I am curious is it possible to create a horizontal bars with your > > library? > > I've just begun writing it, so for now, there is just area chart. But > it's possible to add eveything you want. > > I'll try to add horizontal bars (like that : > https://developers.google.com/chart/interactive/docs/gallery/barchart > ) next week. > > > Because it > > sould be a greate perfomance improvenment for profiling viewer if > > cpu > > frequency > > values will be draw as single object. Right now it utilize a > > hundreds of > > layouts for > > support tooltips, colors and etc. > > knowing that evas is supposed to be performant up to some thousands > of > objects, indeed, it could help > > Vincent > > > > > NikaWhite > > > > On Fri, Jun 30, 2017 at 6:19 PM Vincent Torri <vincent.torri@gmail. > > com> > > wrote: > > > > > On Fri, Jun 30, 2017 at 5:03 PM, Gustavo Sverzut Barbieri > > > <barbi...@gmail.com> wrote: > > > > Hey vincent, > > > > > > > > Your project looks nice indeed... thinking of this profiling + > > > > chart, > > > > one thing that comes to my mind is if you could do a chart that > > > > nicely > > > > handles live data (for life profiling, which is not the case > > > > yet), in > > > > these scenarios you could always walk in windows and leave some > > > > room > > > > for more data at the other end (ie: right), new input is only > > > > added to > > > > the chart and will render quickly unless the window needs to be > > > > moved > > > > or using auto-scale for axis and the new point triggers a scale > > > > change. > > > > > > that is something that i want to code as i want to do some memory > > > profiling on Windows. That's the reason of echart :-) > > > > > > Vincent > > > > > > > overall very good projects > > > > > > > > On Fri, Jun 30, 2017 at 10:44 AM, Vincent Torri <vincent.torri@ > > > > gmail.com> > > > > > > wrote: > > > > > On Fri, Jun 30, 2017 at 2:42 PM, Stephen Houston > > > > @gmail.com> > > > > > > wrote: > > > > > > On Fri, Jun 30, 2017, 5:28 AM Mykyta Biliavskyi < > > > > > > m.biliavs...@samsung.com> > > > > > > wrote: > > > > > > > > > > > > > Hi, > > > > > > > > > > > > > > On Thu, 2017-06-29 at 08:56 -0300, Gustavo Sverzut > > > > > > > Barbieri wrote: > > > > > > > > looks very, very nice indeed :-) > > > > > > > > > > > > > > > > do you have any plans to hook this with system > > > > > > > > profilers such as > > > > > > > > `systemtap`/`oprofile`/`dtrace` and the likes? > > > > > > > > > > > > > > Interest idea. Right now planned works only with EFL > > > > > > > apps. After all > > > > > > > core stuff will be finished - it is possible that system > > > > > > > profilers > > > > > > will > > > > > > > be supported too. I add your mail as ticket into backlog > > > > > > > T5642. > > > > > > > Thanks. > > > > > > > > > > > > > > > > On Thu, Jun 29, 2017 at 3:15 AM, Carsten Haitzler > > > > > > <raster@rasterman.c > > > > > > > > om> wrote: > > > > > > > > > On Fri, 23 Jun 2017 17:11:52 +0300 Mykyta Biliavskyi > > > > > >
Re: [E-devel] EFL Profiling Viewer Released!
Hi, On Thu, 2017-06-29 at 08:56 -0300, Gustavo Sverzut Barbieri wrote: > looks very, very nice indeed :-) > > do you have any plans to hook this with system profilers such as > `systemtap`/`oprofile`/`dtrace` and the likes? Interest idea. Right now planned works only with EFL apps. After all core stuff will be finished - it is possible that system profilers will be supported too. I add your mail as ticket into backlog T5642. Thanks. > > On Thu, Jun 29, 2017 at 3:15 AM, Carsten Haitzler <raster@rasterman.c > om> wrote: > > On Fri, 23 Jun 2017 17:11:52 +0300 Mykyta Biliavskyi <m.biliavskyi@ > > samsung.com> > > said: > > > > Well the page is brilliant.. the images/gifs you have... fantastic. Yeah, I like it too, many thanks to Oleksii. > > i tried it > > on an older log file i had and it segfaulted :( it seems i now > > no longer > > know how to even produce evlog files now given jackdanielz > > changes... i have to > > figure this out now again... Could you share this log file? Create a ticket on the phabricatorwith log file attached. This is will be a good point to analyze why this happenes and how to fix it inside viewer. We are already checked how viewer works with both types of evlog files: before and > > > > you and jackdanielz need to work together ... i think this should > > go into > > clouseau (with log begin/end controls, dynamic update as logs come > > in and then > > the ability to inspect older logs...). This what I want to talk about, really. I looks into new clouseau client and think that profiling viewer could be a useful part of it. All what we need is a coordinate our actions. Will be great when jackdanielz share his vision accordingly to clouseau tool (maybe a set of tools for debugging ui of EFL apps?). > > and other than the above... > > > > this is BLOODY BRILLIANT. fantastic! like super duper amazing > > fantastic! i > > haven't looked how you do the cpu freq bars (i was using rects... > > basically > > but i found they really did slow things down... so i was tossing up > > doing just > > image objects with custom generated ARGB pixel data). > > The same issue we are had throught development of this version. Hundreds of evas rectangle objects decreases level of satisfaction from using (freezes on redrawing a new time interval). Current solution is drawing (and deleting objects too) was moved into idler time. I was surprised that deleting object is cpu consumption operation too. One of steps to improvement - render a huge images (maybe 8kx10 px) for each cpu core. I think it is natural way for doing this. We are already have this in a backlog to finish it, when time will be available. > > this is just simply FANTASTIC stuff. i was planning on coming back > > and adding > > per-frame/window update region info (and display it visually). what > > i had not > > decided on was how to capture the image of the window/frame each > > fram and > > display it nicely... that would make debugging simply amazing to > > have a > > thumbnail or even full image/frame capture per frame as well as > > everything. > > you could see what did and didn't draw that frame (did it overdraw? > > why? what > > triggered that change?). ... go back and inspect "error frames" > > that you saw > > a glitch in but couldn't catch it easily... i hadn't decided on how > > to do this > > with evlog yet... but it'd likely have been a new kind of evlog > > "blob" with > > arbitrary binary data in it not just strings. Screenshots are really adorable feature for this kind of the applications work flows insepcting. After profiling EFL Profiling Viewer I usually received a really huge blob's, like a 400mb for ~2 min. Because a lot of events data was needed for bottleneck investigation. If images will be included into the same blob - it is possible that 1gb size could be reached easly. Mybe we are could add additional event type (for example "@"), that will initiate taking picture. Picture will be stored as usual by given path and name like efl_log__.png. And add event record with ecore time stamp data inside blob. And on inspecting time user available to choose folder with images, that are related to choosen evlog binary. > > > > truly awesome work here... nice! > > Also I want to say that Oleksii has added a few really cool features since last time. * Support command line comands. * event double-clicked this event will be zoomed to all grid. * Show events less then MIN_EVENT_SIZE as transparent rectangles. Updated description page: https://phab.enlightenment.org/w/projects/efl _profiling_viewer/ Todo list: https://phab.enlightenmen
[E-devel] EFL Profiling Viewer Released!
Hello all! I am glad to announce that EFL Profiling Viewer is published at enlightenment repos. This project inspired by Raster evlog tool. And done as Oleksii Piskun internship project. Description could be find here: https://phab.enlightenment.org/w/projects/efl_profiling_viewer/ (Please help to place link into Application section on the phriction main page) Source code available here: https://git.enlightenment.org/devs/nikawhite/efl_profiler_viewer.git/ Project and dashboards for ideas and bugs locates here: https://phab.enlightenment.org/project/profile/151/ Thanks for your feedbacks and support. NikaWhite -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [tools/eflete] master 01/01: Copying: add license for PT-Sans font.
nikawhite pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=843e66dd06c5ac1897de00239108bffd763050c7 commit 843e66dd06c5ac1897de00239108bffd763050c7 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Mon Jun 12 14:56:49 2017 +0300 Copying: add license for PT-Sans font. --- COPYING.fonts | 28 1 file changed, 28 insertions(+) diff --git a/COPYING.fonts b/COPYING.fonts new file mode 100644 index 0..7853cc98d --- /dev/null +++ b/COPYING.fonts @@ -0,0 +1,28 @@ +Files from data/fonts, data/ewe/fonts and tests/edj_build pathes are licensed by: + +ParaType Free Font Licensing Agreement + +Copyright (c) 2009, ParaType Ltd. All Rights Reserved. + +LICENSING AGREEMENT +for the fonts with Original Name: PT Sans, PT Serif, PT Mono +Version 1.3 - January 20, 2012 + +GRANT OF LICENSE +ParaType Ltd grants you the right to use, copy, modify the fonts and distribute modified and unmodified copies of the fonts by any means, including placing on Web servers for free downloading, embedding in documents and Web pages, bundling with commercial and non commercial products, if it does not conflict with the conditions listed below: + +- You may bundle the fonts with commercial software, but you may not sell the fonts by themselves. They are free. + +- You may distribute the fonts in modified or unmodified versions only together with this Licensing Agreement and with above copyright notice. You have no right to modify the text of Licensing Agreement. It can be placed in a separate text file or inserted into the font file, but it must be easily viewed by users. + +- You may not distribute modified version of the font under the Original name or а combination of Original name with any other words without explicit written permission from ParaType. + +TERMINATION & TERRITORY +This license has no limits on time and territory, but it becomes null and void if any of the above conditions are not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL PARATYPE BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE [...] + +ParaType Ltd + + --
[EGIT] [core/efl] master 01/01: Text cursor: fix macOS build.
nikawhite pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f5b1cb89a049063f641bc3fdff08421106f1857c commit f5b1cb89a049063f641bc3fdff08421106f1857c Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Mon Jun 12 13:44:55 2017 +0300 Text cursor: fix macOS build. On macOS build failed with lib/elementary/efl_ui_internal_text_interactive.c:801:50: error: too few arguments to function call, expected 2, have 1 --- src/lib/elementary/efl_ui_internal_text_interactive.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/elementary/efl_ui_internal_text_interactive.c b/src/lib/elementary/efl_ui_internal_text_interactive.c index 8da7ed1cec..8e94314d7f 100644 --- a/src/lib/elementary/efl_ui_internal_text_interactive.c +++ b/src/lib/elementary/efl_ui_internal_text_interactive.c @@ -798,7 +798,7 @@ _key_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void efl_text_cursor_char_prev(obj, cur); #if defined(__APPLE__) && defined(__MACH__) -if (altgr) efl_text_cursor_word_start(cur); +if (altgr) efl_text_cursor_word_start(obj, cur); #else /* If control is pressed, go to the start of the word */ if (control) efl_text_cursor_word_start(obj, cur); @@ -814,7 +814,7 @@ _key_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void _key_down_sel_pre(obj, cur, en, shift, EINA_TRUE); #if defined(__APPLE__) && defined(__MACH__) -if (altgr) efl_text_cursor_word_end(cur); +if (altgr) efl_text_cursor_word_end(obj, cur); #else /* If control is pressed, go to the end of the word */ if (control) efl_text_cursor_word_end(obj, cur); --
Re: [E-devel] [EGIT] [core/efl] master 05/08: evas: Make Efl.Canvas.Object.type internal
Hi, thanks you. That commit is fixed build for me too. NikaWhite On Mon, 2017-05-22 at 19:42 +0200, Jean Guyomarc'h wrote: > Hi, > > cc4e101ba1511e0c5b57654f05139f0a51f4e00d should fix your link issue. > At least it does for me :) > > Jean > > On Mon, May 22, 2017 at 3:01 PM, Mike Blumenkrantz < > michael.blumenkra...@gmail.com> wrote: > > > I don't know anything about that. > > > > On Mon, May 22, 2017 at 8:07 AM Mykyta Biliavskyi < > > m.biliavs...@samsung.com> > > wrote: > > > > > Thanks for the fix. > > > But build still broken. Another place. > > > > > > New build log: > > > CC lib/elementary/lib_elementary_libelementary_la- > > > efl_ui_focus_manager_sub.lo > > > CC lib/elementary/lib_elementary_libelementary_la- > > > efl_ui_focus_object.lo > > > CCLD lib/elementary/libelementary.la > > > duplicate symbol _ELM_CNP_EVENT_SELECTION_CHANGED in: > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elc_ctxpopup.o > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elc_fileselector.o > > > duplicate symbol _ELM_CNP_EVENT_SELECTION_CHANGED in: > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elc_ctxpopup.o > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elc_fileselector_button.o > > > duplicate symbol _ELM_CNP_EVENT_SELECTION_CHANGED in: > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elc_ctxpopup.o > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elc_fileselector_entry.o > > > duplicate symbol _ELM_CNP_EVENT_SELECTION_CHANGED in: > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elc_ctxpopup.o > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elc_hoversel.o > > > duplicate symbol _ELM_CNP_EVENT_SELECTION_CHANGED in: > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elc_ctxpopup.o > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elc_multibuttonentry.o > > > duplicate symbol _ELM_CNP_EVENT_SELECTION_CHANGED in: > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elc_ctxpopup.o > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elc_naviframe.o > > > duplicate symbol _ELM_CNP_EVENT_SELECTION_CHANGED in: > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elc_ctxpopup.o > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elc_player.o > > > duplicate symbol _ELM_CNP_EVENT_SELECTION_CHANGED in: > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elc_ctxpopup.o > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elc_popup.o > > > duplicate symbol _ELM_CNP_EVENT_SELECTION_CHANGED in: > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elc_ctxpopup.o > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elc_scrolled_entry.o > > > duplicate symbol _ELM_CNP_EVENT_SELECTION_CHANGED in: > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elc_ctxpopup.o > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elm_access.o > > > duplicate symbol _ELM_CNP_EVENT_SELECTION_CHANGED in: > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elc_ctxpopup.o > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elm_actionslider.o > > > duplicate symbol _ELM_CNP_EVENT_SELECTION_CHANGED in: > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elc_ctxpopup.o > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elm_atspi_app_object.o > > > duplicate symbol _ELM_CNP_EVENT_SELECTION_CHANGED in: > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elc_ctxpopup.o > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elm_atspi_bridge.o > > > duplicate symbol _ELM_CNP_EVENT_SELECTION_CHANGED in: > > > lib/elementary/.libs/lib_elementary_libelementary_la- > > > elc_ctxpopup.o > > > lib/elementary/.libs/lib_elementary_libelementary_la-elm_bg.o > > > duplicate symbol _ELM_CNP_EVENT_SELECTION_CHANGED in: > > > lib/elementary/.libs/li
Re: [E-devel] [EGIT] [core/efl] master 05/08: evas: Make Efl.Canvas.Object.type internal
in: lib/elementary/.libs/lib_elementary_libelementary_la-elc_ctxpopup.o lib/elementary/.libs/lib_elementary_libelementary_la-efl_ui_grid.o duplicate symbol _ELM_CNP_EVENT_SELECTION_CHANGED in: lib/elementary/.libs/lib_elementary_libelementary_la-elc_ctxpopup.o lib/elementary/.libs/lib_elementary_libelementary_la- efl_ui_grid_static.o duplicate symbol _ELM_CNP_EVENT_SELECTION_CHANGED in: lib/elementary/.libs/lib_elementary_libelementary_la-elc_ctxpopup.o lib/elementary/.libs/lib_elementary_libelementary_la-efl_ui_text.o duplicate symbol _ELM_CNP_EVENT_SELECTION_CHANGED in: lib/elementary/.libs/lib_elementary_libelementary_la-elc_ctxpopup.o lib/elementary/.libs/lib_elementary_libelementary_la-efl_ui_clock.o duplicate symbol _ELM_CNP_EVENT_SELECTION_CHANGED in: lib/elementary/.libs/lib_elementary_libelementary_la-elc_ctxpopup.o lib/elementary/.libs/lib_elementary_libelementary_la- efl_ui_image_factory.o duplicate symbol _ELM_CNP_EVENT_SELECTION_CHANGED in: lib/elementary/.libs/lib_elementary_libelementary_la-elc_ctxpopup.o lib/elementary/.libs/lib_elementary_libelementary_la- efl_ui_focus_manager.o duplicate symbol _ELM_CNP_EVENT_SELECTION_CHANGED in: lib/elementary/.libs/lib_elementary_libelementary_la-elc_ctxpopup.o lib/elementary/.libs/lib_elementary_libelementary_la- efl_ui_focus_manager_sub.o duplicate symbol _ELM_CNP_EVENT_SELECTION_CHANGED in: lib/elementary/.libs/lib_elementary_libelementary_la-elc_ctxpopup.o lib/elementary/.libs/lib_elementary_libelementary_la- efl_ui_focus_object.o ld: 131 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[4]: *** [lib/elementary/libelementary.la] Error 1 make[3]: *** [all-recursive] Error 1 make[2]: *** [all] Error 2 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 nikawhites-MacBook-Pro:efl nikawhite$ I saw few commits from Mike Blumenkrantz related to elm_cnp. Maybe he know bit more about this. On Mon, 2017-05-22 at 13:27 +0900, Jean-Philippe André wrote: > Hi Mykyta ! > > Thanks for the report. I hope it's fixed now. > > On 19 May 2017 at 18:12, Mykyta Biliavskyi <m.biliavs...@samsung.com> > wrote: > > > Hi Jpeg, > > after commit: > > > > On Thu, 2017-05-18 at 22:54 -0700, Jean-Philippe ANDRÉ wrote: > > > jpeg pushed a commit to branch master. > > > > > > http://git.enlightenment.org/core/efl.git/commit/?id=4310e641cdcb > > > 248a > > > f0c1c0299a2ae3591af83f4d > > > > > > commit 4310e641cdcb248af0c1c0299a2ae3591af83f4d > > > Author: Jean-Philippe Andre <jp.an...@samsung.com> > > > Date: Thu May 18 17:41:37 2017 +0900 > > > > > > evas: Make Efl.Canvas.Object.type internal > > > --- > > > src/lib/elementary/elm_priv.h| 3 +++ > > > src/lib/emotion/emotion_smart.c | 2 ++ > > > src/lib/evas/Evas_Internal.h | 1 + > > > src/lib/evas/canvas/efl_canvas_object.eo | 12 > > > src/lib/evas/canvas/evas_object_main.c | 4 +++- > > > 5 files changed, 9 insertions(+), 13 deletions(-) > > > > > > diff --git a/src/lib/elementary/elm_priv.h > > > b/src/lib/elementary/elm_priv.h > > > index 8abe670..135d054 100644 > > > --- a/src/lib/elementary/elm_priv.h > > > +++ b/src/lib/elementary/elm_priv.h > > > @@ -47,6 +47,9 @@ > > > # endif > > > #endif /* ! _WIN32 */ > > > > > > +// Evas internal EO APIs > > > +#include "Evas_Internal.h" > > > + > > > #include "elm_widget.h" > > > #include "elm_access.eo.h" > > > #include "elm_code_private.h" > > > diff --git a/src/lib/emotion/emotion_smart.c > > > b/src/lib/emotion/emotion_smart.c > > > index 0cfa317..e7ba4a8 100644 > > > --- a/src/lib/emotion/emotion_smart.c > > > +++ b/src/lib/emotion/emotion_smart.c > > > @@ -14,6 +14,8 @@ > > > # include > > > #endif > > > > > > +#include > > > + > > > #include "Emotion.h" > > > #include "emotion_private.h" > > > > > > diff --git a/src/lib/evas/Evas_Internal.h > > > b/src/lib/evas/Evas_Internal.h > > > index e4985b0..29d3e06 100644 > > > --- a/src/lib/evas/Evas_Internal.h > > > +++ b/src/lib/evas/Evas_Internal.h > > > @@ -49,6 +49,7 @@ EAPI Eina_Bool > > > efl_canvas_output_unlock(Efl_Canvas_Output *output); > > > > > > /* Internal EO APIs */ > > > EOAPI void efl_canvas_object_legacy_ctor(Eo *obj); > > > +EOAPI void e
Re: [E-devel] [EGIT] [core/efl] master 05/08: evas: Make Efl.Canvas.Object.type internal
Hi Jpeg, after commit: On Thu, 2017-05-18 at 22:54 -0700, Jean-Philippe ANDRÉ wrote: > jpeg pushed a commit to branch master. > > http://git.enlightenment.org/core/efl.git/commit/?id=4310e641cdcb248a > f0c1c0299a2ae3591af83f4d > > commit 4310e641cdcb248af0c1c0299a2ae3591af83f4d > Author: Jean-Philippe Andre> Date: Thu May 18 17:41:37 2017 +0900 > > evas: Make Efl.Canvas.Object.type internal > --- > src/lib/elementary/elm_priv.h| 3 +++ > src/lib/emotion/emotion_smart.c | 2 ++ > src/lib/evas/Evas_Internal.h | 1 + > src/lib/evas/canvas/efl_canvas_object.eo | 12 > src/lib/evas/canvas/evas_object_main.c | 4 +++- > 5 files changed, 9 insertions(+), 13 deletions(-) > > diff --git a/src/lib/elementary/elm_priv.h > b/src/lib/elementary/elm_priv.h > index 8abe670..135d054 100644 > --- a/src/lib/elementary/elm_priv.h > +++ b/src/lib/elementary/elm_priv.h > @@ -47,6 +47,9 @@ > # endif > #endif /* ! _WIN32 */ > > +// Evas internal EO APIs > +#include "Evas_Internal.h" > + > #include "elm_widget.h" > #include "elm_access.eo.h" > #include "elm_code_private.h" > diff --git a/src/lib/emotion/emotion_smart.c > b/src/lib/emotion/emotion_smart.c > index 0cfa317..e7ba4a8 100644 > --- a/src/lib/emotion/emotion_smart.c > +++ b/src/lib/emotion/emotion_smart.c > @@ -14,6 +14,8 @@ > # include > #endif > > +#include > + > #include "Emotion.h" > #include "emotion_private.h" > > diff --git a/src/lib/evas/Evas_Internal.h > b/src/lib/evas/Evas_Internal.h > index e4985b0..29d3e06 100644 > --- a/src/lib/evas/Evas_Internal.h > +++ b/src/lib/evas/Evas_Internal.h > @@ -49,6 +49,7 @@ EAPI Eina_Bool > efl_canvas_output_unlock(Efl_Canvas_Output *output); > > /* Internal EO APIs */ > EOAPI void efl_canvas_object_legacy_ctor(Eo *obj); > +EOAPI void efl_canvas_object_type_set(Eo *obj, const char *type); > > > #ifdef __cplusplus > diff --git a/src/lib/evas/canvas/efl_canvas_object.eo > b/src/lib/evas/canvas/efl_canvas_object.eo > index fde562b..687cc8b 100644 > --- a/src/lib/evas/canvas/efl_canvas_object.eo > +++ b/src/lib/evas/canvas/efl_canvas_object.eo > @@ -8,15 +8,6 @@ abstract Efl.Canvas.Object (Efl.Object, Efl.Gfx, > Efl.Gfx.Stack, Efl.Animator, > legacy_prefix: evas_object; > data: Evas_Object_Protected_Data; > methods { > - @property type @protected { > - set { > -[[Sets the legacy type name of this Evas object.]] > -legacy: null; > - } > - values { > -type: string; [[The type of the object.]] > - } > - } >@property pointer_mode_by_device { > [[Low-level pointer behaviour by device. > See @.pointer_mode.get and @.pointer_mode.set for more > explanation. > @@ -616,9 +607,6 @@ abstract Efl.Canvas.Object (Efl.Object, Efl.Gfx, > Efl.Gfx.Stack, Efl.Animator, > } >} > } > - constructors { > - .type; > - } > implements { >Efl.Object.constructor; >Efl.Object.destructor; > diff --git a/src/lib/evas/canvas/evas_object_main.c > b/src/lib/evas/canvas/evas_object_main.c > index 11ae1b7..b0baadb 100644 > --- a/src/lib/evas/canvas/evas_object_main.c > +++ b/src/lib/evas/canvas/evas_object_main.c > @@ -2563,11 +2563,13 @@ evas_object_size_hint_display_mode_get(const > Evas_Object *obj) > /* Internal EO APIs and hidden overrides */ > > EOAPI EFL_VOID_FUNC_BODY(efl_canvas_object_legacy_ctor) > +EOAPI EFL_VOID_FUNC_BODYV(efl_canvas_object_type_set, > EFL_FUNC_CALL(type), const char *type) > > #define EFL_CANVAS_OBJECT_EXTRA_OPS \ > EFL_OBJECT_OP_FUNC(efl_dbg_info_get, > _efl_canvas_object_efl_object_dbg_info_get), \ > EFL_OBJECT_OP_FUNC(efl_event_callback_legacy_call, > _efl_canvas_object_efl_object_event_callback_legacy_call), \ > EFL_OBJECT_OP_FUNC(efl_event_callback_call, > _efl_canvas_object_efl_object_event_callback_call), \ > - EFL_OBJECT_OP_FUNC(efl_canvas_object_legacy_ctor, > _efl_canvas_object_legacy_ctor) > + EFL_OBJECT_OP_FUNC(efl_canvas_object_legacy_ctor, > _efl_canvas_object_legacy_ctor), \ > + EFL_OBJECT_OP_FUNC(efl_canvas_object_type_set, > _efl_canvas_object_type_set) > > #include "canvas/efl_canvas_object.eo.c" > build on macOS is broken. I could check this detailed only next week. If you have ideas how to fix it - please share. Part of build log: ... CCLD modules/elementary/prefs/module.la CCLD edje_external/elementary/module.la CCLD modules/elementary/test_entry/module.la CCLD modules/elementary/test_map/module.la CCLD modules/elementary/web/none/module.la CCLD bin/elementary/elementary_test clang: warning: argument unused during compilation: '-pie' [-Wunused- command-line-argument] CCLD bin/elementary/elementary_config Undefined symbols for architecture x86_64: "_elm_widget_resize_object_set", referenced from: __elm_web_none_efl_canvas_group_group_add in
[EGIT] [tools/eflete] master 01/01: Main window: show authors list from AUTHORS file.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=dacbed9b4fd96a5ec71448b85465b99ddd9beba2 commit dacbed9b4fd96a5ec71448b85465b99ddd9beba2 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Thu Mar 16 11:42:52 2017 +0200 Main window: show authors list from AUTHORS file. Remove hardcoded author names string from main_window.c file. Now list of authors received from file AUTHORS. AUTHORS file is installed into /share/eflete directory. --- AUTHORS | 8 +++ Makefile.am | 3 +++ src/bin/ui/main_window.c | 56 3 files changed, 40 insertions(+), 27 deletions(-) diff --git a/AUTHORS b/AUTHORS index 4df26f2..270e311 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,8 +1,6 @@ -Eflete - EFL Edje Theme Editor --- - +Engineers: Vyacheslav "rimmed" Reutskiy (v.reuts...@samsung.com) -Mykyta Biliavskyi (m.biliavs...@samsung.com) +Mykyta Biliavskyi "NikaWhite" (m.biliavs...@samsung.com) Vitalii Vorobiov (vi.vorob...@samsung.com) Andrii Kroitor (an.kroi...@samsung.com) Kateryna Fesyna (fesy...@gmail.com) @@ -10,8 +8,10 @@ Maksym Volodin (mac9...@gmail.com) Igor Gala (igor.gal...@gmail.com) Tetiana Naumenko (t.naume...@samsung.com) +QA: Olga Kolesnik (o.koles...@samsung.com) +Designers: Yurii Tsivun (y.tsi...@gmail.com) Oleg Dotsenko (kimur...@ukr.net) Dmitriy Samoylov (dm.samoy...@samsung.com) diff --git a/Makefile.am b/Makefile.am index d5730f4..1f4ded3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -21,6 +21,9 @@ EXTRA_DIST = \ m4/ewe.m4 \ m4/ewe_binary.m4 +authorsdir = $(datadir)/eflete +authors_DATA = AUTHORS + .PHONY: doc update-po report report_debug coverage if HAVE_DOXYGEN doc: diff --git a/src/bin/ui/main_window.c b/src/bin/ui/main_window.c index a6736e3..0ec3be4 100644 --- a/src/bin/ui/main_window.c +++ b/src/bin/ui/main_window.c @@ -246,32 +246,42 @@ Evas_Object * _about_window_content_get(void *data, Evas_Object *popup __UNUSED__, Evas_Object **to_focus __UNUSED__) { Evas_Object *label = (Evas_Object *) data; - elm_object_text_set(label, - "
[EGIT] [tools/eflete] eflete-1.18 04/31: Sound manager: fix label for create new tone popup.
rimmed pushed a commit to branch eflete-1.18. http://git.enlightenment.org/tools/eflete.git/commit/?id=0e9d0e69db7facf66f0d79b42b2e7905825f0762 commit 0e9d0e69db7facf66f0d79b42b2e7905825f0762 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Fri Jan 13 12:14:19 2017 +0200 Sound manager: fix label for create new tone popup. @fix --- src/bin/ui/sound_manager.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/ui/sound_manager.c b/src/bin/ui/sound_manager.c index 07d1a93..1a4ac44 100644 --- a/src/bin/ui/sound_manager.c +++ b/src/bin/ui/sound_manager.c @@ -420,7 +420,7 @@ _tone_add_cb(void *data __UNUSED__, resource_name_validator_list_set(mng.tone_validator, >tones, true); mng.frq_validator = elm_validator_regexp_new(FREQUENCY_REGEX, NULL); - popup = popup_add(_("Create a new layout"), NULL, BTN_OK|BTN_CANCEL, _add_tone_content_get, mng.tone_entry); + popup = popup_add(_("Create a new tone"), NULL, BTN_OK|BTN_CANCEL, _add_tone_content_get, mng.tone_entry); popup_button_disabled_set(popup, BTN_OK, true); evas_object_smart_callback_add(popup, POPUP_CLOSE_CB, _tone_add_popup_close_cb, NULL); } --
[EGIT] [tools/eflete] eflete-1.18 14/31: Main: force Eflete to use scale value 1.
rimmed pushed a commit to branch eflete-1.18. http://git.enlightenment.org/tools/eflete.git/commit/?id=c00a4349c2031088736c2ab3e1ab7321cdb3793b commit c00a4349c2031088736c2ab3e1ab7321cdb3793b Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Mon Feb 6 16:14:50 2017 +0200 Main: force Eflete to use scale value 1. Until Eflete theme failed to support scalability feature Eflete could be launched with scale value equal 1. @fix --- src/bin/main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/bin/main.c b/src/bin/main.c index a9736af..e394d38 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -228,6 +228,9 @@ elm_main(int argc, char **argv) elm_app_info_set(NULL, EFLETE_EDJ_PATH, NULL); enventor_init(argc, argv); #endif + elm_config_profile_set("standard"); + /*FIXME: remove forcing setup scale value to 1, after fix theme.*/ + elm_config_scale_set(1); elm_config_icon_theme_set(NULL); pos = ecore_getopt_parse(, values, argc, argv); --
[EGIT] [tools/eflete] eflete-1.18 13/31: Main: force Eflete to use default icons theme.
rimmed pushed a commit to branch eflete-1.18. http://git.enlightenment.org/tools/eflete.git/commit/?id=8d492b075b594744a1199e4f844f6776a002bed3 commit 8d492b075b594744a1199e4f844f6776a002bed3 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Mon Feb 6 16:08:21 2017 +0200 Main: force Eflete to use default icons theme. Function elm_config_icon_theme_set with NULL as argument initiate to use default Elementary icon theme. Fixes T5028 @fix --- src/bin/main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bin/main.c b/src/bin/main.c index dbcd242..a9736af 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -229,6 +229,7 @@ elm_main(int argc, char **argv) enventor_init(argc, argv); #endif + elm_config_icon_theme_set(NULL); pos = ecore_getopt_parse(, values, argc, argv); if (pos < 0) return 1; --
[EGIT] [core/efl] master 01/01: eina utils: fix build without getpwent.
nikawhite pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=94eaa792c279f3580c20ae0143f4637f982616cb commit 94eaa792c279f3580c20ae0143f4637f982616cb Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Mon Feb 20 11:29:56 2017 +0200 eina utils: fix build without getpwent. If HAVE_GETPWENT isn't defined - the closing brace was missed. Also prevent situation when strdup() tried to duplicate NULL pointer, because that could cause segfault. @fix --- src/lib/eina/eina_util.c | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/lib/eina/eina_util.c b/src/lib/eina/eina_util.c index 7205a45..1d329d2 100644 --- a/src/lib/eina/eina_util.c +++ b/src/lib/eina/eina_util.c @@ -84,12 +84,14 @@ eina_environment_home_get(void) if (!getpwuid_r(geteuid(), , pwbuf, sizeof(pwbuf), )) { if ((pwent2) && (pwent.pw_dir)) - home = strdup(pwent.pw_dir); + { + home = strdup(pwent.pw_dir); + return home; + } } -if (!home) home = strdup("/tmp"); -return home; - } # endif +home = "/tmp"; + } #endif home = strdup(home); return home; --
[EGIT] [tools/eflete] master 02/03: Main: force Eflete to use "default" profile.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=0bba767a64b723af90c6fb359a6932bd0fd3789a commit 0bba767a64b723af90c6fb359a6932bd0fd3789a Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Mon Feb 6 16:10:03 2017 +0200 Main: force Eflete to use "default" profile. Elementary provide a set of profiles: default, mobile, standart and user defined. But Eflete well-tested only with "default" profile. --- src/bin/main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bin/main.c b/src/bin/main.c index bd53aad..b15bbec 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -250,6 +250,7 @@ elm_main(int argc, char **argv) #ifdef HAVE_ENVENTOR enventor_init(argc, argv); #endif + elm_config_profile_set("standard"); elm_config_icon_theme_set(NULL); pos = ecore_getopt_parse(, values, argc, argv); --
[EGIT] [tools/eflete] master 03/03: Main: force Eflete to use scale value 1.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=3d331c7878ee483856bb269e4e0c1cf0f0d845b4 commit 3d331c7878ee483856bb269e4e0c1cf0f0d845b4 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Mon Feb 6 16:14:50 2017 +0200 Main: force Eflete to use scale value 1. Until Eflete theme failed to support scalability feature Eflete could be launched with scale value equal 1. @fix --- src/bin/main.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bin/main.c b/src/bin/main.c index b15bbec..267007d 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -251,6 +251,8 @@ elm_main(int argc, char **argv) enventor_init(argc, argv); #endif elm_config_profile_set("standard"); + /*FIXME: remove forcing setup scale value to 1, after fix theme.*/ + elm_config_scale_set(1); elm_config_icon_theme_set(NULL); pos = ecore_getopt_parse(, values, argc, argv); --
[EGIT] [tools/eflete] master 01/03: Main: force Eflete to use default icons theme.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=25bc8835ab6df307bab8179696b8e8e9896bae4d commit 25bc8835ab6df307bab8179696b8e8e9896bae4d Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Mon Feb 6 16:08:21 2017 +0200 Main: force Eflete to use default icons theme. Function elm_config_icon_theme_set with NULL as argument initiate to use default Elementary icon theme. Fixes T5028 @fix --- src/bin/main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bin/main.c b/src/bin/main.c index d33cc48..bd53aad 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -251,6 +251,7 @@ elm_main(int argc, char **argv) enventor_init(argc, argv); #endif + elm_config_icon_theme_set(NULL); pos = ecore_getopt_parse(, values, argc, argv); if (pos < 0) return 1; --
[EGIT] [tools/eflete] master 02/03: Image manager:update caption for image set image fileselector.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=a07da70b733516a88da5cea2410b84baf3ac8ccd commit a07da70b733516a88da5cea2410b84baf3ac8ccd Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Tue Jan 24 16:06:06 2017 +0200 Image manager:update caption for image set image fileselector. There was a wrong caption for fileselector, when new image add into images set. --- src/bin/ui/image_manager.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/ui/image_manager.c b/src/bin/ui/image_manager.c index 664254a..d85aad0 100644 --- a/src/bin/ui/image_manager.c +++ b/src/bin/ui/image_manager.c @@ -262,7 +262,7 @@ _image_set_image_add(void *data, void *event_info __UNUSED__) { #if HAVE_TIZEN - popup_fileselector_image_helper(_("Create new image set"), + popup_fileselector_image_helper(_("Add new image into set"), NULL, NULL, _on_image_set_image_done, --
[EGIT] [tools/eflete] master 03/03: Tizen theme: update theme of images set gengrid item.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=8dbb26bba40f283b8641e90975d0e9c2963d60fb commit 8dbb26bba40f283b8641e90975d0e9c2963d60fb Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Tue Jan 24 16:13:44 2017 +0200 Tizen theme: update theme of images set gengrid item. Fix style of the gengrid item, that uses for images set representation. Fixed border and texts colors. --- data/themes/tizen/widgets/gengrid.edc | 195 -- 1 file changed, 68 insertions(+), 127 deletions(-) diff --git a/data/themes/tizen/widgets/gengrid.edc b/data/themes/tizen/widgets/gengrid.edc index 9aebbee..73744bb 100644 --- a/data/themes/tizen/widgets/gengrid.edc +++ b/data/themes/tizen/widgets/gengrid.edc @@ -372,14 +372,13 @@ group { name: "elm/gengrid/item/image_set/default"; item: "texts" "elm.text elm.text.count"; item: "contents" "elm.swallow.first elm.swallow.second elm.swallow.third elm.swallow.fouth elm.swallow.end"; } - images.image: "Custom/border_1.png" COMP; parts { part { name: "highlight_content"; type: RECT; mouse_events: 0; clip_to: "disclip"; description { state: "default" 0.00; -color_class: "border"; +color_class: "gengrid_item_border"; rel1.to: "icon_border"; rel2.to: "icon_border"; } @@ -392,8 +391,6 @@ group { name: "elm/gengrid/item/image_set/default"; type: RECT; description { state: "default" 0.00; color_class: "gengrid_text_default"; -rel1.to: "elm.text"; -rel2.to: "elm.text"; } description { state: "selected" 0.00; inherit: "default" 0.00; @@ -418,14 +415,11 @@ group { name: "elm/gengrid/item/image_set/default"; repeat_events: 1; description { state: "default" 0.00; fixed: 1 0; -rel1 { - offset: 1 1; - to: "icon_border"; -} +rel1.to: "icon_border"; rel2 { - relative: 0.50 0.50; - offset: -2 -2; - to: "icon_border"; + relative: 0.00 0.00; + to_x: "cross_vert"; + to_y: "cross_hor"; } } } @@ -436,89 +430,15 @@ group { name: "elm/gengrid/item/image_set/default"; description { state: "default" 0.00; fixed: 1 0; rel1 { - relative: 0.50 0.00; - offset: 1 1; - to: "icon_border"; -} -rel2 { - relative: 1.00 0.50; - offset: -2 -2; - to: "icon_border"; -} - } - } - part { name: "first_border"; - type: IMAGE; - clip_to: "highlight_content"; - description { state: "default" 0.00; -image { - normal: "Custom/border_1.png"; - border: 1 1 1 1; - middle: NONE; -} -rel1.to: "icon_border"; -rel2 { - relative: 0.50 0.50; - offset: 0 -1; - to: "icon_border"; -} - } - } - part { name: "second_border"; - type: IMAGE; - clip_to: "highlight_content"; - description { state: "default" 0.00; -image { - normal: "Custom/border_1.png"; - border: 1 1 1 1; - middle: NONE; -} -rel1 { - relative: 0.50 0.00; - to: "icon_border"; -} -rel2 { - relative: 1.00 0.50; - to: "icon_border"; -} - } - } - part { name: "third_border"; - type: IMAGE; - clip_to: "highlight_content"; - description { state: "default" 0.00; -image { - normal: "Custom/border_1.png"; - border: 1 1 1 1; - middle: NONE; -} -rel1 { - relative: 0.00 0.50; - offset: 0 -1; - to: "icon_border"; + relative: 1.00 0.00; + to_x: "cross_vert"; + to_y: "icon_border"; } rel2 { - relative: 0.50 1.00; - offset: 0 -1; -
[EGIT] [tools/eflete] master 01/03: Image manager: fix images set grid preview for Tizen theme.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=e65b5675efa6796fe551459591c9a4b6bde874c4 commit e65b5675efa6796fe551459591c9a4b6bde874c4 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Tue Jan 24 16:01:25 2017 +0200 Image manager: fix images set grid preview for Tizen theme. Added new layout that contain swallows for gengrid and buttons. Use this layout inside image manager for cases when images set should display preview. --- data/themes/tizen/widgets/layouts/manager.edc | 125 ++ src/bin/ui/image_manager.c| 4 +- 2 files changed, 127 insertions(+), 2 deletions(-) diff --git a/data/themes/tizen/widgets/layouts/manager.edc b/data/themes/tizen/widgets/layouts/manager.edc index 0691831..f7a312b 100644 --- a/data/themes/tizen/widgets/layouts/manager.edc +++ b/data/themes/tizen/widgets/layouts/manager.edc @@ -293,3 +293,128 @@ group { name: "elm/layout/manager/property"; } } +group { name: "elm/layout/image_manager/image_set"; + parts { + part { name: "border"; + type: RECT; + description { state: "default" 0.00; +align: 0.50 0.00; +max: -1 171; +color_class: "manager_content_border"; + } + } + part { name: "bg"; + type: RECT; + scale: 1; + description { state: "default" 0.00; +align: 0.00 0.00; +fixed: 1 1; +rel1 { + offset: 1 1; + to: "border"; +} +rel2 { + offset: -2 -2; + to: "border"; +} + } + } + part { name: "elm.swallow.search"; + type: SWALLOW; + scale: 1; + description { state: "default" 0.00; +align: 0.00 0.00; +fixed: 1 1; +min: 466 24; +max: 466 24; +rel1 { + offset: 0 10; + to_x: "bg"; +} +rel2 { + relative: 0.00 1.00; + offset: -10 0; + to: "bg"; +} + } + } + part { name: "border_list"; + type: RECT; + description { state: "default" 0.00; +align: 0.50 0.00; +color_class: "manager_content_border"; +rel1 { + relative: 0.00 1.00; + offset: 0 5; + to_x: "bg"; + to_y: "elm.swallow.search"; +} +rel2.to: "bg"; + } + } + part { name: "bg_list"; + type: RECT; + description { state: "default" 0.00; +rel1 { + offset: 1 1; + to: "border_list"; +} +rel2 { + offset: -2 -2; + to: "border_list"; +} + } + } + part { name: "elm.swallow.list"; + type: SWALLOW; + scale: 1; + description { state: "default" 0.00; +align: 1.00 0.00; +fixed: 1 1; +rel1.to: "bg_list"; +rel2.to: "bg_list"; + } + } + part { name: "elm.swallow.btn_del"; + type: SWALLOW; + scale: 1; + description { state: "default" 0.00; +align: 1.00 0.50; +fixed: 1 1; +min: 24 24; +max: 24 24; +rel1 { + relative: 1.00 0.00; + to_x: "border_list"; + to_y: "elm.swallow.search"; +} +rel2 { + to_x: "border_list"; + to_y: "elm.swallow.search"; +} + } + } + part { name: "elm.swallow.btn_add"; + type: SWALLOW; + scale: 1; + description { state: "default" 0.00; +align: 1.00 0.50; +fixed: 1 1; +min: 24 24; +max: 24 24; +rel1 { + relative: 1.00 0.00; + to_x: "elm.swallow.btn_del"; + to_y: "elm.swallow.search"; +} +rel2 { + relative: 0.00 1.00; + offset: -10 -1; + to_x: "elm.swallow.btn_del"; + to_y: "elm.swallow.search"; +} + } + } + } +} + diff --git a/src/bin/ui/image_manager.c b/src/bin/ui/image_manager.c index ddf0ea4..664254a 100644 --- a/src/bin/ui/image_manager.c +++ b/src/bin/ui/image_manager.c @@ -324,12 +324,12 @@ _image_manager_image_set_grid_create(Evas_Object *parent,
[EGIT] [tools/eflete] eflete-1.18 27/91: Create main window before create layouts.
rimmed pushed a commit to branch eflete-1.18. http://git.enlightenment.org/tools/eflete.git/commit/?id=798d81a0e2b3fb6a078ff441b2bf9da13bf16fae commit 798d81a0e2b3fb6a078ff441b2bf9da13bf16fae Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Mon Sep 5 18:17:39 2016 +0300 Create main window before create layouts. --- src/bin/main.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/bin/main.c b/src/bin/main.c index 093043e..18170e9 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -247,6 +247,11 @@ elm_main(int argc, char **argv) #endif config_load(); +if (!ui_main_window_add()) + { + app_shutdown(); + return -1; + } if (reopen) { @@ -351,11 +356,6 @@ run: ap.path.export_edj = export_edj; if (export_edc) _export_edc_path_set(export_edc); -if (!ui_main_window_add()) - { - app_shutdown(); - return -1; - } evas_object_show(ap.win); elm_run(); #ifdef HAVE_ENVENTOR --
[EGIT] [tools/eflete] eflete-1.18 05/91: Tizen theme: update resources.
rimmed pushed a commit to branch eflete-1.18. http://git.enlightenment.org/tools/eflete.git/commit/?id=1a58a6be64358a02ba796f877cd8da2bc15a42ad commit 1a58a6be64358a02ba796f877cd8da2bc15a42ad Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Aug 31 17:44:03 2016 +0300 Tizen theme: update resources. --- .../tizen/images/Group navigator/tool_loop_dim.png | Bin 0 -> 1229 bytes .../tizen/images/Group navigator/tool_loop_mv.png | Bin 0 -> 1229 bytes .../tizen/images/Group navigator/tool_loop_nor.png | Bin 0 -> 1228 bytes .../tizen/images/Group navigator/tool_loop_sel.png | Bin 0 -> 1231 bytes .../{Tizen general => POP UP}/color_pin_mv.png | Bin .../{Tizen general => POP UP}/color_pin_nor.png| Bin .../{Tizen general => POP UP}/color_pin_sel.png| Bin .../colorbar_btn_l_mv.png | Bin .../colorbar_btn_l_nor.png | Bin 2855 -> 2870 bytes .../colorbar_btn_l_sel.png | Bin .../colorbar_btn_r_mv.png | Bin .../colorbar_btn_r_nor.png | Bin 2857 -> 2873 bytes .../colorbar_btn_r_sel.png | Bin .../tizen/images/Scroll/scroll_down_icon_nor.png | Bin 2843 -> 971 bytes .../tizen/images/Scroll/scroll_left_icon_dim.png | Bin 177 -> 14573 bytes .../tizen/images/Scroll/scroll_left_icon_mv.png| Bin 175 -> 17292 bytes .../tizen/images/Scroll/scroll_left_icon_nor.png | Bin 174 -> 14953 bytes .../tizen/images/Scroll/scroll_left_icon_sel.png | Bin 175 -> 14954 bytes .../tizen/images/Scroll/scroll_right_icon_dim.png | Bin 179 -> 14575 bytes .../tizen/images/Scroll/scroll_right_icon_mv.png | Bin 179 -> 17294 bytes .../tizen/images/Scroll/scroll_right_icon_nor.png | Bin 178 -> 14955 bytes .../tizen/images/Scroll/scroll_right_icon_sel.png | Bin 179 -> 14956 bytes .../tizen/images/Scroll/scroll_up_icon_nor.png | Bin 2838 -> 960 bytes .../themes/tizen/images/Splash/loading_seq_s_2.gif | Bin 14058 -> 12687 bytes data/themes/tizen/images/WYSIWG/tool_loop_dim.png | Bin 1331 -> 0 bytes data/themes/tizen/images/WYSIWG/tool_loop_mv.png | Bin 1358 -> 0 bytes data/themes/tizen/images/WYSIWG/tool_loop_nor.png | Bin 1357 -> 0 bytes data/themes/tizen/images/WYSIWG/tool_loop_sel.png | Bin 1364 -> 0 bytes data/themes/tizen/widgets/colorselector.edc| 36 ++--- data/themes/tizen/widgets/image.edc| 8 ++--- 30 files changed, 22 insertions(+), 22 deletions(-) diff --git a/data/themes/tizen/images/Group navigator/tool_loop_dim.png b/data/themes/tizen/images/Group navigator/tool_loop_dim.png new file mode 100644 index 000..e468faf Binary files /dev/null and b/data/themes/tizen/images/Group navigator/tool_loop_dim.png differ diff --git a/data/themes/tizen/images/Group navigator/tool_loop_mv.png b/data/themes/tizen/images/Group navigator/tool_loop_mv.png new file mode 100644 index 000..c3ab3e6 Binary files /dev/null and b/data/themes/tizen/images/Group navigator/tool_loop_mv.png differ diff --git a/data/themes/tizen/images/Group navigator/tool_loop_nor.png b/data/themes/tizen/images/Group navigator/tool_loop_nor.png new file mode 100644 index 000..06a941e Binary files /dev/null and b/data/themes/tizen/images/Group navigator/tool_loop_nor.png differ diff --git a/data/themes/tizen/images/Group navigator/tool_loop_sel.png b/data/themes/tizen/images/Group navigator/tool_loop_sel.png new file mode 100644 index 000..7c47608 Binary files /dev/null and b/data/themes/tizen/images/Group navigator/tool_loop_sel.png differ diff --git a/data/themes/tizen/images/Tizen general/color_pin_mv.png b/data/themes/tizen/images/POP UP/color_pin_mv.png similarity index 100% rename from data/themes/tizen/images/Tizen general/color_pin_mv.png rename to data/themes/tizen/images/POP UP/color_pin_mv.png diff --git a/data/themes/tizen/images/Tizen general/color_pin_nor.png b/data/themes/tizen/images/POP UP/color_pin_nor.png similarity index 100% rename from data/themes/tizen/images/Tizen general/color_pin_nor.png rename to data/themes/tizen/images/POP UP/color_pin_nor.png diff --git a/data/themes/tizen/images/Tizen general/color_pin_sel.png b/data/themes/tizen/images/POP UP/color_pin_sel.png similarity index 100% rename from data/themes/tizen/images/Tizen general/color_pin_sel.png rename to data/themes/tizen/images/POP UP/color_pin_sel.png diff --git a/data/themes/tizen/images/Tizen general/colorbar_btn_l_mv.png b/data/themes/tizen/images/POP UP/colorbar_btn_l_mv.png similarity index 100% rename from data/themes/tizen/images/Tizen general/colorbar_btn_l_mv.png rename to data/themes/tizen/images/POP UP/colorbar_btn_l_mv.png diff --git a/data/themes/tizen/images/Tizen general/colorbar_btn_l_nor.png b/data/themes/tizen/images/POP UP/colorbar_btn_l_nor.png similarity index 95% rename from data/themes/tizen/images/
[EGIT] [tools/eflete] eflete-1.18 10/91: Tizen theme: fix entry single line style.
rimmed pushed a commit to branch eflete-1.18. http://git.enlightenment.org/tools/eflete.git/commit/?id=28fdbe48879886abc304719bac09e744cd598120 commit 28fdbe48879886abc304719bac09e744cd598120 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Thu Sep 1 14:13:36 2016 +0300 Tizen theme: fix entry single line style. Fixed scroll for text inside entry. Fixed size issues. --- data/themes/tizen/widgets/entry.edc | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/data/themes/tizen/widgets/entry.edc b/data/themes/tizen/widgets/entry.edc index 0d7d24e..577dd1c 100644 --- a/data/themes/tizen/widgets/entry.edc +++ b/data/themes/tizen/widgets/entry.edc @@ -104,6 +104,7 @@ group { name: "elm/scroller/entry_single/default"; color_class: "border"; min: 0 24; max: -1 24; +fixed: 0 1; } description { state: "focused" 0.0; inherit: "default" 0.0; @@ -121,6 +122,9 @@ group { name: "elm/scroller/entry_single/default"; scale: 1; description { state: "default" 0.0; color_class: "entry_bg"; + min: 0 22; + max: -1 22; + fixed: 0 1; rel1 { to: "border"; offset: 1 1; @@ -494,7 +498,6 @@ group { name: "elm/scroller/entry_single/search"; } } - group { name: "elm/scroller/entry_single/fileselector/default"; inherit: "elm/scroller/entry_single/default"; parts { @@ -535,7 +538,6 @@ group { name: "elm/entry/base-single/default"; source5: "elm/entry/anchor/default"; description { state: "default" 0.0; min: 0 19; -fixed: 1 1; text { style: "entry_main_text"; min: 1 1; @@ -543,7 +545,6 @@ group { name: "elm/entry/base-single/default"; } } description { state: "disabled" 0.0; -fixed: 1 1; min: 0 19; text { style: "entry_main_text_disabled"; --
[EGIT] [tools/eflete] eflete-1.18 42/91: Property demo: update layout style in swallow for different parts.
rimmed pushed a commit to branch eflete-1.18. http://git.enlightenment.org/tools/eflete.git/commit/?id=7ab14ba7e0641b0adb1093394949e87078ff0a18 commit 7ab14ba7e0641b0adb1093394949e87078ff0a18 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Sep 7 15:53:17 2016 +0300 Property demo: update layout style in swallow for different parts. --- src/bin/ui/live_view/elementary/live_widget_common.c | 8 +++- src/bin/ui/property/property_demo.c | 13 - 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/bin/ui/live_view/elementary/live_widget_common.c b/src/bin/ui/live_view/elementary/live_widget_common.c index 20fe4d4..7bbb013 100644 --- a/src/bin/ui/live_view/elementary/live_widget_common.c +++ b/src/bin/ui/live_view/elementary/live_widget_common.c @@ -106,6 +106,7 @@ _prev_page_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED elm_naviframe_item_push(nf, _("Page Prev"), NULL, bt, NULL, NULL); } + Evas_Object * object_generate(Demo_Part *part, Evas_Object *object) { @@ -133,6 +134,8 @@ object_generate(Demo_Part *part, Evas_Object *object) switch (widget_type) { case WIDGET_LAYOUT: + if (part->content_style && !strcmp(part->content_style, "None")) +return NULL; content = elm_layout_add(object); elm_layout_file_set(content, ap.project->dev, part->content_style); break; @@ -405,7 +408,10 @@ on_swallow_check(void *data __UNUSED__, part->object = object_generate(part, obj); part->change = false; -elm_object_part_content_set(obj, part->name, part->object); +if (part->object) + elm_object_part_content_set(obj, part->name, part->object); +else + elm_object_part_content_unset(obj, part->name); } if (part->object) diff --git a/src/bin/ui/property/property_demo.c b/src/bin/ui/property/property_demo.c index 914a181..6bbfcee 100644 --- a/src/bin/ui/property/property_demo.c +++ b/src/bin/ui/property/property_demo.c @@ -181,6 +181,14 @@ _fill_combobox_group(Evas_Object *control) itc = evas_object_data_get(control, "COMMON_ITC"); elm_genlist_clear(control); + + combobox_item = mem_malloc(sizeof(Combobox_Item)); + combobox_item->index = i++; + combobox_item->data = eina_stringshare_add("None"); + elm_genlist_item_append(control, itc, + combobox_item, NULL, + ELM_GENLIST_ITEM_NONE, NULL, NULL); + EINA_LIST_FOREACH(ap.project->groups, l, group) { combobox_item = mem_malloc(sizeof(Combobox_Item)); @@ -340,6 +348,7 @@ _update_cb(Property_Attribute *pa, Property_Action *action) break; case ATTRIBUTE_DEMO_ITEM_SWALLOW_LAYOUT_GROUP: _fill_combobox_group(action->control); + elm_object_text_set(action->control, demo_pd.part->content_style); break; case ATTRIBUTE_DEMO_ITEM_SWALLOW_COLOR: property_color_control_color_set(action->control, @@ -394,12 +403,14 @@ _init_cb(Property_Attribute *pa, Property_Action *action) switch (action->type.attribute_demo) { + case ATTRIBUTE_DEMO_ITEM_SWALLOW_LAYOUT_GROUP: + elm_object_text_set(action->control, "None"); + break; case ATTRIBUTE_DEMO_ITEM_SWALLOW_PICTURE: case ATTRIBUTE_DEMO_ITEM_TEXT_NAME: case ATTRIBUTE_DEMO_ITEM_TEXT_CONTENT: case ATTRIBUTE_DEMO_ITEM_SWALLOW_NAME: case ATTRIBUTE_DEMO_ITEM_SWALLOW_STYLE: - case ATTRIBUTE_DEMO_ITEM_SWALLOW_LAYOUT_GROUP: case ATTRIBUTE_DEMO_ITEM_SWALLOW_COLOR: case ATTRIBUTE_DEMO_ITEM_PROGRAM_SIGNAL: case ATTRIBUTE_DEMO_ITEM_PROGRAM_SOURCE: --
[EGIT] [tools/eflete] eflete-1.18 25/91: Tizen theme: adopt property items to guideline size.
rimmed pushed a commit to branch eflete-1.18. http://git.enlightenment.org/tools/eflete.git/commit/?id=59a2afcb44ff86c6031b42afdf3f5f2409983dde commit 59a2afcb44ff86c6031b42afdf3f5f2409983dde Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Mon Sep 5 12:48:12 2016 +0300 Tizen theme: adopt property items to guideline size. Change markup of genlist prorperty items. Now it support width size less 400px. Adopt tree view of prorperties: makes better intendation. For Relative and Fill sub attributes change behaviour of parenting. --- data/themes/tizen/color_classes.edc| 7 +- data/themes/tizen/widgets/genlist_property.edc | 320 - data/themes/tizen/widgets/layouts/property.edc | 4 +- src/bin/ui/property/property_common.c | 3 + src/bin/ui/property/property_group.c | 32 ++- 5 files changed, 245 insertions(+), 121 deletions(-) diff --git a/data/themes/tizen/color_classes.edc b/data/themes/tizen/color_classes.edc index 872f70d..a84a5c1 100644 --- a/data/themes/tizen/color_classes.edc +++ b/data/themes/tizen/color_classes.edc @@ -74,7 +74,12 @@ color_classes { color2: 0 0 0 0; color3: 0 0 0 0; } - color_class { name: "entry_bg"; + color_class { name: "genlist_text_caption_selected"; + color: 163 56 164 255; + color2: 0 0 0 0; + color3: 0 0 0 0; + } +color_class { name: "entry_bg"; color: 255 255 255 255; color2: 0 0 0 0; color3: 0 0 0 0; diff --git a/data/themes/tizen/widgets/genlist_property.edc b/data/themes/tizen/widgets/genlist_property.edc index 77d0c37..415e03a 100644 --- a/data/themes/tizen/widgets/genlist_property.edc +++ b/data/themes/tizen/widgets/genlist_property.edc @@ -4,21 +4,31 @@ group { name: "elm/genlist/base/property"; group { name: "elm/genlist/item/caption/property"; data { - item: "treesize" "12"; item: "texts" "text.item.name"; + item: "treesize" "20"; item: "contents" "swallow.icon"; item: "stacking" "above"; item: "selectraise" "on"; } parts { + part { name: "area"; + type: SPACER; + description { state: "default" 0.0; +min: 0 24; +max: -1 24; +rel1 { + relative: 1.0 0.0; + offset: 0 5; + to_x: "elm.swallow.pad"; +} + } + } part { name: "elm.swallow.pad"; type: SWALLOW; description { state: "default" 0.0; align: 0.0 0.5; fixed: 1 0; -rel2 { - relative: 0.0 1.0; -} +rel2.relative: 0.0 1.0; } } part { name: "swallow.icon"; @@ -32,12 +42,12 @@ group { name: "elm/genlist/item/caption/property"; aspect_preference: VERTICAL; rel1 { relative: 1.0 0.0; - offset: 6 3; to_x: "elm.swallow.pad"; + to_y: "area"; } rel2 { relative: 0.0 1.0; - offset: -1 -4; + to_y: "area"; } } } @@ -45,25 +55,25 @@ group { name: "elm/genlist/item/caption/property"; type: TEXT; repeat_events: 1; description { state: "default" 0.0; -min: 0 26; -color_class: "genlist_text_tree"; align: 0.0 0.5; -rel1 { - relative: 1.0 0.0; - offset: 6 0; - to_x: "swallow.icon"; -} -rel2 { - offset: -7 -1; -} +min: 0 24; +max: -1 24; +color_class: "genlist_text_tree"; text { - min: 1 0; - max: 1 0; - elipsis: -1; font: FN; size: 13; + min: 1 0; + max: 1 0; align: 0.0 0.5; + ellipsis: -1.0; } +rel1 { + relative: 1.0 0.0; + offset: 8 0; + to_x: "swallow.icon"; + to_y: "area"; +} +rel2.to_y: "area"; } } part { name: "disclip"; @@ -79,14 +89,16 @@ group { name: "elm/genlist/item/caption/property"; group { name: "elm/genlist/tree/caption/property"; data { item: "texts" "text.item.name"; - item: "treesize" "10"; + item: "treesize" "20"; item: "stacking&qu
[EGIT] [tools/eflete] eflete-1.18 91/91: Syntox color: delete unreachable statement.
rimmed pushed a commit to branch eflete-1.18. http://git.enlightenment.org/tools/eflete.git/commit/?id=c5893034f159d157f8eb47e55588643e27fa1358 commit c5893034f159d157f8eb47e55588643e27fa1358 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Sep 21 17:26:13 2016 +0300 Syntox color: delete unreachable statement. @svace WGID 20029 and WGID 20052 @fix --- src/bin/external/syntax_color.c | 4 1 file changed, 4 deletions(-) diff --git a/src/bin/external/syntax_color.c b/src/bin/external/syntax_color.c index 77fca78..1cbf860 100644 --- a/src/bin/external/syntax_color.c +++ b/src/bin/external/syntax_color.c @@ -279,8 +279,6 @@ markup_skip(Eina_Strbuf *strbuf, const char **src, int length, char **cur, *prev = *cur; return -1; } - - return 1; } static int @@ -347,8 +345,6 @@ comment_apply(Eina_Strbuf *strbuf, const char **src, int length, char **cur, *prev = *cur; return 1; } - - return -1; } static int --
[EGIT] [tools/eflete] eflete-1.18 26/91: Tizen theme: fix style for image tween attribute.
rimmed pushed a commit to branch eflete-1.18. http://git.enlightenment.org/tools/eflete.git/commit/?id=56d309688688c9f1c25060a0c235946cf831a332 commit 56d309688688c9f1c25060a0c235946cf831a332 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Mon Sep 5 13:54:15 2016 +0300 Tizen theme: fix style for image tween attribute. --- data/themes/tizen/widgets/layouts/property.edc | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/data/themes/tizen/widgets/layouts/property.edc b/data/themes/tizen/widgets/layouts/property.edc index 01ec1f6..14cd4bc 100644 --- a/data/themes/tizen/widgets/layouts/property.edc +++ b/data/themes/tizen/widgets/layouts/property.edc @@ -1148,6 +1148,7 @@ group { name: "elm/layout/property/tween"; align: 1.0 0.0; min: 18 19; max: 18 19; +rel1.offset: 0 10; rel2 { relative: 0.0 1.0; offset: -8 -1; @@ -1161,6 +1162,7 @@ group { name: "elm/layout/property/tween"; align: 1.0 0.0; min: 18 19; max: 18 19; +rel1.offset: 0 10; } } part { name: "elm.swallow.content"; @@ -1168,12 +1170,13 @@ group { name: "elm/layout/property/tween"; description { state: "default" 0.0; align: 1.0 0.0; min: 0 120; -max: -1 150; +max: -1 120; rel1 { relative: 0.0 1.0; - offset: 0 8; + offset: 0 5; to_y: "elm.swallow.del"; } +rel2.offset: 0 -11; } } } --
[EGIT] [tools/eflete] eflete-1.18 04/91: Tizen theme: update font size for property items text.
rimmed pushed a commit to branch eflete-1.18. http://git.enlightenment.org/tools/eflete.git/commit/?id=32a5fd890950dedae7f23b29954ebfb51ecbb2d5 commit 32a5fd890950dedae7f23b29954ebfb51ecbb2d5 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Aug 31 16:37:57 2016 +0300 Tizen theme: update font size for property items text. --- data/themes/tizen/widgets/genlist.edc | 256 + data/themes/tizen/widgets/genlist_property.edc | 18 +- 2 files changed, 14 insertions(+), 260 deletions(-) diff --git a/data/themes/tizen/widgets/genlist.edc b/data/themes/tizen/widgets/genlist.edc index e0e2675..4d6deb6 100644 --- a/data/themes/tizen/widgets/genlist.edc +++ b/data/themes/tizen/widgets/genlist.edc @@ -2846,7 +2846,7 @@ group { name: "elm/genlist/tree/caption/default"; color_class: "genlist_text_tree"; text { font: FN_B; - size: 12; + size: 13; max: 1 0; align: 0.0 0.5; } @@ -2874,7 +2874,7 @@ group { name: "elm/genlist/tree/caption/default"; text { text_source: "elm.text"; font: FN_B; - size: 12; + size: 13; max: 1 0; align: 0.0 0.5; } @@ -3067,7 +3067,7 @@ group { name: "elm/genlist/tree/caption/default"; } -/* + group { name: "elm/genlist/tree/navigator/default"; inherit: "elm/genlist/tree/default/default"; parts { @@ -3106,7 +3106,8 @@ group { name: "elm/genlist/tree/navigator/default"; } } } -*/ + + group { name: "elm/genlist/item/navigator/default"; inherit: "elm/genlist/item/default/default"; @@ -3149,253 +3150,6 @@ group { name: "elm/genlist/item/navigator/default"; } } - -group { name: "elm/genlist/item/message/default"; - data { - item: "texts" "elm.text elm.title.1 elm.title.2"; - item: "treesize" "20"; - item: "stacking" "above"; - item: "selectraise" "on"; - } - parts { - part { name: "bg"; - type: RECT; - description { state: "default" 0.0; -color: 0 0 0 0; -rel2 { - offset: -1 -2; -} - } - description { state: "selected" 0.0; -color: 58 110 155 255; -rel2 { - offset: -1 -2; -} - } - description { state: "reorder" 0.0; -color: 58 110 155 255; -rel2 { - offset: -1 -2; -} - } - } - part { name: "separator"; - type: RECT; - description { state: "default" 0.0; -align: 0.5 1.0; -min: 0 1; -max: -1 1; -color: 68 68 68 255; - } - } - part { name: "elm.swallow.pad"; - type: SWALLOW; - description { state: "default" 0.0; -align: 0.0 0.5; -fixed: 1 0; -rel1 { - offset: 6 0; -} -rel2 { - relative: 0.0 1.0; -} - } - } - part { name: "elm.text"; - type: TEXT; - repeat_events: 1; - description { state: "default" 0.0; -min: 0 38; -color: 214 214 214 255; -rel1 { - relative: 1.0 0.0; - to_x: "elm.swallow.pad"; -} -rel2 { - relative: 0.7 1.0; - offset: -25 -1; -} -text { - font: FN; - size: 12; - align: 0.0 0.5; -} - } - } - part { name: "elm.title.1"; - type: TEXT; - repeat_events: 1; - description { state: "default" 0.0; -color: 176 176 176 255; -rel1 { - relative: 0.7 0.0; -} -rel2 { - relative: 1.0 0.5; - offset: -7 -1; -} -text { - font: FN; - size: 10; - align: 1.0 0.5; -} - } - } - part { name: "elm.title.2"; - type: TEXT; - repeat_events: 1; - description { state: "default" 0.0; -color: 176 176 176 255; -rel1 { - relative: 0.7 0.5; -} -rel2 { - offset: -7 -1; -} -text { - font: FN; - size: 10; - align: 1.0 0.5; -} - } - } - part { name: "disclip";
[EGIT] [tools/eflete] eflete-1.18 11/91: Properties: update lists for top resources.
rimmed pushed a commit to branch eflete-1.18. http://git.enlightenment.org/tools/eflete.git/commit/?id=e2b0d33d47c66a16f5ec39481b496c4a1a7a87ef commit e2b0d33d47c66a16f5ec39481b496c4a1a7a87ef Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Thu Sep 1 18:06:06 2016 +0300 Properties: update lists for top resources. Combobox, that contains lists of top resources (colorclasses, textblock styles, sounds, tones) will be updated at the same time when resource added or deleted. @fix --- src/bin/ui/colorclass_manager.c | 4 src/bin/ui/sound_manager.c | 8 src/bin/ui/style_manager.c | 4 3 files changed, 16 insertions(+) diff --git a/src/bin/ui/colorclass_manager.c b/src/bin/ui/colorclass_manager.c index 55bf7fd..35185b0 100644 --- a/src/bin/ui/colorclass_manager.c +++ b/src/bin/ui/colorclass_manager.c @@ -98,6 +98,7 @@ _colorclass_add_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { + Attribute attribute = ATTRIBUTE_STATE_COLOR_CLASS; Colorclasses_Manager *edit = (Colorclasses_Manager *)data; Colorclass_Item *it = NULL; Elm_Object_Item *glit_ccl = NULL; @@ -131,6 +132,7 @@ _colorclass_add_cb(void *data __UNUSED__, CRIT_ON_FAIL(editor_save(ap.project->global_object)); TODO("Remove this line once edje_edit_colorclass API would be added into Editor Module and saving would work properly") ap.project->changed = true; + evas_object_smart_callback_call(ap.win, SIGNAL_EDITOR_ATTRIBUTE_CHANGED, ); end: resource_name_validator_free(mng.name_validator); @@ -144,6 +146,7 @@ _colorclass_del_cb(void *data __UNUSED__, { Resource *res; Resource request; + Attribute attribute = ATTRIBUTE_STATE_COLOR_CLASS; Elm_Object_Item *it = elm_genlist_selected_item_get(mng.genlist); Elm_Object_Item *next = elm_genlist_item_next_get(it); @@ -156,6 +159,7 @@ _colorclass_del_cb(void *data __UNUSED__, resource_remove(>colorclasses, res); resource_free(res); elm_object_item_del(it); + evas_object_smart_callback_call(ap.win, SIGNAL_EDITOR_ATTRIBUTE_CHANGED, ); #if 0 State *state; diff --git a/src/bin/ui/sound_manager.c b/src/bin/ui/sound_manager.c index e46c79a..96dfb59 100644 --- a/src/bin/ui/sound_manager.c +++ b/src/bin/ui/sound_manager.c @@ -210,6 +210,7 @@ _add_sample_done(void *data __UNUSED__, void *event_info) { Sound_Data *snd; + Attribute attribute = ATTRIBUTE_PROGRAM_SAMPLE_NAME; Eina_Stringshare *sound_name; Eina_List *samples_list, *l; Eina_Bool exist = false; @@ -277,6 +278,7 @@ _add_sample_done(void *data __UNUSED__, CRIT_ON_FAIL(editor_save(ap.project->global_object)); TODO("Remove this line once edje_edit_sound_sample_add would be added into Editor Module and saving would work properly") ap.project->changed = true; + evas_object_smart_callback_call(ap.win, SIGNAL_EDITOR_ATTRIBUTE_CHANGED, ); return true; } @@ -285,6 +287,7 @@ static void _tone_add(void) { Sound_Data *snd; + Attribute attribute = ATTRIBUTE_PROGRAM_TONE_NAME; Eina_Stringshare *tone_name; int frq; Tone_Resource *tone; @@ -307,6 +310,7 @@ _tone_add(void) CRIT_ON_FAIL(editor_save(ap.project->global_object)); TODO("Remove this line once edje_edit_image_add would be added into Editor Module and saving would work properly") ap.project->changed = true; + evas_object_smart_callback_call(ap.win, SIGNAL_EDITOR_ATTRIBUTE_CHANGED, ); } static void @@ -435,6 +439,7 @@ _sound_del_cb(void *data __UNUSED__, Eina_List *list, *l, *l_next; External_Resource *res; Resource request; + Attribute attribute; list = (Eina_List *)elm_gengrid_selected_items_get(mng.gengrid); EINA_LIST_FOREACH_SAFE(list, l, l_next, grid_it) @@ -444,6 +449,7 @@ _sound_del_cb(void *data __UNUSED__, switch (snd->type) { case SOUND_TYPE_SAMPLE: + attribute = ATTRIBUTE_PROGRAM_SAMPLE_NAME; request.name = snd->name; request.resource_type = RESOURCE_TYPE_SOUND; res = (External_Resource *)resource_get(ap.project->sounds, ); @@ -454,6 +460,7 @@ _sound_del_cb(void *data __UNUSED__, elm_object_item_del(grid_it); break; case SOUND_TYPE_TONE: + attribute = ATTRIBUTE_PROGRAM_TONE_NAME; request.name = snd->name; request.resource_type = RESOURCE_TYPE_TONE; res = (External_Resource *)resource_get(ap.project->tones, ); @@ -471,6 +478,7 @@ _sound_del_cb(void *data __UNUSED__, elm_object_disabled_set(mng.btn_del, true); evas_object_smart_callback_call(ap.win, SIGNAL_SOUND_UNSELECTED, NULL); + evas_object_smart_callback_call(ap.win, SIGNAL_EDITOR_ATTRIBUTE_CHANGED, ); } ITEM_SEARCH_FUNC(gengrid, ELM_GENGRID_I
[EGIT] [tools/eflete] eflete-1.18 02/91: Tizen theme: update style and sizes for colorselector.
rimmed pushed a commit to branch eflete-1.18. http://git.enlightenment.org/tools/eflete.git/commit/?id=f304bb4c944f1ef68da657b80630676fe543e598 commit f304bb4c944f1ef68da657b80630676fe543e598 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Aug 31 15:04:29 2016 +0300 Tizen theme: update style and sizes for colorselector. Added dirty hack to resize color picker. --- data/themes/tizen/widgets/colorselector.edc | 69 + src/bin/ui/popup.c | 9 src/bin/ui/property/property_common.c | 10 - 3 files changed, 48 insertions(+), 40 deletions(-) diff --git a/data/themes/tizen/widgets/colorselector.edc b/data/themes/tizen/widgets/colorselector.edc index 27d4ae7..6d118f6 100644 --- a/data/themes/tizen/widgets/colorselector.edc +++ b/data/themes/tizen/widgets/colorselector.edc @@ -12,8 +12,8 @@ group { name: "elm/layout/popup/colorselector"; part { name: "border"; type: RECT; description { state: "default" 0.0; -min: 404 263; -max: 404 263; +min: 351 258; +max: 351 258; color_class: "popup_helper_border"; rel1.offset: -1 -1; rel2.offset: 0 0; @@ -552,23 +552,24 @@ group { name: "elm/colorselector/picker/default"; } } } + group { name: "elm/colorselector/palette/default"; data { - item: "vertical_pad" "8"; - item: "horizontal_pad" "8"; + item: "vertical_pad" "0"; + item: "horizontal_pad" "7"; } parts { part { name: "bg_border"; type: RECT; - description { state: "default" 0.0; -min: 402 261; -max: 402 261; + description { state: "default" 0.00; +min: 349 256; +max: 349 256; color_class: "colorselector_border_bg"; } } part { name: "bg"; type: RECT; - description { state: "default" 0.0; + description { state: "default" 0.00; color_class: "colorselector_bg"; rel1 { offset: 5 5; @@ -582,13 +583,13 @@ group { name: "elm/colorselector/palette/default"; } part { name: "elm.picker"; type: SWALLOW; - description { state: "default" 0.0; -align: 0.0 0.0; + description { state: "default" 0.00; +align: 0.00 0.00; fixed: 1 1; min: 96 169; max: 96 169; rel1 { - relative: 1.0 0.0; + relative: 1.00 0.00; offset: 16 25; to_x: "elm.selector"; to_y: "bg_border"; @@ -601,13 +602,13 @@ group { name: "elm/colorselector/palette/default"; } part { name: "elm.palette"; type: SWALLOW; - description { state: "default" 0.0; -align: 0.5 0.0; + description { state: "default" 0.00; +align: 0.50 0.00; fixed: 1 1; -min: 0 32; -max: -1 32; +min: 0 27; +max: -1 27; rel1 { - relative: 0.0 1.0; + relative: 0.00 1.00; offset: 0 10; to: "elm.selector"; } @@ -617,19 +618,19 @@ group { name: "elm/colorselector/palette/default"; to_y: "elm.selector"; } } - description { state: "off" 0.0; -align: 0.5 0.0; -rel1.relative: 0.0 1.0; -rel2.relative: 1.0 0.0; + description { state: "off" 0.00; +align: 0.50 0.00; +rel1.relative: 0.00 1.00; +rel2.relative: 1.00 0.00; } } part { name: "elm.selector"; type: SWALLOW; - description { state: "default" 0.0; -align: 0.0 0.0; + description { state: "default" 0.00; +align: 0.00 0.00; fixed: 1 1; -min: 240 159; -max: 240 159; +min: 188 159; +max: 188 159; rel1 { offset: 25 34; to: "bg_border"; @@ -922,29 +923,19 @@ group { name: "elm/colorselector/picker/base/default"; } group { name: "elm/colorselector/item/default"; parts { - part { name: "base"; - type: RECT; - description { state: "default" 0.0; -visible: 0; -min: 27 28; -max: 27 28; - } - } - part { name: &quo
[EGIT] [tools/eflete] eflete-1.18 01/91: Project manager: move usage edje_edit_image API into main thread.
rimmed pushed a commit to branch eflete-1.18. http://git.enlightenment.org/tools/eflete.git/commit/?id=6c7fbca9781eaa9d7a7e7d3b440dc30cc2007a52 commit 6c7fbca9781eaa9d7a7e7d3b440dc30cc2007a52 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Aug 31 12:29:58 2016 +0300 Project manager: move usage edje_edit_image API into main thread. edje_edit_image API's calls inside Ecore_Thread causes undefined behaviour. --- .../project_manager_export_resources.c | 60 +- 1 file changed, 48 insertions(+), 12 deletions(-) diff --git a/src/bin/project_manager/project_manager_export_resources.c b/src/bin/project_manager/project_manager_export_resources.c index 8ef3509..8b75e64 100644 --- a/src/bin/project_manager/project_manager_export_resources.c +++ b/src/bin/project_manager/project_manager_export_resources.c @@ -68,9 +68,13 @@ typedef struct { Evas *e; Evas_Object *im; - const char *id; + Evas_Object *edit_object; + int id; + const char *id_path; const char *dev; const char *source; + const char *image_name; + const char *message; Eina_Lock mutex; } Image_Data_Save; @@ -79,15 +83,36 @@ _image_save_routine(void *data) { Image_Data_Save *ids = (Image_Data_Save *)data; eina_lock_take(>mutex); - + ids->id_path = eina_stringshare_printf("edje/images/%i", ids->id); ids->im = evas_object_image_add(ids->e); - evas_object_image_file_set(ids->im, ids->dev, ids->id); + evas_object_image_file_set(ids->im, ids->dev, ids->id_path); evas_object_image_save(ids->im, ids->source, NULL, NULL); evas_object_del(ids->im); eina_lock_release(>mutex); return NULL; } +typedef struct +{ + Evas_Object *edit_object; + const char *name; + Edje_Edit_Image_Comp comp; + int id; + Eina_Lock mutex; +} Image_Data_Get; + +static void* +_image_data_get_routine(void *data) +{ + Image_Data_Get *idg = (Image_Data_Get *)data; + eina_lock_take(>mutex); + idg->comp = edje_edit_image_compression_type_get(idg->edit_object, idg->name); + idg->id = edje_edit_image_id_get(idg->edit_object, idg->name); + eina_lock_release(>mutex); + return NULL; +} + + void _image_resources_feedback_job(void *data, Ecore_Thread *th) { @@ -103,7 +128,7 @@ _image_resources_feedback_job(void *data, Ecore_Thread *th) External_Resource *res; Eina_List *images; Eina_Stringshare *resource_folder; - Eina_Stringshare *image_name, *source_file; + Eina_Stringshare *image_name; Eina_List *l; Evas *e; int id; @@ -137,8 +162,14 @@ _image_resources_feedback_job(void *data, Ecore_Thread *th) Image_Data_Save *ids = mem_calloc(1, sizeof(Image_Data_Save)); ids->e = e; ids->dev = project->dev; + ids->edit_object = project->global_object; eina_lock_new(>mutex); eina_lock_take(>mutex); + + Image_Data_Get *idg = mem_calloc(1, sizeof(Image_Data_Get)); + idg->edit_object = project->global_object; + eina_lock_new(>mutex); + eina_lock_take(>mutex); EINA_LIST_FOREACH(images, l, image_name) { /* for supporting old themes, which were compilled @@ -151,10 +182,14 @@ _image_resources_feedback_job(void *data, Ecore_Thread *th) ecore_thread_feedback(th, message); res = (External_Resource *) resource_add(image_name, RESOURCE_TYPE_IMAGE); -comp_type = edje_edit_image_compression_type_get(project->global_object, - res->name); - res->source = eina_stringshare_add(image_name); +idg->name = image_name; +eina_lock_release(>mutex); +ecore_main_loop_thread_safe_call_sync(_image_data_get_routine, idg); +eina_lock_take(>mutex); + +comp_type = idg->comp; + if (comp_type == EDJE_EDIT_IMAGE_COMP_USER) res->path = eina_stringshare_add(res->source); else @@ -166,7 +201,7 @@ _image_resources_feedback_job(void *data, Ecore_Thread *th) file_dir = ecore_file_dir_get(res->path); ecore_file_mkpath(file_dir); free(file_dir); - id = edje_edit_image_id_get(project->global_object, image_name); + id = idg->id; if (id < 0) { message = eina_stringshare_printf(_("Image %s coudn't be exported"), image_name); @@ -175,20 +210,21 @@ _image_resources_feedback_job(void *data, Ecore_Thread *th) sleep(2); continue; } - source_file = eina_stringshare_printf("edje/images/%i", id); - ids->id = source_file; + ids->id = id; ids->im = NULL; ids->source = res->path; eina_lock_release(>mutex); ecore_
[EGIT] [tools/eflete] eflete-1.18 06/91: Popup: apply serch icon for tizen theme.
rimmed pushed a commit to branch eflete-1.18. http://git.enlightenment.org/tools/eflete.git/commit/?id=b9b9a491f0e9780d79b7abf9da4f539dc89e037c commit b9b9a491f0e9780d79b7abf9da4f539dc89e037c Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Aug 31 17:48:20 2016 +0300 Popup: apply serch icon for tizen theme. --- src/bin/ui/popup.c | 5 + 1 file changed, 5 insertions(+) diff --git a/src/bin/ui/popup.c b/src/bin/ui/popup.c index 7630244..f2cd32a 100644 --- a/src/bin/ui/popup.c +++ b/src/bin/ui/popup.c @@ -849,8 +849,13 @@ popup_gengrid_image_helper(const char *title, Evas_Object *follow_up, ENTRY_ADD(fs, entry, true); elm_object_part_text_set(entry, "guide", _("Search")); +#if !HAVE_TIZEN ICON_STANDARD_ADD(entry, icon, true, "search"); elm_object_part_content_set(entry, "elm.swallow.end", icon); +#else + elm_object_style_set(entry, "search"); +#endif + elm_object_part_content_set(fs, "eflete.swallow.search_line", entry); evas_object_smart_callback_add(entry, "changed", _on_images_search_entry_changed_cb, helper_data); --
[EGIT] [core/efl] master 01/01: edje_cc: delete unused image sets from edj file.
nikawhite pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=66af7d19280ef253394a8cd11f49d9ff9d876a9b commit 66af7d19280ef253394a8cd11f49d9ff9d876a9b Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Thu Jan 19 09:54:36 2017 +0200 edje_cc: delete unused image sets from edj file. Delete Edje_Image_Directory_Set instance from edj file in case if image set isn't used inside any part. This commit apply behaviour from unused images to the unused image sets. @fix T5109 --- src/bin/edje/edje_cc_out.c | 15 ++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/bin/edje/edje_cc_out.c b/src/bin/edje/edje_cc_out.c index 80aa3f0..984f165 100644 --- a/src/bin/edje/edje_cc_out.c +++ b/src/bin/edje/edje_cc_out.c @@ -3948,7 +3948,7 @@ free_group: if (edje_file->image_dir && !is_lua) { Edje_Image_Directory_Entry *de, *de_last, *img; -Edje_Image_Directory_Set *set; +Edje_Image_Directory_Set *set, *set_last, *set_realloc; Edje_Image_Directory_Set_Entry *set_e; Eina_List *images_unused_list = NULL; unsigned int i; @@ -3996,6 +3996,19 @@ free_group: free((void *)set_e->name); free(set_e); } + set->entries = NULL; + set_last = edje_file->image_dir->sets + edje_file->image_dir->sets_count - 1; + iui = mem_alloc(SZ(Image_Unused_Ids)); + iui->old_id = set_last->id; + images_unused_list = eina_list_append(images_unused_list, iui); + iui->new_id = i; + set_last->id = i; + memcpy(set, set_last, sizeof(Edje_Image_Directory_Set)); + --i; + edje_file->image_dir->sets_count--; + set_realloc = realloc(edje_file->image_dir->sets, + sizeof(Edje_Image_Directory_Set) * edje_file->image_dir->sets_count); + edje_file->image_dir->sets = set_realloc; } /* update image id in parts */ --
[EGIT] [tools/eflete] master 02/12: Editor: add proxy for edje_edit_image_set_add API.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=beb696e4bf21bd7ab97562dd510866f6bd71722f commit beb696e4bf21bd7ab97562dd510866f6bd71722f Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Tue Jan 17 16:56:08 2017 +0200 Editor: add proxy for edje_edit_image_set_add API. Added signal SIGNAL_EDITOR_IMAGE_SET_ADDED for make possible communication between resource manager and editor modules. This signal will be emmited when new image set will be added. --- src/bin/common/signals.h | 9 - src/bin/editor/editor.h | 3 +++ src/bin/editor/editor_top_level.c | 18 ++ src/bin/resource_manager/resource_manager_react.c | 19 +++ 4 files changed, 48 insertions(+), 1 deletion(-) diff --git a/src/bin/common/signals.h b/src/bin/common/signals.h index c7d8e1e..5ac1004 100644 --- a/src/bin/common/signals.h +++ b/src/bin/common/signals.h @@ -567,7 +567,14 @@ typedef struct { #define SIGNAL_EDITOR_IMAGE_DELETED "SIGNAL_EDITOR_IMAGE_DELETED" /** - * emited when tone is added. + * emited when image set added. + * eventinfo - image set name. + * + * @ingroup Window + */ +#define SIGNAL_EDITOR_IMAGE_SET_ADDED "SIGNAL_EDITOR_IMAGE_SET_ADDED" +/** + * emited when textblock style is added. * eventinfo - NULL * * @ingroup Window diff --git a/src/bin/editor/editor.h b/src/bin/editor/editor.h index a0dede8..144c869 100644 --- a/src/bin/editor/editor.h +++ b/src/bin/editor/editor.h @@ -289,6 +289,9 @@ Eina_Bool editor_image_del(Evas_Object *obj, const char *selected, Eina_Bool notify) EINA_WARN_UNUSED_RESULT; Eina_Bool +editor_image_set_add(Evas_Object *obj, const char *name, Eina_Bool notify) EINA_WARN_UNUSED_RESULT; + +Eina_Bool editor_image_set_image_border_left_set(Evas_Object *obj, const char *name, int position, int l) EINA_WARN_UNUSED_RESULT; Eina_Bool diff --git a/src/bin/editor/editor_top_level.c b/src/bin/editor/editor_top_level.c index 0d462f7..e0bf277 100644 --- a/src/bin/editor/editor_top_level.c +++ b/src/bin/editor/editor_top_level.c @@ -58,6 +58,24 @@ editor_image_del(Evas_Object *obj, const char *name, Eina_Bool notify) return true; } +Eina_Bool +editor_image_set_add(Evas_Object *obj, const char *name, Eina_Bool notify) +{ + assert(obj != NULL); + assert(name != NULL); + + if (!edje_edit_image_set_add(obj, name)) + return false; + + if (!editor_save_all(obj)) + return false; + _editor_project_changed(); + + if (notify) + evas_object_smart_callback_call(ap.win, SIGNAL_EDITOR_IMAGE_SET_ADDED, (void *)name); + return true; +} + inline static Eina_Bool _image_set_image_attribute_save(Evas_Object *obj, Editor_Attribute_Resource_Change *send) { diff --git a/src/bin/resource_manager/resource_manager_react.c b/src/bin/resource_manager/resource_manager_react.c index 4b93896..501c767 100644 --- a/src/bin/resource_manager/resource_manager_react.c +++ b/src/bin/resource_manager/resource_manager_react.c @@ -634,6 +634,23 @@ image_deleted(void *data, } static void +_image_set_added(void *data, + Evas_Object *obj __UNUSED__, + void *ei) +{ + Image_Set2 *res; + const char *name = (const char *)ei; + Project *project = (Project *)data; + + + res = mem_calloc(1, sizeof(Image2)); + res->common.type = RESOURCE2_TYPE_IMAGE_SET; + res->common.name = eina_stringshare_add(name); + + project->RM.image_sets = eina_list_append(project->RM.image_sets, res); +} + +static void _style_added(void *data, Evas_Object *obj __UNUSED__, void *ei) @@ -937,6 +954,7 @@ _resource_callbacks_register(Project *project) evas_object_smart_callback_add(ap.win, SIGNAL_EDITOR_TONE_DELETED, _tone_deleted, project); evas_object_smart_callback_add(ap.win, SIGNAL_EDITOR_IMAGE_ADDED, _image_added, project); evas_object_smart_callback_add(ap.win, SIGNAL_EDITOR_IMAGE_DELETED, image_deleted, project); + evas_object_smart_callback_add(ap.win, SIGNAL_EDITOR_IMAGE_SET_ADDED, _image_set_added, project); evas_object_smart_callback_add(ap.win, SIGNAL_EDITOR_STYLE_ADDED, _style_added, project); evas_object_smart_callback_add(ap.win, SIGNAL_EDITOR_STYLE_DELETED, _style_deleted, project); evas_object_smart_callback_add(ap.win, SIGNAL_EDITOR_STYLE_TAG_CHANGED, _style_changed, project); @@ -972,6 +990,7 @@ _resource_callbacks_unregister(Project *project) evas_object_smart_callback_del_full(ap.win, SIGNAL_EDITOR_TONE_DELETED, _tone_deleted, project); evas_object_smart_callback_del_full(ap.win, SIGNAL_EDITOR_IMAGE_ADDED, _image_added, project); evas_object_smart_callback_del_full(ap.win, SIGNAL_EDITOR_IMAGE_DELETED, image_deleted, project); + evas_object_smart_callback_del_full(ap.win, SIGNAL_EDITOR_IMAGE_SET_ADDED, _image_set_added, project); evas
[EGIT] [tools/eflete] master 01/12: Signals: fix copy-paste error in doxygen comments.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=11a424b8f53bff6d2f2a42444116822e863af7b9 commit 11a424b8f53bff6d2f2a42444116822e863af7b9 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Tue Jan 17 16:49:54 2017 +0200 Signals: fix copy-paste error in doxygen comments. --- src/bin/common/signals.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/bin/common/signals.h b/src/bin/common/signals.h index 94b61f2..c7d8e1e 100644 --- a/src/bin/common/signals.h +++ b/src/bin/common/signals.h @@ -543,7 +543,7 @@ typedef struct { #define SIGNAL_EDITOR_TONE_ADDED "SIGNAL_EDITOR_TONE_ADDED" /** - * emited when sound is deleted. + * emited when tone is deleted. * eventinfo - tone's name * * @ingroup Window @@ -551,7 +551,7 @@ typedef struct { #define SIGNAL_EDITOR_TONE_DELETED "SIGNAL_EDITOR_TONE_DELETED" /** - * emited when tone is added. + * emited when image is added. * eventinfo - image's name * * @ingroup Window @@ -559,7 +559,7 @@ typedef struct { #define SIGNAL_EDITOR_IMAGE_ADDED "SIGNAL_EDITOR_IMAGE_ADDED" /** - * emited when sound is deleted. + * emited when image is deleted. * eventinfo - image's name * * @ingroup Window --
[EGIT] [tools/eflete] master 10/12: Image manager: update controls in images set images grid.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=b2d0db5be836b121c5eb187ff3f1734b7ee5ade5 commit b2d0db5be836b121c5eb187ff3f1734b7ee5ade5 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Jan 18 09:56:03 2017 +0200 Image manager: update controls in images set images grid. Added buttons "+" and "-" into images set grid. Currently those buttons are dummy. Functionality will be implemented inside next commits. --- src/bin/ui/image_manager.c | 55 +- 1 file changed, 40 insertions(+), 15 deletions(-) diff --git a/src/bin/ui/image_manager.c b/src/bin/ui/image_manager.c index ddf20f4..1eff3ae 100644 --- a/src/bin/ui/image_manager.c +++ b/src/bin/ui/image_manager.c @@ -65,6 +65,7 @@ struct _Image_Manager Evas_Object *menu; struct { Evas_Object *entry; +Evas_Object *grid; Evas_Object *box; Resource_Name_Validator *validator; } image_set; @@ -213,20 +214,26 @@ _image_manager_image_set_grid_create(Evas_Object *parent, Resource2 *res = NULL; Image2 *image_res = NULL; Eina_List *l = NULL; - Evas_Object *images_set_grid = NULL; + Evas_Object *layout = NULL; + Evas_Object *button = NULL; Image_Item *image_set_item = NULL; assert(parent != NULL); assert(it != NULL); - images_set_grid = elm_gengrid_add(parent); - elm_gengrid_item_size_set(images_set_grid, ITEM_WIDTH, ITEM_HEIGHT); - elm_gengrid_align_set(images_set_grid, 0.0, 0.0); - elm_scroller_policy_set(images_set_grid, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO); - elm_gengrid_multi_select_mode_set(images_set_grid, ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL); - elm_gengrid_select_mode_set(images_set_grid, ELM_OBJECT_SELECT_MODE_ALWAYS); - evas_object_size_hint_weight_set(mng.image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(mng.image, EVAS_HINT_FILL, EVAS_HINT_FILL); + layout = elm_layout_add(parent); +#ifdef HAVE_TIZEN + elm_layout_theme_set(layout, "layout", "manager", "internal"); +#else + elm_layout_theme_set(layout, "layout", "image_manager", "default"); +#endif + evas_object_del(mng.image_set.grid); + mng.image_set.grid = elm_gengrid_add(parent); + elm_gengrid_item_size_set(mng.image_set.grid, ITEM_WIDTH, ITEM_HEIGHT); + elm_gengrid_align_set(mng.image_set.grid, 0.0, 0.0); + elm_scroller_policy_set(mng.image_set.grid, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO); + elm_gengrid_multi_select_mode_set(mng.image_set.grid, ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL); + elm_gengrid_select_mode_set(mng.image_set.grid, ELM_OBJECT_SELECT_MODE_ALWAYS); res = resource_manager_find(ap.project->RM.image_sets, it->image_name); int place = 0; @@ -250,13 +257,24 @@ _image_manager_image_set_grid_create(Evas_Object *parent, edje_edit_image_set_image_min_get(ap.project->global_object, res->common.name, place, _set_item->set.min_w, _set_item->set.min_h); image_set_item->set.border_scale = edje_edit_image_set_image_border_scale_get(ap.project->global_object, - res->common.name, - place); -elm_gengrid_item_append(images_set_grid, gic, image_set_item, _grid_image_set_image_sel , (void *)image_set_item); + res->common.name, + place); +elm_gengrid_item_append(mng.image_set.grid, gic, image_set_item, _grid_image_set_image_sel , (void *)image_set_item); place++; } - return images_set_grid; + elm_object_part_content_set(layout, "elm.swallow.list", mng.image_set.grid); + + button = elm_button_add(layout); + elm_object_style_set(button, "plus_managers"); + elm_object_part_content_set(layout, "elm.swallow.btn_add", button); + + button = elm_button_add(layout); + elm_object_style_set(button, "minus_managers"); + elm_object_part_content_set(layout, "elm.swallow.btn_del", button); + + evas_object_show(layout); + return layout; } /* icon fetching callback */ static Evas_Object * @@ -385,7 +403,12 @@ _grid_sel_cb(void *data __UNUSED__, #else to_del = elm_object_part_content_unset(mng.property_panes, "left"); #endif + if (to_del == mng.image) + mng.image = NULL; + else if (to_del == mng.image_set.grid) + mng.image_set.grid = NULL; evas_object_del(to_del); + if (selected_images_count == 1) { item = elm_object_item_data_get(eina_
[EGIT] [tools/eflete] master 11/12: Image manager: add ability to delete images from images set.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=531980489169fad20b06ae1496d1d5e98a2dd12b commit 531980489169fad20b06ae1496d1d5e98a2dd12b Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Jan 18 09:59:46 2017 +0200 Image manager: add ability to delete images from images set. --- src/bin/ui/image_manager.c | 29 + 1 file changed, 29 insertions(+) diff --git a/src/bin/ui/image_manager.c b/src/bin/ui/image_manager.c index 1eff3ae..13537e3 100644 --- a/src/bin/ui/image_manager.c +++ b/src/bin/ui/image_manager.c @@ -207,6 +207,34 @@ _grid_image_set_image_sel(void *data, evas_object_smart_callback_call(ap.win, SIGNAL_IMAGE_SELECTED, it); } +static void +_image_set_image_del(void *data __UNUSED__, + Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) +{ + Image_Item *image_set = (Image_Item *)data; + Image_Item *image = NULL; + Eina_List *sel_list = NULL, *l = NULL, *l2 = NULL; + Elm_Object_Item *gengrid_item = NULL; + Elm_Object_Item *gengrid_next_item = NULL; + + assert(mng.image_set.grid != NULL); + sel_list = (Eina_List *)elm_gengrid_selected_items_get(mng.image_set.grid); + + EINA_LIST_FOREACH_SAFE(sel_list, l, l2, gengrid_item) + { +image = (Image_Item *)elm_object_item_data_get(gengrid_item); +CRIT_ON_FAIL(editor_image_set_image_del(ap.project->global_object, image_set->image_name, image->image_name, true)); + +elm_gengrid_item_selected_set(gengrid_item, false); +gengrid_next_item = elm_gengrid_item_next_get(gengrid_item); +elm_object_item_del(gengrid_item); + } + elm_gengrid_item_selected_set(gengrid_next_item, true); + elm_gengrid_realized_items_update(mng.image_set.grid); + elm_gengrid_realized_items_update(mng.gengrid); +} + static inline Evas_Object * _image_manager_image_set_grid_create(Evas_Object *parent, const Image_Item *it) @@ -271,6 +299,7 @@ _image_manager_image_set_grid_create(Evas_Object *parent, button = elm_button_add(layout); elm_object_style_set(button, "minus_managers"); + evas_object_smart_callback_add(button, signals.elm.button.clicked, _image_set_image_del, it); elm_object_part_content_set(layout, "elm.swallow.btn_del", button); evas_object_show(layout); --
[EGIT] [tools/eflete] master 04/12: Editor: add proxy for edje_edit_image_set_set API.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=e8ddca6596f652256b08500c7f9f9504a657ab27 commit e8ddca6596f652256b08500c7f9f9504a657ab27 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Tue Jan 17 17:07:18 2017 +0200 Editor: add proxy for edje_edit_image_set_set API. Added signal SIGNAL_EDITOR_IMAGE_SET_IMAGE_ADD for make possible communication between resource manager and editor modules. This signal will be emmited when new image will be added into image set. Implemented editor API and resource manager reaction. --- src/bin/common/signals.h | 13 +++ src/bin/editor/editor.h | 3 +++ src/bin/editor/editor_top_level.c | 28 +++ src/bin/resource_manager/resource_manager_react.c | 17 ++ 4 files changed, 61 insertions(+) diff --git a/src/bin/common/signals.h b/src/bin/common/signals.h index 71ac08c..956c712 100644 --- a/src/bin/common/signals.h +++ b/src/bin/common/signals.h @@ -582,6 +582,19 @@ typedef struct { */ #define SIGNAL_EDITOR_IMAGE_SET_DELETED "SIGNAL_EDITOR_IMAGE_SET_DELETED" +typedef struct { + int image_position; + const char *set_name; + const char *image_name; +} Image_Set_Change; +/** + * emited on add new image into image set + * eventinfo - Image_Set_Change struct + * + * @ingroup Window + */ +#define SIGNAL_EDITOR_IMAGE_SET_IMAGE_ADD "SIGNAL_EDITOR_IMAGE_SET_IMAGE_ADD" + /** * emited when textblock style is added. diff --git a/src/bin/editor/editor.h b/src/bin/editor/editor.h index 1bbe0d6..d190cc2 100644 --- a/src/bin/editor/editor.h +++ b/src/bin/editor/editor.h @@ -295,6 +295,9 @@ Eina_Bool editor_image_set_del(Evas_Object *obj, const char *name, Eina_Bool notify) EINA_WARN_UNUSED_RESULT; Eina_Bool +editor_image_set_image_add(Evas_Object *obj, const char *image_set_name, const char *image, Eina_Bool notify) EINA_WARN_UNUSED_RESULT; + +Eina_Bool editor_image_set_image_border_left_set(Evas_Object *obj, const char *name, int position, int l) EINA_WARN_UNUSED_RESULT; Eina_Bool diff --git a/src/bin/editor/editor_top_level.c b/src/bin/editor/editor_top_level.c index 953ba79..50d8298 100644 --- a/src/bin/editor/editor_top_level.c +++ b/src/bin/editor/editor_top_level.c @@ -94,6 +94,34 @@ editor_image_set_del(Evas_Object *obj, const char *name, Eina_Bool notify) return true; } +Eina_Bool +editor_image_set_image_add(Evas_Object *obj, const char *image_set_name, const char *image, Eina_Bool notify) +{ + assert(obj != NULL); + assert(image_set_name != NULL); + assert(image != NULL); + + Image_Set_Change send; + + if (!edje_edit_image_set_image_add(obj, image_set_name, image)) + return false; + + if (!editor_save_all(obj)) + return false; + _editor_project_changed(); + + if (notify) + { +send.set_name = eina_stringshare_add(image_set_name); +send.image_name = eina_stringshare_add(image); +evas_object_smart_callback_call(ap.win, SIGNAL_EDITOR_IMAGE_SET_IMAGE_ADD, ); +eina_stringshare_del(send.set_name); +eina_stringshare_del(send.image_name); + } + + return true; +} + inline static Eina_Bool _image_set_image_attribute_save(Evas_Object *obj, Editor_Attribute_Resource_Change *send) { diff --git a/src/bin/resource_manager/resource_manager_react.c b/src/bin/resource_manager/resource_manager_react.c index 8b106ac..0f06b62 100644 --- a/src/bin/resource_manager/resource_manager_react.c +++ b/src/bin/resource_manager/resource_manager_react.c @@ -665,6 +665,21 @@ _image_set_deleted(void *data, } static void +_image_set_image_add(void *data, + Evas_Object *obj __UNUSED__, + void *ei) +{ + Image_Set2 *image_set_res; + Image2 *image_res; + Image_Set_Change *change = (Image_Set_Change *)ei; + Project *pro = (Project *)data; + + image_set_res = (Image_Set2 *)resource_manager_find(pro->RM.image_sets, change->set_name); + image_res = (Image2 *)resource_manager_find(pro->RM.images, change->image_name); + _resource_usage_resource_add((Resource2 *)image_set_res, (Resource2 *)image_res); +} + +static void _style_added(void *data, Evas_Object *obj __UNUSED__, void *ei) @@ -970,6 +985,7 @@ _resource_callbacks_register(Project *project) evas_object_smart_callback_add(ap.win, SIGNAL_EDITOR_IMAGE_DELETED, image_deleted, project); evas_object_smart_callback_add(ap.win, SIGNAL_EDITOR_IMAGE_SET_ADDED, _image_set_added, project); evas_object_smart_callback_add(ap.win, SIGNAL_EDITOR_IMAGE_SET_DELETED, _image_set_deleted, project); + evas_object_smart_callback_add(ap.win, SIGNAL_EDITOR_IMAGE_SET_IMAGE_ADD, _image_set_image_add, project); evas_object_smart_callback_add(ap.win, SIGNAL_EDITOR_STYLE_ADDED, _style_added, project);
[EGIT] [tools/eflete] master 03/12: Editor: add proxy for edje_edit_image_set_set API.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=8995164f4fc94c9d167183236676395ad4efca55 commit 8995164f4fc94c9d167183236676395ad4efca55 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Tue Jan 17 17:02:30 2017 +0200 Editor: add proxy for edje_edit_image_set_set API. Added signal SIGNAL_EDITOR_IMAGE_SET_DELETED for make possible communication between resource manager and editor modules. This signal will be emmited when new image set will be delete. Enhanced Resource manager internal API. Added _resource_image_set_del function, that correctly delete image set. This function take care about any relative resources. --- src/bin/common/signals.h | 10 src/bin/editor/editor.h| 3 + src/bin/editor/editor_top_level.c | 18 ++ src/bin/resource_manager/resource_manager_free.c | 70 ++ .../resource_manager/resource_manager_private.h| 10 +++- src/bin/resource_manager/resource_manager_react.c | 16 + 6 files changed, 125 insertions(+), 2 deletions(-) diff --git a/src/bin/common/signals.h b/src/bin/common/signals.h index 5ac1004..71ac08c 100644 --- a/src/bin/common/signals.h +++ b/src/bin/common/signals.h @@ -573,6 +573,16 @@ typedef struct { * @ingroup Window */ #define SIGNAL_EDITOR_IMAGE_SET_ADDED "SIGNAL_EDITOR_IMAGE_SET_ADDED" + +/** + * emited when image set deleted. + * eventinfo - image set name. + * + * @ingroup Window + */ +#define SIGNAL_EDITOR_IMAGE_SET_DELETED "SIGNAL_EDITOR_IMAGE_SET_DELETED" + + /** * emited when textblock style is added. * eventinfo - NULL diff --git a/src/bin/editor/editor.h b/src/bin/editor/editor.h index 144c869..1bbe0d6 100644 --- a/src/bin/editor/editor.h +++ b/src/bin/editor/editor.h @@ -292,6 +292,9 @@ Eina_Bool editor_image_set_add(Evas_Object *obj, const char *name, Eina_Bool notify) EINA_WARN_UNUSED_RESULT; Eina_Bool +editor_image_set_del(Evas_Object *obj, const char *name, Eina_Bool notify) EINA_WARN_UNUSED_RESULT; + +Eina_Bool editor_image_set_image_border_left_set(Evas_Object *obj, const char *name, int position, int l) EINA_WARN_UNUSED_RESULT; Eina_Bool diff --git a/src/bin/editor/editor_top_level.c b/src/bin/editor/editor_top_level.c index e0bf277..953ba79 100644 --- a/src/bin/editor/editor_top_level.c +++ b/src/bin/editor/editor_top_level.c @@ -76,6 +76,24 @@ editor_image_set_add(Evas_Object *obj, const char *name, Eina_Bool notify) return true; } +Eina_Bool +editor_image_set_del(Evas_Object *obj, const char *name, Eina_Bool notify) +{ + assert(obj != NULL); + assert(name != NULL); + + if (!edje_edit_image_set_del(obj, name)) + return false; + + if (!editor_save_all(obj)) + return false; + _editor_project_changed(); + + if (notify) + evas_object_smart_callback_call(ap.win, SIGNAL_EDITOR_IMAGE_SET_DELETED, (void *)name); + return true; +} + inline static Eina_Bool _image_set_image_attribute_save(Evas_Object *obj, Editor_Attribute_Resource_Change *send) { diff --git a/src/bin/resource_manager/resource_manager_free.c b/src/bin/resource_manager/resource_manager_free.c index 3edd13c..9b28139 100644 --- a/src/bin/resource_manager/resource_manager_free.c +++ b/src/bin/resource_manager/resource_manager_free.c @@ -139,6 +139,76 @@ _resource_image_del(Project *pro, Image2 *res_image) } void +_resource_image_set_del(Project *pro, Image_Set2 *res_image_set) +{ + Eina_List *l, *images; + Resource2 *res; + State2 *state; + Image_Set2 *image_set; + int idx; + + Eina_Bool is_opened = false; + + EINA_LIST_FOREACH(res_image_set->common.used_in, l, res) + { +if (res->common.type == RESOURCE2_TYPE_STATE) + { + state = (State2 *)res; + if (res_image_set->common.name == state->normal) + { + if (!state->part->group->edit_object) +{ + is_opened = true; + resource_group_edit_object_load(pro, + state->part->group, + evas_object_evas_get(ap.win)); +} + CRIT_ON_FAIL(editor_state_image_set(state->part->group->edit_object, + NULL, + false, + true, + state->part->common.name, + state->common.name, + state->val, + EFLETE_DUMMY_IMAGE_NAME)); + if (is_opened)
[EGIT] [tools/eflete] master 05/12: Editor: add proxy for edje_edit_image_set_set API.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=649c528ab5b3aef5380d1813cfc987fba90714b4 commit 649c528ab5b3aef5380d1813cfc987fba90714b4 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Tue Jan 17 17:09:42 2017 +0200 Editor: add proxy for edje_edit_image_set_set API. Added signal SIGNAL_EDITOR_IMAGE_SET_IMAGE_DEL for make possible communication between resource manager and editor modules. This signal will be emmited when image will be deleted from image set. Implemented editor API and resource manager reaction. --- src/bin/common/signals.h | 7 src/bin/editor/editor.h | 3 ++ src/bin/editor/editor_top_level.c | 40 +++ src/bin/resource_manager/resource_manager_react.c | 18 ++ 4 files changed, 68 insertions(+) diff --git a/src/bin/common/signals.h b/src/bin/common/signals.h index 956c712..0959130 100644 --- a/src/bin/common/signals.h +++ b/src/bin/common/signals.h @@ -595,6 +595,13 @@ typedef struct { */ #define SIGNAL_EDITOR_IMAGE_SET_IMAGE_ADD "SIGNAL_EDITOR_IMAGE_SET_IMAGE_ADD" +/** + * emited on delete image from image set + * eventinfo - Image_Set_Change struct + * + * @ingroup Window + */ +#define SIGNAL_EDITOR_IMAGE_SET_IMAGE_DEL "SIGNAL_EDITOR_IMAGE_SET_IMAGE_DEL" /** * emited when textblock style is added. diff --git a/src/bin/editor/editor.h b/src/bin/editor/editor.h index d190cc2..c67cac4 100644 --- a/src/bin/editor/editor.h +++ b/src/bin/editor/editor.h @@ -298,6 +298,9 @@ Eina_Bool editor_image_set_image_add(Evas_Object *obj, const char *image_set_name, const char *image, Eina_Bool notify) EINA_WARN_UNUSED_RESULT; Eina_Bool +editor_image_set_image_del(Evas_Object *obj, const char *image_set_name, const char *image, Eina_Bool notify) EINA_WARN_UNUSED_RESULT; + +Eina_Bool editor_image_set_image_border_left_set(Evas_Object *obj, const char *name, int position, int l) EINA_WARN_UNUSED_RESULT; Eina_Bool diff --git a/src/bin/editor/editor_top_level.c b/src/bin/editor/editor_top_level.c index 50d8298..dde9251 100644 --- a/src/bin/editor/editor_top_level.c +++ b/src/bin/editor/editor_top_level.c @@ -122,6 +122,46 @@ editor_image_set_image_add(Evas_Object *obj, const char *image_set_name, const c return true; } +Eina_Bool +editor_image_set_image_del(Evas_Object *obj, const char *image_set_name, const char *image_name, Eina_Bool notify) +{ + assert(obj != NULL); + assert(image_set_name != NULL); + + Image_Set_Change send; + Eina_List *images = NULL, *l = NULL; + int pos = 0; + const char *name = NULL; + + images = edje_edit_image_set_images_list_get(obj, image_set_name); + EINA_LIST_FOREACH(images, l, name) + { +if (!strcmp(image_name, name)) + break; +pos++; + } + + + if (!edje_edit_image_set_image_del(obj, image_set_name, pos)) + return false; + + if (!editor_save_all(obj)) + return false; + _editor_project_changed(); + + if (notify) + { +send.set_name = eina_stringshare_add(image_set_name); +send.image_position = pos; +send.image_name = eina_stringshare_add(image_name); +evas_object_smart_callback_call(ap.win, SIGNAL_EDITOR_IMAGE_SET_IMAGE_DEL, ); +eina_stringshare_del(send.set_name); +eina_stringshare_del(send.image_name); + } + + return true; +} + inline static Eina_Bool _image_set_image_attribute_save(Evas_Object *obj, Editor_Attribute_Resource_Change *send) { diff --git a/src/bin/resource_manager/resource_manager_react.c b/src/bin/resource_manager/resource_manager_react.c index 0f06b62..1423386 100644 --- a/src/bin/resource_manager/resource_manager_react.c +++ b/src/bin/resource_manager/resource_manager_react.c @@ -680,6 +680,22 @@ _image_set_image_add(void *data, } static void +_image_set_image_del(void *data, + Evas_Object *obj __UNUSED__, + void *ei) +{ + Image_Set2 *image_set_res; + Image2 *image_res; + Image_Set_Change *change = (Image_Set_Change *)ei; + Project *pro = (Project *)data; + + image_set_res = (Image_Set2 *)resource_manager_find(pro->RM.image_sets, change->set_name); + image_res = (Image2 *)resource_manager_find(pro->RM.images, change->image_name); + + _resource_usage_resource_del((Resource2 *)image_set_res, (Resource2 *)image_res); +} + +static void _style_added(void *data, Evas_Object *obj __UNUSED__, void *ei) @@ -986,6 +1002,7 @@ _resource_callbacks_register(Project *project) evas_object_smart_callback_add(ap.win, SIGNAL_EDITOR_IMAGE_SET_ADDED, _image_set_added, project); evas_object_smart_callback_add(ap.win, SIGNAL_EDITOR_IMAGE_SET_DELETED, _image_set_deleted, project); evas_object_smart_callback_add(ap.win, SIGNAL_EDITOR_IMAGE_SET_IMAGE_ADD, _image_set_image_add, project); +
[EGIT] [tools/eflete] master 09/12: Image manager: correct action on "-" button.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=f22f44683322fc16e70e661f1ac9041fc8bc6075 commit f22f44683322fc16e70e661f1ac9041fc8bc6075 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Jan 18 09:39:04 2017 +0200 Image manager: correct action on "-" button. Button delete should correctly delete image and images set from project. --- src/bin/ui/image_manager.c | 26 +++--- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/bin/ui/image_manager.c b/src/bin/ui/image_manager.c index 7f11e16..ddf20f4 100644 --- a/src/bin/ui/image_manager.c +++ b/src/bin/ui/image_manager.c @@ -678,6 +678,7 @@ _image_del_cb(void *data __UNUSED__, Image_Item *it = NULL; Eina_List *grid_list, *l, *l2; Image2 *res; + Image_Set2 *res_is = NULL; assert(mng.gengrid != NULL); @@ -688,16 +689,27 @@ _image_del_cb(void *data __UNUSED__, EINA_LIST_FOREACH_SAFE(grid_list, l, l2, grid_item) { it = elm_object_item_data_get(grid_item); -res = (Image2 *)resource_manager_find(ap.project->RM.images, it->image_name); +if (it->type == SINGLE_IMAGE) + { + res = (Image2 *)resource_manager_find(ap.project->RM.images, it->image_name); -if (!res->common.used_in) + if (!res->common.used_in) + { + ecore_file_unlink(res->source); + CRIT_ON_FAIL(editor_image_del(ap.project->global_object, it->image_name, true)); + /* Unselect and remove image from property */ + } + } +else if (it->type == IMAGE_SET) { - ecore_file_unlink(res->source); - CRIT_ON_FAIL(editor_image_del(ap.project->global_object, it->image_name, true)); - /* Unselect and remove image from property */ - elm_gengrid_item_selected_set(grid_item, false); - elm_object_item_del(grid_item); + res_is = (Image_Set2 *)resource_manager_find(ap.project->RM.image_sets, it->image_name); + if (!res_is->common.used_in) + { + CRIT_ON_FAIL(editor_image_set_del(ap.project->global_object, it->image_name, true)); + } } +elm_gengrid_item_selected_set(grid_item, false); +elm_object_item_del(grid_item); } evas_object_smart_callback_call(ap.win, SIGNAL_IMAGE_SELECTED, NULL); --
[EGIT] [tools/eflete] master 08/12: Image manager: change UI for add new image/images set.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=372ac0fcfd9c9019ad3f194219b84b15a530341f commit 372ac0fcfd9c9019ad3f194219b84b15a530341f Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Jan 18 09:33:14 2017 +0200 Image manager: change UI for add new image/images set. Use the same UX as in Sound editor. Instead open fileselector - the menu widget will diplayed. There are 2 items presented in menu: add new image; add new image set. --- src/bin/ui/image_manager.c | 126 - 1 file changed, 125 insertions(+), 1 deletion(-) diff --git a/src/bin/ui/image_manager.c b/src/bin/ui/image_manager.c index 779958e..7f11e16 100644 --- a/src/bin/ui/image_manager.c +++ b/src/bin/ui/image_manager.c @@ -16,10 +16,16 @@ * You should have received a copy of the GNU Lesser General Public License * along with this program; If not, see www.gnu.org/licenses/lgpl.html. */ +#define EO_BETA_API +#define EFL_BETA_API_SUPPORT +#define EFL_EO_API_SUPPORT + #include "main_window.h" #include "project_manager2.h" #include "modal_window.h" +#include "config.h" +#include "validator.h" #ifndef HAVE_TIZEN #define ITEM_WIDTH 100 @@ -56,6 +62,12 @@ struct _Image_Manager Evas_Object *del_button; Evas_Object *gengrid; Evas_Object *layout; + Evas_Object *menu; + struct { +Evas_Object *entry; +Evas_Object *box; +Resource_Name_Validator *validator; + } image_set; #ifdef HAVE_TIZEN struct { Evas_Object *black; @@ -526,7 +538,7 @@ _on_image_done(void *data __UNUSED__, } static void -_image_add_cb(void *data, +_new_image_add_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { @@ -550,6 +562,114 @@ _image_add_cb(void *data, } static void +_validation(void *data, +Evas_Object *obj __UNUSED__, +void *event_info __UNUSED__) +{ + Evas_Object *popup = data; + Eina_Bool validate = EINA_FALSE; + + assert(popup != NULL); + + if (resource_name_validator_status_get(mng.image_set.validator) != ELM_REG_NOERROR) + { +validate = EINA_FALSE; +elm_object_signal_emit(mng.image_set.entry, "validation,default,fail", "elm"); + } + else + { +validate = EINA_TRUE; +elm_object_signal_emit(mng.image_set.entry, "validation,default,pass", "elm"); + } + + + if (!validate) + popup_button_disabled_set(popup, BTN_OK, true); + else + popup_button_disabled_set(popup, BTN_OK, false); +} + +static void +_image_set_add(void) +{ + Eina_Stringshare *image_set_name = eina_stringshare_add(elm_entry_entry_get(mng.image_set.entry)); + Image_Item *it = NULL; + + CRIT_ON_FAIL(editor_image_set_add(ap.project->global_object, image_set_name, true)); + it = (Image_Item *)mem_calloc(1, sizeof(Image_Item)); + it->image_name = eina_stringshare_add(image_set_name); + it->id = edje_edit_image_set_id_get(ap.project->global_object, it->image_name); + it->type = IMAGE_SET; + elm_gengrid_item_append(mng.gengrid, gic_set, it, _grid_sel_cb, NULL); + eina_stringshare_del(image_set_name); +} + +static void +_image_set_add_popup_close_cb(void *data __UNUSED__, + Evas_Object *obj __UNUSED__, + void *event_info) +{ + Popup_Button btn_res = (Popup_Button) event_info; + + if (BTN_CANCEL != btn_res) + _image_set_add(); + + resource_name_validator_free(mng.image_set.validator); + evas_object_del(mng.image_set.box); +} + + +Evas_Object * +_add_image_set_content_get(void *data __UNUSED__, Evas_Object *popup, Evas_Object **to_focus) +{ + Evas_Object *item, *box; + + BOX_ADD(mng.win, box, false, false); + elm_box_padding_set(box, 0, 10); + LAYOUT_PROP_ADD(box, _("Image set name:"), "popup", "1swallow") + ENTRY_ADD(item, mng.image_set.entry, true); + efl_event_callback_add(mng.image_set.entry, ELM_ENTRY_EVENT_VALIDATE, + resource_name_validator_helper, mng.image_set.validator); + evas_object_smart_callback_add(mng.image_set.entry, signals.elm.entry.changed, _validation, popup); + elm_object_part_text_set(mng.image_set.entry, "guide", _("Type a new image set name")); + elm_object_part_content_set(item, "elm.swallow.content", mng.image_set.entry); + /* need to manualy set not valid string for triggered validator */ + elm_entry_entry_set(mng.image_set.entry, NULL); + elm_box_pack_end(box, item); + mng.image_set.box = box; + + if (to_focus) *to_focus = mng.image_set.entry; + return box; +} + +static void +_new_image_set_add_cb(void *data __UNUSED__, + Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) +{ + Evas_O
[EGIT] [tools/eflete] master 06/12: Signals: fix description for textblock style del signal.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=45590c41b7f29b263fef235876ca53e6d7921e24 commit 45590c41b7f29b263fef235876ca53e6d7921e24 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Jan 18 09:05:36 2017 +0200 Signals: fix description for textblock style del signal. --- src/bin/common/signals.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/common/signals.h b/src/bin/common/signals.h index 0959130..3f7da3b 100644 --- a/src/bin/common/signals.h +++ b/src/bin/common/signals.h @@ -612,7 +612,7 @@ typedef struct { #define SIGNAL_EDITOR_STYLE_ADDED "SIGNAL_EDITOR_STYLE_ADDED" /** - * emited when sound is deleted. + * emited when textblock style is deleted. * eventinfo - NULL * * @ingroup Window --
[EGIT] [tools/eflete] master 12/12: Image manager: add ability to add new images into images set.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=96887591eaa98891f1a2663160ed3cb17a629e4a commit 96887591eaa98891f1a2663160ed3cb17a629e4a Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Jan 18 10:00:35 2017 +0200 Image manager: add ability to add new images into images set. --- src/bin/ui/image_manager.c | 58 ++ 1 file changed, 58 insertions(+) diff --git a/src/bin/ui/image_manager.c b/src/bin/ui/image_manager.c index 13537e3..8873cd4 100644 --- a/src/bin/ui/image_manager.c +++ b/src/bin/ui/image_manager.c @@ -79,6 +79,9 @@ struct _Image_Manager Search_Data image_search_data; }; +static Eina_Bool _on_image_done(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info); +static void _image_info_setup(const Image_Item* it); + static Image_Manager mng; static Elm_Gengrid_Item_Class *gic = NULL; static Elm_Gengrid_Item_Class *gic_set = NULL; @@ -207,6 +210,60 @@ _grid_image_set_image_sel(void *data, evas_object_smart_callback_call(ap.win, SIGNAL_IMAGE_SELECTED, it); } +static Eina_Bool +_on_image_set_image_done(void *data, + Evas_Object *obj __UNUSED__, + void *event_info) +{ + const Eina_List *images = NULL, *l = NULL; + const char *selected = NULL; + const char *file_name = NULL; + Image_Item *image_set = (Image_Item *)data; + + images = (const Eina_List *)event_info; + _on_image_done(NULL, NULL, (void *)eina_list_clone(images)); + + EINA_LIST_FOREACH(images, l, selected) + { +if (ecore_file_is_dir(selected)) + { + ERR(_("Unable to add a folder")); + continue; + } +file_name = ecore_file_file_get(selected); + +CRIT_ON_FAIL(editor_image_set_image_add(ap.project->global_object, image_set->image_name, file_name, true)); + + } + _image_info_setup(image_set); + elm_gengrid_realized_items_update(mng.gengrid); + return true; +} + +static void +_image_set_image_add(void *data, + Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) +{ +#if HAVE_TIZEN + popup_fileselector_image_helper(_("Create new image set"), + NULL, + NULL, + _on_image_set_image_done, + data, + true, + false); +#else + popup_fileselector_image_helper(NULL, + NULL, + NULL, + _on_image_set_image_done, + data, + true, + false); +#endif +} + static void _image_set_image_del(void *data __UNUSED__, Evas_Object *obj __UNUSED__, @@ -295,6 +352,7 @@ _image_manager_image_set_grid_create(Evas_Object *parent, button = elm_button_add(layout); elm_object_style_set(button, "plus_managers"); + evas_object_smart_callback_add(button, signals.elm.button.clicked, _image_set_image_add, it); elm_object_part_content_set(layout, "elm.swallow.btn_add", button); button = elm_button_add(layout); --
[EGIT] [tools/eflete] master 07/12: Images set view: correct processing for empty images set.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=6c9e2e250fba1255d60f4ed22dcbfb27c715a519 commit 6c9e2e250fba1255d60f4ed22dcbfb27c715a519 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Jan 18 09:09:33 2017 +0200 Images set view: correct processing for empty images set. In case when images set doesn't contain any images - 0 will displayed in bottom right cell. --- src/bin/ui/image_manager.c | 2 +- src/bin/ui/popup.c | 11 +++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/bin/ui/image_manager.c b/src/bin/ui/image_manager.c index a3c4ec3..779958e 100644 --- a/src/bin/ui/image_manager.c +++ b/src/bin/ui/image_manager.c @@ -82,7 +82,7 @@ _grid_label_get(void *data, { res = resource_manager_find(ap.project->RM.image_sets, it->image_name); int count = eina_list_count(res->common.uses___); -if (count <= 4) return strdup(""); +if (count <= 4 && count > 0) return strdup(""); char buf[256]; snprintf(buf, 256, "%d", count); return strdup(buf); diff --git a/src/bin/ui/popup.c b/src/bin/ui/popup.c index e506aa7..f18b7bd 100644 --- a/src/bin/ui/popup.c +++ b/src/bin/ui/popup.c @@ -805,10 +805,13 @@ _image_gengrid_init(Helper_Data *helper_data) continue; } -it = (Item *)mem_malloc(sizeof(Item)); +it = (Item *)mem_calloc(1, sizeof(Item)); it->image_name = eina_stringshare_add(image_set->common.name); -res = eina_list_data_get(image_set->common.uses___); -it->source = eina_stringshare_add(res->source); +if (image_set->common.uses___) + { + res = eina_list_data_get(image_set->common.uses___); + it->source = eina_stringshare_add(res->source); + } it->type = IMAGE_SET; elm_gengrid_item_append(helper_data->gengrid, gic_set, it, NULL, NULL); } @@ -832,7 +835,7 @@ _grid_label_get(void *data, { res = resource_manager_find(ap.project->RM.image_sets, it->image_name); int count = eina_list_count(res->common.uses___); -if (count <= 4) return strdup(""); +if (count <= 4 && count > 0) return strdup(""); char buf[256]; snprintf(buf, 256, "%d", count); return strdup(buf); --
[EGIT] [tools/eflete] master 01/01: Sound manager: fix label for create new tone popup.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=acc976bb7b4fe0a10c81bde460b388b01505a2fa commit acc976bb7b4fe0a10c81bde460b388b01505a2fa Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Fri Jan 13 12:14:19 2017 +0200 Sound manager: fix label for create new tone popup. @fix --- src/bin/ui/sound_manager.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/ui/sound_manager.c b/src/bin/ui/sound_manager.c index 31e73d9..ce5f6da 100644 --- a/src/bin/ui/sound_manager.c +++ b/src/bin/ui/sound_manager.c @@ -402,7 +402,7 @@ _tone_add_cb(void *data __UNUSED__, resource_name_validator_list_set(mng.tone_validator, >RM.tones, true); mng.frq_validator = elm_validator_regexp_new(FREQUENCY_REGEX, NULL); - popup = popup_add(_("Create a new layout"), NULL, BTN_OK|BTN_CANCEL, _add_tone_content_get, mng.tone_entry); + popup = popup_add(_("Create a new tone"), NULL, BTN_OK|BTN_CANCEL, _add_tone_content_get, mng.tone_entry); popup_button_disabled_set(popup, BTN_OK, true); evas_object_smart_callback_add(popup, POPUP_CLOSE_CB, _tone_add_popup_close_cb, NULL); } --
[EGIT] [tools/eflete] master 04/07: Property image: refactoring Image Item structure.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=ea8f4486631711f945646596fddf0358b7fcfcaa commit ea8f4486631711f945646596fddf0358b7fcfcaa Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Fri Jan 13 10:41:41 2017 +0200 Property image: refactoring Image Item structure. Use anonymous structure "set" for attributes related to images set and images inside set of images. --- src/bin/ui/image_manager.c | 12 +++- src/bin/ui/main_window.h | 22 +- src/bin/ui/property/property_image.c | 18 +- 3 files changed, 29 insertions(+), 23 deletions(-) diff --git a/src/bin/ui/image_manager.c b/src/bin/ui/image_manager.c index dac4ab8..a3c4ec3 100644 --- a/src/bin/ui/image_manager.c +++ b/src/bin/ui/image_manager.c @@ -228,14 +228,16 @@ _image_manager_image_set_grid_create(Evas_Object *parent, image_set_item->width = image_res->width; image_set_item->quality = image_res->quality; image_set_item->comp_type = image_res->comp_type; +image_set_item->set.name = eina_stringshare_add(res->common.name); +image_set_item->set.position = place; edje_edit_image_set_image_border_get(ap.project->global_object, res->common.name, place, - _set_item->border_l, _set_item->border_r, - _set_item->border_t, _set_item->border_b); + _set_item->set.border_l, _set_item->set.border_r, + _set_item->set.border_t, _set_item->set.border_b); edje_edit_image_set_image_max_get(ap.project->global_object, res->common.name, place, - _set_item->max_w, _set_item->max_h); + _set_item->set.max_w, _set_item->set.max_h); edje_edit_image_set_image_min_get(ap.project->global_object, res->common.name, place, - _set_item->min_w, _set_item->min_h); -image_set_item->border_scale = edje_edit_image_set_image_border_scale_get(ap.project->global_object, + _set_item->set.min_w, _set_item->set.min_h); +image_set_item->set.border_scale = edje_edit_image_set_image_border_scale_get(ap.project->global_object, res->common.name, place); elm_gengrid_item_append(images_set_grid, gic, image_set_item, _grid_image_set_image_sel , (void *)image_set_item); diff --git a/src/bin/ui/main_window.h b/src/bin/ui/main_window.h index 0534ed1..7894b6a 100644 --- a/src/bin/ui/main_window.h +++ b/src/bin/ui/main_window.h @@ -492,14 +492,6 @@ project_export_edc_group(void); struct _Image_Item { - int border_l; - int border_r; - int border_t; - int border_b; - int min_w; - int min_h; - int max_w; - int max_h; int id; const char* image_name; const char* source; @@ -508,7 +500,19 @@ struct _Image_Item Eina_Bool is_used; int height, width; Image_Instance_Type type; - double border_scale; + struct { +int border_l; +int border_r; +int border_t; +int border_b; +int min_w; +int min_h; +int max_w; +int max_h; +const char *name; +int position; +double border_scale; + } set; }; /** diff --git a/src/bin/ui/property/property_image.c b/src/bin/ui/property/property_image.c index 9f31607..03afb84 100644 --- a/src/bin/ui/property/property_image.c +++ b/src/bin/ui/property/property_image.c @@ -144,31 +144,31 @@ _update_cb(Property_Attribute *pa __UNUSED__, Property_Action *action) eina_stringshare_del(str); break; case ATTRIBUTE_IMAGE_ITEM_BORDER_L: - elm_spinner_value_set(action->control, image_pd.img->border_l); + elm_spinner_value_set(action->control, image_pd.img->set.border_l); break; case ATTRIBUTE_IMAGE_ITEM_BORDER_R: - elm_spinner_value_set(action->control, image_pd.img->border_r); + elm_spinner_value_set(action->control, image_pd.img->set.border_r); break; case ATTRIBUTE_IMAGE_ITEM_BORDER_T: - elm_spinner_value_set(action->control, image_pd.img->border_t); + elm_spinner_value_set(action->control, image_pd.img->set.border_t); break; case ATTRIBUTE_IMAGE_ITEM_BORDER_B: - elm_spinner_value_set(action->control, image_pd.img->border_b); + elm_spinner_value_set(action->control, image_pd.img->set.border_b);
[EGIT] [tools/eflete] master 05/07: Editor: add API for images set image attributes.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=4a6406fb1d59b24cafc9b683399ff5c438c8edc0 commit 4a6406fb1d59b24cafc9b683399ff5c438c8edc0 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Fri Jan 13 10:43:36 2017 +0200 Editor: add API for images set image attributes. Add API for cover next attributes for image inside images set: borders(left, right, top, bottom), border scale, minimum and maximum sizes(width and height). --- src/bin/editor/editor.h | 44 + src/bin/editor/editor_top_level.c | 201 ++ 2 files changed, 245 insertions(+) diff --git a/src/bin/editor/editor.h b/src/bin/editor/editor.h index 4b3..35706f9 100644 --- a/src/bin/editor/editor.h +++ b/src/bin/editor/editor.h @@ -223,9 +223,20 @@ typedef enum { RM_ATTRIBUTE_RESOURCES_COLORCLASS_DESCRIPTION, RM_ATTRIBUTE_RESOURCES_COLORCLASS_COLORS, + RM_ATTRIBUTE_RESOURCES_STYLE_TAG_ADDED, RM_ATTRIBUTE_RESOURCES_STYLE_TAG_DELETED, + RM_ATTRIBUTE_RESOURCES_IMAGE_SET_IMAGE_BORDER_LEFT, + RM_ATTRIBUTE_RESOURCES_IMAGE_SET_IMAGE_BORDER_RIGHT, + RM_ATTRIBUTE_RESOURCES_IMAGE_SET_IMAGE_BORDER_TOP, + RM_ATTRIBUTE_RESOURCES_IMAGE_SET_IMAGE_BORDER_BOTTOM, + RM_ATTRIBUTE_RESOURCES_IMAGE_SET_IMAGE_BORDER_SCALE, + RM_ATTRIBUTE_RESOURCES_IMAGE_SET_IMAGE_MIN_W, + RM_ATTRIBUTE_RESOURCES_IMAGE_SET_IMAGE_MIN_H, + RM_ATTRIBUTE_RESOURCES_IMAGE_SET_IMAGE_MAX_W, + RM_ATTRIBUTE_RESOURCES_IMAGE_SET_IMAGE_MAX_H, + RM_ATTRIBUTE_RESOURCES_LAST } RM_Attribute_Resources; @@ -254,9 +265,15 @@ typedef struct { Eina_Stringshare *tag_value; Eina_Stringshare *tag_name; + Eina_Stringshare *image_set_name; + int image_pos; + int r, g, b, a; int r2, g2, b2, a2; int r3, g3, b3, a3; + int left, right, top, bottom; + + } Editor_Attribute_Resource_Change; @@ -271,6 +288,33 @@ Eina_Bool editor_image_del(Evas_Object *obj, const char *selected, Eina_Bool notify) EINA_WARN_UNUSED_RESULT; Eina_Bool +editor_image_set_image_border_left_set(Evas_Object *obj, const char *name, int position, int l) EINA_WARN_UNUSED_RESULT; + +Eina_Bool +editor_image_set_image_border_right_set(Evas_Object *obj, const char *name, int position, int r) EINA_WARN_UNUSED_RESULT; + +Eina_Bool +editor_image_set_image_border_top_set(Evas_Object *obj, const char *name, int position, int t) EINA_WARN_UNUSED_RESULT; + +Eina_Bool +editor_image_set_image_border_bottom_set(Evas_Object *obj, const char *name, int position, int b) EINA_WARN_UNUSED_RESULT; + +Eina_Bool +editor_image_set_image_max_height_set(Evas_Object *obj, const char *name, int position, int max_h) EINA_WARN_UNUSED_RESULT; + +Eina_Bool +editor_image_set_image_max_width_set(Evas_Object *obj, const char *name, int position, int max_w) EINA_WARN_UNUSED_RESULT; + +Eina_Bool +editor_image_set_image_min_height_set(Evas_Object *obj, const char *name, int position, int min_h) EINA_WARN_UNUSED_RESULT; + +Eina_Bool +editor_image_set_image_min_width_set(Evas_Object *obj, const char *name, int position, int min_w) EINA_WARN_UNUSED_RESULT; + +Eina_Bool +editor_image_set_image_border_scale_set(Evas_Object *obj, const char *name, int position, double scale) EINA_WARN_UNUSED_RESULT; + +Eina_Bool editor_color_class_add(Evas_Object *obj, const char *name, Eina_Bool notify) EINA_WARN_UNUSED_RESULT; Eina_Bool diff --git a/src/bin/editor/editor_top_level.c b/src/bin/editor/editor_top_level.c index e62d3b0..0d462f7 100644 --- a/src/bin/editor/editor_top_level.c +++ b/src/bin/editor/editor_top_level.c @@ -58,6 +58,207 @@ editor_image_del(Evas_Object *obj, const char *name, Eina_Bool notify) return true; } +inline static Eina_Bool +_image_set_image_attribute_save(Evas_Object *obj, Editor_Attribute_Resource_Change *send) +{ + if (!editor_save_all(obj)) + { +eina_stringshare_del(send->image_set_name); +return false; + } + _editor_project_changed(); + + if (!_editor_signals_blocked) + evas_object_smart_callback_call(ap.win, SIGNAL_EDITOR_RM_RESOURCE_ATTRIBUTE_CHANGED, send); + eina_stringshare_del(send->image_set_name); + + return true; +} + +Eina_Bool +editor_image_set_image_border_left_set(Evas_Object *obj, const char *name, int position, int l) +{ + assert (obj != NULL); + assert (name != NULL); + + Editor_Attribute_Resource_Change send; + send.attribute = RM_ATTRIBUTE_RESOURCES_IMAGE_SET_IMAGE_BORDER_LEFT; + send.image_set_name = eina_stringshare_add(name); + send.image_pos = position; + + send.left = l; + + edje_edit_image_set_image_border_get(obj, name, position, +NULL, , , ); + + CRIT_ON_FAIL(edje_edit_image_set_image_border_set(obj, name, position, + send.left, send.right, send.top, send.bottom)); + + return _image_set_image_attribute_save(obj, ); +}
[EGIT] [tools/eflete] master 01/07: Image helper: add suport of the images set.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=f2316206baac0bfb78c42c476465aba33ad69617 commit f2316206baac0bfb78c42c476465aba33ad69617 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Fri Jan 6 10:39:56 2017 +0200 Image helper: add suport of the images set. Added display functionality for the images sets inside image helper. From now it is possible to set the images sets as value for image .normal attruibute. --- src/bin/resource_manager/resource_manager_react.c | 3 + src/bin/ui/popup.c| 122 +- 2 files changed, 122 insertions(+), 3 deletions(-) diff --git a/src/bin/resource_manager/resource_manager_react.c b/src/bin/resource_manager/resource_manager_react.c index f1d6f99..4b93896 100644 --- a/src/bin/resource_manager/resource_manager_react.c +++ b/src/bin/resource_manager/resource_manager_react.c @@ -297,9 +297,12 @@ _property_attribute_changed(void *data, _resource_usage_resource_del(state, old_source); } TODO("Support some image sets here"); + if (change->value && strcmp(change->value, EFLETE_DUMMY_IMAGE_NAME)) { source = resource_manager_find(pro->RM.images, change->value); + if (!source) +source = resource_manager_find(pro->RM.image_sets, change->value); _resource_usage_resource_add(state, source); } eina_stringshare_del(((State2 *)state)->normal); diff --git a/src/bin/ui/popup.c b/src/bin/ui/popup.c index 29809e2..ac724ef 100644 --- a/src/bin/ui/popup.c +++ b/src/bin/ui/popup.c @@ -50,9 +50,11 @@ struct _Item { const char* image_name; const char* source; + Image_Instance_Type type; }; typedef struct _Item Item; static Elm_Gengrid_Item_Class *gic = NULL; +static Elm_Gengrid_Item_Class *gic_set = NULL; static void _delete_object_job(void *data) @@ -720,6 +722,7 @@ _image_gengrid_init(Helper_Data *helper_data) Eina_List *images = NULL; int counter = 0; Image2 *res; + Image_Set2 *image_set = NULL; images = ap.project->RM.images; @@ -744,11 +747,31 @@ _image_gengrid_init(Helper_Data *helper_data) it = (Item *)mem_malloc(sizeof(Item)); it->image_name = eina_stringshare_add(res->common.name); it->source = eina_stringshare_add(res->source); + it->type = SINGLE_IMAGE; elm_gengrid_item_append(helper_data->gengrid, gic, it, NULL, NULL); } elm_gengrid_item_bring_in(elm_gengrid_first_item_get(helper_data->gengrid), ELM_GENGRID_ITEM_SCROLLTO_TOP); } + + counter = 0; + EINA_LIST_FOREACH(ap.project->RM.image_sets, l, image_set) + { +counter++; +if (!image_set->common.name) + { + ERR("name not found for image #%d",counter); + continue; + } + +it = (Item *)mem_malloc(sizeof(Item)); +it->image_name = eina_stringshare_add(image_set->common.name); +res = eina_list_data_get(image_set->common.uses___); +it->source = eina_stringshare_add(res->source); +it->type = IMAGE_SET; +elm_gengrid_item_append(helper_data->gengrid, gic_set, it, NULL, NULL); + } + elm_scroller_policy_set(helper_data->gengrid, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO); evas_object_smart_calculate(helper_data->gengrid); @@ -762,9 +785,23 @@ _grid_label_get(void *data, const char *part __UNUSED__) { const Item *it = data; - if (strcmp(it->image_name, EFLETE_DUMMY_IMAGE_NAME) == 0) - return strdup("None"); - return strdup(it->image_name); + Resource2 *res; + + if (!strcmp(part, "elm.text.count")) + { +res = resource_manager_find(ap.project->RM.image_sets, it->image_name); +int count = eina_list_count(res->common.uses___); +if (count <= 4) return strdup(""); +char buf[256]; +snprintf(buf, 256, "%d", count); +return strdup(buf); + } + else + { +if (strcmp(it->image_name, EFLETE_DUMMY_IMAGE_NAME) == 0) + return strdup("None"); +return strdup(it->image_name); + } } /* icon fetching callback */ @@ -812,6 +849,75 @@ _grid_content_get(void *data, } #undef MAX_ICON_SIZE +/* icon fetching callback */ +static Evas_Object * +_grid_image_set_content_get(void *data, +Evas_Object *obj, +const char *part) +{ + Item *it = data; + Evas_Object *image_obj = NULL; + Evas_Object *grid = (Evas_Object *)obj; + Resource2 *res; + Image2 *img_res = NULL; + + assert(it != NULL)
[EGIT] [tools/eflete] master 06/07: Property image: add ability to change attributes of top level images.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=e459e26de2b23b20814796be3dbf6d03ffdf5bdf commit e459e26de2b23b20814796be3dbf6d03ffdf5bdf Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Fri Jan 13 10:45:34 2017 +0200 Property image: add ability to change attributes of top level images. Actually supported only attributes for image from images set. Such as: border, minimum and maximum sizes and border scale. T5067 --- src/bin/ui/property/property_image.c | 94 ++-- 1 file changed, 91 insertions(+), 3 deletions(-) diff --git a/src/bin/ui/property/property_image.c b/src/bin/ui/property/property_image.c index 03afb84..84cb5e3 100644 --- a/src/bin/ui/property/property_image.c +++ b/src/bin/ui/property/property_image.c @@ -211,7 +211,6 @@ _init_cb(Property_Attribute *pa, Property_Action *action) case ATTRIBUTE_IMAGE_ITEM_QUALITY: case ATTRIBUTE_IMAGE_ITEM_WIDTH: case ATTRIBUTE_IMAGE_ITEM_HEIGHT: - break; case ATTRIBUTE_IMAGE_ITEM_BORDER_L: case ATTRIBUTE_IMAGE_ITEM_BORDER_R: case ATTRIBUTE_IMAGE_ITEM_BORDER_T: @@ -222,10 +221,98 @@ _init_cb(Property_Attribute *pa, Property_Action *action) case ATTRIBUTE_IMAGE_ITEM_MAX_H: case ATTRIBUTE_IMAGE_ITEM_BORDER_SCALE: elm_spinner_value_set(action->control, 0); - elm_object_disabled_set(action->control, true); break; - case ATTRIBUTE_IMAGE_ITEM_LAST: + default: + CRIT("Failed to init attribute [%s]", action->name ? action->name : "unknown"); + abort(); + break; + } +} + +static void +_change_cb(Property_Attribute *pa, Property_Action *action) +{ + double double_val = 0.0; + + assert(pa != NULL); + assert(action != NULL); + assert(action->control != NULL); + + PROPERTY_DATA_GET(action->control); + + switch (action->control_type) + { + case PROPERTY_CONTROL_SPINNER: + double_val = elm_spinner_value_get(action->control); + break; + default: + break; + } + + switch (action->type.attribute_image) + { + case ATTRIBUTE_IMAGE_ITEM_NAME: + case ATTRIBUTE_IMAGE_ITEM_TYPE: + case ATTRIBUTE_IMAGE_ITEM_LOCATION: + case ATTRIBUTE_IMAGE_ITEM_COMPRESSION: + case ATTRIBUTE_IMAGE_ITEM_QUALITY: + case ATTRIBUTE_IMAGE_ITEM_WIDTH: + case ATTRIBUTE_IMAGE_ITEM_HEIGHT: + break; + case ATTRIBUTE_IMAGE_ITEM_BORDER_L: + CRIT_ON_FAIL(editor_image_set_image_border_left_set(ap.project->global_object, + image_pd.img->set.name, + image_pd.img->set.position, + (int)double_val)); + break; + case ATTRIBUTE_IMAGE_ITEM_BORDER_R: + CRIT_ON_FAIL(editor_image_set_image_border_right_set(ap.project->global_object, + image_pd.img->set.name, + image_pd.img->set.position, + (int)double_val)); + break; + case ATTRIBUTE_IMAGE_ITEM_BORDER_T: + CRIT_ON_FAIL(editor_image_set_image_border_top_set(ap.project->global_object, + image_pd.img->set.name, + image_pd.img->set.position, + (int)double_val)); + break; + case ATTRIBUTE_IMAGE_ITEM_BORDER_B: + CRIT_ON_FAIL(editor_image_set_image_border_bottom_set(ap.project->global_object, + image_pd.img->set.name, + image_pd.img->set.position, + (int)double_val)); break; + case ATTRIBUTE_IMAGE_ITEM_MIN_W: + CRIT_ON_FAIL(editor_image_set_image_min_width_set(ap.project->global_object, + image_pd.img->set.name, + image_pd.img->set.position, + (int)double_val)); + break; + case ATTRIBUTE_IMAGE_ITEM_MIN_H: + CRIT_ON_FAIL(editor_image_set_image_min_height_set(ap.project->global_object, + image_pd.img->set.name, + image_pd.img->set.position, +
[EGIT] [tools/eflete] master 03/07: Property: use filter for image properies.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=c0471f1d99a057af34d75e20570ef6c28ab10ab9 commit c0471f1d99a057af34d75e20570ef6c28ab10ab9 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Jan 11 16:03:39 2017 +0200 Property: use filter for image properies. This commit add ability to use genlist filter for image properties. In image manger already presents three different types of image: usual image, images set and image form images set. Each of this tyoe had uniqe attributes. Using filters inside image properties make possible to demonstrate only that attributes, which are related to selected image. T5065 --- src/bin/ui/property/property.c | 2 +- src/bin/ui/property/property_image.c | 411 ++--- src/bin/ui/property/property_private.h | 59 - 3 files changed, 374 insertions(+), 98 deletions(-) diff --git a/src/bin/ui/property/property.c b/src/bin/ui/property/property.c index 90ef278..3d253e9 100644 --- a/src/bin/ui/property/property.c +++ b/src/bin/ui/property/property.c @@ -279,7 +279,7 @@ property_add(Evas_Object *parent, Property_Mode mode) #ifdef HAVE_TIZEN elm_layout_signal_emit(pd->layout, "elm,state,tizen,set", "elm"); #endif - property_image_manager_init(); + property_image_manager_init(pd); items = property_image_manager_items_get(); break; case PROPERTY_MODE_SOUND: diff --git a/src/bin/ui/property/property_image.c b/src/bin/ui/property/property_image.c index 95f5623..9f31607 100644 --- a/src/bin/ui/property/property_image.c +++ b/src/bin/ui/property/property_image.c @@ -24,16 +24,14 @@ #define EMPTY_VALUE " - " +#define IMAGE_MASK(TYPE) (1u << TYPE) +#define IMAGE_NORMAL_TYPE IMAGE_MASK(SINGLE_IMAGE) +#define IMAGE_SET_TYPE IMAGE_MASK(IMAGE_SET) +#define IMAGE_SET_IMAGE_TYPE IMAGE_MASK(IMAGE_SET_ITEM) + typedef struct { - Property_Attribute item_name; - Property_Attribute item_location; - Property_Attribute item_type; - Property_Attribute item_image_compression; - Property_Attribute item_image_quality; - Property_Attribute item_width; - Property_Attribute item_height; - - Image_Item *image; + Image_Item *img; + Property_Attribute items[PROPERTY_IMAGE_ITEM_LAST]; } Property_Image_Data; /* accroding to Edje_Edit.h */ @@ -45,7 +43,15 @@ static const char *edje_image_compression[] = { "RAW", "LOSSY_ETC2", NULL}; -static Property_Image_Data image_data; +static Property_Image_Data image_pd; + +struct _Property_Image_Update_Info { + Property_Attribute *pa; + Property_Action *action; +}; +typedef struct _Property_Image_Update_Info Property_Image_Update_Info; + +static Property_Image_Update_Info attribute_map[ATTRIBUTE_IMAGE_ITEM_LAST]; static void _image_info_type_setup(Property_Action *action, const char *image_name) @@ -54,6 +60,12 @@ _image_info_type_setup(Property_Action *action, const char *image_name) assert(image_name != NULL); + if (image_pd.img->type == IMAGE_SET) + { +elm_object_text_set(action->control, _("Set of images")); +return; + } + const char *dot = strrchr(image_name, '.'); if ((!dot) || (dot == image_name)) { @@ -88,117 +100,348 @@ _update_cb(Property_Attribute *pa __UNUSED__, Property_Action *action) { Eina_Stringshare *str; - if (!image_data.image) - { -elm_object_text_set(action->control, EMPTY_VALUE); -return true; - } switch (action->type.attribute_image) { - case PROPERTY_IMAGE_CONTROL_NAME: - elm_object_text_set(action->control, image_data.image->image_name); + case ATTRIBUTE_IMAGE_ITEM_NAME: + elm_object_text_set(action->control, image_pd.img->image_name); + break; + case ATTRIBUTE_IMAGE_ITEM_TYPE: + _image_info_type_setup(action, image_pd.img->image_name); break; - case PROPERTY_IMAGE_CONTROL_LOCATION: - if (image_data.image->comp_type != EDJE_EDIT_IMAGE_COMP_USER) + case ATTRIBUTE_IMAGE_ITEM_LOCATION: + if (image_pd.img->comp_type != EDJE_EDIT_IMAGE_COMP_USER) { - str = eina_stringshare_printf("edje/images/%i", image_data.image->id); + str = eina_stringshare_printf("edje/images/%i", image_pd.img->id); elm_object_text_set(action->control, str); eina_stringshare_del(str); } else - elm_object_text_set(action->control, image_data.image->image_name); + elm_object_text_set(action->control, image_pd.img->image_name); break; - case PROPERTY_IMAGE_CONTROL_TYPE: - _image_info_type_setup
[EGIT] [tools/eflete] master 02/07: Image manager: expand Image_Item structure.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=569b6e9c561372a272be294c288317e76305db1e commit 569b6e9c561372a272be294c288317e76305db1e Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Jan 11 15:53:12 2017 +0200 Image manager: expand Image_Item structure. Add fields for support image from images set. Next fields was added: borders (left, right, top, bottom), minimun and maximum sizes (width and height), border scale. --- src/bin/ui/image_manager.c | 34 +++--- src/bin/ui/main_window.h | 14 -- 2 files changed, 43 insertions(+), 5 deletions(-) diff --git a/src/bin/ui/image_manager.c b/src/bin/ui/image_manager.c index a1ec3de..dac4ab8 100644 --- a/src/bin/ui/image_manager.c +++ b/src/bin/ui/image_manager.c @@ -181,6 +181,19 @@ _grid_content_get(void *data, return image_obj; } + +static void +_grid_image_set_image_sel(void *data, + Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) +{ + Image_Item *it = (Image_Item *)data; + + assert(it != NULL); + + evas_object_smart_callback_call(ap.win, SIGNAL_IMAGE_SELECTED, it); +} + static inline Evas_Object * _image_manager_image_set_grid_create(Evas_Object *parent, const Image_Item *it) @@ -204,13 +217,29 @@ _image_manager_image_set_grid_create(Evas_Object *parent, evas_object_size_hint_align_set(mng.image, EVAS_HINT_FILL, EVAS_HINT_FILL); res = resource_manager_find(ap.project->RM.image_sets, it->image_name); + int place = 0; EINA_LIST_FOREACH(res->common.uses___, l, image_res) { image_set_item = (Image_Item *)mem_calloc(1, sizeof(Image_Item)); -image_set_item->type = SINGLE_IMAGE; +image_set_item->type = IMAGE_SET_ITEM; image_set_item->image_name = eina_stringshare_add(image_res->common.name); image_set_item->source = eina_stringshare_add(image_res->source); -elm_gengrid_item_append(images_set_grid, gic, image_set_item, NULL, (void *)it); +image_set_item->height = image_res->height; +image_set_item->width = image_res->width; +image_set_item->quality = image_res->quality; +image_set_item->comp_type = image_res->comp_type; +edje_edit_image_set_image_border_get(ap.project->global_object, res->common.name, place, + _set_item->border_l, _set_item->border_r, + _set_item->border_t, _set_item->border_b); +edje_edit_image_set_image_max_get(ap.project->global_object, res->common.name, place, + _set_item->max_w, _set_item->max_h); +edje_edit_image_set_image_min_get(ap.project->global_object, res->common.name, place, + _set_item->min_w, _set_item->min_h); +image_set_item->border_scale = edje_edit_image_set_image_border_scale_get(ap.project->global_object, + res->common.name, + place); +elm_gengrid_item_append(images_set_grid, gic, image_set_item, _grid_image_set_image_sel , (void *)image_set_item); +place++; } return images_set_grid; @@ -640,7 +669,6 @@ _image_manager_init(void) elm_gengrid_item_append(mng.gengrid, gic_set, it, _grid_sel_cb, NULL); } - evas_object_smart_callback_call(ap.win, SIGNAL_IMAGE_SELECTED, NULL); return true; } diff --git a/src/bin/ui/main_window.h b/src/bin/ui/main_window.h index 7e97ed8..0534ed1 100644 --- a/src/bin/ui/main_window.h +++ b/src/bin/ui/main_window.h @@ -113,8 +113,9 @@ typedef enum typedef enum { - SINGLE_IMAGE = 1, - IMAGE_SET + SINGLE_IMAGE, + IMAGE_SET, + IMAGE_SET_ITEM } Image_Instance_Type; /** @@ -491,6 +492,14 @@ project_export_edc_group(void); struct _Image_Item { + int border_l; + int border_r; + int border_t; + int border_b; + int min_w; + int min_h; + int max_w; + int max_h; int id; const char* image_name; const char* source; @@ -499,6 +508,7 @@ struct _Image_Item Eina_Bool is_used; int height, width; Image_Instance_Type type; + double border_scale; }; /** --
[EGIT] [tools/eflete] master 04/08: image manager: add basic view for image set.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=02a0bb447e226196ec7a9f53f00334205c72ac14 commit 02a0bb447e226196ec7a9f53f00334205c72ac14 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Fri Dec 30 09:59:05 2016 +0200 image manager: add basic view for image set. Image sets will shown as a gengrid item, that splitted into 4 pieces. In case if image set contain more that 4 images,amount of images in set will be displayed in right bottom part. Currently view and info area doesn't changed for image sets. @feature --- src/bin/ui/image_manager.c | 140 - 1 file changed, 138 insertions(+), 2 deletions(-) diff --git a/src/bin/ui/image_manager.c b/src/bin/ui/image_manager.c index e824cd7..bd9da04 100644 --- a/src/bin/ui/image_manager.c +++ b/src/bin/ui/image_manager.c @@ -68,6 +68,7 @@ struct _Image_Manager static Image_Manager mng; static Elm_Gengrid_Item_Class *gic = NULL; +static Elm_Gengrid_Item_Class *gic_set = NULL; static char * _grid_label_get(void *data, @@ -75,7 +76,21 @@ _grid_label_get(void *data, const char *part __UNUSED__) { const Image_Item *it = data; - return strdup(it->image_name); + Resource2 *res; + + if (!strcmp(part, "elm.text.count")) + { +res = resource_manager_find(ap.project->RM.image_sets, it->image_name); +int count = eina_list_count(res->common.uses___); +if (count <= 4) return strdup(""); +char buf[256]; +snprintf(buf, 256, "%d", count); +return strdup(buf); + } + else + { +return strdup(it->image_name); + } } static void @@ -166,6 +181,77 @@ _grid_content_get(void *data, return image_obj; } +/* icon fetching callback */ +static Evas_Object * +_grid_image_set_content_get(void *data, +Evas_Object *obj, +const char *part) +{ + Image_Item *it = data; + Evas_Object *image_obj = NULL; + Evas_Object *grid = (Evas_Object *)obj; + Resource2 *res; + const char *source = NULL; + Image2 *img_res = NULL; + + assert(it != NULL); + assert(grid != NULL); + + elm_object_style_set(image_obj, "noframe"); + if (!strcmp(part, "elm.swallow.end")) + { +it->is_used = true; +res = resource_manager_find(ap.project->RM.image_sets, it->image_name); +if (!res->common.used_in) + { + image_obj = elm_icon_add(grid); + elm_image_file_set(image_obj, ap.path.theme_edj, "elm/image/icon/attention"); + evas_object_show(image_obj); + it->is_used = false; + } + } + else + { +#ifndef _WIN32 +image_obj = elm_thumb_add(grid); +#else +image_obj = elm_image_add(grid); +#endif /* _win32 */ +elm_object_style_set(image_obj, "noframe"); +res = resource_manager_find(ap.project->RM.image_sets, it->image_name); +int count = eina_list_count(res->common.uses___); +source = it->source; + +if (!strcmp(part, "elm.swallow.first")) + { + img_res = (Image2 *)(eina_list_nth(res->common.uses___, 0)); + } +else if (!strcmp(part, "elm.swallow.second")) + { + img_res = (Image2 *)(eina_list_nth(res->common.uses___, 1)); + } +else if (!strcmp(part, "elm.swallow.third")) + { + img_res = (Image2 *)(eina_list_nth(res->common.uses___, 2)); + } +else if (!strcmp(part, "elm.swallow.fouth")) + { + if (count > 4) goto empty_content; + img_res = (Image2 *)(eina_list_nth(res->common.uses___, 3)); + } +if (!img_res) goto empty_content; +it->source = img_res->source; +_image_manager_image_setup(image_obj, it); +it->source = source; +evas_object_show(image_obj); + } + return image_obj; + +empty_content: + evas_object_del(image_obj); + return NULL; +} + /* deletion callback */ static void _grid_del(void *data, @@ -253,6 +339,32 @@ _grid_sel_cb(void *data __UNUSED__, } static inline Image_Item * +_image_manager_gengrid_item_data_set_create(Evas_Object *edje_edit_obj, +Image_Set2 *res) +{ + Evas_Object *img; + + assert(edje_edit_obj != NULL); + assert(res != NULL); + + Image_Item *it = (Image_Item *)mem_malloc(sizeof(Image_Item)); + it->image_name = eina_stringshare_add(res->common.name); + it->id = edje_edit_image_set_id_get(edje_edit_obj, it->image_name); + it->comp_type = 0; + it->quality = 0; + + Image2 *res_image = NULL; + res_image = eina_list_data_get(res->common.uses___); + it->sour
[EGIT] [tools/eflete] master 06/08: Tizen theme: fix style of gengrid image set item.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=630b9f82b7174fa475c9abc7e386e594a9325afe commit 630b9f82b7174fa475c9abc7e386e594a9325afe Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Fri Dec 30 15:33:20 2016 +0200 Tizen theme: fix style of gengrid image set item. On windows with efl 1.16 count text failed to expand. --- data/themes/tizen/widgets/gengrid.edc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/themes/tizen/widgets/gengrid.edc b/data/themes/tizen/widgets/gengrid.edc index edaed6f..9aebbee 100644 --- a/data/themes/tizen/widgets/gengrid.edc +++ b/data/themes/tizen/widgets/gengrid.edc @@ -561,7 +561,7 @@ group { name: "elm/gengrid/item/image_set/default"; color_class: "gengrid_text_default"; text { font: FN; - fit: 1 1; + fit: 0 1; } rel1.to: "elm.swallow.fouth"; rel2.to: "elm.swallow.fouth"; --
[EGIT] [tools/eflete] master 05/08: Tizen theme: add gengrid item style for image sets.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=a9ec5e1c89df0c619d5e19574d9e8043d5c58d6b commit a9ec5e1c89df0c619d5e19574d9e8043d5c58d6b Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Fri Dec 30 13:49:37 2016 +0200 Tizen theme: add gengrid item style for image sets. --- data/themes/tizen/widgets/gengrid.edc | 312 ++ 1 file changed, 312 insertions(+) diff --git a/data/themes/tizen/widgets/gengrid.edc b/data/themes/tizen/widgets/gengrid.edc index 80e1a81..edaed6f 100644 --- a/data/themes/tizen/widgets/gengrid.edc +++ b/data/themes/tizen/widgets/gengrid.edc @@ -366,3 +366,315 @@ group { name: "elm/gengrid/item/group_index/default"; group { name: "elm/gengrid/base/default"; inherit: "elm/genlist/base/manager"; } + +group { name: "elm/gengrid/item/image_set/default"; + data { + item: "texts" "elm.text elm.text.count"; + item: "contents" "elm.swallow.first elm.swallow.second elm.swallow.third elm.swallow.fouth elm.swallow.end"; + } + images.image: "Custom/border_1.png" COMP; + parts { + part { name: "highlight_content"; + type: RECT; + mouse_events: 0; + clip_to: "disclip"; + description { state: "default" 0.00; +color_class: "border"; +rel1.to: "icon_border"; +rel2.to: "icon_border"; + } + description { state: "selected" 0.00; +inherit: "default" 0.00; +color_class: "border_focused"; + } + } + part { name: "highlight_text"; + type: RECT; + description { state: "default" 0.00; +color_class: "gengrid_text_default"; +rel1.to: "elm.text"; +rel2.to: "elm.text"; + } + description { state: "selected" 0.00; +inherit: "default" 0.00; +color_class: "gengrid_text_clicked"; + } + } + part { name: "elm.swallow.pad"; + type: SWALLOW; + description { state: "default" 0.00; +align: 0.00 1.00; +fixed: 1 0; +min: 0 2; +rel1.relative: 1.00 0.00; +rel2 { + relative: 1.00 0.00; + to_y: "elm.text"; +} + } + } + part { name: "elm.swallow.first"; + type: SWALLOW; + repeat_events: 1; + description { state: "default" 0.00; +fixed: 1 0; +rel1 { + offset: 1 1; + to: "icon_border"; +} +rel2 { + relative: 0.50 0.50; + offset: -2 -2; + to: "icon_border"; +} + } + } + part { name: "elm.swallow.second"; + type: SWALLOW; + repeat_events: 1; + clip_to: "disclip"; + description { state: "default" 0.00; +fixed: 1 0; +rel1 { + relative: 0.50 0.00; + offset: 1 1; + to: "icon_border"; +} +rel2 { + relative: 1.00 0.50; + offset: -2 -2; + to: "icon_border"; +} + } + } + part { name: "first_border"; + type: IMAGE; + clip_to: "highlight_content"; + description { state: "default" 0.00; +image { + normal: "Custom/border_1.png"; + border: 1 1 1 1; + middle: NONE; +} +rel1.to: "icon_border"; +rel2 { + relative: 0.50 0.50; + offset: 0 -1; + to: "icon_border"; +} + } + } + part { name: "second_border"; + type: IMAGE; + clip_to: "highlight_content"; + description { state: "default" 0.00; +image { + normal: "Custom/border_1.png"; + border: 1 1 1 1; + middle: NONE; +} +rel1 { + relative: 0.50 0.00; + to: "icon_border"; +} +rel2 { + relative: 1.00 0.50; + to: "icon_border"; +} + } + } + part { name: "third_border"; + type: IMAGE; + clip_to: "highlight_content"; + description { state: "default" 0.00; +image { + normal: "Custom/border_1.pn
[EGIT] [tools/eflete] master 01/08: Groupview: use pixel buffer for represent image part.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=67fdc3410b099c075b33fca5fe1cc26bcbfa9b76 commit 67fdc3410b099c075b33fca5fe1cc26bcbfa9b76 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Dec 28 18:29:09 2016 +0200 Groupview: use pixel buffer for represent image part. This is good way solution to display IMAGE part that uses images.set. And at the same time didn't broke current behaviour with ordinary image. @fixes T5022 --- src/bin/ui/workspace/groupview_calc.c | 42 +++ 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/src/bin/ui/workspace/groupview_calc.c b/src/bin/ui/workspace/groupview_calc.c index f781732..8cb9cd5 100644 --- a/src/bin/ui/workspace/groupview_calc.c +++ b/src/bin/ui/workspace/groupview_calc.c @@ -812,14 +812,16 @@ _image_proxy_common_param_update(Evas_Object *image, Groupview_Part *gp, Evas_Ob static void _image_param_update(Groupview_Part *gp, Groupview_Smart_Data *sd) { - Evas_Load_Error err; Evas_Object *edit_obj = sd->group->edit_object; - const char *image_normal; const char *buf = NULL; - int id; int bl, br, bt, bb; + int img_w = 0, img_h = 0; + void *image_data = NULL; + const Evas_Object *part_image = NULL; + Evas_Colorspace cspace; unsigned char middle; - /* map values */ + Eina_Bool isalpha = false; +/* map values */ Evas_Map *m; Eina_Bool map_on; const char *perpective = NULL, *light = NULL, *rot_part = NULL; @@ -836,28 +838,30 @@ _image_param_update(Groupview_Part *gp, Groupview_Smart_Data *sd) assert(edit_obj != NULL); PART_STATE_GET(edit_obj, gp->part->common.name) - + part_image = edje_object_part_object_get(edit_obj, gp->part->common.name); evas_object_image_source_set(gp->proxy_dead_part, NULL); - evas_object_image_source_set(gp->proxy_dead_part, -(Evas_Object *)edje_object_part_object_get(edit_obj, gp->part->common.name)); + evas_object_image_source_set(gp->proxy_dead_part, (Evas_Object *) part_image); evas_object_image_source_visible_set(gp->proxy_dead_part, false); + evas_object_hide(gp->proxy_dead_part); - image_normal = edje_edit_state_image_get(edit_obj, gp->part->common.name, state, value); - if (!image_normal) return; - if (edje_edit_image_compression_type_get(edit_obj, image_normal) == EDJE_EDIT_IMAGE_COMP_USER) + evas_object_image_size_get(part_image, _w, _h); + if (img_w == 0 && img_h == 0) { -evas_object_image_file_set(gp->proxy_part, image_normal, NULL); +WARN("Image part[%s] size is 0x0. Image wouldn't draw.", gp->part->common.name); +return; } - else + evas_object_image_size_set(gp->proxy_part, img_w, img_h); + cspace = evas_object_image_colorspace_get(part_image); + evas_object_image_colorspace_set(gp->proxy_part, cspace); + isalpha = evas_object_image_alpha_get(part_image); + evas_object_image_alpha_set(gp->proxy_part, isalpha); + image_data = evas_object_image_data_get(part_image, false); + if (!image_data) { -id = edje_edit_image_id_get(edit_obj, image_normal); -edje_edit_string_free(image_normal); -buf = eina_stringshare_printf("edje/images/%i", id); -evas_object_image_file_set(gp->proxy_part, ap.project->dev, buf); -err = evas_object_image_load_error_get(gp->proxy_part); -if (err != EVAS_LOAD_ERROR_NONE) - WARN("Could not update image:\"%s\"\n", evas_load_error_str(err)); +ERR("Image part[%s] doesn't contain any raw image data!", gp->part->common.name); +return; } + evas_object_image_data_set(gp->proxy_part, image_data); edje_edit_state_image_border_get(edit_obj, gp->part->common.name, state, value, , , , ); --
[EGIT] [tools/eflete] master 03/08: Theme: add style for gengrid item.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=d6c6ee2dba83ba550c3fca68c35cf20fc637d899 commit d6c6ee2dba83ba550c3fca68c35cf20fc637d899 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Fri Dec 30 09:09:39 2016 +0200 Theme: add style for gengrid item. This style uses for Image Sets representation in Image manager. --- data/themes/default/widgets/gengrid.edc | 280 1 file changed, 280 insertions(+) diff --git a/data/themes/default/widgets/gengrid.edc b/data/themes/default/widgets/gengrid.edc index f936290..0a2a300 100644 --- a/data/themes/default/widgets/gengrid.edc +++ b/data/themes/default/widgets/gengrid.edc @@ -412,3 +412,283 @@ group { name: "elm/gengrid/item/group_index/default"; group { name: "elm/gengrid/base/default"; inherit: "elm/genlist/base/default"; } + +group { name: "elm/gengrid/item/image_set/default"; + data { + item: "texts" "elm.text elm.text.count"; + item: "contents" "elm.swallow.first elm.swallow.second elm.swallow.third elm.swallow.fouth elm.swallow.end"; + } + parts { + part { name: "highlight_content"; + type: RECT; + mouse_events: 0; + clip_to: "disclip"; + description { state: "default" 0.00; +visible: 0; +color_class: "select"; +rel1.to: "icon_border"; +rel2.to: "icon_border"; + } + description { state: "selected" 0.00; +inherit: "default" 0.00; +visible: 1; +rel1.offset: 1 1; +rel2.offset: -2 -2; + } + } + part { name: "highlight_text"; + type: RECT; + description { state: "default" 0.00; +visible: 0; +color_class: "select"; +rel1.to: "elm.text"; +rel2.to: "elm.text"; + } + description { state: "selected" 0.00; +inherit: "default" 0.00; +visible: 1; + } + } + part { name: "elm.swallow.pad"; + type: SWALLOW; + description { state: "default" 0.00; +align: 0.00 1.00; +fixed: 1 0; +min: 0 2; +rel1.relative: 1.00 0.00; +rel2 { + relative: 1.00 0.00; + to_y: "elm.text"; +} + } + } + part { name: "icon_border"; + type: IMAGE; + description { state: "default" 0.00; +image { + normal: "image_border.png"; + border: 1 1 1 1; + middle: NONE; +} +rel1.offset: 3 3; +rel2 { + relative: 1.00 0.00; + offset: -4 -4; + to_y: "elm.text"; +} + } + } + part { name: "elm.swallow.first"; + type: SWALLOW; + repeat_events: 1; + description { state: "default" 0.00; +fixed: 1 0; +rel1.to: "icon_border"; +rel2 { + relative: 0.50 0.50; + to: "icon_border"; +} + } + } + part { name: "elm.swallow.second"; + type: SWALLOW; + repeat_events: 1; + clip_to: "disclip"; + description { state: "default" 0.00; +fixed: 1 0; +rel1 { + relative: 0.50 0.00; + to: "icon_border"; +} +rel2 { + relative: 1.00 0.50; + to: "icon_border"; +} + } + } + part { name: "first_border"; + type: IMAGE; + description { state: "default" 0.00; +image { + normal: "image_border.png"; + border: 1 1 1 1; + middle: NONE; +} +rel1.to: "elm.swallow.first"; +rel2.to: "elm.swallow.first"; + } + } + part { name: "second_border"; + type: IMAGE; + description { state: "default" 0.00; +image { + normal: "image_border.png"; + border: 1 1 1 1; + middle: NONE; +} +rel1.to: "elm.swallow.second"; +rel2.to: "elm.swallow.second"; + } + } + part { name: "third_border"; + type: IMAGE; + description { state: "default" 0.00; +image { + normal: "image_border.pn
[EGIT] [tools/eflete] master 02/08: Example: add group for test Image sets with border.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=78e3de595fc6f765fb5ca5c7cdd53e437c0eb3a1 commit 78e3de595fc6f765fb5ca5c7cdd53e437c0eb3a1 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Fri Dec 30 09:08:13 2016 +0200 Example: add group for test Image sets with border. --- example/example.edc | 54 +++-- 1 file changed, 52 insertions(+), 2 deletions(-) diff --git a/example/example.edc b/example/example.edc index b8393f8..4e0d221 100644 --- a/example/example.edc +++ b/example/example.edc @@ -40,6 +40,13 @@ images { image { image: "tux.png" RAW; size: 80 80 89 89; } image { image: "tux-sailor.svg" RAW; size: 90 90 99 99; } } + set { name: "image_set_three"; + image { image: "horse.jpg" RAW; size: 30 30 39 39; } + image { image: "map.png"RAW; size: 40 40 49 49; } + image { image: "treasure-chest.png" RAW; size: 50 50 59 59; } + image { image: "horse.jpg" RAW; size: 400 400 690 690; } + image { image: "horse.jpg" RAW; size: 700 700 990 990; border: 50 50 50 50;} + } } color_classes { @@ -267,7 +274,49 @@ collections { } } } - group { "test/parts/IMAGE/set"; + group { "test/parts/IMAGE/set2"; + parts { + part { name: "image_with_set"; type: IMAGE; +description { state: "default" 0.0; + min: 30 30; + max: 30 30; + image.normal: "image_set_three"; +} +description { state: "state2" 0.0; + inherit: "default" 0.0; + min: 40 40; + max: 40 40; + } + description { state: "state3" 0.0; + inherit: "default" 0.0; + min: 50 50; + max: 50 50; + } +} + } + programs { + program { name: "to_state2"; +signal: "mouse,down,1"; +source: "*"; +action: STATE_SET "state2" 0.0; +transition: LINEAR 0.5 CURRENT; +target: "image_with_set"; +after: "to_state3"; + } + program { name: "to_state3"; +action: STATE_SET "state3" 0.0; +transition: LINEAR 0.5 CURRENT; +target: "image_with_set"; +after: "to_default"; + } + program { name: "to_default"; +action: STATE_SET "default" 0.0; +transition: LINEAR 0.5 CURRENT; +target: "image_with_set"; + } + } + } +group { "test/parts/IMAGE/set"; parts { part { name: "image_with_set"; type: IMAGE; description { state: "default" 0.0; @@ -353,7 +402,8 @@ collections { } } } -group { name: "test/sounds"; + + group { name: "test/sounds"; parts { part { name: "click_me_wav"; type: TEXT; description { state: "default"; color: 0 0 0 255; --
[EGIT] [tools/eflete] master 08/08: Theme: generate signal "hint, dismiss" on mouse, click.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=89450a64999ee94144a3907714a0186a0cbf92eb commit 89450a64999ee94144a3907714a0186a0cbf92eb Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Thu Jan 5 14:53:28 2017 +0200 Theme: generate signal "hint,dismiss" on mouse,click. Related to issue with seatX signals. Conversation could be found at ML: [E-devel] Problem with new edje seatX signals. --- data/themes/default/widgets/layout.edc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/themes/default/widgets/layout.edc b/data/themes/default/widgets/layout.edc index f92ebf4..886b4b3 100644 --- a/data/themes/default/widgets/layout.edc +++ b/data/themes/default/widgets/layout.edc @@ -132,7 +132,7 @@ group { name: "elm/layout/popup/hint"; } programs { program { name: "dismiss"; - signal: "mouse,up,*"; + signal: "mouse,clicked,1"; source: "event"; action: SIGNAL_EMIT "hint,dismiss" "eflete"; } --
[EGIT] [tools/eflete] master 07/08: Image manager: add preview for image sets.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=88a17fece7b0bf0dde661d85276093961d079628 commit 88a17fece7b0bf0dde661d85276093961d079628 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Tue Jan 3 15:53:04 2017 +0200 Image manager: add preview for image sets. Instead of show single image in preview for image sets displayed gengrid with images, that uses inside selected image set. This way to demonstrate items of image set provide ability to have access to each image (and image attributes) inside set. T5064 --- src/bin/ui/image_manager.c | 88 -- src/bin/ui/main_window.h | 7 2 files changed, 69 insertions(+), 26 deletions(-) diff --git a/src/bin/ui/image_manager.c b/src/bin/ui/image_manager.c index bd9da04..a1ec3de 100644 --- a/src/bin/ui/image_manager.c +++ b/src/bin/ui/image_manager.c @@ -181,6 +181,40 @@ _grid_content_get(void *data, return image_obj; } +static inline Evas_Object * +_image_manager_image_set_grid_create(Evas_Object *parent, + const Image_Item *it) +{ + Resource2 *res = NULL; + Image2 *image_res = NULL; + Eina_List *l = NULL; + Evas_Object *images_set_grid = NULL; + Image_Item *image_set_item = NULL; + + assert(parent != NULL); + assert(it != NULL); + + images_set_grid = elm_gengrid_add(parent); + elm_gengrid_item_size_set(images_set_grid, ITEM_WIDTH, ITEM_HEIGHT); + elm_gengrid_align_set(images_set_grid, 0.0, 0.0); + elm_scroller_policy_set(images_set_grid, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO); + elm_gengrid_multi_select_mode_set(images_set_grid, ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL); + elm_gengrid_select_mode_set(images_set_grid, ELM_OBJECT_SELECT_MODE_ALWAYS); + evas_object_size_hint_weight_set(mng.image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(mng.image, EVAS_HINT_FILL, EVAS_HINT_FILL); + + res = resource_manager_find(ap.project->RM.image_sets, it->image_name); + EINA_LIST_FOREACH(res->common.uses___, l, image_res) + { +image_set_item = (Image_Item *)mem_calloc(1, sizeof(Image_Item)); +image_set_item->type = SINGLE_IMAGE; +image_set_item->image_name = eina_stringshare_add(image_res->common.name); +image_set_item->source = eina_stringshare_add(image_res->source); +elm_gengrid_item_append(images_set_grid, gic, image_set_item, NULL, (void *)it); + } + + return images_set_grid; +} /* icon fetching callback */ static Evas_Object * _grid_image_set_content_get(void *data, @@ -269,14 +303,18 @@ _grid_del(void *data, static void _image_info_setup(const Image_Item* it) { - Evas_Object *image; + Evas_Object *content = NULL; assert(it != NULL); - image = _image_manager_image_create(mng.layout, it); - evas_object_show(image); + if (it->type == SINGLE_IMAGE) + content = _image_manager_image_create(mng.layout, it); + else if (it->type == IMAGE_SET) + content = _image_manager_image_set_grid_create(mng.layout, it); - evas_object_data_set(image, "image_name", it->image_name); + evas_object_show(content); + + mng.image = content; } /* item selection change callback */ @@ -289,6 +327,7 @@ _grid_sel_cb(void *data __UNUSED__, Eina_List *l; Eina_List *sel_list; Elm_Object_Item *grid_item = NULL; + Evas_Object *to_del = NULL; char buf[PATH_MAX]; sel_list = (Eina_List *)elm_gengrid_selected_items_get(mng.gengrid); @@ -298,27 +337,21 @@ _grid_sel_cb(void *data __UNUSED__, if (selected_images_count != 0) elm_object_disabled_set(mng.del_button, true); +#ifdef HAVE_TIZEN + to_del = elm_object_part_content_unset(mng.entry_prev, "elm.swallow.entry"); +#else + to_del = elm_object_part_content_unset(mng.property_panes, "left"); +#endif + evas_object_del(to_del); if (selected_images_count == 1) { item = elm_object_item_data_get(eina_list_data_get(sel_list)); -_image_info_setup(item); + /* if selected image is not used, we can delete it */ if (!item->is_used) elm_object_disabled_set(mng.del_button, false); - /* apply picture */ - if (item->comp_type == EDJE_EDIT_IMAGE_COMP_USER) - { - if (ecore_file_exists(item->source)) -elm_image_file_set(mng.image, item->source, NULL); - else -elm_image_file_set(mng.image, ap.path.theme_edj, "elm/image/icon/attention"); - } - else - { - elm_image_file_set(mng.image, item->source, NULL); - } - evas_object_image_smooth_scale_set(mng.image, false); +_image_info_setup(item); } else { @@ -333,8 +366,15 @@ _grid_sel_cb(void *data __UNUSED__,
[EGIT] [core/efl] master 01/01: edje_edit: fix set the images set as image.normal value.
nikawhite pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a3426a38acbd4f81e9a56a5a74731e4172e00e7e commit a3426a38acbd4f81e9a56a5a74731e4172e00e7e Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Fri Jan 6 10:30:19 2017 +0200 edje_edit: fix set the images set as image.normal value. Added ability to set the images set by name into image part image.normal attribute. Add search the images set id for case when the image id doesn't find in image entries list. @fix --- src/lib/edje/edje_edit.c | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c index 2be9842..85aec13 100644 --- a/src/lib/edje/edje_edit.c +++ b/src/lib/edje/edje_edit.c @@ -10251,6 +10251,7 @@ edje_edit_state_image_set(Evas_Object *obj, const char *part, const char *state, { Edje_Part_Description_Image *img; int id; + Eina_Bool image_set = EINA_FALSE; if ((!obj) || (!part) || (!state) || (!image)) return EINA_FALSE; @@ -10261,12 +10262,19 @@ edje_edit_state_image_set(Evas_Object *obj, const char *part, const char *state, if (rp->part->type != EDJE_PART_TYPE_IMAGE) return EINA_FALSE; - id = _edje_image_id_find(eed, image); img = (Edje_Part_Description_Image *)pd; + id = _edje_image_id_find(eed, image); + if (id <= -1) + { +id = _edje_set_id_find(eed, image); +image_set = EINA_TRUE; + } + if (id > -1) img->image.id = id; else return EINA_FALSE; + img->image.set = image_set; edje_object_calc_force(obj); return EINA_TRUE; --
[EGIT] [core/efl] master 01/01: Edje_cc: update images.set.image names when write edj file.
nikawhite pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=5fb595e7141fa70f51f1550a8cb0fb08dddc978c commit 5fb595e7141fa70f51f1550a8cb0fb08dddc978c Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Thu Dec 29 16:14:23 2016 +0200 Edje_cc: update images.set.image names when write edj file. There are few image formats that converted into *.png on data writing stage (*.svg, *.tgv). After converting image, this image entry name changes by ..png. This make possible save vector images into edj file. Because images set could contain vector images too - after save on disk set image entry name wasn't updated. And still have original name: .. This commit update image set entries name accordingly to the global pool of images. @fix --- src/bin/edje/edje_cc_out.c | 16 1 file changed, 16 insertions(+) diff --git a/src/bin/edje/edje_cc_out.c b/src/bin/edje/edje_cc_out.c index df9e538..80aa3f0 100644 --- a/src/bin/edje/edje_cc_out.c +++ b/src/bin/edje/edje_cc_out.c @@ -1424,6 +1424,22 @@ data_write_images(Eet_File *ef, int *image_num) } } } + + for (i = 0; i < (int)edje_file->image_dir->sets_count; i++) + { +Edje_Image_Directory_Set *set; +Edje_Image_Directory_Set_Entry *set_entry; +Edje_Image_Directory_Entry *img; +Eina_List *ll = NULL; + +set = edje_file->image_dir->sets + i; +if (!set->entries) continue; +EINA_LIST_FOREACH(set->entries, ll, set_entry) + { + img = _file->image_dir->entries[set_entry->id]; + set_entry->name = img->entry; + } + } } static void --
[EGIT] [tools/eflete] master 03/05: Edc example: add group for test image.set.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=2897b9c82ad18fe2ea17ef1ad5c2f2ac90e23517 commit 2897b9c82ad18fe2ea17ef1ad5c2f2ac90e23517 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Dec 28 10:55:06 2016 +0200 Edc example: add group for test image.set. On click size of image part increase. On each range of size should be displayed image from set. --- example/example.edc | 97 - 1 file changed, 96 insertions(+), 1 deletion(-) diff --git a/example/example.edc b/example/example.edc index 96c2e9b..b8393f8 100644 --- a/example/example.edc +++ b/example/example.edc @@ -31,6 +31,15 @@ images { image: "tux-tarzan.svg" RAW; image: "tux-wine.svg" RAW; image: "not_an_image.txt" RAW; + set { name: "image_set"; + image { image: "tux-aristocrat.svg" RAW; size: 30 30 39 39; } + image { image: "tux-ghost.svg" RAW; size: 40 40 49 49; } + image { image: "tux_in_set_only.png" RAW; size: 50 50 59 59; } + image { image: "tux-painter.svg" RAW; size: 60 60 69 69; } + image { image: "tux-pirate.svg" RAW; size: 70 70 79 79; } + image { image: "tux.png" RAW; size: 80 80 89 89; } + image { image: "tux-sailor.svg" RAW; size: 90 90 99 99; } + } } color_classes { @@ -258,7 +267,93 @@ collections { } } } - group { name: "test/sounds"; + group { "test/parts/IMAGE/set"; + parts { + part { name: "image_with_set"; type: IMAGE; +description { state: "default" 0.0; + min: 30 30; + max: 30 30; + image.normal: "image_set"; +} +description { state: "state2" 0.0; + inherit: "default" 0.0; + min: 40 40; + max: 40 40; + } + description { state: "state3" 0.0; + inherit: "default" 0.0; + min: 50 50; + max: 50 50; + } + description { state: "state4" 0.0; + inherit: "default" 0.0; + min: 60 60; + max: 60 60; + } + description { state: "state5" 0.0; + inherit: "default" 0.0; + min: 70 70; + max: 70 70; + } + description { state: "state6" 0.0; + inherit: "default" 0.0; + min: 80 80; + max: 80 80; + } + description { state: "state7" 0.0; + inherit: "default" 0.0; + min: 90 90; + max: 90 90; + } +} + } + programs { + program { name: "to_state2"; +signal: "mouse,down,1"; +source: "*"; +action: STATE_SET "state2" 0.0; +transition: LINEAR 0.5 CURRENT; +target: "image_with_set"; +after: "to_state3"; + } + program { name: "to_state3"; +action: STATE_SET "state3" 0.0; +transition: LINEAR 0.5 CURRENT; +target: "image_with_set"; +after: "to_state4"; + } + program { name: "to_state4"; +action: STATE_SET "state4" 0.0; +transition: LINEAR 0.5 CURRENT; +target: "image_with_set"; +after: "to_state5"; + } + program { name: "to_state5"; +action: STATE_SET "state5" 0.0; +transition: LINEAR 0.5 CURRENT; +target: "image_with_set"; +after: "to_state6"; + } + program { name: "to_state6"; +action: STATE_SET "state6" 0.0; +transition: LINEAR 0.5 CURRENT; +target: "image_with_set"; +after: "to_state7"; + } + program { name: "to_state7"; +action: STATE_SET "state7" 0.0; +transition: LINEAR 0.5 CURRENT; +target: "image_with_set"; +after: "to_default"; + } + program { name: "to_default"; +action: STATE_SET "default" 0.0; +transition: LINEAR 0.5 CURRENT; +target: "image_with_set"; + } + } + } +group { name: "test/sounds"; parts { part { name: "click_me_wav"; type: TEXT; description { state: "default"; color: 0 0 0 255; --
[EGIT] [core/efl] master 01/01: Fileselector: make parse path string windows platform support.
nikawhite pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f967c4dea5be54c3ea33d33603679b1bac983a3f commit f967c4dea5be54c3ea33d33603679b1bac983a3f Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Tue Dec 27 10:17:43 2016 +0200 Fileselector: make parse path string windows platform support. On windows platform file path contain '\\' instead of '/'. Test plan: - on windows platform launch elemntary_test -to fileselector. - type something into search entry. @fix --- src/lib/elementary/elc_fileselector.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/elementary/elc_fileselector.c b/src/lib/elementary/elc_fileselector.c index 82c2999..de2b623 100644 --- a/src/lib/elementary/elc_fileselector.c +++ b/src/lib/elementary/elc_fileselector.c @@ -506,11 +506,11 @@ _filter_child(Elm_Fileselector_Data* sd, { strncpy(temp_path, path, sizeof(temp_path) - 1); temp_path[sizeof(temp_path) - 1] = 0; -pch = strchr(temp_path, '/'); +pch = strchr(temp_path, EINA_PATH_SEP_C); while (pch != NULL) { temp = pch; - pch = strchr(pch + 1, '/'); + pch = strchr(pch + 1, EINA_PATH_SEP_C); } temp++; if ((temp) && (sd->search_string) && --
[EGIT] [core/efl] master 01/01: Edje_Edit: replace eet_read_direct by eet_read function.
nikawhite pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=82b80212c6983ae154a79bc1318cf553249871c8 commit 82b80212c6983ae154a79bc1318cf553249871c8 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Thu Dec 22 11:18:19 2016 +0200 Edje_Edit: replace eet_read_direct by eet_read function. eet_read_direct function doesn't works with ciphered data, but it is possible that edje file was ciphered. In this case data, that returned by eet_read_direct always will be NULL. --- src/lib/edje/edje_edit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c index 291b5af..2be9842 100644 --- a/src/lib/edje/edje_edit.c +++ b/src/lib/edje/edje_edit.c @@ -1587,7 +1587,7 @@ edje_edit_sound_samplebuffer_get(Evas_Object *obj, const char *sample_name) if (!ef) return NULL; snprintf(snd_id_str, sizeof(snd_id_str), "edje/sounds/%i", sample->id); - data = eet_read_direct(ef, snd_id_str, ); + data = eet_read(ef, snd_id_str, ); if (len <= 0) { ERR("Sample from edj file '%s' has 0 length", ed->path); --
[EGIT] [core/efl] master 01/01: Ecore_win32: do not handle WM_SYSKEY* events.
nikawhite pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=bb91c4b45d1cf010920fd9bd906e7207de7c69b6 commit bb91c4b45d1cf010920fd9bd906e7207de7c69b6 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Tue Dec 20 08:35:32 2016 +0200 Ecore_win32: do not handle WM_SYSKEY* events. Summary: In case if WM_SYSKEYDOWN or WM_SYSKEYUP events are handled in DefWindowProc - system doesn't init event for a system shortcuts. For example any EFL application on Windows couldn't be closed by Alt+F4 combination. @fix Test Plan: Launch Elemenatry_test app. Try to close by Alt+F4 combination. Reviewers: vtorri, raster Reviewed By: raster Subscribers: an.kroitor, bowonryu, cedric, jpeg, #eflete Differential Revision: https://phab.enlightenment.org/D4477 --- src/lib/ecore_win32/ecore_win32.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/ecore_win32/ecore_win32.c b/src/lib/ecore_win32/ecore_win32.c index 1cdbed5..ea62a71 100644 --- a/src/lib/ecore_win32/ecore_win32.c +++ b/src/lib/ecore_win32/ecore_win32.c @@ -74,14 +74,14 @@ _ecore_win32_window_procedure(HWND window, { /* Keyboard input notifications */ case WM_KEYDOWN: - case WM_SYSKEYDOWN: + /*case WM_SYSKEYDOWN:*/ INF("key down message"); _ecore_win32_event_handle_key_press(data); return 0; /* case WM_CHAR: */ /* case WM_SYSCHAR: */ case WM_KEYUP: - case WM_SYSKEYUP: + /*case WM_SYSKEYUP:*/ INF("key up message"); _ecore_win32_event_handle_key_release(data); return 0; --
[EGIT] [tools/eflete] master 01/01: Shortcuts: processing functional keys and Enter/Esc by keyname.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=13f360dc4f582a068bd57e098124428ef7ca55ef commit 13f360dc4f582a068bd57e098124428ef7ca55ef Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Fri Dec 16 15:59:03 2016 +0200 Shortcuts: processing functional keys and Enter/Esc by keyname. This avoid situation when Enter and Escape shortcuts doesn't works on another platform. (On Windows for example). @fix --- src/bin/ui/shortcuts/shortcuts.c | 23 --- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/bin/ui/shortcuts/shortcuts.c b/src/bin/ui/shortcuts/shortcuts.c index d40a7f9..ffb5c13 100644 --- a/src/bin/ui/shortcuts/shortcuts.c +++ b/src/bin/ui/shortcuts/shortcuts.c @@ -271,18 +271,27 @@ _key_press_event_cb(void *data __UNUSED__, int type __UNUSED__, void *event) } sc.keyname = (char *)ev->keyname; + if (!sc.keyname) + return ECORE_CALLBACK_PASS_ON; /* ignore hotkey if */ obj_name = evas_object_type_get(elm_object_focused_object_get(ap.win)); if (/* it is without modifier or with shift-only */ ((sc.modifiers == MOD_NONE) || (sc.modifiers == MOD_SHIFT)) && /* is not F1 - F12 */ - (!(((sc.keycode >= 67 /*F1*/) && - (sc.keycode <= 76 /*F10*/)) || - (sc.keycode == 95 /*F11*/) || - (sc.keycode == 96 /*F12*/) || - (sc.keycode == 36 /*ENTER*/) || - (sc.keycode == 104 /*KP_ENTER*/) || - (sc.keycode == 9 /*ESC*/)) ) && + !(!strcmp(sc.keyname, "F1") || +!strcmp(sc.keyname, "F2") || +!strcmp(sc.keyname, "F3") || +!strcmp(sc.keyname, "F4") || +!strcmp(sc.keyname, "F5") || +!strcmp(sc.keyname, "F6") || +!strcmp(sc.keyname, "F7") || +!strcmp(sc.keyname, "F8") || +!strcmp(sc.keyname, "F9") || +!strcmp(sc.keyname, "F10") || +!strcmp(sc.keyname, "F11") || +!strcmp(sc.keyname, "F12") || +!strcmp(sc.keyname, "Return") || +!strcmp(sc.keyname, "Escape")) && /* elm_entry is in focus */ (obj_name ? (!strcmp("elm_entry", obj_name)) : false)) { --
[EGIT] [tools/eflete] master 01/01: Tabs shouldn't manage hotkeys for managers.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=e854ca82e785399dd757f3fbd6a09282bcd5021f commit e854ca82e785399dd757f3fbd6a09282bcd5021f Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Thu Dec 15 12:27:35 2016 +0200 Tabs shouldn't manage hotkeys for managers. Managers are top-level windows - they are should be managed by main window. @fix --- src/bin/ui/tabs.c | 36 1 file changed, 36 deletions(-) diff --git a/src/bin/ui/tabs.c b/src/bin/ui/tabs.c index c5fc2cb..231095b 100644 --- a/src/bin/ui/tabs.c +++ b/src/bin/ui/tabs.c @@ -840,38 +840,6 @@ _shortcut_tab_close_cb(void *data __UNUSED__, } static void -_shortcut_image_manager_cb(void *data __UNUSED__, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - image_manager_add(); -} - -static void -_shortcut_sound_manager_cb(void *data __UNUSED__, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - sound_manager_add(); -} - -static void -_shortcut_style_manager_cb(void *data __UNUSED__, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - style_manager_add(); -} - -static void -_shortcut_color_class_manager_cb(void *data __UNUSED__, -Evas_Object *obj __UNUSED__, -void *event_info __UNUSED__) -{ - colorclass_manager_add(); -} - -static void _shortcut_mode_normal_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) @@ -1092,10 +1060,6 @@ tabs_add(void) evas_object_smart_callback_add(ap.win, signals.shortcut.tab.prev, _shortcut_tab_prev_cb, NULL); evas_object_smart_callback_add(ap.win, signals.shortcut.tab.num, _shortcut_tab_num_cb, NULL); evas_object_smart_callback_add(ap.win, signals.shortcut.tab.close, _shortcut_tab_close_cb, NULL); - evas_object_smart_callback_add(ap.win, signals.shortcut.manager.image, _shortcut_image_manager_cb, NULL); - evas_object_smart_callback_add(ap.win, signals.shortcut.manager.sound, _shortcut_sound_manager_cb, NULL); - evas_object_smart_callback_add(ap.win, signals.shortcut.manager.style, _shortcut_style_manager_cb, NULL); - evas_object_smart_callback_add(ap.win, signals.shortcut.manager.color_class, _shortcut_color_class_manager_cb, NULL); evas_object_smart_callback_add(ap.win, signals.shortcut.workspace.mode.normal, _shortcut_mode_normal_cb, NULL); #if !HAVE_TIZEN evas_object_smart_callback_add(ap.win, signals.shortcut.workspace.mode.code, _shortcut_mode_code_cb, NULL); --
Re: [E-devel] [EGIT] [tools/eflete] master 01/01: Shortcuts: Use Alt+F4 combination for close Eflete in Tizen mode.
Hi, this is requirements. And I haven't power to change it right now. In "classic" Eflete version - any shortcuts will not changed. On Thu, 2016-12-15 at 10:10 +0100, Vincent Torri wrote: > hey > > why not also allowing Ctrl-q for Tizen ? > > Vincent > > --- > --- > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > -- Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [tools/eflete] master 01/01: Shortcuts: Use Alt+F4 combination for close Eflete in Tizen mode.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=4ea9ddc5a050a55e407990785029cdff2ac54c23 commit 4ea9ddc5a050a55e407990785029cdff2ac54c23 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Thu Dec 15 08:38:55 2016 +0200 Shortcuts: Use Alt+F4 combination for close Eflete in Tizen mode. --- src/bin/ui/shortcuts/shortcuts.c | 14 +- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/bin/ui/shortcuts/shortcuts.c b/src/bin/ui/shortcuts/shortcuts.c index 6e2ff00..d40a7f9 100644 --- a/src/bin/ui/shortcuts/shortcuts.c +++ b/src/bin/ui/shortcuts/shortcuts.c @@ -437,9 +437,13 @@ static void _default_shortcuts_add() { assert(ap.shortcuts != NULL); - +#if HAVE_TIZEN + _add_shortcut(SHORTCUT_TYPE_QUIT, SHORTCUT_TYPE_NONE, + MOD_ALT, 70, "F4" /*q*/); +#else _add_shortcut(SHORTCUT_TYPE_QUIT, SHORTCUT_TYPE_NONE, MOD_CTRL, 24, "q" /*q*/); +#endif _add_shortcut(SHORTCUT_TYPE_UNDO, SHORTCUT_TYPE_NONE, MOD_CTRL, 52, "z" /*z*/); @@ -716,11 +720,19 @@ shortcuts_shortcut_reset() ap.shortcuts->shortcuts = eina_list_remove_list(ap.shortcuts->shortcuts, l); switch (shortcut->type_press) { +#if HAVE_TIZEN + case SHORTCUT_TYPE_QUIT: + shortcut->modifiers = MOD_ALT; + shortcut->keycode = 70; + shortcut->keyname = "F4"; + break; +#else case SHORTCUT_TYPE_QUIT: shortcut->modifiers = MOD_CTRL; shortcut->keycode = 24; shortcut->keyname = "q"; break; +#endif case SHORTCUT_TYPE_UNDO: shortcut->modifiers = MOD_CTRL; shortcut->keycode = 52; --
[EGIT] [tools/eflete] master 01/01: Tabs: disable switch to home tab in Tizen version.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=ca48bfec188f8e73b7b859873d47bc41051522ba commit ca48bfec188f8e73b7b859873d47bc41051522ba Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Dec 14 17:01:38 2016 +0200 Tabs: disable switch to home tab in Tizen version. --- src/bin/ui/tabs.c | 5 + 1 file changed, 5 insertions(+) diff --git a/src/bin/ui/tabs.c b/src/bin/ui/tabs.c index 2c53632..c5fc2cb 100644 --- a/src/bin/ui/tabs.c +++ b/src/bin/ui/tabs.c @@ -819,7 +819,12 @@ _shortcut_tab_num_cb(void *data __UNUSED__, int num = *((int *)event_info); Tabs_Item *item; +#if HAVE_TIZEN + /*In tizen mode "Home tab" is hidden*/ + item = eina_list_nth(tabs.items, num); +#else item = eina_list_nth(tabs.items, num - 1); +#endif if (item) elm_toolbar_item_selected_set(item->toolbar_item, true); } --
[EGIT] [core/efl] master 01/01: Fix generate ecore key events on windows.
nikawhite pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=635544104e6f5048c6884c40365e7e922eb7bc77 commit 635544104e6f5048c6884c40365e7e922eb7bc77 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Dec 14 15:40:49 2016 +0200 Fix generate ecore key events on windows. If Ctrl+number combination pressed/unpressed function _ecore_win32_event_keystroke_get return NULL. It happens because ToUnicode WinAPI func fails to prepare unicode string for given scancode and the keyboard state. This commit add exception for the case with digits keys. In case if there no translate string, but the digit key processed - will be created a normal event as usual. --- src/lib/ecore_win32/ecore_win32_event.c | 18 +++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/lib/ecore_win32/ecore_win32_event.c b/src/lib/ecore_win32/ecore_win32_event.c index b5f0d60..dfd44de 100644 --- a/src/lib/ecore_win32/ecore_win32_event.c +++ b/src/lib/ecore_win32/ecore_win32_event.c @@ -1180,7 +1180,11 @@ _ecore_win32_event_keystroke_get(Ecore_Win32_Callback_Data *msg, else if (res == 0) { INF("No translatable character found, skipping"); -return NULL; +if (msg->window_param >= 0x30 && msg->window_param <= 0x39) + { + buf[0] = msg->window_param; + } +else return NULL; } else if (res >= 2) { @@ -1224,7 +1228,11 @@ _ecore_win32_event_keystroke_get(Ecore_Win32_Callback_Data *msg, else if (res == 0) { INF("No translatable character found, skipping"); -return NULL; +if (msg->window_param >= 0x30 && msg->window_param <= 0x39) + { + buf[0] = msg->window_param; + } +else return NULL; } else if (res >= 2) { @@ -1291,7 +1299,11 @@ _ecore_win32_event_keystroke_get(Ecore_Win32_Callback_Data *msg, else if (res == 0) { INF("No translatable character found, skipping"); -return NULL; +if (msg->window_param >= 0x30 && msg->window_param <= 0x39) + { + buf[0] = msg->window_param; + } +else return NULL; } else if (res >= 2) { --
[EGIT] [tools/eflete] master 01/01: Tooltips: set show time to 0.3 second.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=8d3e1a533fd48f146b23ad09c39698a0db33ba4c commit 8d3e1a533fd48f146b23ad09c39698a0db33ba4c Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Mon Dec 5 13:19:25 2016 +0200 Tooltips: set show time to 0.3 second. This patch related to Tizen version. --- src/bin/ui/main_window.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/bin/ui/main_window.c b/src/bin/ui/main_window.c index 12ff901..64fa1bc 100644 --- a/src/bin/ui/main_window.c +++ b/src/bin/ui/main_window.c @@ -234,7 +234,11 @@ ui_main_window_add(void) #endif /* HAVE_ENVENTOR */ elm_config_window_auto_focus_enable_set(false); - return true; + +#if HAVE_TIZEN + elm_config_tooltip_delay_set(0.2); +#endif +return true; } #if !HAVE_TIZEN --
[EGIT] [tools/eflete] master 01/01: Main window: add shortcuts support for manager signals.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=b49bdd5f9a8d6724c6f5c19e3cca923b31889b05 commit b49bdd5f9a8d6724c6f5c19e3cca923b31889b05 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Fri Dec 2 15:52:18 2016 +0200 Main window: add shortcuts support for manager signals. Signals for managers open wasn't registered. This commit add signals and callbacks. Managers could be opened only if project already opened. @fix T4954 --- src/bin/ui/main_window.c | 39 +++ 1 file changed, 39 insertions(+) diff --git a/src/bin/ui/main_window.c b/src/bin/ui/main_window.c index 3829392..12ff901 100644 --- a/src/bin/ui/main_window.c +++ b/src/bin/ui/main_window.c @@ -55,6 +55,41 @@ _help(void *data __UNUSED__, } static void +_image_manager(void *data __UNUSED__, + Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) +{ + if (ap.project) + image_manager_add(); +} + +static void +_sound_manager(void *data __UNUSED__, + Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) +{ + if (ap.project) + sound_manager_add(); +} + +static void +_style_manager(void *data __UNUSED__, + Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) +{ + if (ap.project) + style_manager_add(); +} + +static void +_color_class_manager(void *data __UNUSED__, + Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) +{ + if (ap.project) + colorclass_manager_add(); +} +static void _after_popup_close(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) @@ -126,6 +161,10 @@ ui_main_window_add(void) evas_object_smart_callback_add(ap.win, signals.elm.win.delete_request, _close_request, NULL); evas_object_smart_callback_add(ap.win, signals.shortcut.quit, _close_request, NULL); evas_object_smart_callback_add(ap.win, signals.shortcut.help, _help, NULL); + evas_object_smart_callback_add(ap.win, signals.shortcut.manager.image, _image_manager, NULL); + evas_object_smart_callback_add(ap.win, signals.shortcut.manager.sound, _sound_manager, NULL); + evas_object_smart_callback_add(ap.win, signals.shortcut.manager.color_class, _color_class_manager, NULL); + evas_object_smart_callback_add(ap.win, signals.shortcut.manager.style, _style_manager, NULL); #if 0 // turn off the eflete main cursor, while not used elementary combobox, and not fixed bug with double cursors if (!cursor_main_set(ap.win, CURSOR_ARROW)) --
[EGIT] [tools/eflete] master 01/01: Main window: add windows type icon for windows.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=8f8c90ce44b0aa390968c336c1ba9c8cb0d65117 commit 8f8c90ce44b0aa390968c336c1ba9c8cb0d65117 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Thu Nov 10 17:32:59 2016 +0200 Main window: add windows type icon for windows. --- data/Makefile.am | 2 +- data/images/eflete.ico | Bin 0 -> 3778 bytes src/bin/ui/main_window.c | 4 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/data/Makefile.am b/data/Makefile.am index 78f1370..923ccf2 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -42,7 +42,7 @@ aimagesdir = $(datadir)/eflete/images if WANT_TIZEN aimages_DATA = \ ${srcdir}/images/*.png \ - ${srcdir}/themes/tizen/images/General/cd_icon.png \ + ${srcdir}/images/eflete.ico \ ${srcdir}/images/toolbar_icons/*.png else aimages_DATA = \ diff --git a/data/images/eflete.ico b/data/images/eflete.ico new file mode 100644 index 000..e7ba2c5 Binary files /dev/null and b/data/images/eflete.ico differ diff --git a/src/bin/ui/main_window.c b/src/bin/ui/main_window.c index 5e42e67..3829392 100644 --- a/src/bin/ui/main_window.c +++ b/src/bin/ui/main_window.c @@ -104,7 +104,11 @@ ui_main_window_add(void) assert(ap.win != NULL); icon = evas_object_image_add(evas_object_evas_get(ap.win)); +#ifdef _WIN32 + icon_path = eina_stringshare_printf("%seflete.ico", ap.path.image_path); +#else icon_path = eina_stringshare_printf("%seflete.svg", ap.path.image_path); +#endif evas_object_image_file_set(icon, icon_path, NULL); eina_stringshare_del(icon_path); elm_win_icon_object_set(ap.win, icon); --
[EGIT] [tools/eflete] master 01/01: Fix genereation path to the eflete_exporter under Windows.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=eee8770309421c848988be6976f7c504fb932654 commit eee8770309421c848988be6976f7c504fb932654 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Thu Nov 10 13:23:33 2016 +0200 Fix genereation path to the eflete_exporter under Windows. Added extension macro EXT == ".exe". On Windows platform eflete_exporter will replaced by eflete_exporter.exe. Also expanded elm_app_info_set by add app_init function pointer and magic file "layouts/eflete.edj". Both this arguments is helpful for more accurate searching prefixes. @fix T4890 --- src/bin/eflete.c | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/bin/eflete.c b/src/bin/eflete.c index fd23084..4188ac5 100644 --- a/src/bin/eflete.c +++ b/src/bin/eflete.c @@ -21,7 +21,11 @@ #include "main_window.h" #include "shortcuts.h" #include "config.h" + +#define EXT "" #ifdef _WIN32 +#undef EXT +#define EXT ".exe" #include "win32.h" #endif @@ -74,7 +78,7 @@ app_init() if (!config_init()) return false; - elm_app_info_set(NULL, "eflete", NULL); + elm_app_info_set(app_init, "eflete", "layouts/eflete.edj"); #define PATH_CHECK(LOCALE, CURRENT, DIR_PATH, MESSAGE) \ snprintf(buf, sizeof(buf), "%s/%s", DIR_PATH, LOCALE); \ @@ -100,7 +104,7 @@ app_init() elm_app_data_dir_get(), "Default layouts is missing"); ap.path.layout_edj = eina_stringshare_add(buf); - PATH_CHECK("eflete_exporter", "src/bin/eflete_exporter", + PATH_CHECK("eflete_exporter"EXT, "src/bin/eflete_exporter"EXT, elm_app_bin_dir_get(), "Eflete_exporter is missing"); ap.path.exporter = eina_stringshare_add(buf); --
Re: [E-devel] [EGIT] [core/efl] master 01/01: Evas events: fix for works with pipes on windows.
Hello. I think that code, that uses pipe() should be moved to using ecore_pipe. Because ecore_pipe is already support both of behaviours for windows and posix in the similar way. Similar code uses in ecore_anim module. All this should be unified, of course. About eina_socket - sound reasonable. On Fri, 2016-11-04 at 11:00 +0100, Vincent Torri wrote: > my opinion is that it should be in eina, actually. An abstraction of > sockets, that could be used in ecore_pipe and in ecore_con and > everywhere else > > Vincent > > > On Fri, Nov 4, 2016 at 10:22 AM, Stefan Schmidt <stefan@osg.samsung.c > om> wrote: > > Hello. > > > > On 04/11/16 10:16, Mykyta Biliavskyi wrote: > > > nikawhite pushed a commit to branch master. > > > > > > http://git.enlightenment.org/core/efl.git/commit/?id=132bac98c8a7 > > > 7adde5a8271c48ed0d3c7dfb6563 > > > > > > commit 132bac98c8a77adde5a8271c48ed0d3c7dfb6563 > > > Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> > > > Date: Fri Nov 4 11:06:11 2016 +0200 > > > > > > Evas events: fix for works with pipes on windows. > > > > > > Evil implementation of pipe() function uses sockets. Windows > > > functions > > > "write", "read" and "close" doesn't works with sockets. In > > > this commit > > > added macros, that replace "read" with "recv", "write" with > > > "send" and > > > "close" with "closesocket". > > > > > > @fix > > > --- > > > src/lib/evas/canvas/evas_async_events.c | 30 > > > +- > > > 1 file changed, 25 insertions(+), 5 deletions(-) > > > > From a platform abstraction view I would think something like this > > should be handled in evil and not in some random files all over the > > code > > base. > > > > There might be other parts of the code having the same problem (if > > not > > now they might get introduced later) and having the handling > > directly > > in the abstraction layer will avoid that you have to patch every > > file > > that comes with it. > > > > regards > > Stefan Schmidt > > > > - > > - > > Developer Access Program for Intel Xeon Phi Processors > > Access to Intel Xeon Phi processor-based developer platforms. > > With one year of Intel Parallel Studio XE. > > Training and support from Colfax. > > Order your platform today. http://sdm.link/xeonphi > > ___ > > enlightenment-devel mailing list > > enlightenment-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > --- > --- > Developer Access Program for Intel Xeon Phi Processors > Access to Intel Xeon Phi processor-based developer platforms. > With one year of Intel Parallel Studio XE. > Training and support from Colfax. > Order your platform today. http://sdm.link/xeonphi > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > -- Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today. http://sdm.link/xeonphi ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/efl] master 01/01: Evas events: fix for works with pipes on windows.
nikawhite pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=132bac98c8a77adde5a8271c48ed0d3c7dfb6563 commit 132bac98c8a77adde5a8271c48ed0d3c7dfb6563 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Fri Nov 4 11:06:11 2016 +0200 Evas events: fix for works with pipes on windows. Evil implementation of pipe() function uses sockets. Windows functions "write", "read" and "close" doesn't works with sockets. In this commit added macros, that replace "read" with "recv", "write" with "send" and "close" with "closesocket". @fix --- src/lib/evas/canvas/evas_async_events.c | 30 +- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/src/lib/evas/canvas/evas_async_events.c b/src/lib/evas/canvas/evas_async_events.c index d607dab..b7ce6b5 100644 --- a/src/lib/evas/canvas/evas_async_events.c +++ b/src/lib/evas/canvas/evas_async_events.c @@ -5,12 +5,32 @@ #ifndef _MSC_VER # include #endif -#include #include #include "evas_common_private.h" #include "evas_private.h" +#ifdef _WIN32 + +# include + +# define pipe_write(fd, buffer, size) send((fd), (char *)(buffer), size, 0) +# define pipe_read(fd, buffer, size) recv((fd), (char *)(buffer), size, 0) +# define pipe_close(fd) closesocket(fd) +# define PIPE_FD_ERROR SOCKET_ERROR + +#else + +# include + +# define pipe_write(fd, buffer, size) write((fd), buffer, size) +# define pipe_read(fd, buffer, size) read((fd), buffer, size) +# define pipe_close(fd) close(fd) +# define PIPE_FD_ERROR -1 + +#endif /* ! _WIN32 */ + + typedef struct _Evas_Event_Async Evas_Event_Async; struct _Evas_Event_Async { @@ -129,8 +149,8 @@ evas_async_events_shutdown(void) eina_inarray_flush(_queue); free(async_queue_cache); - close(_fd_read); - close(_fd_write); + pipe_close(_fd_read); + pipe_close(_fd_write); _fd_read = -1; _fd_write = -1; @@ -159,7 +179,7 @@ _evas_async_events_process_single(void) { int ret, wakeup; - ret = read(_fd_read, , sizeof(int)); + ret = pipe_read(_fd_read, , sizeof(int)); if (ret < 0) { switch (errno) @@ -293,7 +313,7 @@ evas_async_events_put(const void *target, Evas_Callback_Type type, void *event_i do { - check = write(_fd_write, , sizeof (int)); + check = pipe_write(_fd_write, , sizeof (int)); } while ((check != sizeof (int)) && ((errno == EINTR) || (errno == EAGAIN))); --
Re: [E-devel] Request dev acces for lorddrew (Andrii Krotor)
+1 LordDrew involved into Eflete project a long time. Also he makes a lot of patches into libraries. On Mon, 2016-10-31 at 08:25 -0200, Gustavo Sverzut Barbieri wrote: > +1 more devs > > -- > Gustavo Sverzut Barbieri > > > Em 31 de out de 2016, às 07:25, vi.vorobiov> m> escreveu: > > > > +1 > > > > Andrii already contributed quite a lot > > > > he need developer access :3 > > > > > > > On 10/31/2016 10:35 AM, Viacheslav Reutskiy wrote: > > > Hello everyone, > > > > > > Today I would like to propose to promote lorddrew (Andrii Krotor) > > > from probie to developers. > > > > > > He has been contributiong to Eflete along time and made a lot of > > > patches to efl and elementary. > > > > > > So if nobody object I will give access. > > > > > > > > > - > > - > > The Command Line: Reinvented for Modern Developers > > Did the resurgence of CLI tooling catch you by surprise? > > Reconnect with the command line and become more productive. > > Learn the new .NET and ASP.NET CLI. Get your free copy! > > http://sdm.link/telerik > > ___ > > enlightenment-devel mailing list > > enlightenment-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > --- > --- > The Command Line: Reinvented for Modern Developers > Did the resurgence of CLI tooling catch you by surprise? > Reconnect with the command line and become more productive. > Learn the new .NET and ASP.NET CLI. Get your free copy! > http://sdm.link/telerik > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- The Command Line: Reinvented for Modern Developers Did the resurgence of CLI tooling catch you by surprise? Reconnect with the command line and become more productive. Learn the new .NET and ASP.NET CLI. Get your free copy! http://sdm.link/telerik ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [tools/eflete] master 09/10: Popup: add new kind of button "Reset".
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=51a204c57505a7f749e0538f7e6b7fb72ddd92b9 commit 51a204c57505a7f749e0538f7e6b7fb72ddd92b9 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Oct 26 09:42:02 2016 +0300 Popup: add new kind of button "Reset". Some popup require button "Reset". For example "shortcut" popup will use Reset button to make all shortcut default. --- src/bin/ui/main_window.h | 3 ++- src/bin/ui/popup.c | 7 ++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/bin/ui/main_window.h b/src/bin/ui/main_window.h index fd70e1f..5dd57ee 100644 --- a/src/bin/ui/main_window.h +++ b/src/bin/ui/main_window.h @@ -147,7 +147,8 @@ typedef enum _Popup_Button BTN_SAVE = (1 << 2), BTN_DONT_SAVE = (1 << 3), BTN_REPLACE= (1 << 4), - BTN_APPEND = (1 << 5) + BTN_APPEND = (1 << 5), + BTN_RESET = (1 << 6) } Popup_Button; typedef enum _Popup_Current diff --git a/src/bin/ui/popup.c b/src/bin/ui/popup.c index dfddbc5..f666d2f 100644 --- a/src/bin/ui/popup.c +++ b/src/bin/ui/popup.c @@ -72,7 +72,8 @@ typedef struct { *save, *dont_save, *replace, - *append; + *append, + *reset; } button; } Popup_Data; @@ -152,6 +153,7 @@ popup_add(const char *title, pd->button.replace = _button_add(pd, _num, _("Replace"),popup_btns & BTN_REPLACE); pd->button.dont_save = _button_add(pd, _num, _("Don't save"), popup_btns & BTN_DONT_SAVE); pd->button.cancel= _button_add(pd, _num, _("Cancel"), popup_btns & BTN_CANCEL); + pd->button.reset= _button_add(pd, _num, _("Reset"), popup_btns & BTN_RESET); if (msg) elm_object_text_set(pd->popup, msg); @@ -200,6 +202,9 @@ popup_button_disabled_set(Evas_Object *popup, Popup_Button btn, Eina_Bool disabl case BTN_CANCEL: elm_object_disabled_set(pd->button.cancel, disabled); break; + case BTN_RESET: + elm_object_disabled_set(pd->button.reset, disabled); + break; default: ERR("Unknown button."); abort(); /* only one single button allowed */ --
[EGIT] [tools/eflete] master 04/10: Theme: add style for edit button.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=e3058c79c14ad6d419f3665e7f3be5e2f9fb6cce commit e3058c79c14ad6d419f3665e7f3be5e2f9fb6cce Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Oct 26 09:20:06 2016 +0300 Theme: add style for edit button. --- data/themes/default/widgets/button.edc | 27 +++ 1 file changed, 27 insertions(+) diff --git a/data/themes/default/widgets/button.edc b/data/themes/default/widgets/button.edc index 8e28c78..7264067 100644 --- a/data/themes/default/widgets/button.edc +++ b/data/themes/default/widgets/button.edc @@ -1102,6 +1102,33 @@ group { name: "elm/button/base/plus"; } } +group { name: "elm/button/base/edit"; + inherit: "elm/button/base/plus"; + images.image: "icon_edit.png" COMP; + parts { + part { name: "icon"; + type: IMAGE; + description { state: "default" 0.00; +max: 14 14; +color_class: "main"; +image.normal: "icon_edit.png"; + } + description { state: "clicked" 0.00; +inherit: "default" 0.00; +color_class: "select"; + } + description { state: "hilighted" 0.00; +inherit: "default" 0.00; +color_class: "select_light"; + } + description { state: "disabled" 0.00; +inherit: "default" 0.00; +color_class: "main_disabled"; + } + } + } +} + group { name: "elm/button/base/minus"; alias: "elm/button/base/minus_managers"; inherit: "elm/button/base/plus"; --
[EGIT] [tools/eflete] master 01/10: Tizen theme: add style for button widget.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=bce0d58f0d1d1bfd41317ed93bc19b7d7edfbda3 commit bce0d58f0d1d1bfd41317ed93bc19b7d7edfbda3 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Oct 26 09:17:01 2016 +0300 Tizen theme: add style for button widget. Button with "edit" icon. Will be used in shortcuts module. --- .../Group contents navigator/edit_icon_dim.png | Bin 0 -> 710 bytes .../Group contents navigator/edit_icon_mv.png | Bin 0 -> 710 bytes .../Group contents navigator/edit_icon_nor.png | Bin 0 -> 710 bytes .../Group contents navigator/edit_icon_sel.png | Bin 0 -> 710 bytes data/themes/tizen/widgets/button.edc | 28 + 5 files changed, 28 insertions(+) diff --git a/data/themes/tizen/images/Group contents navigator/edit_icon_dim.png b/data/themes/tizen/images/Group contents navigator/edit_icon_dim.png new file mode 100644 index 000..9e10ddd Binary files /dev/null and b/data/themes/tizen/images/Group contents navigator/edit_icon_dim.png differ diff --git a/data/themes/tizen/images/Group contents navigator/edit_icon_mv.png b/data/themes/tizen/images/Group contents navigator/edit_icon_mv.png new file mode 100644 index 000..de7c33d Binary files /dev/null and b/data/themes/tizen/images/Group contents navigator/edit_icon_mv.png differ diff --git a/data/themes/tizen/images/Group contents navigator/edit_icon_nor.png b/data/themes/tizen/images/Group contents navigator/edit_icon_nor.png new file mode 100644 index 000..6d4edbe Binary files /dev/null and b/data/themes/tizen/images/Group contents navigator/edit_icon_nor.png differ diff --git a/data/themes/tizen/images/Group contents navigator/edit_icon_sel.png b/data/themes/tizen/images/Group contents navigator/edit_icon_sel.png new file mode 100644 index 000..8a9b8e9 Binary files /dev/null and b/data/themes/tizen/images/Group contents navigator/edit_icon_sel.png differ diff --git a/data/themes/tizen/widgets/button.edc b/data/themes/tizen/widgets/button.edc index 55efd9b..2a5aee6 100644 --- a/data/themes/tizen/widgets/button.edc +++ b/data/themes/tizen/widgets/button.edc @@ -1389,6 +1389,34 @@ group { name: "elm/button/base/plus"; } } +group { name: "elm/button/base/edit"; + inherit: "elm/button/base/plus"; + images.image: "Group contents navigator/edit_icon_nor.png" COMP; + images.image: "Group contents navigator/edit_icon_mv.png" COMP; + images.image: "Group contents navigator/edit_icon_sel.png" COMP; + images.image: "Group contents navigator/edit_icon_dim.png" COMP; + parts { + part { name: "icon"; + type: IMAGE; + description { state: "default" 0.00; +max: 14 14; +image.normal: "Group contents navigator/edit_icon_nor.png"; + } + description { state: "clicked" 0.00; +inherit: "default" 0.00; +image.normal: "Group contents navigator/edit_icon_sel.png"; + } + description { state: "hilighted" 0.00; +inherit: "default" 0.00; +image.normal: "Group contents navigator/edit_icon_mv.png"; + } + description { state: "disabled" 0.00; +inherit: "default" 0.00; +image.normal: "Group contents navigator/edit_icon_dim.png"; + } + } + } +} group { name: "elm/button/base/minus"; images { image: "Group contents navigator/delete_icon_nor.png" COMP; --
[EGIT] [tools/eflete] master 03/10: Tizen theme: add style for shortcut dialog content layout.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=0d279a7bbdc1368224dce401f080028c03eff57b commit 0d279a7bbdc1368224dce401f080028c03eff57b Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Oct 26 09:19:19 2016 +0300 Tizen theme: add style for shortcut dialog content layout. --- data/themes/tizen/widgets/layout.edc | 77 ++-- 1 file changed, 73 insertions(+), 4 deletions(-) diff --git a/data/themes/tizen/widgets/layout.edc b/data/themes/tizen/widgets/layout.edc index 6627104..c6858f6 100644 --- a/data/themes/tizen/widgets/layout.edc +++ b/data/themes/tizen/widgets/layout.edc @@ -2291,16 +2291,85 @@ group { name: "elm/layout/about/default"; group { name: "elm/layout/shortcuts/default"; parts { - part { name: "elm.swallow.content"; + part { name: "elm.swallow.content"; type: SWALLOW; - description { state: "default" 0.0; -min: 420 420; -max: 420 420; + description { state: "default" 0.00; +min: 400 420; + } + } + part { name: "rect"; + type: RECT; + description { state: "default" 0.00; +visible: 0; +min: 400 420; +color: 255 255 255 125; +color_class: "button"; + } + description { state: "visible" 0.00; +inherit: "default" 0.00; +visible: 1; + } + description { state: "wrong" 0.00; +inherit: "visible" 0.00; +color_class: "select_light"; + } + } + part { name: "elm.text"; + type: TEXT; + description { state: "default" 0.00; +visible: 0; +color_class: "button_text"; +text { + font: FN_B; + size: 13; +} } + description { state: "visible" 0.00; +inherit: "default" 0.00; +visible: 1; + } + description { state: "wrong" 0.00; +inherit: "visible" 0.00; +color: 255 255 255 255; + } + } + } + programs { + program { name: "hover,show"; + signal: "hover,show"; + source: "eflete"; + action: STATE_SET "visible" 0.00; + target: "rect"; + target: "elm.text"; + } + program { name: "hover,hide"; + signal: "hover,hide"; + source: "eflete"; + action: STATE_SET "default" 0.00; + transition: DECELERATE 0.0; + target: "rect"; + target: "elm.text"; + } + program { name: "hover_wrong"; + signal: "hover,wrong"; + source: "eflete"; + action: STATE_SET "wrong" 0.00; + transition: DECELERATE_FACTOR 1.2 0.6; + target: "elm.text"; + target: "rect"; + } + program { name: "hover_click"; + signal: "mouse,up,*"; + source: "rect"; + action: STATE_SET "default" 0.00; + transition: LINEAR 0.2; + target: "elm.text"; + target: "rect"; } } } + #include "layouts/manager.edc" #include "layouts/colorclass_manager.edc" #include "layouts/live_view_toolbar_helper.edc" --
[EGIT] [tools/eflete] master 06/10: Theme: add style for shortcut dialog window layout.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=1759462e6372be3264487efa849d3279695304f0 commit 1759462e6372be3264487efa849d3279695304f0 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Oct 26 09:21:05 2016 +0300 Theme: add style for shortcut dialog window layout. --- data/themes/default/widgets/layout.edc | 75 -- 1 file changed, 72 insertions(+), 3 deletions(-) diff --git a/data/themes/default/widgets/layout.edc b/data/themes/default/widgets/layout.edc index 1d11d3f..f92ebf4 100644 --- a/data/themes/default/widgets/layout.edc +++ b/data/themes/default/widgets/layout.edc @@ -2034,18 +2034,87 @@ group { name: "elm/layout/property/tween"; } } } + group { name: "elm/layout/shortcuts/default"; parts { - part { name: "elm.swallow.content"; + part { name: "elm.swallow.content"; type: SWALLOW; - description { state: "default" 0.0; + description { state: "default" 0.00; min: 400 420; } } + part { name: "rect"; + type: RECT; + description { state: "default" 0.00; +visible: 0; +min: 400 420; +color: 64 64 64 125; + } + description { state: "visible" 0.00; +inherit: "default" 0.00; +visible: 1; +color: 64 64 64 155; + } + description { state: "wrong" 0.00; +inherit: "visible" 0.00; +color_class: "invalid"; + } + } + part { name: "elm.text"; + type: TEXT; + description { state: "default" 0.00; +visible: 0; +color_class: "main"; +text { + font: "PT"; + size: 13; +} + } + description { state: "visible" 0.00; +inherit: "default" 0.00; +visible: 1; + } + description { state: "wrong" 0.00; +inherit: "visible" 0.00; +color_class: "select_light"; + } + } + } + programs { + program { name: "hover,show"; + signal: "hover,show"; + source: "eflete"; + action: STATE_SET "visible" 0.00; + target: "rect"; + target: "elm.text"; + } + program { name: "hover,hide"; + signal: "hover,hide"; + source: "eflete"; + action: STATE_SET "default" 0.00; + transition: DECELERATE 0.0; + target: "rect"; + target: "elm.text"; + } + program { name: "hover_wrong"; + signal: "hover,wrong"; + source: "eflete"; + action: STATE_SET "wrong" 0.00; + transition: DECELERATE_FACTOR 1.2 0.6; + target: "elm.text"; + target: "rect"; + } + program { name: "hover_click"; + signal: "mouse,up,*"; + source: "rect"; + action: STATE_SET "default" 0.00; + transition: LINEAR 0.2; + target: "elm.text"; + target: "rect"; + } } } - #include "layouts/manager.edc" #include "layouts/colorclass_manager.edc" #include "layouts/live_view_toolbar_helper.edc" --
[EGIT] [tools/eflete] master 02/10: Tizen theme: add style for shortcut genlist item.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=ae65bc84b1712994df1ee09e8f1f9f4c6a79fab6 commit ae65bc84b1712994df1ee09e8f1f9f4c6a79fab6 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Oct 26 09:18:43 2016 +0300 Tizen theme: add style for shortcut genlist item. --- data/themes/tizen/widgets/genlist.edc | 246 +- 1 file changed, 210 insertions(+), 36 deletions(-) diff --git a/data/themes/tizen/widgets/genlist.edc b/data/themes/tizen/widgets/genlist.edc index 235bf4b..74ab779 100644 --- a/data/themes/tizen/widgets/genlist.edc +++ b/data/themes/tizen/widgets/genlist.edc @@ -78,42 +78,6 @@ group { name: "elm/genlist/item/group_index/default"; } } -group { name: "elm/genlist/item/shortcuts/default"; - data { - item: "texts" "elm.text"; - item: "treesize " "0"; - item: "contents" ""; - item: "stacking" "above"; - item: "selectraise" "off"; - } - parts { - part { name: "elm.swallow.pad"; - type: SWALLOW; - description { state: "default" 0.0; -align: 0.0 0.5; -fixed: 1 0; -rel1.offset: 20 0; -rel2.relative: 0.0 1.0; - } - } - part { name: "elm.text"; - type: TEXT; - description {state: "default" 0.0; -color: 88 88 88 255; -text { - font: FN; - size: 13; - min: 1 1; - max: 1 1; - align: 0 0.5; - ellipsis: -1; -} -align: 0 0.5; -rel1.offset: 30 0; - } - } - } -} group { name: "elm/genlist/item/empty/default"; data { item: "texts" ""; @@ -3305,6 +3269,216 @@ group { name: "elm/genlist/base/manager"; } } } +group { name: "elm/genlist/item/shortcuts/default"; + data { + item: "texts" "combination.text description.text"; + item: "treesize" "20"; + item: "contents" "elm.swallow.icon change.button reset.button"; + item: "stacking" "above"; + item: "selectraise" "on"; + } + parts { + part { name: "bg"; + type: RECT; + description { state: "default" 0.00; +color: 0 0 0 0; +rel2.offset: -1 -2; + } + description { state: "selected" 0.00; +inherit: "default" 0.00; +color: 255 255 255 0; + } + description { state: "reorder" 0.00; +inherit: "selected" 0.00; + } + } + part { name: "separator"; + type: RECT; + description { state: "default" 0.00; +align: 0.50 1.00; +min: 0 1; +max: -1 1; +color: 68 68 68 0; + } + description { state: "hide" 0.00; +inherit: "default" 0.00; +visible: 0; + } + } + part { name: "elm.swallow.pad"; + type: SWALLOW; + description { state: "default" 0.00; +align: 0.00 0.50; +fixed: 1 0; +rel2.relative: 0.00 1.00; + } + description { state: "hide" 0.00; +inherit: "default" 0.00; +visible: 0; + } + } + part { name: "elm.swallow.icon"; + type: SWALLOW; + repeat_events: 1; + description { state: "default" 0.00; +align: 0.00 0.50; +min: 14 14; +max: 14 14; +aspect: 1.00 1.00; +aspect_preference: VERTICAL; +rel1 { + relative: 1.00 0.00; + offset: 6 3; + to_x: "elm.swallow.pad"; +} +rel2 { + relative: 0.00 1.00; + offset: -1 -4; +} + } + description { state: "hide" 0.00; +inherit: "default" 0.00; +visible: 0; + } + } + part { name: "combination.text"; + type: TEXT; + repeat_events: 1; + description { state: "default" 0.00; +align: 0.00 0.50; +min: 0 26; +color: 88 88 88 255; +text { + font: FN; + size: 13; + min: 1 0; + max: 1 0; + align: 0.00 0.50; + ellipsis: -1.00; +} +rel1 { + relative: 1.00 0.00; + offset:
[EGIT] [tools/eflete] master 08/10: Config: remove old structure _Shortcuts.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=7bfd712af12d7ef5ea51fd51bd7636d8dd5c62c6 commit 7bfd712af12d7ef5ea51fd51bd7636d8dd5c62c6 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Oct 26 09:39:19 2016 +0300 Config: remove old structure _Shortcuts. This structure now replaced with public _Shortcut from shortcut module. Prepared to load/save shortcut list into profile. --- src/bin/config/config.c | 60 + src/bin/config/config.h | 24 2 files changed, 10 insertions(+), 74 deletions(-) diff --git a/src/bin/config/config.c b/src/bin/config/config.c index 4fc9780..64a6ed4 100644 --- a/src/bin/config/config.c +++ b/src/bin/config/config.c @@ -159,18 +159,10 @@ config_recent_add(const char *name, const char *path) static void _profile_free(void) { - Shortcuts *sc; - free((char *)profile->general.projects_folder); free((char *)profile->workspace.bg_image); free((char *)profile->liveview.bg_image); - EINA_LIST_FREE(profile->shortcuts, sc) - { -eina_stringshare_del(sc->description); -free(sc); - } - free(profile); profile = NULL; } @@ -260,19 +252,22 @@ config_init(void) (edd_profile, Profile, "colors",colors, edd_color); /* shortcuts */ - eet_eina_stream_data_descriptor_class_set(, sizeof(eddkc), "Shortcuts", sizeof(Shortcuts)); + eet_eina_stream_data_descriptor_class_set(, sizeof(eddkc), "Shortcut", sizeof(Shortcut)); edd_keys = eet_data_descriptor_stream_new(); EET_DATA_DESCRIPTOR_ADD_BASIC - (edd_keys, Shortcuts, "keyname", keyname, EET_T_STRING); + (edd_keys, Shortcut, "keyname", keyname, EET_T_STRING); + EET_DATA_DESCRIPTOR_ADD_BASIC + (edd_keys, Shortcut, "keycode", keycode, EET_T_UINT); EET_DATA_DESCRIPTOR_ADD_BASIC - (edd_keys, Shortcuts, "keycode", keycode, EET_T_INT); + (edd_keys, Shortcut, "modifiers", modifiers, EET_T_INT); EET_DATA_DESCRIPTOR_ADD_BASIC - (edd_keys, Shortcuts, "modifiers", modifiers, EET_T_INT); + (edd_keys, Shortcut, "combination", combination, EET_T_STRING); EET_DATA_DESCRIPTOR_ADD_BASIC - (edd_keys, Shortcuts, "description", description, EET_T_STRING); + (edd_keys, Shortcut, "type_press", type_press, EET_T_UINT); EET_DATA_DESCRIPTOR_ADD_BASIC - (edd_keys, Shortcuts, "holdable", holdable, EET_T_UCHAR); + (edd_keys, Shortcut, "type_unpress", type_unpress, EET_T_UINT); + EET_DATA_DESCRIPTOR_ADD_LIST (edd_profile, Profile, "shortcuts",shortcuts, edd_keys); @@ -320,38 +315,6 @@ config_shutdown(void) return true; } -static Eina_List * -_default_shortcuts_get() -{ - Eina_List *shortcuts = NULL; - Shortcuts *shortcut; - -#define ADD_SHORTCUT(Name, Keycode, Modifiers, Descr, Holdable) \ - shortcut = mem_calloc(1, sizeof(Shortcuts)); \ - shortcut->keyname = eina_stringshare_add_length(Name, strlen(Name)); \ - shortcut->keycode = Keycode; \ - shortcut->modifiers = Modifiers; \ - shortcut->description = eina_stringshare_add_length(Descr, strlen(Descr));\ - shortcut->holdable = Holdable;\ - shortcuts = eina_list_append(shortcuts, shortcut); - - /* Ctrl- */ - /* - ADD_SHORTCUT("s", 39, CTRL, "save", false); - ADD_SHORTCUT("w", 25, CTRL, "close", false); - ADD_SHORTCUT("q", 24, CTRL, "quit", false); - ADD_SHORTCUT("z", 52, CTRL, "undo", false); - ADD_SHORTCUT("y", 29, CTRL, "redo", false); - - ADD_SHORTCUT("equal", 21, CTRL, "zoom.in", false); - ADD_SHORTCUT("minus", 20, CTRL, "zoom.out", false); -*/ - /* Holdable keys. */ - ADD_SHORTCUT("Ctrl_L", 37, 0, "object_area.show", true); - -#undef ADD_SHORTCUT - return shortcuts; -} static void _profile_update(Profile *prof) @@ -369,8 +332,6 @@ _profile_update(Profile *prof) (!ecore_file_exists(prof->general.projects_folder))) prof->general.projects_folder = getenv("HOME"); - if (!prof->shortcuts) - prof->shortcuts = _default_shortcuts_get(); } static Profile * @@ -464,7 +425,6 @@ config_load(void) _update_recents(config); - shortcuts_profile_load(profile_get()); #ifdef HAVE_ENVENTOR enventor_object_profile_load(ap.enventor, profile_get()); #endif /* HAVE_ENVENTOR */ @@ -578,7 +538,7 @@ profile_save(const char *
[EGIT] [tools/eflete] master 10/10: Main window: support ability to change default shortcuts.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=49b53dbecf3b8129e318639258b207bfbcb36411 commit 49b53dbecf3b8129e318639258b207bfbcb36411 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Oct 26 09:44:13 2016 +0300 Main window: support ability to change default shortcuts. --- src/bin/ui/main_window.c | 243 +-- 1 file changed, 174 insertions(+), 69 deletions(-) diff --git a/src/bin/ui/main_window.c b/src/bin/ui/main_window.c index f906466..f90ec20 100644 --- a/src/bin/ui/main_window.c +++ b/src/bin/ui/main_window.c @@ -159,18 +159,18 @@ ui_main_window_add(void) ap.property.demo = property_add(ap.win, PROPERTY_MODE_DEMO); elm_object_part_content_set(ap.panes.right, "right", ap.property.group); - ap.menu = ui_menu_add(); - - #ifdef HAVE_ENVENTOR - ap.enventor= enventor_object_init(ap.win); - #endif /* HAVE_ENVENTOR */ - if (!shortcuts_init()) { CRIT("Can't initialize the shortcut module"); return false; } + ap.menu = ui_menu_add(); + + #ifdef HAVE_ENVENTOR + ap.enventor= enventor_object_init(ap.win); + #endif /* HAVE_ENVENTOR */ + elm_config_window_auto_focus_enable_set(false); return true; } @@ -311,60 +311,163 @@ shortcuts_window_add(void) return NULL; } #else + +typedef struct { + const char *combination; + const char *description; + Shortcut_Type type; +} Shortcut_Data; + +static void +_shortcut_change_request(void *data, + Evas *e __UNUSED__, + Evas_Object *obj, + void *event) +{ + Evas_Event_Key_Up *ev = (Evas_Event_Key_Up *)event; + Shortcut_Data *sc = (Shortcut_Data *)data; + Eina_Bool result = false; + + result = shortcuts_shortcut_new_set(sc->type, ev); + if (result) + { + elm_layout_signal_emit(obj, "hover,hide", "eflete"); + } + else + { +elm_layout_text_set(obj, "elm.text", _("Sequence already binded.")); +elm_layout_signal_emit(obj, "hover,wrong", "eflete"); + } + Evas_Object *genlist = elm_layout_content_get(obj, "elm.swallow.content"); + elm_genlist_realized_items_update(genlist); + evas_object_event_callback_del(obj, EVAS_CALLBACK_KEY_UP, _shortcut_change_request); + shortcuts_disabled_set(false); +} + +static void +_change_shortcut(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + Shortcut_Data *sc = (Shortcut_Data *)data; + Evas_Object *layout = evas_object_data_get(obj, "layout"); + + shortcuts_disabled_set(true); + elm_layout_signal_emit(layout, "hover,show", "eflete"); + elm_layout_text_set(layout, "elm.text", _("Please press key sequence")); + evas_object_event_callback_add(layout, EVAS_CALLBACK_KEY_UP, _shortcut_change_request, sc); + +} + +static void +_reset_shortcut(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + Popup_Button btn_res = (Popup_Button) event_info; + if (btn_res == BTN_RESET) + { + shortcuts_shortcut_reset(); + } +} + static char * _label_get(void *data, Evas_Object *obj __UNUSED__, const char *pr __UNUSED__) { - return strdup((char *)data); + if (!pr) return strdup(" "); + if (!strcmp(pr, "combination.text")) + { +Shortcut_Data *sc = (Shortcut_Data *)data; +const char *text = shortcuts_shortcut_combination_get(sc->type); +return text != NULL ? strdup(text) : strdup("NONE"); + } + else if (!strcmp(pr, "description.text")) + { +Shortcut_Data *sc = (Shortcut_Data *)data; +return strdup(sc->description); +return sc->description != NULL ? strdup(sc->description) : strdup("NONE"); + } + else if (!strcmp(pr, "elm.text")) + { +return data != NULL ? strdup((char *)data) : strdup(" "); + } + return strdup(" "); } + static Evas_Object * -_shortcuts_window_content_get(void *data, Evas_Object *popup __UNUSED__, Evas_Object **to_focus __UNUSED__) +_content_get(void *data __UNUSED__, Evas_Object *obj, const char *pr __UNUSED__) { - Evas_Object *box = data; - static const char *global_hotkeys[] = { - "F1 - show shortcuts list (this dialog)", - "F2 - normal mode", - "F3 - code mode", - "F4 - demo mode", - "F7 - open image manager", - "F8 - open sound manager", - "F9 - open style manager", - "F10 - open colorclass manager", -
[EGIT] [tools/eflete] master 07/10: Shortcuts: add infrastructure to make shortcuts changable.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=8e697ded111730ac3f8f484685e19bdfd7568114 commit 8e697ded111730ac3f8f484685e19bdfd7568114 Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Oct 26 09:35:45 2016 +0300 Shortcuts: add infrastructure to make shortcuts changable. Added API: shortcuts_shortcut_new_set shortcuts_shortcut_reset shortcuts_shortcut_combination_get shortcuts_disabled_set Those function make possible to set new key combination to the different type of actions. Reset whole list of shortcuts to default values. Generate string representation of shortcut combinations. --- src/bin/ui/shortcuts/shortcuts.c | 338 +-- src/bin/ui/shortcuts/shortcuts.h | 64 +++- 2 files changed, 381 insertions(+), 21 deletions(-) diff --git a/src/bin/ui/shortcuts/shortcuts.c b/src/bin/ui/shortcuts/shortcuts.c index 0520c5a..1e227a0 100644 --- a/src/bin/ui/shortcuts/shortcuts.c +++ b/src/bin/ui/shortcuts/shortcuts.c @@ -18,7 +18,7 @@ */ #include "shortcuts.h" - +#include "config.h" static Eina_List *handlers_stack = NULL; static inline unsigned int @@ -98,16 +98,6 @@ _keycode_convert(unsigned int keycode) return keycode; } -struct _Shortcut -{ - unsigned int keycode; - unsigned int modifiers; - Shortcut_Type type_press; - Shortcut_Type type_unpress; - char *keyname; -}; -typedef struct _Shortcut Shortcut; - struct _Shortcut_Module { Ecore_Event_Handler *shortcuts_wheel_handler; /**< handler for catching mouse wheel\ @@ -120,6 +110,7 @@ struct _Shortcut_Module Eina_List *shortcuts; /**< list of user's shortcuts */ Eina_List *held_shortcuts; /**< list of functions that is being held */ unsigned int last_modifiers; + Eina_Bool disabled; /**< If shortcuts disabled - there are no reaction to input > */ }; static int @@ -131,10 +122,6 @@ _shortcut_cmp(Shortcut *s1, Shortcut *s2) { return strcmp(s1->keyname, s2->keyname); } -else - { - return -1; - } } return s1->modifiers - s2->modifiers; } @@ -230,6 +217,9 @@ _mouse_wheel_event_cb(void *data __UNUSED__, int type __UNUSED__, void *event) { Ecore_Event_Mouse_Wheel *ev = event; + if (ap.shortcuts->disabled) + return ECORE_CALLBACK_PASS_ON; + if ((ev->modifiers & 255) != MOD_CTRL) return ECORE_CALLBACK_PASS_ON; @@ -248,6 +238,9 @@ _key_press_event_cb(void *data __UNUSED__, int type __UNUSED__, void *event) Shortcut sc, *shortcut; const char *obj_name; + if (ap.shortcuts->disabled) + return ECORE_CALLBACK_PASS_ON; + /* * (ev->modifiers && 255) because modifiers contain both locks and modifs, * so if Caps Lock is clicked, then with MOD_SHIFT it will return not 1, but 257. @@ -326,6 +319,8 @@ _key_unpress_event_cb(void *data __UNUSED__, int type __UNUSED__, void *event) Shortcut sc, *shortcut; unsigned int unpressed_modifiers; Eina_List *l, *l_n; + if (ap.shortcuts->disabled) + return ECORE_CALLBACK_PASS_ON; /* * (ev->modifiers && 255) because modifiers contain both locks and modifs, @@ -393,6 +388,30 @@ _win_unfocused_cb(void *data __UNUSED__, _shortcut_handle(shortcut->type_unpress); } +static char * +_combination_string_get(Shortcut *sc) +{ + Eina_Strbuf *buf = eina_strbuf_new(); + char *result = NULL; + if (sc->modifiers & MOD_CTRL) + eina_strbuf_append_length(buf, "Ctrl + ", strlen("Ctrl + ")); + if (sc->modifiers & MOD_ALT) + eina_strbuf_append_length(buf, "Alt + ", strlen("Alt + ")); + if (sc->modifiers & MOD_SHIFT) + eina_strbuf_append_length(buf, "Shift + ", strlen("Shift + ")); + if (sc->modifiers & MOD_SUPER) + eina_strbuf_append_length(buf, "Super + ", strlen("Super + ")); + if (sc->modifiers & MOD_META) + eina_strbuf_append_length(buf, "Meta + ", strlen("Meta + ")); + if (sc->modifiers & MOD_HYPER) + eina_strbuf_append_length(buf, "Hyper + ", strlen("Hyper + ")); + if (sc->modifiers & MOD_CAPS) + eina_strbuf_append_length(buf, "Caps Lock + ", strlen("Caps Lock + ")); + eina_strbuf_append_length(buf, sc->keyname, strlen(sc->keyname)); + result = eina_strbuf_string_steal(buf); + eina_strbuf_free(buf); + return result; +} static void _add_shortcut(Shortcut_Type type_press, Shortcut_Type type_unpress, @@ -409,7 +428,7 @@ _add_shortcut(Shortcut_Type type_press, sc->keycode = keycode; sc->keyname = keyname; s
[EGIT] [tools/eflete] master 05/10: Theme: add style for genlist item.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=0d03a25c8cf677884c9cc758c46a42b8727c78fa commit 0d03a25c8cf677884c9cc758c46a42b8727c78fa Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Wed Oct 26 09:20:27 2016 +0300 Theme: add style for genlist item. This style will be used in shortcut dialog window. --- data/themes/default/widgets/genlist.edc | 212 1 file changed, 212 insertions(+) diff --git a/data/themes/default/widgets/genlist.edc b/data/themes/default/widgets/genlist.edc index 7ab7479..3a2247e 100644 --- a/data/themes/default/widgets/genlist.edc +++ b/data/themes/default/widgets/genlist.edc @@ -2653,6 +2653,218 @@ group { name: "elm/genlist/base/default"; } } +group { name: "elm/genlist/item/shortcuts/default"; + data { + item: "texts" "combination.text description.text"; + item: "treesize" "20"; + item: "contents" "elm.swallow.icon change.button reset.button"; + item: "stacking" "above"; + item: "selectraise" "on"; + } + parts { + part { name: "bg"; + type: RECT; + description { state: "default" 0.00; +color: 0 0 0 0; +rel2.offset: -1 -2; + } + description { state: "selected" 0.00; +inherit: "default" 0.00; +color_class: "select"; +color: 255 255 255 255; + } + description { state: "reorder" 0.00; +inherit: "selected" 0.00; + } + } + part { name: "separator"; + type: RECT; + description { state: "default" 0.00; +align: 0.50 1.00; +min: 0 1; +max: -1 1; +color: 68 68 68 255; + } + description { state: "hide" 0.00; +inherit: "default" 0.00; +visible: 0; + } + } + part { name: "elm.swallow.pad"; + type: SWALLOW; + description { state: "default" 0.00; +align: 0.00 0.50; +fixed: 1 0; +rel2.relative: 0.00 1.00; + } + description { state: "hide" 0.00; +inherit: "default" 0.00; +visible: 0; + } + } + part { name: "elm.swallow.icon"; + type: SWALLOW; + repeat_events: 1; + description { state: "default" 0.00; +align: 0.00 0.50; +min: 14 14; +max: 14 14; +aspect: 1.00 1.00; +aspect_preference: VERTICAL; +rel1 { + relative: 1.00 0.00; + offset: 6 3; + to_x: "elm.swallow.pad"; +} +rel2 { + relative: 0.00 1.00; + offset: -1 -4; +} + } + description { state: "hide" 0.00; +inherit: "default" 0.00; +visible: 0; + } + } + part { name: "combination.text"; + type: TEXT; + repeat_events: 1; + description { state: "default" 0.00; +align: 0.00 0.50; +min: 0 26; +color_class: "main"; +text { + font: "PT"; + size: 13; + min: 1 0; + max: 1 0; + align: 0.00 0.50; + ellipsis: -1.00; +} +rel1 { + relative: 1.00 0.00; + offset: 6 0; + to_x: "elm.swallow.icon"; +} +rel2 { + relative: 0.00 1.00; + offset: -7 -1; + to_x: "change.button"; +} + } + description { state: "hide" 0.00; +inherit: "default" 0.00; +visible: 0; +max: 55 -1; +text { + min: 0 0; + max: 0 0; + ellipsis: 0.00; +} + } + } + part { name: "description.text"; + type: TEXT; + repeat_events: 1; + description { state: "default" 0.00; +align: 0.00 0.50; +min: 0 26; +max: 200 -1; +color_class: "main"; +text { + font: "PT"; + size: 13; + min: 1 0; + max: 1 0; + align: 0.00 0.50; + ellipsis: -1.00; +} +rel1 { + relative: 1.00 0.00; + offset: 6 0; + to_x: "combination.text"
[EGIT] [tools/eflete] master 01/01: Shortctus: make shortcut help dialog to use genlist.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=2cad2b17fbd80f6317f0668d7a3ea131bab91a1e commit 2cad2b17fbd80f6317f0668d7a3ea131bab91a1e Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Fri Oct 21 18:10:41 2016 +0300 Shortctus: make shortcut help dialog to use genlist. Make the same behaviour as in Tizen theme. This prepare UI to add ability for change shortcuts. --- data/themes/default/widgets/layout.edc | 11 +++ src/bin/ui/main_window.c | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/data/themes/default/widgets/layout.edc b/data/themes/default/widgets/layout.edc index 068150f..1d11d3f 100644 --- a/data/themes/default/widgets/layout.edc +++ b/data/themes/default/widgets/layout.edc @@ -2034,6 +2034,17 @@ group { name: "elm/layout/property/tween"; } } } +group { name: "elm/layout/shortcuts/default"; + parts { + part { name: "elm.swallow.content"; + type: SWALLOW; + description { state: "default" 0.0; +min: 400 420; + } + } + } +} + #include "layouts/manager.edc" #include "layouts/colorclass_manager.edc" diff --git a/src/bin/ui/main_window.c b/src/bin/ui/main_window.c index 023e2f3..f906466 100644 --- a/src/bin/ui/main_window.c +++ b/src/bin/ui/main_window.c @@ -240,7 +240,7 @@ about_window_add(void) #endif -#if !HAVE_TIZEN +#if 0 static Evas_Object * _shortcuts_window_content_get(void *data, Evas_Object *popup __UNUSED__, Evas_Object **to_focus __UNUSED__) @@ -438,7 +438,7 @@ shortcuts_window_add(void) { Evas_Object *content = elm_box_add(ap.win); - evas_object_size_hint_min_set(content, 420, 460); + evas_object_size_hint_min_set(content, 400, 460); popup_add(_("Help: shortcuts"), NULL, BTN_OK, _shortcuts_window_content_get, content); return NULL; --
[EGIT] [core/efl] master 01/01: Elm_theme: parse theme name ":/file.ext" only on Windows.
nikawhite pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=9266ce4bd5d1e824e4489cf0e34fbfa7e2e865bc commit 9266ce4bd5d1e824e4489cf0e34fbfa7e2e865bc Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Fri Oct 21 15:46:49 2016 +0300 Elm_theme: parse theme name ":/file.ext" only on Windows. Commit 86928a430c broke ability to use more than one theme file for posix compatible systems. For case ELM_THEME=/home/user/a.edj:/home/user/b.edj string was parsed incorrectly. The result was a single string "/home/user/a.edj:/home/user/b.edj", but expected two strings "/home/user/a.edj" and "/home/user/b.edj" This commit add additional check of the file paths like :/filename.ext or :\filename.ext in Windows only. This avoid wrong parse behaviour on Linux and macOS. --- src/lib/elementary/elm_theme.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/lib/elementary/elm_theme.c b/src/lib/elementary/elm_theme.c index de5aea3..e292cbc 100644 --- a/src/lib/elementary/elm_theme.c +++ b/src/lib/elementary/elm_theme.c @@ -399,14 +399,17 @@ _elm_theme_parse(Elm_Theme *th, const char *theme) eina_strbuf_append_char(buf, ':'); pe += 2; } - else if ((isalpha(pe[0]) && (pe[1] == ':') && pe[2] == '/')) +#ifdef HAVE_ELEMENTARY_WIN32 + else if (isalpha(pe[0]) && (pe[1] == ':') && + ((pe[2] == '/') || (pe[2] == '\\'))) { - // Correct processing file path on Windows OS ":/" + // Correct processing file path on Windows OS ":/" or ":\" eina_strbuf_append_char(buf, *pe); pe++; eina_strbuf_append_char(buf, *pe); pe++; } +#endif else if ((*pe == ':') || (!*pe)) { // p -> pe == 'name:' if (pe > p) --