Re: [E-devel] EFL Profiling Viewer 1.1 released

2017-12-26 Thread Mykyta Biliavskyi
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

2017-12-22 Thread Mykyta Biliavskyi
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.

2017-09-27 Thread Mykyta Biliavskyi
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

2017-09-21 Thread Mykyta Biliavskyi
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.

2017-09-20 Thread Mykyta Biliavskyi
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.

2017-09-01 Thread Mykyta Biliavskyi
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.

2017-09-01 Thread Mykyta Biliavskyi
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

2017-08-31 Thread Mykyta Biliavskyi
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

2017-08-15 Thread Mykyta Biliavskyi
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

2017-08-14 Thread Mykyta Biliavskyi
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!

2017-07-06 Thread Mykyta Biliavskyi
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!

2017-06-30 Thread Mykyta Biliavskyi
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!

2017-06-23 Thread Mykyta Biliavskyi
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.

2017-06-12 Thread Mykyta Biliavskyi
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.

2017-06-12 Thread Mykyta Biliavskyi
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

2017-05-23 Thread Mykyta Biliavskyi
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

2017-05-22 Thread Mykyta Biliavskyi
 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

2017-05-19 Thread Mykyta Biliavskyi
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.

2017-03-16 Thread Mykyta Biliavskyi
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.

2017-02-23 Thread Mykyta Biliavskyi
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.

2017-02-23 Thread Mykyta Biliavskyi
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.

2017-02-23 Thread Mykyta Biliavskyi
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.

2017-02-20 Thread Mykyta Biliavskyi
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.

2017-02-06 Thread Mykyta Biliavskyi
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.

2017-02-06 Thread Mykyta Biliavskyi
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.

2017-02-06 Thread Mykyta Biliavskyi
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.

2017-01-24 Thread Mykyta Biliavskyi
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.

2017-01-24 Thread Mykyta Biliavskyi
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.

2017-01-24 Thread Mykyta Biliavskyi
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.

2017-01-23 Thread Mykyta Biliavskyi
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.

2017-01-23 Thread Mykyta Biliavskyi
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.

2017-01-23 Thread Mykyta Biliavskyi
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.

2017-01-23 Thread Mykyta Biliavskyi
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.

2017-01-23 Thread Mykyta Biliavskyi
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.

2017-01-23 Thread Mykyta Biliavskyi
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.

2017-01-23 Thread Mykyta Biliavskyi
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.

2017-01-23 Thread Mykyta Biliavskyi
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.

2017-01-23 Thread Mykyta Biliavskyi
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.

2017-01-23 Thread Mykyta Biliavskyi
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.

2017-01-23 Thread Mykyta Biliavskyi
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.

2017-01-23 Thread Mykyta Biliavskyi
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.

2017-01-19 Thread Mykyta Biliavskyi
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.

2017-01-18 Thread Mykyta Biliavskyi
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.

2017-01-18 Thread Mykyta Biliavskyi
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.

2017-01-18 Thread Mykyta Biliavskyi
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.

2017-01-18 Thread Mykyta Biliavskyi
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.

2017-01-18 Thread Mykyta Biliavskyi
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.

2017-01-18 Thread Mykyta Biliavskyi
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.

2017-01-18 Thread Mykyta Biliavskyi
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.

2017-01-18 Thread Mykyta Biliavskyi
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.

2017-01-18 Thread Mykyta Biliavskyi
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.

2017-01-18 Thread Mykyta Biliavskyi
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.

2017-01-18 Thread Mykyta Biliavskyi
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.

2017-01-18 Thread Mykyta Biliavskyi
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.

2017-01-13 Thread Mykyta Biliavskyi
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.

2017-01-13 Thread Mykyta Biliavskyi
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.

2017-01-13 Thread Mykyta Biliavskyi
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.

2017-01-13 Thread Mykyta Biliavskyi
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.

2017-01-13 Thread Mykyta Biliavskyi
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.

2017-01-13 Thread Mykyta Biliavskyi
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.

2017-01-13 Thread Mykyta Biliavskyi
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.

2017-01-10 Thread Mykyta Biliavskyi
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.

2017-01-10 Thread Mykyta Biliavskyi
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.

2017-01-10 Thread Mykyta Biliavskyi
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.

2017-01-10 Thread Mykyta Biliavskyi
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.

2017-01-10 Thread Mykyta Biliavskyi
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.

2017-01-10 Thread Mykyta Biliavskyi
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.

2017-01-10 Thread Mykyta Biliavskyi
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.

2017-01-10 Thread Mykyta Biliavskyi
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.

2017-01-06 Thread Mykyta Biliavskyi
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.

2016-12-29 Thread Mykyta Biliavskyi
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.

2016-12-29 Thread Mykyta Biliavskyi
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.

2016-12-27 Thread Mykyta Biliavskyi
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.

2016-12-22 Thread Mykyta Biliavskyi
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.

2016-12-19 Thread Mykyta Biliavskyi
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.

2016-12-16 Thread Mykyta Biliavskyi
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.

2016-12-15 Thread Mykyta Biliavskyi
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.

2016-12-15 Thread Mykyta Biliavskyi
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.

2016-12-15 Thread Mykyta Biliavskyi
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.

2016-12-14 Thread Mykyta Biliavskyi
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.

2016-12-14 Thread Mykyta Biliavskyi
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.

2016-12-06 Thread Mykyta Biliavskyi
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.

2016-12-05 Thread Mykyta Biliavskyi
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.

2016-11-10 Thread Mykyta Biliavskyi
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.

2016-11-10 Thread Mykyta Biliavskyi
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.

2016-11-04 Thread Mykyta Biliavskyi
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.

2016-11-04 Thread Mykyta Biliavskyi
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)

2016-10-31 Thread Mykyta Biliavskyi
+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".

2016-10-26 Thread Mykyta Biliavskyi
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.

2016-10-26 Thread Mykyta Biliavskyi
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.

2016-10-26 Thread Mykyta Biliavskyi
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.

2016-10-26 Thread Mykyta Biliavskyi
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.

2016-10-26 Thread Mykyta Biliavskyi
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.

2016-10-26 Thread Mykyta Biliavskyi
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.

2016-10-26 Thread Mykyta Biliavskyi
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.

2016-10-26 Thread Mykyta Biliavskyi
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.

2016-10-26 Thread Mykyta Biliavskyi
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.

2016-10-26 Thread Mykyta Biliavskyi
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.

2016-10-26 Thread Mykyta Biliavskyi
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.

2016-10-21 Thread Mykyta Biliavskyi
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)

-- 




  1   2   3   4   5   >