[EGIT] [tools/eflete] eflete-1.18 08/91: export-edc: fix segment fault.

2017-01-23 Thread Jaehwan Kim
rimmed pushed a commit to branch eflete-1.18.

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

commit 3c80179731293e2bd5df66c214a8c99a4b3575c6
Author: Jaehwan Kim 
Date:   Thu Sep 1 18:09:22 2016 +0900

export-edc: fix segment fault.
---
 src/bin/main.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bin/main.c b/src/bin/main.c
index c176219..093043e 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -349,7 +349,8 @@ elm_main(int argc, char **argv)
 
 run:
 ap.path.export_edj = export_edj;
-_export_edc_path_set(export_edc);
+if (export_edc)
+  _export_edc_path_set(export_edc);
 if (!ui_main_window_add())
   {
  app_shutdown();

-- 




[EGIT] [tools/eflete] eflete-1.18 13/91: main_window: use async popup for about and shortcuts

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 9e74f30fb0b68e4399ce3fd3ae45144dd5ac0ffb
Author: Andrii Kroitor 
Date:   Fri Sep 2 15:03:21 2016 +0300

main_window: use async popup for about and shortcuts
---
 src/bin/ui/main_window.c | 9 +++--
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/src/bin/ui/main_window.c b/src/bin/ui/main_window.c
index 90f59bc..ac9ecab 100644
--- a/src/bin/ui/main_window.c
+++ b/src/bin/ui/main_window.c
@@ -213,8 +213,7 @@ Evas_Object *
 about_window_add(void)
 {
Evas_Object *content = elm_label_add(ap.win);
-   popup_want_action(_("About"), NULL, _about_window_content_get, BTN_CANCEL, 
NULL, content);
-   evas_object_del(content);
+   popup_add(_("About"), NULL, BTN_CANCEL, _about_window_content_get, content);
return NULL;
 }
 
@@ -234,8 +233,7 @@ Evas_Object *
 about_window_add(void)
 {
Evas_Object *content = elm_layout_add(ap.win);
-   popup_want_action(_("About Component Designer"), NULL, 
_about_window_content_get, BTN_OK, NULL, content);
-   evas_object_del(content);
+   popup_add(_("About Component Designer"), NULL, BTN_OK, 
_about_window_content_get, content);
return NULL;
 }
 
@@ -306,7 +304,6 @@ shortcuts_window_add(void)
 
evas_object_size_hint_min_set(content, 0, 300);
 
-   popup_want_action(_("Help: shortcuts"), NULL, 
_shortcuts_window_content_get, BTN_OK, NULL, content);
-   evas_object_del(content);
+   popup_add(_("Help: shortcuts"), NULL, BTN_OK, 
_shortcuts_window_content_get, content);
return NULL;
 }

-- 




[EGIT] [tools/eflete] eflete-1.18 29/91: project_common: use async popup

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 007602bd8eb2dde55ef672d20dd1ecf0f370dff8
Author: Andrii Kroitor 
Date:   Mon Sep 5 18:31:07 2016 +0300

project_common: use async popup
---
 src/bin/ui/project_common.c | 81 -
 1 file changed, 58 insertions(+), 23 deletions(-)

diff --git a/src/bin/ui/project_common.c b/src/bin/ui/project_common.c
index 24b12f5..1a8933f 100644
--- a/src/bin/ui/project_common.c
+++ b/src/bin/ui/project_common.c
@@ -20,18 +20,60 @@
 #include "main_window.h"
 #include "project_manager.h"
 
+typedef struct {
+   Eina_Strbuf *buf, *buf_msg;
+   const char *name;
+   const char *title;
+   const char *path;
+   Ecore_Cb func;
+   const void *data;
+} Permission_Check_Data;
+
+static void
+_exist_permission_popup_close_cb(void *data, Evas_Object *obj __UNUSED__, void 
*event_info)
+{
+   Popup_Button btn_res = (Popup_Button) event_info;
+   Permission_Check_Data *pcd = data;
+   Eina_Strbuf *buf_msg;
+
+   if (btn_res == BTN_CANCEL) goto end;
+   if (!ecore_file_can_write(eina_strbuf_string_get(pcd->buf)))
+ {
+buf_msg = eina_strbuf_new();
+eina_strbuf_append_printf(buf_msg, _("Haven't permision to overwrite 
'%s' in '%s'"), pcd->name, pcd->path);
+popup_add(pcd->title, eina_strbuf_string_get(buf_msg), BTN_OK, NULL, 
NULL);
+eina_strbuf_free(buf_msg);
+goto end;
+ }
+   if (btn_res == BTN_REPLACE)
+ ecore_file_recursive_rm(eina_strbuf_string_get(pcd->buf));
+   if (pcd->func)
+  pcd->func((void *)pcd->data);
+
+end:
+   eina_strbuf_free(pcd->buf);
+   free(pcd);
+}
+
 Eina_Bool
 exist_permission_check(const char *path, const char *name,
const char *title, const char *msg, Eina_Bool append,
Ecore_Cb func,
const void *data)
 {
-   Eina_Strbuf *buf, *buf_msg;
-   Popup_Button btn_res;
+   Evas_Object *popup;
+   Eina_Strbuf *buf_msg;
+   Permission_Check_Data *pcd = mem_calloc(1, sizeof(Permission_Check_Data));
 
assert(path != NULL);
assert(name != NULL);
assert(title != NULL);
+
+   pcd->name = name;
+   pcd->title = title;
+   pcd->path = path;
+   pcd->func = func;
+   pcd->data = data;
/* we alwayes imported and exported project to folder by given path, means
 * that we alwayes create a new folder for project or exported source.
 * So need to check there is the folder "path/name" */
@@ -43,29 +85,22 @@ exist_permission_check(const char *path, const char *name,
 eina_strbuf_free(buf_msg);
 return false;
  }
-   buf = eina_strbuf_new();
-   eina_strbuf_append_printf(buf, "%s/%s", path, name);
-   if (!ecore_file_exists(eina_strbuf_string_get(buf))) return true;
-   if (!append)
- btn_res = popup_want_action(title, msg, NULL,
- BTN_REPLACE | BTN_CANCEL, NULL, NULL);
-   else
- btn_res = popup_want_action(title, msg, NULL,
- BTN_APPEND | BTN_REPLACE | BTN_CANCEL, NULL, 
NULL);
-   if (btn_res == BTN_CANCEL) return false;
-   if (!ecore_file_can_write(eina_strbuf_string_get(buf)))
+   pcd->buf = eina_strbuf_new();
+   eina_strbuf_append_printf(pcd->buf, "%s/%s", path, name);
+   if (!ecore_file_exists(eina_strbuf_string_get(pcd->buf)))
  {
-buf_msg = eina_strbuf_new();
-eina_strbuf_append_printf(buf_msg, _("Haven't permision to overwrite 
'%s' in '%s'"), name, path);
-popup_add(title, eina_strbuf_string_get(buf_msg), BTN_OK, NULL, NULL);
-eina_strbuf_free(buf_msg);
-return false;
+if (pcd->func)
+  pcd->func((void *)pcd->data);
+eina_strbuf_free(pcd->buf);
+free(pcd);
+return true;
  }
-   if (btn_res == BTN_REPLACE)
- ecore_file_recursive_rm(eina_strbuf_string_get(buf));
-   if (func)
-  func((void *)data);
-   eina_strbuf_free(buf);
+   if (!append)
+ popup = popup_add(title, msg, BTN_REPLACE | BTN_CANCEL, NULL, NULL);
+   else
+ popup = popup_add(title, msg, BTN_APPEND | BTN_REPLACE | BTN_CANCEL, 
NULL, NULL);
+   evas_object_smart_callback_add(popup, POPUP_CLOSE_CB, 
_exist_permission_popup_close_cb, pcd);
+
return true;
 }
 

-- 




[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 
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] [tools/eflete] eflete-1.18 03/91: project manager: avoid call NULL func

2017-01-23 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch eflete-1.18.

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

commit cd4e2fdd6b3a04ce9911a73abf2e7d8f1345c18e
Author: Vyacheslav Reutskiy 
Date:   Wed Aug 31 17:00:50 2016 +0300

project manager: avoid call NULL func

Change-Id: I6ddd35a77c18967af418796eff27020484863ccf
---
 src/bin/project_manager/project_manager_import_edj.c | 17 +
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/src/bin/project_manager/project_manager_import_edj.c 
b/src/bin/project_manager/project_manager_import_edj.c
index 439a298..98e3a81 100644
--- a/src/bin/project_manager/project_manager_import_edj.c
+++ b/src/bin/project_manager/project_manager_import_edj.c
@@ -99,13 +99,15 @@ _data_from_edje_pick_cb(void *data,
Edje_Exe_Data *edje_pick_data = (Edje_Exe_Data *)data;
assert(edje_pick_data != NULL);
Project_Thread *ptd = (Project_Thread *)edje_pick_data->data;
-   assert(ptd->func_progress != NULL);
 
Ecore_Exe_Event_Data *edje_pick_msg = (Ecore_Exe_Event_Data *)event_info;
if (!edje_pick_msg) return ECORE_CALLBACK_DONE;
 
-   for (i = 0; edje_pick_msg->lines[i].line != NULL; i++)
-  ptd->func_progress(NULL, edje_pick_msg->lines[i].line);
+   if (ptd->func_progress)
+ {
+for (i = 0; edje_pick_msg->lines[i].line != NULL; i++)
+  ptd->func_progress(NULL, edje_pick_msg->lines[i].line);
+ }
 
return ECORE_CALLBACK_DONE;
 }
@@ -118,7 +120,6 @@ _edje_pick_end_cb(void *data,
Edje_Exe_Data *edje_pick_data = (Edje_Exe_Data *)data;
assert(edje_pick_data != NULL);
Project_Thread *ptd = (Project_Thread *)edje_pick_data->data;
-   assert(ptd->func_progress != NULL);
Ecore_Exe_Event_Del *edje_pick_exit = (Ecore_Exe_Event_Del *)event_info;
 
eina_stringshare_del(edje_pick_data->cmd);
@@ -156,7 +157,7 @@ _project_import_edj(void *data)
Edje_Exe_Data *edje_pick_data;
 
Eina_Stringshare *msg = eina_stringshare_printf(_("Start import '%s' file 
as new project"), ptd->edj);
-   ptd->func_progress(NULL, msg);
+   if (ptd->func_progress) ptd->func_progress(NULL, msg);
eina_stringshare_del(msg);
 
/* Replace void with ptd */
@@ -177,7 +178,7 @@ _project_import_edj(void *data)
if (ptd->widgets && (eina_list_count(groups) != 
eina_list_count(ptd->widgets)))
  {
 msg = eina_stringshare_printf(_("Merging groups from choosen file"));
-ptd->func_progress(NULL, msg);
+if (ptd->func_progress) ptd->func_progress(NULL, msg);
 eina_stringshare_del(msg);
 
 eina_file_mkdtemp("eflete_build_XX", &ptd->tmp_dirname);
@@ -247,7 +248,7 @@ _project_import_edj(void *data)
else
  {
 msg = eina_stringshare_printf(_("Import processing"));
-ptd->func_progress(NULL, msg);
+if (ptd->func_progress) ptd->func_progress(NULL, msg);
 eina_stringshare_del(msg);
 
 _project_edj_file_copy(ptd);
@@ -258,7 +259,7 @@ _project_import_edj(void *data)
 _project_open_internal(ptd);
 
 msg = eina_stringshare_printf(_("Import finished. Project '%s' 
created"), ptd->project->name);
-ptd->func_progress(NULL, msg);
+if (ptd->func_progress) ptd->func_progress(NULL, msg);
 eina_stringshare_del(msg);
 
  }

-- 




[EGIT] [tools/eflete] eflete-1.18 51/91: install: don't install private headers

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit b6dd69576dbc5cd7554569787be945bafcfe7c06
Author: Andrii Kroitor 
Date:   Fri Sep 9 10:52:16 2016 +0300

install: don't install private headers

 Conflicts:
tests/Makefile.am
---
 src/bin/Makefile.am |  3 +--
 src/lib/Makefile.am |  8 
 tests/Makefile.am   | 31 +++
 3 files changed, 20 insertions(+), 22 deletions(-)

diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am
index bd884f6..3e2f0c6 100644
--- a/src/bin/Makefile.am
+++ b/src/bin/Makefile.am
@@ -4,7 +4,7 @@ LOCALE_DIR = @LOCALE_DIR@
 
 bin_PROGRAMS = eflete
 
-includesub_HEADERS = \
+EXTRA_DIST = \
eflete.h \
alloc/alloc.h \
common/common_macro.h \
@@ -55,7 +55,6 @@ includesub_HEADERS = \
ui/workspace/demo_group.h \
ui/workspace/group_navigator.h \
ui/workspace/workspace.h
-includesubdir = $(pkgincludedir)-@VMAJ@
 
 noinst_LIBRARIES = libete.a
 libete_a_SOURCES = \
diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
index e5f4aae..7cb13ba 100644
--- a/src/lib/Makefile.am
+++ b/src/lib/Makefile.am
@@ -30,13 +30,11 @@ Ewe.h
 includesdir = $(pkgincludedir)-@VMAJ@
 
 includesub_HEADERS = \
-logger/logger.h \
 ewe_main.h \
 ewe_ruler.h \
 ewe_ruler_legacy.h \
 ewe_ruler_eo.h \
-ewe_ruler_common.h \
-ewe_widget_ruler.h
+ewe_ruler_common.h
 
 includesubdir = $(pkgincludedir)-@VMAJ@
 
@@ -52,4 +50,6 @@ BUILT_SOURCES = \
 ewe_ruler.eo.c \
 ewe_ruler.eo.h
 
-EXTRA_DIST = ewe_ruler.eo
+EXTRA_DIST = ewe_ruler.eo \
+logger/logger.h \
+ewe_widget_ruler.h
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 6adecef..2b8058f 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -46,21 +46,6 @@ LD = $(top_builddir)/src/bin/libete.a \
 @EFL_LIBS@ \
 ${top_builddir}/src/lib/libewe.la
 
-include_HEADERS = \
-   ../tests/test_common.h \
-   ../tests/utc_common.h \
-   ../tests/test_ewe_init/test_ewe_init.h \
-   ../tests/test_ewe_ruler/test_ewe_ruler.h \
-   ../tests/test_eflete/test_eflete.h \
-   ../tests/test_alloc/test_alloc.h \
-   ../tests/test_diff/test_diff.h \
-   ../tests/test_change/test_change.h \
-   ../tests/test_history/test_history.h \
-   ../tests/test_logger/test_logger.h \
-   ../tests/test_config/test_config.h \
-   ../tests/test_cursor/test_cursor.h \
-   ../tests/test_live_widget/test_live_widget.h
-
 ewe_init_test_SOURCES = \
 ../tests/test_ewe_init/test_ewe_init.c \
 ../tests/test_ewe_init/ewe_init.c
@@ -217,4 +202,18 @@ coverage:
echo "" >> ../coverage.html
 
 EXTRA_DIST = \
-   tests_report_generator.py
+   tests_report_generator.py \
+   test_common.h \
+   utc_common.h \
+   test_ewe_init/test_ewe_init.h \
+   test_ewe_ruler/test_ewe_ruler.h \
+   test_eflete/test_eflete.h \
+   test_alloc/test_alloc.h \
+   test_diff/test_diff.h \
+   test_change/test_change.h \
+   test_history/test_history.h \
+   test_logger/test_logger.h \
+   test_project_manager/test_project_manager.h \
+   test_config/test_config.h \
+   test_cursor/test_cursor.h \
+   test_live_widget/test_live_widget.h

-- 




[EGIT] [tools/eflete] eflete-1.18 68/91: live_multibuttonentry: fix dead assignment

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 7462a099222bb860e43f24df0554529917a9c843
Author: Andrii Kroitor 
Date:   Thu Sep 15 12:56:30 2016 +0300

live_multibuttonentry: fix dead assignment

Fix svace WID 436578
---
 src/bin/ui/live_view/elementary/live_multibuttonentry.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/bin/ui/live_view/elementary/live_multibuttonentry.c 
b/src/bin/ui/live_view/elementary/live_multibuttonentry.c
index 230c2d0..28d71f4 100644
--- a/src/bin/ui/live_view/elementary/live_multibuttonentry.c
+++ b/src/bin/ui/live_view/elementary/live_multibuttonentry.c
@@ -36,7 +36,6 @@ _on_multibutton_swallow_check(void *data __UNUSED__,
{
   content = elm_object_part_content_unset(multi_item, 
part->name);
   evas_object_del(content);
-  content = NULL;
   part->object = NULL;
}
 

-- 




[EGIT] [tools/eflete] eflete-1.18 14/91: main_window: use async popup on project close

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit d133cf89815276bf1cd354231f17465463519fba
Author: Andrii Kroitor 
Date:   Fri Sep 2 15:04:12 2016 +0300

main_window: use async popup on project close
---
 src/bin/eflete.h   |  4 
 src/bin/ui/main_window.c   |  1 +
 src/bin/ui/project_close.c | 52 +++---
 3 files changed, 40 insertions(+), 17 deletions(-)

diff --git a/src/bin/eflete.h b/src/bin/eflete.h
index 6ada2be..bcf38ba 100644
--- a/src/bin/eflete.h
+++ b/src/bin/eflete.h
@@ -143,6 +143,10 @@ struct _App_Data
} path;
Project *project;
Shortcut_Module *shortcuts; /**< Structure with data from shortcuts module 
*/
+   Eina_Bool exit_in_progress : 1; /**< is set to true when 
ui_main_window_del() is called.
+   This is needed to continue closing 
application after
+   clicking in save/don't save buttons in 
project close
+   popup */
 #ifdef HAVE_ENVENTOR
Evas_Object *enventor;
Eina_Bool enventor_mode : 1;
diff --git a/src/bin/ui/main_window.c b/src/bin/ui/main_window.c
index ac9ecab..c96c090 100644
--- a/src/bin/ui/main_window.c
+++ b/src/bin/ui/main_window.c
@@ -57,6 +57,7 @@ _help(void *data __UNUSED__,
 Eina_Bool
 ui_main_window_del(void)
 {
+   ap.exit_in_progress = true;
if (ap.project)
  if (!project_close())
return false;
diff --git a/src/bin/ui/project_close.c b/src/bin/ui/project_close.c
index bf3ce32..ef95cd8 100644
--- a/src/bin/ui/project_close.c
+++ b/src/bin/ui/project_close.c
@@ -140,11 +140,38 @@ project_save(void)
  ui_menu_disable_set(ap.menu, MENU_FILE_SAVE, true);
 }
 
+static void
+_popup_close_cb(void *data __UNUSED__,
+Evas_Object *obj __UNUSED__,
+void *ei)
+{
+   Popup_Button btn_res = (Popup_Button) ei;
+
+   switch (btn_res)
+ {
+  case BTN_OK:
+ project_save();
+ break;
+  case BTN_DONT_SAVE:
+ ap.project->changed = false;
+ break;
+  case BTN_CANCEL:
+ ap.exit_in_progress = false;
+ return;
+  default:
+ ERR("Popup return wrong value. Go fix it!");
+ abort(); /* it's wrong value need to fix popup code or popup call */
+ }
+   if (ap.exit_in_progress)
+ ui_main_window_del();
+   else
+ project_close();
+}
 
 Eina_Bool
 project_close(void)
 {
-   Popup_Button btn_res;
+   Evas_Object *popup;
Eina_Stringshare *title;
 
assert(ap.project != NULL);
@@ -152,23 +179,14 @@ project_close(void)
if (ap.project->changed)
  {
 title = eina_stringshare_printf(_("Close project %s"), 
ap.project->name);
-btn_res = popup_want_action(title, _("Do you want to save changes?"), 
NULL,
-BTN_OK|BTN_DONT_SAVE|BTN_CANCEL,
-NULL, NULL);
-switch (btn_res)
-  {
-   case BTN_OK:
-  project_save();
-  break;
-   case BTN_DONT_SAVE:
-  break;
-   case BTN_CANCEL:
-  return false;
-   default:
-  ERR("Popup return wrong value. Go to fix it!");
-  abort(); /* it's wrong value need to fix popup code or popup 
call */
-  }
+popup = popup_add(title,
+  _("Do you want to save changes?"),
+  BTN_OK|BTN_DONT_SAVE|BTN_CANCEL,
+  NULL,
+  NULL);
+evas_object_smart_callback_add(popup, POPUP_CLOSE_CB, _popup_close_cb, 
NULL);
 eina_stringshare_del(title);
+return false;
  }
 
ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_BASE, true);

-- 




[EGIT] [tools/eflete] eflete-1.18 87/91: group_manager: don't use upper case for part type names

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 75d10de96139009a31d4e6f3bf6f4cf7a48163d4
Author: Andrii Kroitor 
Date:   Tue Sep 20 17:22:40 2016 +0300

group_manager: don't use upper case for part type names
---
 src/bin/project_manager/group_manager.c | 34 -
 1 file changed, 17 insertions(+), 17 deletions(-)

diff --git a/src/bin/project_manager/group_manager.c 
b/src/bin/project_manager/group_manager.c
index 91bce4e..4e2fc7d 100644
--- a/src/bin/project_manager/group_manager.c
+++ b/src/bin/project_manager/group_manager.c
@@ -1114,23 +1114,23 @@ gm_group_data_rename(Project *pro, Group *group, 
Resource* group_data, const cha
  * ref http://docs.enlightenment.org/auto/edje/group__Edje__Object__Part.html
  */
 static char *part_types[] = {
- "NONE",
- "RECTANGLE",
- "TEXT",
- "IMAGE",
- "SWALLOW",
- "TEXTBLOCK",
- "GRADIENT",
- "GROUP",
- "BOX",
- "TABLE",
- "EXTERNAL",
- "PROXY",
- "SPACER",
- "MESH NODE",
- "LIGHT",
- "CAMERA",
- "SNAPSHOT"
+ "None",
+ "Rectangle",
+ "Text",
+ "Image",
+ "Swallow",
+ "Textblock",
+ "Gradient",
+ "Group",
+ "Box",
+ "Table",
+ "External",
+ "Proxy",
+ "Spacer",
+ "Mesh node",
+ "Light",
+ "Camera",
+ "Snapshot"
 };
 static unsigned int part_types_count = 16;
 

-- 




[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 
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: "bg";
+ part { name: "bg";
  type: RECT;
  description { state: "default" 0.0;
-min: 32 32;
-max: 32 32;
-align: 0.0 0.5;
-color: 0 0 0 0;
+min: 27 27;
+max: 27 27;
  }
   }
   part { name: "color_obj";
  type: SWALLOW;
  clip_to: "clipper";
  description { state: "default" 0.0;
-min: 32 32;
-max: 32 32;
+min: 27 27;
+ 

[EGIT] [tools/eflete] eflete-1.18 49/91: popup: finish migration to async version

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 7bae3bec6c83b625099158284cb3a843fd159de8
Author: Andrii Kroitor 
Date:   Thu Sep 8 16:42:55 2016 +0300

popup: finish migration to async version

remove old popup_buttons_disabled_set method
add popup object as argument to Popup_Content_Cb

 Conflicts:
src/bin/ui/colorclass_manager.c
src/bin/ui/project_navigator.c
src/bin/ui/sound_manager.c
src/bin/ui/style_manager.c
---
 src/bin/ui/colorclass_manager.c| 24 ++--
 src/bin/ui/main_window.c   |  6 +++---
 src/bin/ui/main_window.h   |  4 +---
 src/bin/ui/popup.c | 15 +--
 src/bin/ui/project_navigator.c | 16 +---
 src/bin/ui/sound_manager.c | 19 +++
 src/bin/ui/style_manager.c | 24 +---
 src/bin/ui/workspace/group_navigator.c | 10 +-
 8 files changed, 57 insertions(+), 61 deletions(-)

diff --git a/src/bin/ui/colorclass_manager.c b/src/bin/ui/colorclass_manager.c
index 21be2dd..41e30e9 100644
--- a/src/bin/ui/colorclass_manager.c
+++ b/src/bin/ui/colorclass_manager.c
@@ -59,36 +59,40 @@ struct _Colorclasses_Manager
 static Colorclasses_Manager mng;
 
 static void
-_validation(void *data __UNUSED__,
+_validation(void *data,
 Evas_Object *obj __UNUSED__,
 void *event_info __UNUSED__)
 {
-  if (ELM_REG_NOERROR != 
resource_name_validator_status_get(mng.name_validator))
+   Evas_Object *popup = data;
+
+   assert(popup != NULL);
+
+   if (ELM_REG_NOERROR != 
resource_name_validator_status_get(mng.name_validator))
  {
-   popup_buttons_disabled_set(BTN_OK, true);
-   elm_object_signal_emit(obj, "validation,default,fail", "elm");
+popup_button_disabled_set(popup, BTN_OK, true);
+elm_object_signal_emit(obj, "validation,default,fail", "elm");
  }
else
  {
-   popup_buttons_disabled_set(BTN_OK, false);
-   elm_object_signal_emit(obj, "validation,default,pass", "elm");
+popup_button_disabled_set(popup, BTN_OK, false);
+elm_object_signal_emit(obj, "validation,default,pass", "elm");
  }
 }
 
-Evas_Object *
-_add_colorclass_content_get(void *data __UNUSED__, Evas_Object **to_focus)
+static Evas_Object *
+_add_colorclass_content_get(void *data __UNUSED__, Evas_Object *popup, 
Evas_Object **to_focus)
 {
Evas_Object *item = NULL;
 
LAYOUT_PROP_ADD(ap.win, _("Color class name: "), "property", "1swallow")
ENTRY_ADD(item, mng.entry, true);
eo_event_callback_add(mng.entry, ELM_ENTRY_EVENT_VALIDATE, 
resource_name_validator_helper, mng.name_validator);
-   evas_object_smart_callback_add(mng.entry, "changed", _validation, NULL);
+   evas_object_smart_callback_add(mng.entry, "changed", _validation, popup);
elm_object_part_text_set(mng.entry, "guide", _("Type new color class name 
here"));
elm_object_part_content_set(item, "elm.swallow.content", mng.entry);
mng.item = item;
if (to_focus) *to_focus = mng.entry;
-   popup_buttons_disabled_set(BTN_OK, true);
+   popup_button_disabled_set(popup, BTN_OK, true);
 
return mng.item;
 }
diff --git a/src/bin/ui/main_window.c b/src/bin/ui/main_window.c
index c96c090..771faeb 100644
--- a/src/bin/ui/main_window.c
+++ b/src/bin/ui/main_window.c
@@ -177,7 +177,7 @@ ui_main_window_add(void)
 
 #if !HAVE_TIZEN
 Evas_Object *
-_about_window_content_get(void *data, Evas_Object **to_focus __UNUSED__)
+_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,
@@ -220,7 +220,7 @@ about_window_add(void)
 
 #else
 Evas_Object *
-_about_window_content_get(void *data, Evas_Object **to_focus __UNUSED__)
+_about_window_content_get(void *data, Evas_Object *popup __UNUSED__, 
Evas_Object **to_focus __UNUSED__)
 {
   Evas_Object *layout = (Evas_Object *)data;
   elm_layout_theme_set(layout, "layout", "about", "default");
@@ -240,7 +240,7 @@ about_window_add(void)
 
 #endif
 static Evas_Object *
-_shortcuts_window_content_get(void *data, Evas_Object **to_focus __UNUSED__)
+_shortcuts_window_content_get(void *data, Evas_Object *popup __UNUSED__, 
Evas_Object **to_focus __UNUSED__)
 {
Evas_Object *box = data;
Evas_Object *scroller = elm_scroller_add(ap.win);
diff --git a/src/bin/ui/main_window.h b/src/bin/ui/main_window.h
index c0166f1..19cd2d5 100644
--- a/src/bin/ui/main_window.h
+++ b/src/bin/ui/main_window.h
@@ -121,7 +121,7 @@ typedef Eina_Bool(* Popup_Validator_Func)(void *data);
  *
  * @ingroup Window
  */
-typedef Evas_Object *(* Popup_Content_Get_Func)(void *data, Evas_Object 
**to_focus);
+typedef Evas_Object *(* Popup_Content_Get_Func)(void *data, Evas_Object 
*popup, Evas_Object **to_focus);
 
 #define POP

[EGIT] [tools/eflete] eflete-1.18 80/91: signals: move used elm_widget signals to signals struct

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 52364c353bb001c74c494c259d76c437f6cbf5f8
Author: Andrii Kroitor 
Date:   Mon Sep 19 16:15:54 2016 +0300

signals: move used elm_widget signals to signals struct

 Conflicts:
src/bin/common/signals.c
src/bin/ui/colorclass_manager.c
src/bin/ui/project_navigator.c
src/bin/ui/sound_manager.c
src/bin/ui/style_manager.c
src/bin/ui/tab_home_import_edc.c
src/bin/ui/tab_home_import_edj.c
src/bin/ui/tab_home_new.c
---
 src/bin/common/signals.c   | 160 +++--
 src/bin/common/signals.h   |  74 ++
 src/bin/ui/colorclass_manager.c|  18 +--
 src/bin/ui/history_ui.c|  16 +--
 src/bin/ui/image_manager.c |  10 +-
 src/bin/ui/live_view/elementary/live_ctxpopup.c|   2 +-
 src/bin/ui/live_view/elementary/live_genlist.c |  12 +-
 src/bin/ui/live_view/elementary/live_naviframe.c   |   8 +-
 src/bin/ui/live_view/elementary/live_notify.c  |   2 +-
 .../ui/live_view/elementary/live_widget_common.c   |   8 +-
 src/bin/ui/main_window.c   |   2 +-
 src/bin/ui/modal_window/modal_window.c |  12 +-
 src/bin/ui/popup.c |  24 ++--
 src/bin/ui/project_navigator.c |  26 ++--
 src/bin/ui/property/property.c |  12 +-
 src/bin/ui/property/property_common.c  |  26 ++--
 src/bin/ui/property/property_common_image.c|   4 +-
 src/bin/ui/property/property_common_tween.c|   4 +-
 src/bin/ui/property/property_image_selector.c  |   4 +-
 src/bin/ui/shortcuts/shortcuts.c   |   2 +-
 src/bin/ui/sound_manager.c |  14 +-
 src/bin/ui/sound_player/sound_player.c |   4 +-
 src/bin/ui/splash.c|   2 +-
 src/bin/ui/style_manager.c |  26 ++--
 src/bin/ui/tab_home_common.c   |   2 +-
 src/bin/ui/tab_home_import_edc.c   |  10 +-
 src/bin/ui/tab_home_import_edj.c   |  20 +--
 src/bin/ui/tab_home_info.c |  10 +-
 src/bin/ui/tab_home_new.c  |  10 +-
 src/bin/ui/tab_home_open.c |  12 +-
 src/bin/ui/tabs.c  |   2 +-
 src/bin/ui/workspace/demo_group.c  |  12 +-
 src/bin/ui/workspace/group_navigator.c |  58 
 src/bin/ui/workspace/workspace.c   |  32 ++---
 34 files changed, 394 insertions(+), 246 deletions(-)

diff --git a/src/bin/common/signals.c b/src/bin/common/signals.c
index 3d306d7..d1f9242 100644
--- a/src/bin/common/signals.c
+++ b/src/bin/common/signals.c
@@ -22,71 +22,149 @@
 
 const Signals signals = {
  .shortcut = {
-  .del  = "signal.shortcut.del",
-  .help = "signal.shortcut.help",
-  .quit = "signal.shortcut.quit",
-  .save = "signal.shortcut.save",
+  .del = "signal.shortcut.del",
+  .help= "signal.shortcut.help",
+  .quit= "signal.shortcut.quit",
+  .save= "signal.shortcut.save",
   .add = {
-   .data_item   = "signal.shortcut.add.data_item",
-   .group   = "signal.shortcut.add.group",
-   .item= "signal.shortcut.add.item",
-   .part= "signal.shortcut.add.part",
-   .program = "signal.shortcut.add.program",
-   .state   = "signal.shortcut.add.state",
+   .data_item  = "signal.shortcut.add.data_item",
+   .group  = "signal.shortcut.add.group",
+   .item   = "signal.shortcut.add.item",
+   .part   = "signal.shortcut.add.part",
+   .program= "signal.shortcut.add.program",
+   .state  = "signal.shortcut.add.state",
   },
   .history = {
-   .redo= "signal.shortcut.history.redo",
-   .undo= "signal.shortcut.history.undo",
+   .redo   = "signal.shortcut.history.redo",
+   .undo   = "signal.shortcut.history.undo",
   },
   .manager = {
-   .color_class = "signal.shortcut.manager.color_class",
-   .image   = "signal.shortcut.manager.image",
-   .sound

[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 
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(&ids->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(&ids->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(&idg->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(&idg->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(&ids->mutex);
eina_lock_take(&ids->mutex);
+
+   Image_Data_Get *idg = mem_calloc(1, sizeof(Image_Data_Get));
+   idg->edit_object = project->global_object;
+   eina_lock_new(&idg->mutex);
+   eina_lock_take(&idg->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(&idg->mutex);
+ecore_main_loop_thread_safe_call_sync(_image_data_get_routine, idg);
+eina_lock_take(&idg->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(&ids->mutex);
  ecore_main_loop_thread_safe_call_sync(_image_save_routine, ids);
- eina_lock_take(&ids->mutex);
- eina_stringshare_del(source_file);
   }
  }

[EGIT] [tools/eflete] eflete-1.18 19/91: group_navigator: use async popup for item add

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit f935af12d9e3591b810a08fc57349e3b963e8cb0
Author: Andrii Kroitor 
Date:   Fri Sep 2 16:36:18 2016 +0300

group_navigator: use async popup for item add
---
 src/bin/ui/workspace/group_navigator.c | 41 +-
 1 file changed, 15 insertions(+), 26 deletions(-)

diff --git a/src/bin/ui/workspace/group_navigator.c 
b/src/bin/ui/workspace/group_navigator.c
index fa84b41..2e6555d 100644
--- a/src/bin/ui/workspace/group_navigator.c
+++ b/src/bin/ui/workspace/group_navigator.c
@@ -869,11 +869,11 @@ _item_validate(void *data,
  goto item_data_invalidated;
  }
 
-   popup_buttons_disabled_set(BTN_OK, false);
+   popup_button_disabled_set(pl->popup_win, BTN_OK, false);
return;
 
 item_data_invalidated:
-   popup_buttons_disabled_set(BTN_OK, true);
+   popup_button_disabled_set(pl->popup_win, BTN_OK, true);
return;
 }
 
@@ -1440,18 +1440,19 @@ _on_menu_add_state_clicked(void *data __UNUSED__,
 }
 
 static void
-_popup_add_item_ok_clicked(void *data,
-   Evas_Object *obj __UNUSED__,
-   void *event_info __UNUSED__)
+_popup_add_item_close_cb(void *data,
+ Evas_Object *obj __UNUSED__,
+ void *event_info)
 {
+   Popup_Button pb = (Popup_Button) event_info;
+   if (pb != BTN_OK) return;
+
Part_List *pl = data;
const char *name;
Eina_Stringshare *msg;
Change *change;
 
assert(pl != NULL);
-
-
assert(pl->part != NULL);
 
name = elm_entry_entry_get(pl->popup.entry_name);
@@ -1462,17 +1463,6 @@ _popup_add_item_ok_clicked(void *data,
 
history_change_add(pl->group->history, change);
eina_stringshare_del(msg);
-   evas_object_del(pl->popup.box);
-}
-
-Eina_Bool
-_popup_add_item_validator(void *data)
-{
-   Part_List *pl = (Part_List *) data;
-   _popup_add_item_ok_clicked(data, NULL, NULL);
-   if (elm_validator_regexp_status_get(pl->name_validator) != ELM_REG_NOERROR)
- return false;
-   return true;
 }
 
 void
@@ -1512,7 +1502,7 @@ group_navigator_part_item_add(Evas_Object *obj, Part 
*part, Eina_Stringshare * i
  }
 }
 
-Evas_Object *
+static Evas_Object *
 _add_item_content_get(void *data, Evas_Object **to_focus)
 {
Part_List *pl = (Part_List *)data;
@@ -1522,7 +1512,7 @@ _add_item_content_get(void *data, Evas_Object **to_focus)
Eina_List *l;
unsigned int i = 0;
 
-   BOX_ADD(ap.popup, box, false, false);
+   BOX_ADD(ap.win, box, false, false);
elm_box_padding_set(box, 0, 10);
 
LAYOUT_PROP_ADD(box, _("Name"), "popup", "1swallow")
@@ -1561,7 +1551,6 @@ _add_item_content_get(void *data, Evas_Object **to_focus)
elm_box_pack_end(box, item);
pl->popup.box = box;
if (to_focus) *to_focus = pl->popup.entry_name;
-   popup_buttons_disabled_set(BTN_OK, true);
 
return pl->popup.box;
 }
@@ -1577,12 +1566,12 @@ _on_menu_add_item_clicked(void *data __UNUSED__,
assert(pl->part != NULL);
 
title = eina_stringshare_printf(_("Add New Item to Part \"%s\""), 
pl->part->name);
-   Popup_Button button = popup_want_action(title, NULL, _add_item_content_get,
-BTN_OK | BTN_CANCEL,
-   _popup_add_item_validator, pl);
+   pl->popup_win = popup_add(title, NULL,
+ BTN_OK | BTN_CANCEL,
+ _add_item_content_get, pl);
+   evas_object_smart_callback_add(pl->popup_win, POPUP_CLOSE_CB, 
_popup_add_item_close_cb, pl);
+   popup_button_disabled_set(pl->popup_win, BTN_OK, true);
 
-   if (button == BTN_CANCEL)
- evas_object_del(pl->popup.box);
eina_stringshare_del(title);
 }
 

-- 




[EGIT] [tools/eflete] eflete-1.18 33/91: config: fix default panes size

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit e1c166aa9a1b3c04251929a67423b84d6078a237
Author: Andrii Kroitor 
Date:   Tue Sep 6 11:50:49 2016 +0300

config: fix default panes size
---
 src/bin/config/config.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/config/config.c b/src/bin/config/config.c
index bc2c529..80502d9 100644
--- a/src/bin/config/config.c
+++ b/src/bin/config/config.c
@@ -422,7 +422,7 @@ _config_default_new(void)
conf->window.w =   1366;
conf->window.h =   768;
conf->panes.left = 0.2;
-   conf->panes.right =0.3;
+   conf->panes.right =0.7;
conf->panes.left_ver = 0.5;
conf->profile = strdup("default");
 

-- 




[EGIT] [tools/eflete] eflete-1.18 48/91: project_manager_import_edj: avoid update and save on project on import edj

2017-01-23 Thread Vitalii Vorobiov
rimmed pushed a commit to branch eflete-1.18.

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

commit ac6c6697316c18d13e9be4eeeddedbfd35389f34
Author: Vitalii Vorobiov 
Date:   Thu Sep 8 13:37:58 2016 +0300

project_manager_import_edj: avoid update and save on project on import edj

when Project is not created yet and it is trying to create dummy objects
we don't need it to update

@fix
---
 src/bin/project_manager/project_manager_import_edj.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/src/bin/project_manager/project_manager_import_edj.c 
b/src/bin/project_manager/project_manager_import_edj.c
index 98e3a81..4110933 100644
--- a/src/bin/project_manager/project_manager_import_edj.c
+++ b/src/bin/project_manager/project_manager_import_edj.c
@@ -135,9 +135,13 @@ _edje_pick_end_cb(void *data,
 
_project_edj_file_copy(ptd);
_copy_meta_data_to_pro(ptd);
+
+   you_shall_not_pass_editor_signals(NULL);
_project_special_group_add(ptd->project);
_project_dummy_image_add(ptd->project);
_project_dummy_sample_add(ptd->project);
+   you_shall_pass_editor_signals(NULL);
+
_project_open_internal(ptd);
ecore_file_unlink(ptd->source_edj);
 

-- 




[EGIT] [tools/eflete] eflete-1.18 83/91: popup: fix image manager call from image_helper

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit ad00f6e69b61fd8c1ed449b06eaab63ea68343b1
Author: Andrii Kroitor 
Date:   Tue Sep 20 13:59:36 2016 +0300

popup: fix image manager call from image_helper
---
 src/bin/ui/popup.c | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/bin/ui/popup.c b/src/bin/ui/popup.c
index 6d29eee..7a9bef1 100644
--- a/src/bin/ui/popup.c
+++ b/src/bin/ui/popup.c
@@ -815,12 +815,18 @@ _search_next_gengrid_item_cb(void *data,
 }
 
 static void
+_image_manager_add_job(void *data __UNUSED__)
+{
+   image_manager_add();
+}
+
+static void
 _btn_image_manager_cb(void *data __UNUSED__,
   Evas_Object *obj __UNUSED__,
   void *event_info __UNUSED__)
 {
_helper_dismiss(NULL, helper, NULL, NULL);
-   image_manager_add();
+   ecore_job_add(_image_manager_add_job, NULL);
 }
 
 void

-- 




[EGIT] [tools/eflete] eflete-1.18 71/91: project_manager_export_resources: fix eina_lock_take result check

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 97b42c22413f631282c24d1b85d3b330f0f87a76
Author: Andrii Kroitor 
Date:   Thu Sep 15 13:12:11 2016 +0300

project_manager_export_resources: fix eina_lock_take result check

Fix svace WID 436588, 436636, 436639, 436683
---
 src/bin/project_manager/project_manager_export_resources.c | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/bin/project_manager/project_manager_export_resources.c 
b/src/bin/project_manager/project_manager_export_resources.c
index deed8c6..8de585a 100644
--- a/src/bin/project_manager/project_manager_export_resources.c
+++ b/src/bin/project_manager/project_manager_export_resources.c
@@ -117,7 +117,7 @@ void
 _image_resources_feedback_job(void *data, Ecore_Thread *th)
 {
Feedback_Thread_Data *ftd = (Feedback_Thread_Data *)data;
-   if (!eina_lock_take(&ftd->mutex))
+   if (eina_lock_take(&ftd->mutex) != EINA_LOCK_SUCCEED)
  {
ERR("Failed access data");
ecore_thread_cancel(th);
@@ -234,7 +234,7 @@ void
 _sound_resources_feedback_job(void *data, Ecore_Thread *th)
 {
Feedback_Thread_Data *ftd = (Feedback_Thread_Data *)data;
-   if (!eina_lock_take(&ftd->mutex))
+   if (eina_lock_take(&ftd->mutex) != EINA_LOCK_SUCCEED)
  {
ERR("Failed access data");
ecore_thread_cancel(th);
@@ -320,7 +320,7 @@ void
 _font_resources_feedback_job(void *data, Ecore_Thread *th)
 {
Feedback_Thread_Data *ftd = (Feedback_Thread_Data *)data;
-   if (!eina_lock_take(&ftd->mutex))
+   if (eina_lock_take(&ftd->mutex) != EINA_LOCK_SUCCEED)
  {
ERR("Failed access data");
ecore_thread_cancel(th);
@@ -414,7 +414,7 @@ void
 _tones_resources_feedback_job(void *data, Ecore_Thread *th)
 {
Feedback_Thread_Data *ftd = (Feedback_Thread_Data *)data;
-   if (!eina_lock_take(&ftd->mutex))
+   if (eina_lock_take(&ftd->mutex) != EINA_LOCK_SUCCEED)
  {
ERR("Failed access data");
ecore_thread_cancel(th);
@@ -461,7 +461,7 @@ void
 _colorclasses_resources_feedback_job(void *data, Ecore_Thread *th)
 {
Feedback_Thread_Data *ftd = (Feedback_Thread_Data *)data;
-   if (!eina_lock_take(&ftd->mutex))
+   if (eina_lock_take(&ftd->mutex) != EINA_LOCK_SUCCEED)
  {
ERR("Failed access data");
ecore_thread_cancel(th);
@@ -518,7 +518,7 @@ void
 _styles_resources_feedback_job(void *data, Ecore_Thread *th)
 {
Feedback_Thread_Data *ftd = (Feedback_Thread_Data *)data;
-   if (!eina_lock_take(&ftd->mutex))
+   if (eina_lock_take(&ftd->mutex) != EINA_LOCK_SUCCEED)
  {
ERR("Failed access data");
ecore_thread_cancel(th);

-- 




[EGIT] [tools/eflete] eflete-1.18 89/91: tab_home: fix a segment fault

2017-01-23 Thread Jaehwan Kim
rimmed pushed a commit to branch eflete-1.18.

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

commit 25926cab4bd13271d7a1fa7901729bd615743c18
Author: Jaehwan Kim 
Date:   Wed Sep 21 17:07:29 2016 +0900

tab_home: fix a segment fault
---
 src/bin/ui/tab_home_import_edj.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/bin/ui/tab_home_import_edj.c b/src/bin/ui/tab_home_import_edj.c
index f01ab8d..28c3369 100644
--- a/src/bin/ui/tab_home_import_edj.c
+++ b/src/bin/ui/tab_home_import_edj.c
@@ -708,16 +708,15 @@ _tab_import_edj_data_set(const char *name, const char 
*path, const char *edj, co
 if (!item)
   {
  item = elm_genlist_first_item_get(tab_edj.genlist);
- do
+ while (item)
{
   node = elm_object_item_data_get(item);
   if (!strcmp(node->name, "elm/"))
 break;
   item = elm_genlist_item_next_get(item);
}
- while (item);
   }
-if (node->list)
+if (node && node->list)
   {
  EINA_LIST_FOREACH(node->list, l1, sub)
  {

-- 




[EGIT] [tools/eflete] eflete-1.18 36/91: project manager: sanitize input paths

2017-01-23 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch eflete-1.18.

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

commit 0b51b15554aca79766f0ca234e0c88f4ed09c7ad
Author: Vyacheslav Reutskiy 
Date:   Tue Sep 6 16:03:24 2016 +0300

project manager: sanitize input paths

Change-Id: Ie8d2c5147dbef9ba24f998e9249bf41ebd86c876
---
 src/bin/project_manager/project_manager.c | 24 +++-
 1 file changed, 19 insertions(+), 5 deletions(-)

diff --git a/src/bin/project_manager/project_manager.c 
b/src/bin/project_manager/project_manager.c
index ddc0cf2..0db705f 100644
--- a/src/bin/project_manager/project_manager.c
+++ b/src/bin/project_manager/project_manager.c
@@ -458,6 +458,9 @@ pm_project_import_edj(const char *name,
assert(path != NULL);
assert(edj != NULL);
 
+   char *spath = eina_file_path_sanitize(path);
+   char *sedj = eina_file_path_sanitize(edj);
+
Project_Thread *ptd;
ptd = mem_calloc(1, sizeof(Project_Thread));
ptd->func_progress = func_progress;
@@ -465,11 +468,13 @@ pm_project_import_edj(const char *name,
ptd->data = (void *)data;
ptd->result = PM_PROJECT_LAST;
ptd->name = eina_stringshare_add(name);
-   ptd->path = eina_stringshare_add(path);
-   ptd->edj = eina_stringshare_add(edj);
+   ptd->path = eina_stringshare_add(spath);
+   ptd->edj = eina_stringshare_add(sedj);
ptd->widgets = list;
 
_project_import_edj(ptd);
+   free(spath);
+   free(sedj);
 }
 
 
@@ -486,6 +491,9 @@ pm_project_import_edc(const char *name,
assert(path != NULL);
assert(edc != NULL);
 
+   char *spath = eina_file_path_sanitize(path);
+   char *sedc = eina_file_path_sanitize(edc);
+
Project_Thread *ptd;
ptd = mem_calloc(1, sizeof(Project_Thread));
ptd->func_progress = func_progress;
@@ -493,11 +501,13 @@ pm_project_import_edc(const char *name,
ptd->data = (void *)data;
ptd->result = PM_PROJECT_LAST;
ptd->name = eina_stringshare_add(name);
-   ptd->path = eina_stringshare_add(path);
-   ptd->edc = eina_stringshare_add(edc);
+   ptd->path = eina_stringshare_add(spath);
+   ptd->edc = eina_stringshare_add(sedc);
ptd->build_options = eina_stringshare_add(import_options);
 
_project_import_edc(ptd);
+   free(spath);
+   free(sedc);
 }
 
 Eina_Bool
@@ -516,9 +526,11 @@ pm_project_open(const char *path,
 {
assert(path != NULL);
 
+   char *spath = eina_file_path_sanitize(path);
+
Project_Thread *ptd;
ptd = mem_calloc(1, sizeof(Project_Thread));
-   ptd->path = eina_stringshare_add(path);
+   ptd->path = eina_stringshare_add(spath);
ptd->func_progress = func_progress;
ptd->func_end = func_end;
ptd->data = (void *)data;
@@ -528,6 +540,8 @@ pm_project_open(const char *path,
ecore_thread_feedback_run(_project_open_feedback_job, 
_project_open_feedback_cb,
  _project_open_end_cb, _project_open_cancel_cb, 
ptd,
  true);
+
+   free(spath);
 }
 
 void

-- 




[EGIT] [tools/eflete] eflete-1.18 37/91: main: fix shadow declaration

2017-01-23 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch eflete-1.18.

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

commit 9d19c0ae5875adbe43307cda378c32eafb56bd25
Author: Vyacheslav Reutskiy 
Date:   Tue Sep 6 17:13:37 2016 +0300

main: fix shadow declaration

Change-Id: I01ccf206e1a9ae1ba46f9dcd761b839d528b2bd7
---
 src/bin/main.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/main.c b/src/bin/main.c
index 18170e9..dbcd242 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -174,12 +174,12 @@ _new_project(void *data __UNUSED__)
 }
 
 static void
-_export_edc_path_set(char *export_edc)
+_export_edc_path_set(char *edc)
 {
char tmp[256];
int len = 0, rlen = 0;
 
-   strcpy(tmp, export_edc);
+   strcpy(tmp, edc);
len = strlen(tmp);
rlen = strlen(strrchr(tmp, '/'));
if (!rlen) return;

-- 




[EGIT] [tools/eflete] eflete-1.18 77/91: signals: refactor shortcuts signals

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 7478d9ab1e6b520e9743fbbe1802af9b98f30c6e
Author: Andrii Kroitor 
Date:   Fri Sep 16 13:41:11 2016 +0300

signals: refactor shortcuts signals
---
 src/bin/Makefile.am  |   1 +
 src/bin/common/signals.c |  83 
 src/bin/common/signals.h | 114 +--
 src/bin/ui/main_window.c |   4 +-
 src/bin/ui/project_navigator.c   |   4 +-
 src/bin/ui/shortcuts/shortcuts.c | 103 ++-
 src/bin/ui/tabs.c|  56 +--
 7 files changed, 232 insertions(+), 133 deletions(-)

diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am
index 3e2f0c6..c6a21c0 100644
--- a/src/bin/Makefile.am
+++ b/src/bin/Makefile.am
@@ -60,6 +60,7 @@ noinst_LIBRARIES = libete.a
 libete_a_SOURCES = \
 ../../src/bin/eflete.c \
 ../../src/bin/common/string_common.c \
+../../src/bin/common/signals.c \
 ../../src/bin/common/validator.c \
 ../../src/bin/common/widget_list.c \
 ../../src/bin/project_manager/group_manager.c \
diff --git a/src/bin/common/signals.c b/src/bin/common/signals.c
new file mode 100644
index 000..c863b81
--- /dev/null
+++ b/src/bin/common/signals.c
@@ -0,0 +1,83 @@
+/*
+ * Edje Theme Editor
+ * Copyright (C) 2013-2014 Samsung Electronics.
+ *
+ * This file is part of Edje Theme Editor.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; If not, see www.gnu.org/licenses/lgpl.html.
+ */
+
+#include "history.h"
+#include "signals.h"
+
+const Signals signals = {
+ .shortcut = {
+  .del  = "signal.shortcut.del",
+  .help = "signal.shortcut.help",
+  .quit = "signal.shortcut.quit",
+  .save = "signal.shortcut.save",
+  .add = {
+   .data_item   = "signal.shortcut.add.data_item",
+   .group   = "signal.shortcut.add.group",
+   .item= "signal.shortcut.add.item",
+   .part= "signal.shortcut.add.part",
+   .program = "signal.shortcut.add.program",
+   .state   = "signal.shortcut.add.state",
+  },
+  .history = {
+   .redo= "signal.shortcut.history.redo",
+   .undo= "signal.shortcut.history.undo",
+  },
+  .manager = {
+   .color_class = "signal.shortcut.manager.color_class",
+   .image   = "signal.shortcut.manager.image",
+   .sound   = "signal.shortcut.manager.sound",
+   .style   = "signal.shortcut.manager.style",
+  },
+  .popup = {
+   .cancel  = "signal.shortcut.popup.cancel",
+   .done= "signal.shortcut.popup.done",
+  },
+  .tab = {
+   .close   = "signal.shortcut.tab.close",
+   .next= "signal.shortcut.tab.next",
+   .prev= "signal.shortcut.tab.prev",
+   .num = "signal.shortcut.tab.num",
+  },
+  .workspace = {
+   .fill= "signal.shortcut.workspace.fill",
+   .mode = {
+.code   = "signal.shortcut.workspace.mode.code",
+.demo   = "signal.shortcut.workspace.mode.demo",
+.normal = "signal.shortcut.workspace.mode.normal",
+   },
+   .show_hide = {
+.object_area= 
"signal.shortcut.workspace.show_hide.object_area",
+.part   = 
"signal.shortcut.workspace.show_hide.part",
+.all_parts  = 
"signal.shortcut.workspace.show_hide.all_parts",
+.rulers = 
"signal.shortcut.workspace.show_hide.rulers",
+   },
+   .select = {
+.part_next  = 
"signal.shortcut.workspace.select.part_next",
+.part_prev  = 
"signal.shortcut.workspace.select.part_prev",
+.state_next = 
"signal.shortcut.workspace.select.state_next",
+   },
+   .zoom = {
+ 

[EGIT] [tools/eflete] eflete-1.18 56/91: property: remove callbacks before freeing the data

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 904133a828e5a00e0a6850948d1e47259e96c4c1
Author: Andrii Kroitor 
Date:   Mon Sep 12 19:20:45 2016 +0300

property: remove callbacks before freeing the data
---
 src/bin/ui/property/property.c | 14 --
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/bin/ui/property/property.c b/src/bin/ui/property/property.c
index a4c6400..ca38bde 100644
--- a/src/bin/ui/property/property.c
+++ b/src/bin/ui/property/property.c
@@ -178,15 +178,25 @@ _unrealized_cb(void *data,
elm_object_focus_set(pd->genlist, true);
 }
 
-void
+static void
 _property_del(void *data,
   Evas *e __UNUSED__,
   Evas_Object *obj __UNUSED__,
   void *event_info __UNUSED__)
 {
-   Property_Mode *pd = (Property_Mode *)data;
+   Property_Data *pd = (Property_Data *)data;
 
property_group_del();
+
+   /* We need to delete all calbacks here because some of them could be 
triggered
+  later (i.e. unrealize_cb) and have incorrect data */
+   evas_object_smart_callback_del(pd->genlist, "expand,request", 
_expand_request_cb);
+   evas_object_smart_callback_del(pd->genlist, "contract,request", 
_contract_request_cb);
+   evas_object_smart_callback_del(pd->genlist, "expanded", _expanded_cb);
+   evas_object_smart_callback_del(pd->genlist, "contracted", _contracted_cb);
+   evas_object_smart_callback_del(pd->genlist, "realized", _realized_cb);
+   evas_object_smart_callback_del(pd->genlist, "unrealized", _unrealized_cb);
+
free(pd);
 }
 

-- 




[EGIT] [tools/eflete] eflete-1.18 79/91: export: fix to call the popup dismiss.

2017-01-23 Thread Jaehwan Kim
rimmed pushed a commit to branch eflete-1.18.

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

commit 1576fed33adf7da6183e3ebdb4a4bc30e6076891
Author: Jaehwan Kim 
Date:   Mon Sep 19 17:04:14 2016 +0900

export: fix to call the popup dismiss.

If the export is executed by command option, don't call the function
that is related to popup.
---
 src/bin/ui/project_export.c | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/bin/ui/project_export.c b/src/bin/ui/project_export.c
index 1e44af2..5c9e184 100644
--- a/src/bin/ui/project_export.c
+++ b/src/bin/ui/project_export.c
@@ -46,7 +46,8 @@ _after_export_dev_check(void *data)
ap.splash = splash_add(ap.win, _export_develop_setup, _export_teardown, 
NULL, data);
evas_object_focus_set(ap.splash, true);
evas_object_show(ap.splash);
-   popup_fileselector_helper_dismiss();
+   if (!ap.path.export_edj)
+ popup_fileselector_helper_dismiss();
 }
 
 static Eina_Bool
@@ -122,7 +123,8 @@ _after_export_release_check(void *data)
NULL, data);
evas_object_focus_set(ap.splash, true);
evas_object_show(ap.splash);
-   popup_fileselector_helper_dismiss();
+   if (!ap.path.export_edj)
+ popup_fileselector_helper_dismiss();
 }
 
 static Eina_Bool
@@ -202,7 +204,8 @@ _after_export_source_code_check(void *data)
ap.splash = splash_add(ap.win, _export_source_code_setup, _export_teardown, 
NULL, data);
evas_object_focus_set(ap.splash, true);
evas_object_show(ap.splash);
-   popup_fileselector_helper_dismiss();
+   if (!ap.path.export_edc.path)
+ popup_fileselector_helper_dismiss();
 }
 
 static Eina_Bool

-- 




[EGIT] [tools/eflete] eflete-1.18 16/91: group_navigator: use async popup for part add

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit fc64cd0b3e6dd56e829c282fc4f7d36b88ab4da3
Author: Andrii Kroitor 
Date:   Fri Sep 2 16:04:46 2016 +0300

group_navigator: use async popup for part add
---
 src/bin/ui/workspace/group_navigator.c | 41 ++
 1 file changed, 17 insertions(+), 24 deletions(-)

diff --git a/src/bin/ui/workspace/group_navigator.c 
b/src/bin/ui/workspace/group_navigator.c
index 1375d89..5eef48f 100644
--- a/src/bin/ui/workspace/group_navigator.c
+++ b/src/bin/ui/workspace/group_navigator.c
@@ -71,6 +71,7 @@ typedef struct
Resource_Name_Validator *program_name_validator;
Resource_Name_Validator *group_data_name_validator;
 
+   Evas_Object *popup_win;
struct {
 int copy_part, part_type, program_selected;
 Combobox_Item *state_selected, *item_selected;
@@ -778,12 +779,12 @@ _on_part_name_changed(void *data,
 
if (resource_name_validator_status_get(pl->part_name_validator) != 
ELM_REG_NOERROR)
  {
-   popup_buttons_disabled_set(BTN_OK, true);
+   popup_button_disabled_set(pl->popup_win, BTN_OK, true);
elm_object_signal_emit(obj, "validation,default,fail", "elm");
  }
else
  {
-   popup_buttons_disabled_set(BTN_OK, false);
+   popup_button_disabled_set(pl->popup_win, BTN_OK, false);
elm_object_signal_emit(obj, "validation,default,pass", "elm");
  }
 }
@@ -898,10 +899,13 @@ _program_validate(void *data,
 }
 
 static void
-_popup_add_part_ok_clicked(void *data,
-   Evas_Object *obj __UNUSED__,
-   void *event_info __UNUSED__)
+_popup_add_part_close_cb(void *data,
+ Evas_Object *obj __UNUSED__,
+ void *ei)
 {
+   Popup_Button pb = (Popup_Button)ei;
+   if (pb != BTN_OK) return;
+
Edje_Part_Type type = EDJE_PART_TYPE_NONE;
Part_List *pl = data;
const char *name, *copy_name;
@@ -968,20 +972,8 @@ _popup_add_part_ok_clicked(void *data,
 
history_change_add(pl->group->history, change);
eina_stringshare_del(msg);
-   evas_object_del(pl->popup.box);
 }
 
-Eina_Bool
-_popup_add_part_validator(void *data)
-{
-   Part_List *pl = (Part_List *) data;
-   _popup_add_part_ok_clicked(data, NULL, NULL);
-   if (resource_name_validator_status_get(pl->part_name_validator) != 
ELM_REG_NOERROR)
- return false;
-   return true;
-}
-
-
 void
 group_navigator_part_add(Evas_Object *obj, Part *part)
 {
@@ -1088,7 +1080,7 @@ _combobox_item_pressed_cb(void *data __UNUSED__, 
Evas_Object *obj,
elm_entry_cursor_end_set(obj);
 }
 
-Evas_Object *
+static Evas_Object *
 _add_part_content_get(void *data, Evas_Object **to_focus)
 {
Combobox_Item *combobox_item;
@@ -1157,7 +1149,6 @@ _add_part_content_get(void *data, Evas_Object **to_focus)
elm_box_pack_end(box, item);
 
if (to_focus) *to_focus = pl->popup.entry_name;
-   popup_buttons_disabled_set(BTN_OK, true);
pl->popup.box = box;
return box;
 }
@@ -1173,11 +1164,13 @@ _on_menu_add_part_clicked(void *data __UNUSED__,
assert(pl != NULL);
 
title = eina_stringshare_printf(_("Add New Part to Group \"%s\""), 
pl->group->name);
-   Popup_Button button = popup_want_action(title, NULL, _add_part_content_get,
-   BTN_OK | BTN_CANCEL,
-   _popup_add_part_validator, pl);
-   if (BTN_CANCEL == button)
- evas_object_del(pl->popup.box);
+   pl->popup_win = popup_add(title, NULL,
+ BTN_OK | BTN_CANCEL,
+ _add_part_content_get,
+ pl);
+   evas_object_smart_callback_add(pl->popup_win, POPUP_CLOSE_CB, 
_popup_add_part_close_cb, pl);
+   popup_button_disabled_set(pl->popup_win, BTN_OK, true);
+
eina_stringshare_del(title);
 }
 

-- 




[EGIT] [tools/eflete] eflete-1.18 45/91: tab_home_common: remove unsused function

2017-01-23 Thread Vitalii Vorobiov
rimmed pushed a commit to branch eflete-1.18.

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

commit 2e0cc1218352193278e27b2367957a37b56692fe
Author: Vitalii Vorobiov 
Date:   Tue Sep 6 18:08:40 2016 +0300

tab_home_common: remove unsused function
---
 src/bin/ui/tab_home_common.c | 36 
 1 file changed, 36 deletions(-)

diff --git a/src/bin/ui/tab_home_common.c b/src/bin/ui/tab_home_common.c
index d578d86..f767cfa 100644
--- a/src/bin/ui/tab_home_common.c
+++ b/src/bin/ui/tab_home_common.c
@@ -92,42 +92,6 @@ entry_path_set(void *data,
 }
 
 void
-_group_copy(Project *pro, Eina_List *widgets)
-{
-   Eina_List *collections, *prefixs, *wl, *sl, *cl, *gl;
-   Tree_Item_Data *widget, *style;
-   char *cp_style_name = NULL;
-   char *prefix = NULL;
-   char group_name[1024];
-   char cp_group_name[1024];
-
-   collections = edje_file_collection_list(pro->dev);
-
-   EINA_LIST_FOREACH(widgets, wl, widget)
- {
-EINA_LIST_FOREACH(widget->list, sl, style)
-  {
- if (style->copy)
-   {
-  prefixs = widget_prefix_list_get(collections, widget->name, 
style->name);
-  EINA_LIST_FOREACH(style->copy, cl, cp_style_name)
-{
-   EINA_LIST_FOREACH(prefixs, gl, prefix)
- {
-snprintf(group_name, strlen(prefix) + 
strlen(style->name) + 1, "%s%s", prefix, style->name);
-snprintf(cp_group_name, strlen(prefix) + 
strlen(cp_style_name) + 1, "%s%s", prefix, cp_style_name);
-
CRIT_ON_FAIL(editor_group_copy(ap.project->global_object, group_name, 
cp_group_name));
-gm_group_add(ap.project, cp_group_name, true);
- }
-}
-  EINA_LIST_FREE(prefixs, prefix)
-eina_stringshare_del(prefix);
-   }
-  }
- }
-}
-
-void
 _tabs_progress_end(void *data, PM_Project_Result result, Project *project)
 {
Meta_Data_Controls *meta = (Meta_Data_Controls *)data;

-- 




[EGIT] [tools/eflete] eflete-1.18 20/91: group_navigator: use async popup for program add

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit d2886b697217922c5977c4eb9132029fa72da549
Author: Andrii Kroitor 
Date:   Fri Sep 2 16:41:17 2016 +0300

group_navigator: use async popup for program add
---
 src/bin/ui/workspace/group_navigator.c | 39 +-
 1 file changed, 15 insertions(+), 24 deletions(-)

diff --git a/src/bin/ui/workspace/group_navigator.c 
b/src/bin/ui/workspace/group_navigator.c
index 2e6555d..3317c89 100644
--- a/src/bin/ui/workspace/group_navigator.c
+++ b/src/bin/ui/workspace/group_navigator.c
@@ -888,12 +888,12 @@ _program_validate(void *data,
 
if (resource_name_validator_status_get(pl->program_name_validator) != 
ELM_REG_NOERROR)
  {
-   popup_buttons_disabled_set(BTN_OK, true);
+   popup_button_disabled_set(pl->popup_win, BTN_OK, true);
elm_object_signal_emit(obj, "validation,default,fail", "elm");
  }
else
  {
-   popup_buttons_disabled_set(BTN_OK, false);
+   popup_button_disabled_set(pl->popup_win, BTN_OK, false);
elm_object_signal_emit(obj, "validation,default,pass", "elm");
  }
 }
@@ -1576,10 +1576,13 @@ _on_menu_add_item_clicked(void *data __UNUSED__,
 }
 
 static void
-_popup_add_program_ok_clicked(void *data,
-  Evas_Object *obj __UNUSED__,
-  void *event_info __UNUSED__)
+_popup_add_program_close_cb(void *data,
+Evas_Object *obj __UNUSED__,
+void *event_info)
 {
+   Popup_Button pb = (Popup_Button) event_info;
+   if (pb != BTN_OK) return;
+
Edje_Action_Type type = EDJE_ACTION_TYPE_NONE;
Part_List *pl = data;
const char *name;
@@ -1630,20 +1633,9 @@ _popup_add_program_ok_clicked(void *data,
 
history_change_add(pl->group->history, change);
eina_stringshare_del(msg);
-   evas_object_del(pl->popup.box);
 }
 
-Eina_Bool
-_popup_add_program_validator(void *data)
-{
-   Part_List *pl = (Part_List *) data;
-   _popup_add_program_ok_clicked(data, NULL, NULL);
-   if (resource_name_validator_status_get(pl->program_name_validator) != 
ELM_REG_NOERROR)
- return false;
-   return true;
-}
-
-Evas_Object *
+static Evas_Object *
 _add_program_content_get(void *data, Evas_Object **to_focus)
 {
Part_List *pl = (Part_List *) data;
@@ -1651,7 +1643,7 @@ _add_program_content_get(void *data, Evas_Object 
**to_focus)
unsigned int i = 0;
Combobox_Item *combobox_item;
 
-   BOX_ADD(ap.popup, box, false, false);
+   BOX_ADD(ap.win, box, false, false);
elm_box_padding_set(box, 0, 10);
 
LAYOUT_PROP_ADD(box, _("Program name"), "popup", "1swallow")
@@ -1684,7 +1676,6 @@ _add_program_content_get(void *data, Evas_Object 
**to_focus)
elm_box_pack_end(box, item);
pl->popup.box = box;
if (to_focus) *to_focus = pl->popup.entry_name;
-   popup_buttons_disabled_set(BTN_OK, true);
 
return pl->popup.box;
 }
@@ -1700,12 +1691,12 @@ _on_menu_add_program_clicked(void *data __UNUSED__,
assert(pl != NULL);
 
title = eina_stringshare_add(_("Add New Program"));
-   Popup_Button button = popup_want_action(title, NULL, 
_add_program_content_get,
-   BTN_OK | BTN_CANCEL,
-   _popup_add_program_validator, pl);
+   pl->popup_win = popup_add(title, NULL,
+ BTN_OK | BTN_CANCEL,
+ _add_program_content_get, pl);
+   evas_object_smart_callback_add(pl->popup_win, POPUP_CLOSE_CB, 
_popup_add_program_close_cb, pl);
+   popup_button_disabled_set(pl->popup_win, BTN_OK, true);
 
-   if (button == BTN_CANCEL)
- evas_object_del(pl->popup.box);
eina_stringshare_del(title);
 }
 

-- 




[EGIT] [tools/eflete] eflete-1.18 62/91: alloc: exit application on calloc error

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 9b8fa5760ab8b0401d63d2473a22c0aa0b488789
Author: Andrii Kroitor 
Date:   Thu Sep 15 12:04:14 2016 +0300

alloc: exit application on calloc error
---
 src/bin/alloc/alloc.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/bin/alloc/alloc.h b/src/bin/alloc/alloc.h
index 6f9eb46..84dcce5 100644
--- a/src/bin/alloc/alloc.h
+++ b/src/bin/alloc/alloc.h
@@ -79,6 +79,7 @@ mem_calloc(size_t num, size_t size)
  {
 CRIT(TERM_MESSAGE);
 app_shutdown();
+exit(EXIT_FAILURE);
  }
return mem_block;
 }

-- 




[EGIT] [tools/eflete] eflete-1.18 47/91: project manager: fix typo

2017-01-23 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch eflete-1.18.

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

commit 959be8e89b0dcf4261702bbec576f59fcbb95106
Author: Vyacheslav Reutskiy 
Date:   Tue Sep 6 16:14:22 2016 +0300

project manager: fix typo

Change-Id: Id04a400ef12a0ceff4dd8ef1fe173cec571f1508
---
 src/bin/project_manager/project_manager.c | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/bin/project_manager/project_manager.c 
b/src/bin/project_manager/project_manager.c
index 5e60933..43220ca 100644
--- a/src/bin/project_manager/project_manager.c
+++ b/src/bin/project_manager/project_manager.c
@@ -93,15 +93,15 @@ _lock_try(const char *path, Eina_Bool check, HANDLE *pro_fd)
DWORD  dwCreationDisposition = OPEN_EXISTING;
DWORD  dwFlagsAndAttributes = 0;
HANDLE  hTemplateFile = NULL;
-   HANDLE fd = CreateFile(lpFileName, 
-  dwDesiredAccess, 
-  dwShareMode, 
-  lpSecurityAttributes, 
+   HANDLE fd = CreateFile(lpFileName,
+  dwDesiredAccess,
+  dwShareMode,
+  lpSecurityAttributes,
   dwCreationDisposition,
   dwFlagsAndAttributes,
   hTemplateFile);
-   
-   if (fd == INVALID_HANDLE_VALUE) 
+
+   if (fd == INVALID_HANDLE_VALUE)
  {
 ERR("The file '%s' cannot be opened in mode read-write!", path);
 return !check;

-- 




[EGIT] [tools/eflete] eflete-1.18 75/91: project_common: fix memory leak

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit b7ff3d3d8e051e762946582cd34d91ad0a422807
Author: Andrii Kroitor 
Date:   Thu Sep 15 15:14:22 2016 +0300

project_common: fix memory leak

Fix svace WID 436687
---
 src/bin/ui/project_common.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/bin/ui/project_common.c b/src/bin/ui/project_common.c
index 1a8933f..af64cc2 100644
--- a/src/bin/ui/project_common.c
+++ b/src/bin/ui/project_common.c
@@ -83,6 +83,7 @@ exist_permission_check(const char *path, const char *name,
 eina_strbuf_append_printf(buf_msg, _("Haven't permision to write 
'%s'"), path);
 popup_add(title, eina_strbuf_string_get(buf_msg), BTN_OK, NULL, NULL);
 eina_strbuf_free(buf_msg);
+free(pcd);
 return false;
  }
pcd->buf = eina_strbuf_new();

-- 




[EGIT] [tools/eflete] eflete-1.18 57/91: Tizen : fix the usage of the spinner in tizen

2017-01-23 Thread Jaehwan Kim
rimmed pushed a commit to branch eflete-1.18.

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

commit 6219490890a34ac211cabc0553bbcfb5bf07c78f
Author: Jaehwan Kim 
Date:   Tue Sep 13 13:25:18 2016 +0900

Tizen : fix the usage of the spinner in tizen

The work of spinner is different in upstream and tizen.
If the "changed" callback of the spinner is called by api,
just return.
---
 src/bin/ui/property/property_common.c |   4 +
 src/bin/ui/property/property_group.c  | 197 ++
 2 files changed, 108 insertions(+), 93 deletions(-)

diff --git a/src/bin/ui/property/property_common.c 
b/src/bin/ui/property/property_common.c
index f16ddc9..55c3906 100644
--- a/src/bin/ui/property/property_common.c
+++ b/src/bin/ui/property/property_common.c
@@ -168,6 +168,10 @@ _start_change_stop_cb(void *data,
   Evas_Object *obj,
   void *event_info __UNUSED__)
 {
+#ifdef HAVE_TIZEN
+   Eina_Bool by_api = evas_object_data_get(obj, "by_api");
+   if (by_api) return;
+#endif
PROPERTY_DATA_GET(obj);
Property_Attribute *pa = data;
 
diff --git a/src/bin/ui/property/property_group.c 
b/src/bin/ui/property/property_group.c
index 7b93c82..8d8c38c 100644
--- a/src/bin/ui/property/property_group.c
+++ b/src/bin/ui/property/property_group.c
@@ -205,6 +205,17 @@ static const char *image_border_fill_strings[] = { 
STR_NONE,
"Default",
"Solid",
NULL};
+_spinner_value_set(Evas_Object *obj, double val)
+{
+#ifdef HAVE_TIZEN
+   evas_object_data_set(obj, "by_api", EINA_TRUE);
+#endif
+   elm_spinner_value_set(obj, val);
+#ifdef HAVE_TIZEN
+   evas_object_data_set(obj, "by_api", EINA_FALSE);
+#endif
+}
+
 /* defines for args */
 static inline const char *
 _part_name_get(void)
@@ -1770,19 +1781,19 @@ _update_cb(Property_Attribute *pa, Property_Action 
*action)
  return images_list == NULL;
   case ATTRIBUTE_GROUP_MIN_W:
  int_val1 = edje_edit_group_min_w_get(EDIT_OBJ);
- elm_spinner_value_set(action->control, int_val1);
+ _spinner_value_set(action->control, int_val1);
  return !int_val1;
   case ATTRIBUTE_GROUP_MIN_H:
  int_val1 = edje_edit_group_min_h_get(EDIT_OBJ);
- elm_spinner_value_set(action->control, int_val1);
+ _spinner_value_set(action->control, int_val1);
  return !int_val1;
   case ATTRIBUTE_GROUP_MAX_W:
  int_val1 = edje_edit_group_max_w_get(EDIT_OBJ);
- elm_spinner_value_set(action->control, int_val1);
+ _spinner_value_set(action->control, int_val1);
  return !int_val1;
   case ATTRIBUTE_GROUP_MAX_H:
  int_val1 = edje_edit_group_max_h_get(EDIT_OBJ);
- elm_spinner_value_set(action->control, int_val1);
+ _spinner_value_set(action->control, int_val1);
  return !int_val1;
   case ATTRIBUTE_PART_NAME:
  property_entry_set(action->control, PART_ARGS);
@@ -1854,27 +1865,27 @@ _update_cb(Property_Attribute *pa, Property_Action 
*action)
  return editor_part_text_shadow_direction_default_is(EDIT_OBJ, 
PART_ARGS);
   case ATTRIBUTE_PART_DRAG_X:
  int_val1 = edje_edit_part_drag_x_get(EDIT_OBJ, PART_ARGS);
- elm_spinner_value_set(action->control, int_val1);
+ _spinner_value_set(action->control, int_val1);
  return editor_part_drag_x_default_is(EDIT_OBJ, PART_ARGS);
   case ATTRIBUTE_PART_DRAG_Y:
  int_val1 = edje_edit_part_drag_y_get(EDIT_OBJ, PART_ARGS);
- elm_spinner_value_set(action->control, int_val1);
+ _spinner_value_set(action->control, int_val1);
  return editor_part_drag_y_default_is(EDIT_OBJ, PART_ARGS);
   case ATTRIBUTE_PART_DRAG_STEP_X:
  int_val1 = edje_edit_part_drag_step_x_get(EDIT_OBJ, PART_ARGS);
- elm_spinner_value_set(action->control, int_val1);
+ _spinner_value_set(action->control, int_val1);
  return editor_part_drag_step_x_default_is(EDIT_OBJ, PART_ARGS);
   case ATTRIBUTE_PART_DRAG_STEP_Y:
  int_val1 = edje_edit_part_drag_step_y_get(EDIT_OBJ, PART_ARGS);
- elm_spinner_value_set(action->control, int_val1);
+ _spinner_value_set(action->control, int_val1);
  return editor_part_drag_step_y_default_is(EDIT_OBJ, PART_ARGS);
   case ATTRIBUTE_PART_DRAG_COUNT_X:
  int_val1 = edje_edit_part_drag_count_x_get(EDIT_OBJ, PART_ARGS);
- elm_spinner_value_set(action->control, int_val1);
+ _spinner_value_set(action->control, int_val1);
  return editor_part_drag_count_x_default_is(EDIT_OBJ, PART_ARGS);
   case ATTRIBUTE_PART_DRAG_COUNT_Y:
  int_val1 = edje_edit_part_drag_count_y_get(EDIT_OBJ, PART_ARGS);
- elm_spinner_value_set(action->control, int_val1);
+ _spinne

[EGIT] [tools/eflete] eflete-1.18 34/91: popup: remove unused variables

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit e95281ec4e0d76004b1dbd291cae22c7bae1e833
Author: Andrii Kroitor 
Date:   Tue Sep 6 16:26:48 2016 +0300

popup: remove unused variables
---
 src/bin/ui/popup.c | 6 --
 1 file changed, 6 deletions(-)

diff --git a/src/bin/ui/popup.c b/src/bin/ui/popup.c
index 062eaa9..1c0feef 100644
--- a/src/bin/ui/popup.c
+++ b/src/bin/ui/popup.c
@@ -28,12 +28,6 @@ static Evas_Object *fs;
 static Helper_Done_Cb dismiss_func;
 static void* func_data;
 
-static const Popup_Button _btn_ok = BTN_OK;
-static const Popup_Button _btn_save   = BTN_SAVE;
-static const Popup_Button _btn_append = BTN_APPEND;
-static const Popup_Button _btn_replace= BTN_REPLACE;
-static const Popup_Button _btn_dont_save  = BTN_DONT_SAVE;
-static const Popup_Button _btn_cancel = BTN_CANCEL;
 static Popup_Current current;
 
 struct _Search_Data

-- 




[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 
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";
- type: RECT;
- repeat_events: 1;
- description { state: "default" 0.0;
-color: 255 255 255 0;
- }
-  }
-   }
-   programs {
-  program { name: "selected";
- signal: "elm,state,selected";
- source: "elm";
- action: STATE_SET "selected" 0.00;
- target: "bg";
-  }
-  program { name: "unselected";
-

[EGIT] [tools/eflete] eflete-1.18 35/91: project manager: do to call any func in assert

2017-01-23 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch eflete-1.18.

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

commit cff318aaadbada3d0b05f416040bb9ee73e5f7eb
Author: Vyacheslav Reutskiy 
Date:   Tue Sep 6 15:58:54 2016 +0300

project manager: do to call any func in assert

Change-Id: Iac5a1d269164cd340b3591e4fc7de7660b152cc5
---
 src/bin/project_manager/project_manager.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/bin/project_manager/project_manager.c 
b/src/bin/project_manager/project_manager.c
index 012febc..ddc0cf2 100644
--- a/src/bin/project_manager/project_manager.c
+++ b/src/bin/project_manager/project_manager.c
@@ -370,6 +370,7 @@ _project_special_group_add(Project *project)
Evas *e;
Evas_Object *edje_edit_obj;
Eina_List *list;
+   Eina_Bool ret;
 
assert(project != NULL);
 
@@ -380,7 +381,8 @@ _project_special_group_add(Project *project)
list = edje_file_collection_list(project->saved_edj);
edje_edit_obj = edje_edit_object_add(e);
 
-   edje_object_file_set(edje_edit_obj, project->saved_edj, 
eina_list_data_get(list));
+   ret = edje_object_file_set(edje_edit_obj, project->saved_edj, 
eina_list_data_get(list));
+   assert(true == ret);
CRIT_ON_FAIL(editor_internal_group_add(edje_edit_obj));
 
edje_edit_string_list_free(list);

-- 




[EGIT] [tools/eflete] eflete-1.18 18/91: group_navigator: use async popup for state add

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 060779e42a18d3f38da0c248c4dadb02b4f9d558
Author: Andrii Kroitor 
Date:   Fri Sep 2 16:28:13 2016 +0300

group_navigator: use async popup for state add
---
 src/bin/ui/workspace/group_navigator.c | 40 +-
 1 file changed, 15 insertions(+), 25 deletions(-)

diff --git a/src/bin/ui/workspace/group_navigator.c 
b/src/bin/ui/workspace/group_navigator.c
index c4658ba..fa84b41 100644
--- a/src/bin/ui/workspace/group_navigator.c
+++ b/src/bin/ui/workspace/group_navigator.c
@@ -808,12 +808,12 @@ _state_validate(void *data,
if ((elm_validator_regexp_status_get(pl->name_validator) != 
ELM_REG_NOERROR) ||
(edje_edit_state_exist(pl->group->edit_object, pl->part->name, name, 
val)))
  {
-   popup_buttons_disabled_set(BTN_OK, true);
+   popup_button_disabled_set(pl->popup_win, BTN_OK, true);
elm_object_signal_emit(obj, "validation,default,fail", "elm");
  }
else
  {
-   popup_buttons_disabled_set(BTN_OK, false);
+   popup_button_disabled_set(pl->popup_win, BTN_OK, false);
elm_object_signal_emit(obj, "validation,default,pass", "elm");
  }
 }
@@ -1264,10 +1264,13 @@ _on_menu_add_group_data_clicked(void *data __UNUSED__,
 }
 
 static void
-_popup_add_state_ok_clicked(void *data,
-Evas_Object *obj __UNUSED__,
-void *event_info __UNUSED__)
+_popup_add_state_close_cb(void *data,
+  Evas_Object *obj __UNUSED__,
+  void *event_info)
 {
+   Popup_Button pb = (Popup_Button)event_info;
+   if (pb != BTN_OK) return;
+
Part_List *pl = data;
const char *name;
double val;
@@ -1310,18 +1313,6 @@ _popup_add_state_ok_clicked(void *data,
 
history_change_add(pl->group->history, change);
eina_stringshare_del(msg);
-   evas_object_del(pl->popup.box);
-}
-
-Eina_Bool
-_popup_add_state_validator(void *data)
-{
-   Part_List *pl = (Part_List *) data;
-   _popup_add_state_ok_clicked(data, NULL, NULL);
-
-   if (elm_validator_regexp_status_get(pl->name_validator) != ELM_REG_NOERROR)
- return false;
-   return true;
 }
 
 void
@@ -1361,7 +1352,7 @@ group_navigator_part_state_add(Evas_Object *obj, Part 
*part, State *state)
  }
 }
 
-Evas_Object *
+static Evas_Object *
 _add_state_content_get(void *data, Evas_Object **to_focus)
 {
Part_List *pl = (Part_List *)data;
@@ -1372,7 +1363,7 @@ _add_state_content_get(void *data, Evas_Object **to_focus)
Combobox_Item *combobox_item;
unsigned int i = 0;
 
-   BOX_ADD(ap.popup, box, false, false);
+   BOX_ADD(ap.win, box, false, false);
elm_box_padding_set(box, 0, 10);
 
LAYOUT_PROP_ADD(box, _("State name"), "popup", "1swallow");
@@ -1424,7 +1415,6 @@ _add_state_content_get(void *data, Evas_Object **to_focus)
elm_box_pack_end(box, item);
 
if (to_focus) *to_focus = pl->popup.entry_name;
-   popup_buttons_disabled_set(BTN_OK, true);
pl->popup.box = box;
return box;
 }
@@ -1440,12 +1430,12 @@ _on_menu_add_state_clicked(void *data __UNUSED__,
assert(pl->part != NULL);
 
title = eina_stringshare_printf(_("Add New State to Part \"%s\""), 
pl->part->name);
-   Popup_Button button = popup_want_action(title, NULL, _add_state_content_get,
-   BTN_OK | BTN_CANCEL,
-   _popup_add_state_validator, pl);
+   pl->popup_win = popup_add(title, NULL,
+ BTN_OK | BTN_CANCEL,
+ _add_state_content_get, pl);
+   evas_object_smart_callback_add(pl->popup_win, POPUP_CLOSE_CB, 
_popup_add_state_close_cb, pl);
+   popup_button_disabled_set(pl->popup_win, BTN_OK, true);
 
-   if (button == BTN_CANCEL)
- evas_object_del(pl->popup.box);
eina_stringshare_del(title);
 }
 

-- 




[EGIT] [tools/eflete] eflete-1.18 65/91: popup: fix enum check

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit e27da97fd6899d3b29d4b15f2eda564353a120f6
Author: Andrii Kroitor 
Date:   Thu Sep 15 12:24:40 2016 +0300

popup: fix enum check

Fix svace WID 436596
---
 src/bin/ui/popup.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/ui/popup.c b/src/bin/ui/popup.c
index 77a7b2d..7d262a4 100644
--- a/src/bin/ui/popup.c
+++ b/src/bin/ui/popup.c
@@ -113,7 +113,7 @@ _button_add(Popup_Data *pd, int *btn_pos, const char *text, 
Popup_Button pb)
assert(*btn_pos < 3); /* maximum buttons count */
assert(text != NULL);
 
-   if (!pb)
+   if (pb == BTN_NONE)
  return NULL;
 
BUTTON_ADD(pd->popup, btn, text);

-- 




[EGIT] [tools/eflete] eflete-1.18 59/91: tabs: fix lost object after closing home tab

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit e90dda18a3b21635956eed5d428343df923d2c3b
Author: Andrii Kroitor 
Date:   Tue Sep 13 17:03:48 2016 +0300

tabs: fix lost object after closing home tab
---
 src/bin/ui/tabs.c | 15 +++
 1 file changed, 15 insertions(+)

diff --git a/src/bin/ui/tabs.c b/src/bin/ui/tabs.c
index 945c15c..4b5dc1d 100644
--- a/src/bin/ui/tabs.c
+++ b/src/bin/ui/tabs.c
@@ -1110,6 +1110,7 @@ _tab_close(void *data,
_del_tab(item);
if (tabs.selected == it)
  {
+tabs.selected = NULL;
 content = elm_layout_content_unset(ap.panes.left_ver, "right");
 evas_object_hide(content);
 elm_layout_content_set(ap.panes.left_ver, "right", 
workspace_group_navigator_get(NULL));
@@ -1150,6 +1151,19 @@ tabs_tab_add(Group *group)
tabs.items = eina_list_append(tabs.items, item);
 }
 
+static void
+_tab_home_del(void *data __UNUSED__,
+  Evas *e __UNUSED__,
+  Evas_Object *obj __UNUSED__,
+  void *event_info __UNUSED__)
+{
+   evas_object_del(tabs.home.content_open_project);
+   evas_object_del(tabs.home.content_new_project);
+   evas_object_del(tabs.home.content_import_edj);
+   evas_object_del(tabs.home.content_import_edc);
+   evas_object_del(tabs.home.content_project_info);
+}
+
 void
 tabs_home_tab_add(Tabs_Menu view)
 {
@@ -1169,6 +1183,7 @@ tabs_home_tab_add(Tabs_Menu view)
evas_object_show(scroller);
 
tabs.home.content = elm_layout_add(ap.win);
+   evas_object_event_callback_add(tabs.home.content, EVAS_CALLBACK_DEL, 
_tab_home_del, NULL);
elm_layout_theme_set(tabs.home.content, "layout", "tab_home", "default");
tabs.home.tabs = elm_toolbar_add(tabs.home.content);
elm_layout_content_set(tabs.home.content, "elm.swallow.toolbar", 
tabs.home.tabs);

-- 




[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 
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, 
&attribute);
 
 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(&ap.project->colorclasses, res);
resource_free(res);
elm_object_item_del(it);
+   evas_object_smart_callback_call(ap.win, SIGNAL_EDITOR_ATTRIBUTE_CHANGED, 
&attribute);
 
 #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, 
&attribute);
 
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, 
&attribute);
 }
 
 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, 
&request);
@@ -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, 
&request);
@@ -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, 
&attribute);
 }
 
 ITEM_SEARCH_FUNC(gengrid, ELM_GENGRID_ITEM_SCROLLTO_MIDDLE, "

[EGIT] [tools/eflete] eflete-1.18 24/91: project_navigator: use async popup for group del

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 42c19c548043addeffb46ec76bd74ca3b686653d
Author: Andrii Kroitor 
Date:   Mon Sep 5 12:17:40 2016 +0300

project_navigator: use async popup for group del
---
 src/bin/ui/project_navigator.c | 71 +-
 1 file changed, 49 insertions(+), 22 deletions(-)

diff --git a/src/bin/ui/project_navigator.c b/src/bin/ui/project_navigator.c
index 11b335e..fda1e7d 100644
--- a/src/bin/ui/project_navigator.c
+++ b/src/bin/ui/project_navigator.c
@@ -592,24 +592,62 @@ _group_del(void *data __UNUSED__,
 }
 
 static void
+_folder_del_popup_close_cb(void *data,
+   Evas_Object *obj __UNUSED__,
+   void *event_info)
+{
+   Elm_Object_Item *glit = data;
+   Popup_Button btn_res = (Popup_Button) event_info;
+
+   if (BTN_CANCEL == btn_res) return;
+
+   _folder_del(elm_object_item_data_get(glit));
+   elm_object_disabled_set(project_navigator.btn_del, true);
+}
+
+static void
+_group_del_popup_close_cb(void *data,
+  Evas_Object *obj __UNUSED__,
+  void *event_info)
+{
+   Eina_Stringshare *tmp, *msg;
+   Group *group = data;
+   Popup_Button btn_res = (Popup_Button) event_info;
+
+   if (BTN_CANCEL == btn_res) return;
+
+   tmp = eina_stringshare_add(group->name);
+   if (editor_group_del(ap.project->global_object, tmp))
+ gm_group_del(ap.project, group);
+   else
+ {
+msg = eina_stringshare_printf(_("Can't delete layout \"%s\""), 
group->name);
+popup_add(_("Error"), msg, BTN_OK, NULL, NULL);
+eina_stringshare_del(msg);
+return;
+ }
+   eina_stringshare_del(tmp);
+
+   elm_object_disabled_set(project_navigator.btn_del, true);
+}
+
+static void
 _btn_del_group_cb(void *data __UNUSED__,
   Evas_Object *obj __UNUSED__,
   void *event_info __UNUSED__)
 {
-   Popup_Button btn_res;
Group *group;
+   Evas_Object *popup;
Elm_Object_Item *glit;
-   Eina_Stringshare *tmp, *msg;
 
glit = elm_genlist_selected_item_get(project_navigator.genlist);
if (elm_genlist_item_type_get(glit) == ELM_GENLIST_ITEM_TREE)
  {
-btn_res = popup_want_action(_("Confirm delete layouts"),
-_("Are you sure you want to delete the 
selected layouts?"
-  "All aliases will be delete too."),
-NULL, BTN_OK|BTN_CANCEL, NULL, NULL);
-if (BTN_CANCEL == btn_res) return;
-_folder_del(elm_object_item_data_get(glit));
+popup = popup_add(_("Confirm delete layouts"),
+  _("Are you sure you want to delete the selected 
layouts?"
+"All aliases will be delete too."),
+  BTN_OK|BTN_CANCEL, NULL, NULL);
+evas_object_smart_callback_add(popup, POPUP_CLOSE_CB, 
_folder_del_popup_close_cb, glit);
  }
else
  {
@@ -624,23 +662,12 @@ _btn_del_group_cb(void *data __UNUSED__,
BTN_CANCEL, NULL, NULL);
  return;
   }
-btn_res = popup_want_action(_("Confirm delete layout"),
+popup = popup_add(_("Confirm delete layout"),
 _("Are you sure you want to delete the 
selected layout?"
   "All aliases will be delete too."),
-NULL, BTN_OK|BTN_CANCEL, NULL, NULL);
-if (BTN_CANCEL == btn_res) return;
-tmp = eina_stringshare_add(group->name);
-if (editor_group_del(ap.project->global_object, tmp))
-  gm_group_del(ap.project, group);
-else
-  {
- msg = eina_stringshare_printf(_("Can't delete layout \"%s\""), 
group->name);
- popup_want_action(_("Error"), msg, NULL, BTN_OK, NULL, NULL);
- eina_stringshare_del(msg);
-  }
-eina_stringshare_del(tmp);
+BTN_OK|BTN_CANCEL, NULL, NULL);
+evas_object_smart_callback_add(popup, POPUP_CLOSE_CB, 
_group_del_popup_close_cb, group);
  }
-   elm_object_disabled_set(project_navigator.btn_del, true);
 }
 
 static void

-- 




[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 
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 76/91: property: fix color control breaking transparent colors

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 8770e6b7c559aaf62ebe3c7c1b461828a69ae6a5
Author: Andrii Kroitor 
Date:   Fri Sep 16 10:48:47 2016 +0300

property: fix color control breaking transparent colors
---
 src/bin/ui/property/property_color_control.c | 52 
 1 file changed, 45 insertions(+), 7 deletions(-)

diff --git a/src/bin/ui/property/property_color_control.c 
b/src/bin/ui/property/property_color_control.c
index de30212..50b5f7c 100644
--- a/src/bin/ui/property/property_color_control.c
+++ b/src/bin/ui/property/property_color_control.c
@@ -21,18 +21,24 @@
 #include "property_private.h"
 #include "main_window.h"
 
+typedef struct {
+   int r, g, b, a;
+} Color;
+#define COLOR_DATA "COLOR_DATA"
+
 static void
 _on_color_change(void *data,
  Evas_Object *obj,
  void *event_info __UNUSED__)
 {
-   int r, g, b, a;
+   Color *c;
Evas_Object *control = data;
 
assert(control != NULL);
 
-   elm_colorselector_color_get(obj, &r, &g, &b, &a);
-   property_color_control_color_set(control, r, g, b, a);
+   c = evas_object_data_get(control, COLOR_DATA);
+   elm_colorselector_color_get(obj, &c->r, &c->g, &c->b, &c->a);
+   property_color_control_color_set(control, c->r, c->g, c->b, c->a);
evas_object_smart_callback_call(control, "changed", NULL);
 }
 
@@ -70,10 +76,24 @@ _on_color_clicked(void *data __UNUSED__,
elm_object_scroll_freeze_push(control);
 }
 
+static void
+_color_free(void *data,
+Evas *e __UNUSED__,
+Evas_Object *obj __UNUSED__,
+void *event_info __UNUSED__)
+{
+   Color *c = data;
+
+   assert(c != NULL);
+
+   free(c);
+}
+
 Evas_Object *
 property_color_control_add(Evas_Object *parent)
 {
Evas_Object *control, *color;
+   Color *c;
 
assert(parent != NULL);
 
@@ -91,6 +111,10 @@ property_color_control_add(Evas_Object *parent)
   popup_active_helper_close,
   
(void*)(uintptr_t)POPUP_COLORSELECTOR_HELPER);
 
+   c = mem_calloc(1, sizeof(Color));
+   evas_object_data_set(control, COLOR_DATA, c);
+   evas_object_event_callback_add(control, EVAS_CALLBACK_FREE, _color_free, c);
+
return control;
 }
 
@@ -98,6 +122,7 @@ void
 property_color_control_color_set(Evas_Object *control, int r, int g, int b, 
int a)
 {
Evas_Object *color;
+   Color *c;
 
assert(control != NULL);
assert((r >= 0) && (r <= 255));
@@ -105,6 +130,15 @@ property_color_control_color_set(Evas_Object *control, int 
r, int g, int b, int
assert((b >= 0) && (b <= 255));
assert((a >= 0) && (a <= 255));
 
+   c = evas_object_data_get(control, COLOR_DATA);
+
+   assert(c != NULL);
+
+   c->r = r;
+   c->g = g;
+   c->b = b;
+   c->a = a;
+
color = elm_layout_content_get(control, NULL);
evas_color_argb_premul(a, &r, &g, &b);
evas_object_color_set(color, r, g, b, a);
@@ -113,10 +147,14 @@ property_color_control_color_set(Evas_Object *control, 
int r, int g, int b, int
 void
 property_color_control_color_get(Evas_Object *control, int *r, int *g, int *b, 
int *a)
 {
-   Evas_Object *color;
-
assert(control != NULL);
 
-   color = elm_layout_content_get(control, NULL);
-   evas_object_color_get(color, r, g, b, a);
+   Color *color = evas_object_data_get(control, COLOR_DATA);
+
+   assert(color != NULL);
+
+   *r = color->r;
+   *g = color->g;
+   *b = color->b;
+   *a = color->a;
 }

-- 




[EGIT] [tools/eflete] eflete-1.18 69/91: live_frame: fix dead assignment

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit f3b839b0725e1830c0cbd8f5183587f559e09822
Author: Andrii Kroitor 
Date:   Thu Sep 15 12:58:20 2016 +0300

live_frame: fix dead assignment

Fix svace WID 436592
---
 src/bin/ui/live_view/elementary/live_frame.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/bin/ui/live_view/elementary/live_frame.c 
b/src/bin/ui/live_view/elementary/live_frame.c
index a042bc8..b87b43d 100644
--- a/src/bin/ui/live_view/elementary/live_frame.c
+++ b/src/bin/ui/live_view/elementary/live_frame.c
@@ -39,7 +39,6 @@ _on_frame_swallow_check(void *data __UNUSED__,
{
   content = elm_object_part_content_unset(frame_obj, 
part->name);
   evas_object_del(content);
-  content = NULL;
   part->object = NULL;
}
 

-- 




[EGIT] [tools/eflete] eflete-1.18 60/91: group_navigator: fix incorrect cast on part_item selection

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit c6dfc678694955a4e5b01d5fd735283d4e9990a1
Author: Andrii Kroitor 
Date:   Tue Sep 13 17:25:34 2016 +0300

group_navigator: fix incorrect cast on part_item selection
---
 src/bin/ui/workspace/group_navigator.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/bin/ui/workspace/group_navigator.c 
b/src/bin/ui/workspace/group_navigator.c
index 950..4f91870 100644
--- a/src/bin/ui/workspace/group_navigator.c
+++ b/src/bin/ui/workspace/group_navigator.c
@@ -738,7 +738,7 @@ _selected_cb(void *data,
 if (pl->group->current_selected->resource_type == RESOURCE_TYPE_PART)
   {
  pl->part = (Part *)pl->group->current_selected;
- evas_object_smart_callback_call(pl->layout, 
SIGNAL_GROUP_NAVIGATOR_PART_SELECTED, pl->group->current_selected);
+ evas_object_smart_callback_call(pl->layout, 
SIGNAL_GROUP_NAVIGATOR_PART_SELECTED, pl->part);
 #if HAVE_TIZEN
  Evas_Object *check = elm_object_item_part_content_get(glit, 
"elm.swallow.icon");
  if (check)
@@ -748,7 +748,7 @@ _selected_cb(void *data,
 else if (pl->group->current_selected->resource_type == 
RESOURCE_TYPE_STATE)
   {
  pl->part = ((State *)pl->group->current_selected)->part;
- evas_object_smart_callback_call(pl->layout, 
SIGNAL_GROUP_NAVIGATOR_PART_SELECTED, ((State 
*)pl->group->current_selected)->part);
+ evas_object_smart_callback_call(pl->layout, 
SIGNAL_GROUP_NAVIGATOR_PART_SELECTED, pl->part);
  state = elm_object_item_data_get(glit);
  
CRIT_ON_FAIL(editor_part_selected_state_set(pl->group->edit_object, NULL, 
false, true,
  state->part->name,
@@ -758,7 +758,7 @@ _selected_cb(void *data,
 else if (pl->group->current_selected->resource_type == 
RESOURCE_TYPE_ITEM)
   {
  pl->part = ((Part_Item *)pl->group->current_selected)->part;
- evas_object_smart_callback_call(pl->layout, 
SIGNAL_GROUP_NAVIGATOR_PART_SELECTED, ((State 
*)pl->group->current_selected)->part);
+ evas_object_smart_callback_call(pl->layout, 
SIGNAL_GROUP_NAVIGATOR_PART_SELECTED, pl->part);
   }
 else
   evas_object_smart_callback_call(pl->layout, 
SIGNAL_GROUP_NAVIGATOR_PART_SELECTED, NULL);

-- 




[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 
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 55/91: project_manager: unset project from ap before closing it

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 7f633b9db6bf5727c9b38949acd0dc4be3ff7fe8
Author: Andrii Kroitor 
Date:   Mon Sep 12 19:20:16 2016 +0300

project_manager: unset project from ap before closing it
---
 src/bin/ui/project_close.c | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/bin/ui/project_close.c b/src/bin/ui/project_close.c
index ef95cd8..1339e6d 100644
--- a/src/bin/ui/project_close.c
+++ b/src/bin/ui/project_close.c
@@ -171,6 +171,7 @@ _popup_close_cb(void *data __UNUSED__,
 Eina_Bool
 project_close(void)
 {
+   Project *project_to_close;
Evas_Object *popup;
Eina_Stringshare *title;
 
@@ -194,8 +195,11 @@ project_close(void)
project_navigator_project_unset();
tabs_clean();
 
-   pm_project_close(ap.project);
+   /* some code in close project callback checks ap.project for NULL, so we 
need to
+  change it before closing project */
+   project_to_close = ap.project;
ap.project = NULL;
+   pm_project_close(project_to_close);
elm_layout_text_set(ap.win_layout, "eflete.project.time", _("Last saved: 
none"));
elm_layout_text_set(ap.win_layout, "eflete.project.part", _("Project path: 
none"));
 

-- 




[EGIT] [tools/eflete] eflete-1.18 74/91: project_manager: fix NULL pointer usage

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 724e8cc2f3f00275e7bc893b6316604b68928589
Author: Andrii Kroitor 
Date:   Thu Sep 15 14:55:45 2016 +0300

project_manager: fix NULL pointer usage

Fix svace WID 436492
---
 src/bin/project_manager/project_manager.c | 7 ++-
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/src/bin/project_manager/project_manager.c 
b/src/bin/project_manager/project_manager.c
index c4be47c..12a2788 100644
--- a/src/bin/project_manager/project_manager.c
+++ b/src/bin/project_manager/project_manager.c
@@ -185,15 +185,13 @@ Eina_Bool
 _build_script_write(const char *path)
 {
FILE *f;
-   Eina_Bool res = true;
Eina_Strbuf *buf;
 
f = fopen(path, "w");
if (!f)
  {
 ERR("Could't open file '%s'", path);
-res = false;
-goto exit;
+return false;
  }
 
buf = eina_strbuf_new();
@@ -203,9 +201,8 @@ _build_script_write(const char *path)
eina_strbuf_free(buf);
chmod(path, S_IRWXU|S_IRWXG|S_IROTH|S_IWOTH);
 
-exit:
fclose(f);
-   return res;
+   return true;
 }
 
 void

-- 




[EGIT] [tools/eflete] eflete-1.18 54/91: project_manager: fix use-after-free error

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 9b8bed7548f360c679b16ccb0a117ee9f78260e4
Author: Andrii Kroitor 
Date:   Mon Sep 12 18:37:39 2016 +0300

project_manager: fix use-after-free error
---
 src/bin/project_manager/project_manager.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/project_manager/project_manager.c 
b/src/bin/project_manager/project_manager.c
index 43220ca..47bd06a 100644
--- a/src/bin/project_manager/project_manager.c
+++ b/src/bin/project_manager/project_manager.c
@@ -690,8 +690,8 @@ pm_project_close(Project *project)
if (project->pro_fd != -1)
  close(project->pro_fd);
 #endif
-   free(project);
evas_object_smart_callback_call(ap.win, SIGNAL_PROJECT_CLOSED, NULL);
+   free(project);
 
return true;
 }

-- 




[EGIT] [tools/eflete] eflete-1.18 61/91: alloc: exit application on memory error

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 471ea04bee2bd2da13c92ace66d2785d5d514d1e
Author: Andrii Kroitor 
Date:   Thu Sep 15 11:56:18 2016 +0300

alloc: exit application on memory error
---
 src/bin/alloc/alloc.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/bin/alloc/alloc.h b/src/bin/alloc/alloc.h
index 8b83610..6f9eb46 100644
--- a/src/bin/alloc/alloc.h
+++ b/src/bin/alloc/alloc.h
@@ -53,6 +53,7 @@ mem_malloc(size_t size)
  {
 CRIT(TERM_MESSAGE);
 app_shutdown();
+exit(EXIT_FAILURE);
  }
return mem_block;
 }

-- 




[EGIT] [tools/eflete] eflete-1.18 52/91: config: don't save too small window size

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 6ac1f4e092477fc5e0628c698b6976ab86f6619e
Author: Andrii Kroitor 
Date:   Mon Sep 12 18:03:22 2016 +0300

config: don't save too small window size
---
 src/bin/config/config.c | 14 --
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/bin/config/config.c b/src/bin/config/config.c
index 80502d9..4fc9780 100644
--- a/src/bin/config/config.c
+++ b/src/bin/config/config.c
@@ -494,7 +494,7 @@ config_save(void)
int x, y, w, h;
Eet_File *ef;
Eina_Bool ok;
-   Eina_Stringshare *cfg, *tmp; 
+   Eina_Stringshare *cfg, *tmp;
 
if (!edd_base)
  {
@@ -503,12 +503,14 @@ config_save(void)
  }
 
evas_object_geometry_get(ap.win, &x, &y, &w, &h);
-   if (profile->general.save_win_pos)
+   TODO("find out why w/h here sometimes become close to 0");
+   if ((profile->general.save_win_pos) &&
+(w > 200 && h > 200)) /* don't write too small windwo size to config */
  {
-config->window.x =x;
-config->window.y =y;
-config->window.w =w;
-config->window.h =h;
+config->window.x = x;
+config->window.y = y;
+config->window.w = w;
+config->window.h = h;
  }
if (profile->general.save_ui)
  config_panes_sizes_data_update();

-- 




[EGIT] [tools/eflete] eflete-1.18 40/91: example: add map test

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit efed397415253c58d77c4f136b4ce69628fb42a2
Author: Andrii Kroitor 
Date:   Wed Sep 7 13:38:29 2016 +0300

example: add map test
---
 example/example.edc | 17 +
 1 file changed, 17 insertions(+)

diff --git a/example/example.edc b/example/example.edc
index fcb1e10..96c2e9b 100644
--- a/example/example.edc
+++ b/example/example.edc
@@ -407,6 +407,23 @@ collections {
   }
}
 
+   group { "test/map";
+  inherit: "test/parts/all_part_types";
+  parts {
+ part { name: "rect";  description { state: "default" 0.0; map { 
on:1; rotation.z:45;} } }
+ part { name: "img";   description { state: "default" 0.0; map { 
on:1; rotation.z:45;} } }
+ part { name: "spacer";description { state: "default" 0.0; map { 
on:1; rotation.z:45;} } }
+ part { name: "swallow";   description { state: "default" 0.0; map { 
on:1; rotation.z:45;} } }
+ part { name: "text";  description { state: "default" 0.0; map { 
on:1; rotation.z:45;} } }
+ part { name: "tb";description { state: "default" 0.0; map { 
on:1; rotation.z:45;} } }
+ part { name: "group"; description { state: "default" 0.0; map { 
on:1; rotation.z:45;} } }
+ part { name: "proxy"; description { state: "default" 0.0; map { 
on:1; rotation.z:45;} } }
+ part { name: "box";   description { state: "default" 0.0; map { 
on:1; rotation.z:45;} } }
+ part { name: "external";  description { state: "default" 0.0; map { 
on:1; rotation.z:45;} } }
+ part { name: "table"; description { state: "default" 0.0; map { 
on:1; rotation.z:45;} } }
+  }
+   }
+
group { name: "test/wrong_files";
   parts {
  part { name: "click_me_not_a_sound"; type: TEXT;

-- 




[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 
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" "above";
+  item: "states" "default changed";
   item: "selectraise" "on";
}
images {
   image: "Group navigator/view_arrow_right_nor.png" COMP;
   image: "Group navigator/view_arrow_down_nor.png" COMP;
}
+
parts {
   part { name: "elm.swallow.pad";
  type: SWALLOW;
@@ -113,11 +125,15 @@ group { name: "elm/genlist/tree/caption/property";
 }
 rel1 {
relative: 1.0 0.0;
-   offset: 10

[EGIT] [tools/eflete] eflete-1.18 12/91: popup: add async version

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 91ad2fa7dc9bb85636387232127c52df7e9c859e
Author: Andrii Kroitor 
Date:   Fri Sep 2 14:22:35 2016 +0300

popup: add async version
---
 src/bin/ui/main_window.h |   8 
 src/bin/ui/popup.c   | 104 +++
 2 files changed, 112 insertions(+)

diff --git a/src/bin/ui/main_window.h b/src/bin/ui/main_window.h
index 3112c7b..0213523 100644
--- a/src/bin/ui/main_window.h
+++ b/src/bin/ui/main_window.h
@@ -123,6 +123,7 @@ typedef Eina_Bool(* Popup_Validator_Func)(void *data);
  */
 typedef Evas_Object *(* Popup_Content_Get_Func)(void *data, Evas_Object 
**to_focus);
 
+#define POPUP_CLOSE_CB "POPUP_CLOSE_CB"
 /**
  * The fileselector helper callback.
  *
@@ -349,6 +350,13 @@ popup_want_action(const char *title,
   Popup_Validator_Func func,
   void *data);
 
+Evas_Object *
+popup_add(const char *title,
+  const char *msg,
+  Popup_Button popup_btns,
+  Popup_Content_Get_Func content_get,
+  void *data);
+
 void
 popup_active_helper_close(void *data,
   Evas *e,
diff --git a/src/bin/ui/popup.c b/src/bin/ui/popup.c
index f2cd32a..b8b29e5 100644
--- a/src/bin/ui/popup.c
+++ b/src/bin/ui/popup.c
@@ -191,6 +191,110 @@ popup_buttons_disabled_set(Popup_Button popup_btns, 
Eina_Bool disabled)
  elm_object_disabled_set(elm_object_part_content_get(ap.popup, "button2"), 
disabled);
 }
 
+/* async popup */
+#define POPUP_DATA "POPUP_DATA"
+typedef struct {
+   Evas_Object *popup;
+   struct {
+  Evas_Object *ok,
+  *cancel,
+  *save,
+  *dont_save,
+  *replace,
+  *append;
+   } button;
+} Popup_Data;
+
+static void
+_popup_del_job(void *data)
+{
+   Popup_Data *pd= data;
+   shortcuts_object_check_pop(pd->popup);
+   evas_object_del(pd->popup);
+   free(pd);
+}
+
+static void
+_popup_btn_cb(void *data,
+  Evas_Object *obj,
+  void *ei __UNUSED__)
+{
+   Popup_Data *pd = evas_object_data_get(obj, POPUP_DATA);
+
+   assert(pd != NULL);
+   assert(pd->popup != NULL);
+
+   ecore_job_add(_popup_del_job, pd);
+   evas_object_smart_callback_call(pd->popup, POPUP_CLOSE_CB, data);
+}
+
+static Evas_Object *
+_button_add(Popup_Data *pd, int *btn_pos, const char *text, Popup_Button pb)
+{
+   Evas_Object *btn;
+   static const char* position_name[] = { "button1", "button2", "button3" };
+
+   assert(pd != NULL);
+   assert(btn_pos != NULL);
+   assert(*btn_pos < 3); /* maximum buttons count */
+   assert(text != NULL);
+
+   if (!pb)
+ return NULL;
+
+   BUTTON_ADD(pd->popup, btn, text);
+   evas_object_data_set(btn, POPUP_DATA, pd);
+   evas_object_smart_callback_add(btn, "clicked", _popup_btn_cb, (void *)pb);
+   elm_object_part_content_set(pd->popup, position_name[*btn_pos], btn);
+   *btn_pos = *btn_pos + 1;
+
+   return btn;
+}
+
+Evas_Object *
+popup_add(const char *title,
+  const char *msg,
+  Popup_Button popup_btns,
+  Popup_Content_Get_Func content_get,
+  void *data)
+{
+   Popup_Data *pd;
+
+   /* only one content will be setted to popup: or message, or used content */
+   assert((msg != NULL) != (content_get != NULL));
+
+   pd = mem_calloc(1, sizeof(Popup_Data));
+   pd->popup = elm_popup_add(ap.win);
+   elm_popup_orient_set(pd->popup, ELM_POPUP_ORIENT_CENTER);
+   elm_object_part_text_set(pd->popup, "title,text", title);
+   elm_popup_content_text_wrap_type_set(pd->popup, ELM_WRAP_WORD);
+
+   int bt_num = 0;
+   pd->button.ok= _button_add(pd, &bt_num, _("Ok"), popup_btns 
& BTN_OK);
+   pd->button.save  = _button_add(pd, &bt_num, _("Save"),   popup_btns 
& BTN_SAVE);
+   pd->button.append= _button_add(pd, &bt_num, _("Append"), popup_btns 
& BTN_APPEND);
+   pd->button.replace   = _button_add(pd, &bt_num, _("Replace"),popup_btns 
& BTN_REPLACE);
+   pd->button.dont_save = _button_add(pd, &bt_num, _("Don't save"), popup_btns 
& BTN_DONT_SAVE);
+   pd->button.cancel= _button_add(pd, &bt_num, _("Cancel"), popup_btns 
& BTN_CANCEL);
+
+   if (msg)
+ elm_object_text_set(pd->popup, msg);
+   else /* content_get != NULL */
+ {
+Evas_Object *to_focus = NULL;
+Evas_Object *content = content_get(data, &to_focus);
+elm_object_content_set(pd->popup, content);
+if (to_focus)
+  elm_object_focus_set(to_focus, true);
+ }
+
+   shortcuts_object_push(pd->popup);
+   evas_object_show(pd->popup);
+
+   return pd->popup;
+}
+/* end of async popup */
+
 #if HAVE_TIZEN
 #define FS_W 510
 #define FS_H 500

-- 




[EGIT] [tools/eflete] eflete-1.18 73/91: editor_part: fix macros usage error

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 4b36cb6f03e497027f48a4de7de4b5c867739c60
Author: Andrii Kroitor 
Date:   Thu Sep 15 14:51:12 2016 +0300

editor_part: fix macros usage error

Fix svace WID 436695
---
 src/bin/editor/editor_part.c | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/bin/editor/editor_part.c b/src/bin/editor/editor_part.c
index 52d3848..ad338d6 100644
--- a/src/bin/editor/editor_part.c
+++ b/src/bin/editor/editor_part.c
@@ -958,8 +958,10 @@ _editor_part_del(Evas_Object *edit_object, Change *change, 
Eina_Bool merge __UNU
   RESET_PART_REF(textblock_anchors_under, source5);
   RESET_PART_REF(textblock_anchors_over, source6);
}
- if (type == EDJE_PART_TYPE_GROUP)
-   RESET_PART_REF(group_source, source);
+ else if (type == EDJE_PART_TYPE_GROUP)
+   {
+  RESET_PART_REF(group_source, source);
+   }
 
   }
 edje_edit_string_list_free(parts);

-- 




[EGIT] [tools/eflete] eflete-1.18 09/91: ewe_ruler: fix uninitialized variable usage

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 10b1e5830cf2dd91ee663462cb04b01b0463a558
Author: Andrii Kroitor 
Date:   Thu Sep 1 15:31:14 2016 +0300

ewe_ruler: fix uninitialized variable usage
---
 src/lib/ewe_ruler.c | 15 +++
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/src/lib/ewe_ruler.c b/src/lib/ewe_ruler.c
index 20705e9..fc8f5e4 100644
--- a/src/lib/ewe_ruler.c
+++ b/src/lib/ewe_ruler.c
@@ -541,21 +541,20 @@ _ewe_ruler_marker_add(Eo *obj,
ret->style = eina_stringshare_add(style);
buf = eina_strbuf_new();
if (sd->horizontal)
- {
-eina_strbuf_append_printf(buf, MARKER"/%s", style);
-edje_object_size_min_calc(elm_layout_edje_get(ret->obj), &ret->size, 
NULL);
- }
+ eina_strbuf_append_printf(buf, MARKER"/%s", style);
else
- {
-eina_strbuf_append_printf(buf, MARKER_VER"/%s", style);
-edje_object_size_min_calc(elm_layout_edje_get(ret->obj), NULL, 
&ret->size);
- }
+ eina_strbuf_append_printf(buf, MARKER_VER"/%s", style);
 
ret->obj = elm_layout_add(obj);
evas_object_clip_set(ret->obj, sd->clip);
elm_layout_file_set(ret->obj, EWE_THEME, eina_strbuf_string_get(buf));
evas_object_smart_member_add(ret->obj, obj);
 
+   if (sd->horizontal)
+ edje_object_size_min_calc(elm_layout_edje_get(ret->obj), &ret->size, 
NULL);
+   else
+ edje_object_size_min_calc(elm_layout_edje_get(ret->obj), NULL, 
&ret->size);
+
ret->scale = NULL;
ret->rel_position = 0;
ret->abs_position = 0;

-- 




[EGIT] [tools/eflete] eflete-1.18 85/91: group_navigator: show type of copied part

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 703740fa5b4f38bc2e64484ceeec225887015d14
Author: Andrii Kroitor 
Date:   Tue Sep 20 17:07:03 2016 +0300

group_navigator: show type of copied part
---
 src/bin/ui/workspace/group_navigator.c | 17 +++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/src/bin/ui/workspace/group_navigator.c 
b/src/bin/ui/workspace/group_navigator.c
index 1e5dc3e..ea10daf 100644
--- a/src/bin/ui/workspace/group_navigator.c
+++ b/src/bin/ui/workspace/group_navigator.c
@@ -1009,16 +1009,29 @@ _part_selected_cb(void *data,
   void *event_info)
 {
Part_List *pl = data;
+   Elm_Genlist_Item *glit;
Combobox_Item *item;
+   Edje_Part_Type type;
 
assert(pl != NULL);
 
item = elm_object_item_data_get(event_info);
pl->popup.copy_part = item->index;
if (item->index != 0)
- elm_object_disabled_set(pl->popup.combobox, true);
+ {
+type = edje_edit_part_type_get(pl->group->edit_object, 
elm_object_text_get(pl->popup.combobox_copy));
+elm_object_text_set(pl->popup.combobox, gm_part_type_text_get(type));
+elm_object_disabled_set(pl->popup.combobox, true);
+ }
else
- elm_object_disabled_set(pl->popup.combobox, false);
+ {
+glit = elm_genlist_first_item_get(pl->popup.combobox);
+item = elm_object_item_data_get(glit);
+elm_object_text_set(pl->popup.combobox, item->data);
+pl->popup.part_type = 0;
+
+elm_object_disabled_set(pl->popup.combobox, false);
+ }
 }
 
 static void

-- 




[EGIT] [tools/eflete] eflete-1.18 90/91: Revert "ewe_ruler: don't set labels text if marker position was changed"

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 46c3fbe70711980be343a8f773f833a74217aa7a
Author: Andrii Kroitor 
Date:   Tue Sep 20 18:53:54 2016 +0300

Revert "ewe_ruler: don't set labels text if marker position was changed"

This reverts commit c8c551619700ee2c29ce09bfb5bb0e0fe40df4be.

Because of this commit labels are not updated when scrolling ruler.
---
 src/lib/ewe_ruler.c | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/lib/ewe_ruler.c b/src/lib/ewe_ruler.c
index fc8f5e4..1f05ad9 100644
--- a/src/lib/ewe_ruler.c
+++ b/src/lib/ewe_ruler.c
@@ -660,6 +660,7 @@ _ewe_ruler_marker_relative_set(Eo *obj,
  }
marker->rel_position = pos;
 
+   sd->text_changed = EINA_TRUE;
evas_object_smart_changed(obj);
return EINA_TRUE;
 }
@@ -700,6 +701,7 @@ _ewe_ruler_marker_absolute_set(Eo *obj,
  }
marker->abs_position = pos;
 
+   sd->text_changed = EINA_TRUE;
evas_object_smart_changed(obj);
return EINA_TRUE;
 }
@@ -738,6 +740,7 @@ _ewe_ruler_marker_visible_set(Eo *obj EINA_UNUSED,
  evas_object_hide(marker->obj);
else if (sd->ruler_visible)
  evas_object_show(marker->obj);
+   sd->text_changed = EINA_TRUE;
evas_object_smart_changed(obj);
return EINA_TRUE;
 }
@@ -969,8 +972,10 @@ _ewe_ruler_efl_canvas_group_group_calculate(Eo *obj 
EINA_UNUSED,
 sd->position_changed = EINA_FALSE;
  }
if (sd->text_changed)
- _set_labels(sd);
-   _place_markers(sd);
+ {
+_set_labels(sd);
+_place_markers(sd);
+ }
 }
 
 EOLIAN static Elm_Theme_Apply

-- 




[EGIT] [tools/eflete] eflete-1.18 64/91: popup: fix enum check

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit d17c529607c92c78cd8807509a22e42722a75cd1
Author: Andrii Kroitor 
Date:   Thu Sep 15 12:22:41 2016 +0300

popup: fix enum check

Fix svace WID 436569
---
 src/bin/ui/popup.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/ui/popup.c b/src/bin/ui/popup.c
index 5a9d0d2..77a7b2d 100644
--- a/src/bin/ui/popup.c
+++ b/src/bin/ui/popup.c
@@ -177,7 +177,7 @@ popup_button_disabled_set(Evas_Object *popup, Popup_Button 
btn, Eina_Bool disabl
 {
assert(popup != NULL);
 
-   if (!btn) return;
+   if (btn == BTN_NONE) return;
 
Popup_Data *pd = evas_object_data_get(popup, POPUP_DATA);
switch (btn)

-- 




[EGIT] [tools/eflete] eflete-1.18 17/91: group_navigator: use async popup for group data add

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 02e637a09229bdf1a37a6b022f44f32e598d27bd
Author: Andrii Kroitor 
Date:   Fri Sep 2 16:17:46 2016 +0300

group_navigator: use async popup for group data add
---
 src/bin/ui/workspace/group_navigator.c | 42 --
 1 file changed, 15 insertions(+), 27 deletions(-)

diff --git a/src/bin/ui/workspace/group_navigator.c 
b/src/bin/ui/workspace/group_navigator.c
index 5eef48f..c4658ba 100644
--- a/src/bin/ui/workspace/group_navigator.c
+++ b/src/bin/ui/workspace/group_navigator.c
@@ -1185,21 +1185,24 @@ _on_group_data_name_changed(void *data,
 
if (resource_name_validator_status_get(pl->group_data_name_validator) != 
ELM_REG_NOERROR)
  {
-   popup_buttons_disabled_set(BTN_OK, true);
+   popup_button_disabled_set(pl->popup_win, BTN_OK, true);
elm_object_signal_emit(obj, "validation,default,fail", "elm");
  }
else
  {
-   popup_buttons_disabled_set(BTN_OK, false);
+   popup_button_disabled_set(pl->popup_win, BTN_OK, false);
elm_object_signal_emit(obj, "validation,default,pass", "elm");
  }
 }
 
 static void
-_popup_add_group_data_ok_clicked(void *data,
- Evas_Object *obj __UNUSED__,
- void *event_info __UNUSED__)
+_popup_add_group_data_close_cb(void *data,
+   Evas_Object *obj __UNUSED__,
+   void *event_info)
 {
+   Popup_Button pb = (Popup_Button)event_info;
+   if (pb != BTN_OK) return;
+
Part_List *pl = data;
const char *name;
Eina_Stringshare *msg;
@@ -1207,9 +1210,6 @@ _popup_add_group_data_ok_clicked(void *data,
 
assert(pl != NULL);
 
-   if (resource_name_validator_status_get(pl->group_data_name_validator) != 
ELM_REG_NOERROR)
-  return;
-
name = elm_entry_entry_get(pl->popup.entry_name);
msg = eina_stringshare_printf(_("added new data item \"%s\""), name);
change = change_add(msg);
@@ -1217,25 +1217,14 @@ _popup_add_group_data_ok_clicked(void *data,
 
history_change_add(pl->group->history, change);
eina_stringshare_del(msg);
-   evas_object_del(pl->popup.box);
 }
 
-Eina_Bool
-_popup_add_group_data_validator(void *data)
-{
-   Part_List *pl = (Part_List *) data;
-   _popup_add_group_data_ok_clicked(data, NULL, NULL);
-   if (resource_name_validator_status_get(pl->group_data_name_validator) != 
ELM_REG_NOERROR)
- return false;
-   return true;
-}
-
-Evas_Object *
+static Evas_Object *
 _add_group_data_content_get(void *data, Evas_Object **to_focus)
 {
Part_List *pl = (Part_List *) data;
Evas_Object *box, *item;
-   BOX_ADD(ap.popup, box, false, false);
+   BOX_ADD(ap.win, box, false, false);
 
LAYOUT_PROP_ADD(box, _("Data item name"), "popup", "1swallow")
ENTRY_ADD(box, pl->popup.entry_name, true);
@@ -1250,7 +1239,6 @@ _add_group_data_content_get(void *data, Evas_Object 
**to_focus)
 
pl->popup.box = box;
if (to_focus) *to_focus = pl->popup.entry_name;
-   popup_buttons_disabled_set(BTN_OK, true);
 
return pl->popup.box;
 }
@@ -1267,11 +1255,11 @@ _on_menu_add_group_data_clicked(void *data __UNUSED__,
assert(pl != NULL);
 
title = eina_stringshare_printf(_("Add New Data Item to Group \"%s\""), 
pl->group->name);
-   Popup_Button button = popup_want_action(title, NULL, 
_add_group_data_content_get,
-BTN_OK | BTN_CANCEL,
-   _popup_add_group_data_validator, 
pl);
-   if (button == BTN_CANCEL)
- evas_object_del(pl->popup.box);
+   pl->popup_win = popup_add(title, NULL,
+ BTN_OK | BTN_CANCEL,
+ _add_group_data_content_get, pl);
+   evas_object_smart_callback_add(pl->popup_win, POPUP_CLOSE_CB, 
_popup_add_group_data_close_cb, pl);
+   popup_button_disabled_set(pl->popup_win, BTN_OK, true);
eina_stringshare_del(title);
 }
 

-- 




[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 
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 39/91: example: add color_class test

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 5048c30c2a5ac62ac8dd9ffb2079c0e57a96c02d
Author: Andrii Kroitor 
Date:   Wed Sep 7 13:01:56 2016 +0300

example: add color_class test
---
 example/example.edc | 111 +++-
 1 file changed, 110 insertions(+), 1 deletion(-)

diff --git a/example/example.edc b/example/example.edc
index 79274d4..fcb1e10 100644
--- a/example/example.edc
+++ b/example/example.edc
@@ -33,6 +33,33 @@ images {
image: "not_an_image.txt" RAW;
 }
 
+color_classes {
+color_class {
+name:  "colorclass_red_green_blue";
+color:  255 0 0 255;
+color2: 0 255 0 255;
+color3: 0 0 255 255;
+}
+color_class {
+name:  "colorclass_red_green_blue_transparent";
+color:  255 0 0 125;
+color2: 0 255 0 125;
+color3: 0 0 255 125;
+}
+color_class {
+name:  "colorclass_green_blue_red";
+color:  0 255 0 255;
+color2: 0 0 255 255;
+color3: 255 0 0 255;
+}
+color_class {
+name:  "colorclass_green_blue_transparent";
+color:  0 255 0 125;
+color2: 0 0 255 125;
+color3: 255 0 0 125;
+}
+}
+
 collections {
 
sounds {
@@ -231,7 +258,7 @@ collections {
  }
   }
}
-   group { "test/sounds";
+   group { name: "test/sounds";
   parts {
  part { name: "click_me_wav"; type: TEXT;
 description { state: "default"; color: 0 0 0 255;
@@ -298,6 +325,88 @@ collections {
   }
}
 
+   group { name: "test/colorclasses";
+  parts {
+ part { name: "rect_rgb"; type: RECT;
+description { state: "default";
+   color_class: "colorclass_red_green_blue";
+   rel1.relative: 0.0 0.0;
+   rel2.relative: 0.5 0.25;
+}
+ }
+ part { name: "rect_rgba"; type: RECT;
+description { state: "default";
+   color_class: "colorclass_red_green_blue_transparent";
+   rel1.relative: 0.0 0.25;
+   rel2.relative: 0.5 0.5;
+}
+ }
+ part { name: "rect_rgb_and_color"; type: RECT;
+description { state: "default";
+   color_class: "colorclass_red_green_blue";
+   color: 50 200 100 255;
+   rel1.relative: 0.0 0.5;
+   rel2.relative: 0.5 0.75;
+}
+ }
+ part { name: "rect_rgba_and_color"; type: RECT;
+description { state: "default";
+   color_class: "colorclass_red_green_blue_transparent";
+   color: 50 200 100 255;
+   rel1.relative: 0.0 0.75;
+   rel2.relative: 0.5 1;
+}
+ }
+ part { name: "text_rgb"; type: TEXT;
+effect: OUTLINE_SHADOW;
+description { state: "default";
+   color_class: "colorclass_red_green_blue";
+   color2: 255 255 255 255;
+   color3: 255 255 255 255;
+   rel1.relative: 0.5 0.0;
+   rel2.relative: 1.0 0.25;
+   text { size: 42; text: "rgb color class"; }
+}
+ }
+ part { name: "text_rgba"; type: TEXT;
+effect: OUTLINE_SHADOW;
+description { state: "default";
+   color_class: "colorclass_red_green_blue_transparent";
+   color2: 255 255 255 255;
+   color3: 255 255 255 255;
+   rel1.relative: 0.5 0.25;
+   rel2.relative: 1.0 0.5;
+   text { size: 42; text: "rgba color class"; }
+}
+ }
+ part { name: "text_rgb_and_color"; type: TEXT;
+effect: OUTLINE_SHADOW;
+description { state: "default";
+   color_class: "colorclass_red_green_blue";
+   color:  50 200 100 255;
+   color2: 50 200 100 255;
+   color3: 50 200 100 255;
+   rel1.relative: 0.5 0.5;
+   rel2.relative: 1.0 0.75;
+   text { size: 42; text: "color+rgb color class"; }
+}
+ }
+ part { name: "text_rgba_and_color"; type: TEXT;
+effect: OUTLINE_SHADOW;
+description { state: "default";
+   color_class: "colorclass_red_green_blue_transparent";
+   color:  50 200 100 255;
+   color2: 50 200 100 255;
+   color3: 50 200 100 255;
+   rel1.relative: 0.5 0.75;
+   rel2.relative: 1.0 1.0;
+   text { size: 42; text: "color+rgba color class"; }
+}
+ }
+
+  }
+   }
+
group { name: "test/wrong_files";
   parts {
  part { name: "click_me_not_a_sound"; type: TEXT;

-- 




[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 
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 53/91: project_manager: fix incorrect mutex usage in export_resources

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 2fd911befe3a13cffd496b67db33c8322bd08fd9
Author: Andrii Kroitor 
Date:   Mon Sep 12 18:31:31 2016 +0300

project_manager: fix incorrect mutex usage in export_resources
---
 src/bin/project_manager/project_manager_export_resources.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/bin/project_manager/project_manager_export_resources.c 
b/src/bin/project_manager/project_manager_export_resources.c
index 62efccc..deed8c6 100644
--- a/src/bin/project_manager/project_manager_export_resources.c
+++ b/src/bin/project_manager/project_manager_export_resources.c
@@ -164,7 +164,6 @@ _image_resources_feedback_job(void *data, Ecore_Thread *th)
ids->dev = project->dev;
ids->edit_object = project->global_object;
eina_lock_new(&ids->mutex);
-   eina_lock_take(&ids->mutex);
 
Image_Data_Get *idg = mem_calloc(1, sizeof(Image_Data_Get));
idg->edit_object = project->global_object;
@@ -209,6 +208,7 @@ _image_resources_feedback_job(void *data, Ecore_Thread *th)
   WARN("Image %s coudn't be exported", image_name);
   continue;
}
+ eina_lock_take(&ids->mutex);
  ids->id = id;
  ids->im = NULL;
  ids->source = res->path;
@@ -216,7 +216,6 @@ _image_resources_feedback_job(void *data, Ecore_Thread *th)
  ecore_main_loop_thread_safe_call_sync(_image_save_routine, ids);
   }
  }
-   eina_lock_release(&ids->mutex);
eina_lock_free(&ids->mutex);
free(ids);
 

-- 




[EGIT] [tools/eflete] eflete-1.18 88/91: style_manager: fix label text

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 98ca383f7d95fe37f5d5eea9315235cb51536eb1
Author: Andrii Kroitor 
Date:   Tue Sep 20 18:15:04 2016 +0300

style_manager: fix label text
---
 src/bin/ui/style_manager.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/ui/style_manager.c b/src/bin/ui/style_manager.c
index 37ac932..c882354 100644
--- a/src/bin/ui/style_manager.c
+++ b/src/bin/ui/style_manager.c
@@ -837,7 +837,7 @@ style_manager_add()
mng.layout = elm_layout_add(ap.win);
elm_layout_theme_set(mng.layout, "layout", "manager", "internal");
elm_object_part_text_set(mng.layout, "elm.text", _("Preview"));
-   elm_layout_text_set(mng.layout, "elm.subtext", _("Font list"));
+   elm_layout_text_set(mng.layout, "elm.subtext", _("Textblock styles list"));
mng.panes = elm_panes_add(mng.win);
elm_panes_content_right_size_set(mng.panes, 0);
elm_panes_content_right_min_size_set(mng.panes, 355);

-- 




[EGIT] [tools/eflete] eflete-1.18 21/91: popup: block menu while async popup is active

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit c264f1bc4551a46c7ee1f62346f754af13eb96c3
Author: Andrii Kroitor 
Date:   Fri Sep 2 16:45:12 2016 +0300

popup: block menu while async popup is active
---
 src/bin/ui/popup.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/bin/ui/popup.c b/src/bin/ui/popup.c
index 3a13d21..536d771 100644
--- a/src/bin/ui/popup.c
+++ b/src/bin/ui/popup.c
@@ -226,6 +226,7 @@ _popup_btn_cb(void *data,
 
ecore_job_add(_popup_del_job, pd);
evas_object_smart_callback_call(pd->popup, POPUP_CLOSE_CB, data);
+   ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_MAIN, false);
 }
 
 static Evas_Object *
@@ -293,6 +294,8 @@ popup_add(const char *title,
shortcuts_object_push(pd->popup);
evas_object_show(pd->popup);
 
+   ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_MAIN, true);
+
return pd->popup;
 }
 

-- 




[EGIT] [tools/eflete] eflete-1.18 58/91: popup: fix abort on exit

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 4ccbf2de2fe1491973dbc5e25f0952d7e6d44ab8
Author: Andrii Kroitor 
Date:   Tue Sep 13 09:48:54 2016 +0300

popup: fix abort on exit
---
 src/bin/ui/popup.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/bin/ui/popup.c b/src/bin/ui/popup.c
index 4ac3e7e..5a9d0d2 100644
--- a/src/bin/ui/popup.c
+++ b/src/bin/ui/popup.c
@@ -97,7 +97,9 @@ _popup_btn_cb(void *data,
 
ecore_job_add(_popup_del_job, pd);
evas_object_smart_callback_call(pd->popup, POPUP_CLOSE_CB, data);
-   ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_MAIN, false);
+   /* menu clould be deleted in POPUP_CLOSE_CB in exit confirmation popup */
+   if (ap.menu)
+ ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_MAIN, false);
 }
 
 static Evas_Object *

-- 




[EGIT] [tools/eflete] eflete-1.18 82/91: workspace: disable history in demo mode

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 029614f56c757bb4ceb70c710cf6a23e1e2536a8
Author: Andrii Kroitor 
Date:   Tue Sep 20 11:39:36 2016 +0300

workspace: disable history in demo mode
---
 src/bin/ui/workspace/workspace.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/bin/ui/workspace/workspace.c b/src/bin/ui/workspace/workspace.c
index a644ce4..dd14942 100644
--- a/src/bin/ui/workspace/workspace.c
+++ b/src/bin/ui/workspace/workspace.c
@@ -1184,6 +1184,7 @@ _mode_cb(void *data,
  //elm_object_part_content_set(wd->panes, "right", wd->group_navi);
  evas_object_show(wd->group_navi);
  _zoom_controls_disabled_set(wd, false);
+ elm_object_disabled_set(wd->toolbar.history, false);
  evas_object_smart_callback_call(ap.win, SIGNAL_GROUP_CHANGED, 
wd->group);
 
  area = &wd->normal;
@@ -1203,6 +1204,7 @@ _mode_cb(void *data,
  demo_group_demo_update(wd->demo_navi);
 
  _zoom_controls_disabled_set(wd, true);
+ elm_object_disabled_set(wd->toolbar.history, true);
  evas_object_smart_callback_call(ap.win, SIGNAL_DIFFERENT_TAB_CLICKED, 
NULL);
 
  area = &wd->demo;

-- 




[EGIT] [tools/eflete] eflete-1.18 86/91: group_navigator: use gm_part_type_text_get to get part type text

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 93175f1a23ce541e2d5f2dfbcf1a3805fc0fa104
Author: Andrii Kroitor 
Date:   Tue Sep 20 17:21:42 2016 +0300

group_navigator: use gm_part_type_text_get to get part type text
---
 src/bin/ui/workspace/group_navigator.c | 79 --
 1 file changed, 19 insertions(+), 60 deletions(-)

diff --git a/src/bin/ui/workspace/group_navigator.c 
b/src/bin/ui/workspace/group_navigator.c
index ea10daf..6822065 100644
--- a/src/bin/ui/workspace/group_navigator.c
+++ b/src/bin/ui/workspace/group_navigator.c
@@ -86,18 +86,18 @@ typedef struct
} popup;
 } Part_List;
 
-static char *part_types[] = {
- N_("Rectangle"),
- N_("Text"),
- N_("Image"),
- N_("Swallow"),
- N_("Textblock"),
- N_("Group"),
- N_("Box"),
- N_("Table"),
- N_("Proxy"),
- N_("Spacer"),
- NULL
+static Edje_Part_Type part_types[] = {
+ EDJE_PART_TYPE_RECTANGLE,
+ EDJE_PART_TYPE_TEXT,
+ EDJE_PART_TYPE_IMAGE,
+ EDJE_PART_TYPE_SWALLOW,
+ EDJE_PART_TYPE_TEXTBLOCK,
+ EDJE_PART_TYPE_GROUP,
+ EDJE_PART_TYPE_BOX,
+ EDJE_PART_TYPE_TABLE,
+ EDJE_PART_TYPE_PROXY,
+ EDJE_PART_TYPE_SPACER,
+ EDJE_PART_TYPE_NONE
 };
 static const char *program_actions[] = {
  N_("None"),
@@ -906,7 +906,6 @@ _popup_add_part_close_cb(void *data,
Popup_Button pb = (Popup_Button)ei;
if (pb != BTN_OK) return;
 
-   Edje_Part_Type type = EDJE_PART_TYPE_NONE;
Part_List *pl = data;
const char *name, *copy_name;
Eina_Stringshare *msg;
@@ -928,46 +927,11 @@ _popup_add_part_close_cb(void *data,
  }
else
  {
-switch (pl->popup.part_type)
-  {
-   case 0:
-  type = EDJE_PART_TYPE_RECTANGLE;
-  break;
-   case 1:
-  type = EDJE_PART_TYPE_TEXT;
-  break;
-   case 2:
-  type = EDJE_PART_TYPE_IMAGE;
-  break;
-   case 3:
-  type = EDJE_PART_TYPE_SWALLOW;
-  break;
-   case 4:
-  type = EDJE_PART_TYPE_TEXTBLOCK;
-  break;
-   case 5:
-  type = EDJE_PART_TYPE_GROUP;
-  break;
-   case 6:
-  type = EDJE_PART_TYPE_BOX;
-  break;
-   case 7:
-  type = EDJE_PART_TYPE_TABLE;
-  break;
-   case 8:
-  type = EDJE_PART_TYPE_PROXY;
-  break;
-   case 9:
-  type = EDJE_PART_TYPE_SPACER;
-  break;
-  }
-assert(type != EDJE_PART_TYPE_NONE);
-
 name = elm_entry_entry_get(pl->popup.entry_name);
 msg = eina_stringshare_printf(_("added new part \"%s\""), name);
 change = change_add(msg);
-CRIT_ON_FAIL(editor_part_add(pl->group->edit_object, change, false, 
true, name, type));
-pl->popup.part_type = 0; /* get that selected stuff down, next type 
RECT again */
+CRIT_ON_FAIL(editor_part_add(pl->group->edit_object, change, false, 
true, name, pl->popup.part_type));
+pl->popup.part_type = EDJE_PART_TYPE_RECTANGLE; /* get that selected 
stuff down, next type RECT again */
  }
 
history_change_add(pl->group->history, change);
@@ -1009,7 +973,6 @@ _part_selected_cb(void *data,
   void *event_info)
 {
Part_List *pl = data;
-   Elm_Genlist_Item *glit;
Combobox_Item *item;
Edje_Part_Type type;
 
@@ -1025,11 +988,7 @@ _part_selected_cb(void *data,
  }
else
  {
-glit = elm_genlist_first_item_get(pl->popup.combobox);
-item = elm_object_item_data_get(glit);
-elm_object_text_set(pl->popup.combobox, item->data);
-pl->popup.part_type = 0;
-
+elm_object_text_set(pl->popup.combobox, 
gm_part_type_text_get(pl->popup.part_type));
 elm_object_disabled_set(pl->popup.combobox, false);
  }
 }
@@ -1121,16 +1080,16 @@ _add_part_content_get(void *data, Evas_Object *popup 
__UNUSED__, Evas_Object **t
COMBOBOX_ADD(item, pl->popup.combobox)
evas_object_smart_callback_add(pl->popup.combobox, 
signals.elm.combobox.item_pressed,
   _combobox_item_pressed_cb, NULL);
-   for (i = 0; part_types[i]; i++)
+   for (i = 0; part_types[i] != EDJE_PART_TYPE_NONE; i++)
  {
 combobox_item = mem_malloc(sizeof(Combobox_Item));
-combobox_item->data = eina_stringshare_add(part_types[i]);
-combobox_item->index = i;
+combobox_item->data = 
eina_stringshare_add(gm_part_type_text_get(part_types[i]));
+combobox_item->index = part_types[i];
 elm_genlist_item_append(pl->popup.combobox, pl->popup.itc,
 combobox_item, NULL,
 ELM_GENLIST_ITEM_NONE, NULL, NULL);
  }
-   elm_object_text_set(pl->popup.combobox, part_types[0]);
+

[EGIT] [tools/eflete] eflete-1.18 46/91: project manager: replace ecore_file_cp to eina_file_copy

2017-01-23 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch eflete-1.18.

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

commit 5fb6b695178c97d10232894f5ef75d7ccf4381f5
Author: Vyacheslav Reutskiy 
Date:   Tue Sep 6 16:06:03 2016 +0300

project manager: replace ecore_file_cp to eina_file_copy

eina_file_copy not depended from ecore main loop

Change-Id: I0eb29d0f964e075d484ec271e124f7ed4c0b8ddd
---
 src/bin/project_manager/project_manager.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/bin/project_manager/project_manager.c 
b/src/bin/project_manager/project_manager.c
index 0db705f..5e60933 100644
--- a/src/bin/project_manager/project_manager.c
+++ b/src/bin/project_manager/project_manager.c
@@ -293,7 +293,9 @@ _project_edj_file_copy(Project_Thread *ptd)
 
src = eina_stringshare_ref(ptd->edj);
dst = eina_stringshare_ref(ptd->project->saved_edj);
-   result = ecore_file_cp(src, dst);
+   result = eina_file_copy(src, dst,
+   EINA_FILE_COPY_PERMISSION | EINA_FILE_COPY_XATTR,
+   NULL, NULL);
 
DBG("Copy the .edj file to project folder.");
eina_stringshare_del(src);

-- 




[EGIT] [tools/eflete] eflete-1.18 66/91: popup: fix NULL pointer deref

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 919267bf832a928c632308c9759120536fee84b9
Author: Andrii Kroitor 
Date:   Thu Sep 15 12:33:09 2016 +0300

popup: fix NULL pointer deref

Fix svace WID 436496
---
 src/bin/ui/popup.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/bin/ui/popup.c b/src/bin/ui/popup.c
index 7d262a4..3fd42bf 100644
--- a/src/bin/ui/popup.c
+++ b/src/bin/ui/popup.c
@@ -317,6 +317,9 @@ _helper_colorclass_dismiss(void *data,
const char *source __UNUSED__)
 {
Helper_Data *helper_data = (Helper_Data *)data;
+
+   assert(helper_data != NULL);
+
Evas_Object *follow_up = helper_data->follow_up;
 
evas_object_event_callback_del_full(follow_up, EVAS_CALLBACK_RESIZE, 
_helper_obj_follow, NULL);
@@ -338,7 +341,7 @@ _helper_colorclass_dismiss(void *data,
if (helper_data->button)
  evas_object_del(helper_data->button);
 
-   if (helper_data) free(helper_data);
+   free(helper_data);
 
ecore_job_add(_delete_object_job, helper);
 }

-- 




[EGIT] [tools/eflete] eflete-1.18 78/91: spinner: use signals structure

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 81b45b0a4f1ebc592d8a728379b25278dcf62b8b
Author: Andrii Kroitor 
Date:   Fri Sep 16 16:56:00 2016 +0300

spinner: use signals structure
---
 src/bin/common/signals.c  | 11 ++-
 src/bin/common/signals.h  |  8 
 src/bin/ui/property/property_common.c |  6 +++---
 src/bin/ui/workspace/workspace.c  | 14 +-
 4 files changed, 26 insertions(+), 13 deletions(-)

diff --git a/src/bin/common/signals.c b/src/bin/common/signals.c
index c863b81..3d306d7 100644
--- a/src/bin/common/signals.c
+++ b/src/bin/common/signals.c
@@ -1,6 +1,6 @@
 /*
  * Edje Theme Editor
- * Copyright (C) 2013-2014 Samsung Electronics.
+ * Copyright (C) 2013-2016 Samsung Electronics.
  *
  * This file is part of Edje Theme Editor.
  *
@@ -80,4 +80,13 @@ const Signals signals = {
},
   },
  },
+
+ .elm = {
+  .spinner = {
+   .changed = "changed",
+   .changed_user= "changed",
+   .drag_start  = "spinner,drag,start",
+   .drag_stop   = "spinner,drag,stop",
+  },
+ },
 };
diff --git a/src/bin/common/signals.h b/src/bin/common/signals.h
index a78f6d9..5e5fa85 100644
--- a/src/bin/common/signals.h
+++ b/src/bin/common/signals.h
@@ -80,6 +80,14 @@ typedef struct {
  } zoom;
   } workspace;
} shortcut;
+   const struct {
+  const struct {
+ const char *changed;
+ const char *changed_user;
+ const char *drag_start;
+ const char *drag_stop;
+  } spinner;
+   } elm;
 } Signals;
 
 extern const Signals signals;
diff --git a/src/bin/ui/property/property_common.c 
b/src/bin/ui/property/property_common.c
index 55c3906..1ff74db 100644
--- a/src/bin/ui/property/property_common.c
+++ b/src/bin/ui/property/property_common.c
@@ -373,9 +373,9 @@ _control_create(Property_Attribute *pa, Property_Action 
*action, Evas_Object *pa
  break;
   case PROPERTY_CONTROL_SPINNER:
  SPINNER_ADD(parent, content, 0.0, .0, 1.0, true);
- evas_object_smart_callback_add(content, "spinner,drag,start", 
_start_cb, pa);
- evas_object_smart_callback_add(content, "spinner,drag,stop", 
_stop_cb, pa);
- evas_object_smart_callback_add(content, "changed", 
_start_change_stop_cb, pa);
+ evas_object_smart_callback_add(content, 
signals.elm.spinner.drag_start, _start_cb, pa);
+ evas_object_smart_callback_add(content, 
signals.elm.spinner.drag_stop, _stop_cb, pa);
+ evas_object_smart_callback_add(content, 
signals.elm.spinner.changed_user, _start_change_stop_cb, pa);
 
  evas_object_event_callback_priority_add(content,
  EVAS_CALLBACK_MOUSE_WHEEL,
diff --git a/src/bin/ui/workspace/workspace.c b/src/bin/ui/workspace/workspace.c
index 90e0a52..2bfd2d0 100644
--- a/src/bin/ui/workspace/workspace.c
+++ b/src/bin/ui/workspace/workspace.c
@@ -502,7 +502,7 @@ _zoom_controls_add(Workspace_Data *wd)
SPINNER_ADD(wd->toolbar.obj, wd->toolbar.zoom.cmb_zoom, 10, 1000, 10, true);
evas_object_size_hint_min_set(wd->toolbar.zoom.cmb_zoom, 76, 0);
elm_spinner_value_set(wd->toolbar.zoom.cmb_zoom, 100);
-   evas_object_smart_callback_add(wd->toolbar.zoom.cmb_zoom, "changed", 
_spinner_zoom_cb, wd);
+   evas_object_smart_callback_add(wd->toolbar.zoom.cmb_zoom, 
signals.elm.spinner.changed_user, _spinner_zoom_cb, wd);
elm_object_part_content_set(zoom_layout, "swallow.spinner", 
wd->toolbar.zoom.cmb_zoom);
tb_it = elm_toolbar_item_append(wd->toolbar.obj, NULL, NULL, NULL, NULL);
elm_object_item_part_content_set(tb_it, NULL, zoom_layout);
@@ -618,11 +618,9 @@ _container_size_controls_add(Workspace_Data *wd)
tb_it = elm_toolbar_item_append(wd->toolbar.obj, NULL, NULL, NULL, NULL);
elm_toolbar_item_separator_set(tb_it, true);
 
-   wd->toolbar.container_sizer.spinner_w = elm_spinner_add(wd->toolbar.obj);
-   elm_spinner_min_max_set(wd->toolbar.container_sizer.spinner_w, 0, );
-   elm_spinner_editable_set(wd->toolbar.container_sizer.spinner_w, true);
+   SPINNER_ADD(wd->toolbar.obj, wd->toolbar.container_sizer.spinner_w, 0, 
, 1, true);
elm_object_style_set(wd->toolbar.container_sizer.spinner_w, "vertical");
-   evas_object_smart_callback_add(wd->toolbar.container_sizer.spinner_w, 
"changed", _spinner_container_change, wd);
+   evas_object_smart_callback_add(wd->toolbar.container_sizer.spinner_w, 
signals.elm.spinner.changed_user, _spinner_container_change, wd);
 #if !HAVE_TIZEN
tb_it = elm_toolbar_item_append(wd->toolbar.obj, NULL, NULL, NULL, NULL);
elm_object_item_part_content_set(tb_it, NULL, 
wd->toolbar.container_sizer.spinner_w);
@@ -641,11 +639,9 @@ _container_size_controls_add(Workspace_Data *wd)
elm_object_part_content_set(size_contro

[EGIT] [tools/eflete] eflete-1.18 30/91: popup: fix abort on shortcuts pop

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit bb740365bd0078a81e49f1cf57bd7cb409de2d81
Author: Andrii Kroitor 
Date:   Mon Sep 5 18:31:40 2016 +0300

popup: fix abort on shortcuts pop
---
 src/bin/ui/popup.c | 8 +++-
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/src/bin/ui/popup.c b/src/bin/ui/popup.c
index 39e0fab..0f5e9aa 100644
--- a/src/bin/ui/popup.c
+++ b/src/bin/ui/popup.c
@@ -66,6 +66,7 @@ static Elm_Gengrid_Item_Class *gic = NULL;
 static void
 _delete_object_job(void *data)
 {
+   shortcuts_object_check_pop(data);
evas_object_del(data);
current = POPUP_NONE;
 }
@@ -439,7 +440,7 @@ _helper_property_color_follow(void *data __UNUSED__,
 
 static void
 _helper_colorclass_dismiss(void *data,
-   Evas_Object *obj,
+   Evas_Object *obj __UNUSED__,
const char *signal __UNUSED__,
const char *source __UNUSED__)
 {
@@ -467,7 +468,6 @@ _helper_colorclass_dismiss(void *data,
 
if (helper_data) free(helper_data);
 
-   shortcuts_object_check_pop(obj);
ecore_job_add(_delete_object_job, helper);
 }
 
@@ -497,13 +497,12 @@ popup_fileselector_helper_dismiss()
Helper_Data *helper_data = evas_object_data_get(helper, "STRUCT");
if (helper_data) free(helper_data);
 
-   shortcuts_object_check_pop(helper);
ecore_job_add(_delete_object_job, helper);
 }
 
 static void
 _helper_dismiss(void *data __UNUSED__,
-Evas_Object *obj,
+Evas_Object *obj __UNUSED__,
 const char *signal __UNUSED__,
 const char *source __UNUSED__)
 {
@@ -520,7 +519,6 @@ _helper_dismiss(void *data __UNUSED__,
Helper_Data *helper_data = evas_object_data_get(helper, "STRUCT");
if (helper_data) free(helper_data);
 
-   shortcuts_object_check_pop(obj);
ecore_job_add(_delete_object_job, helper);
 }
 

-- 




[EGIT] [tools/eflete] eflete-1.18 70/91: project_manager_export_edc: fix eina_lock_take result check

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 533d9e07218f2712d54e95f5e29bbd165fd307c1
Author: Andrii Kroitor 
Date:   Thu Sep 15 13:08:10 2016 +0300

project_manager_export_edc: fix eina_lock_take result check

Fix svace WID 436654
---
 src/bin/project_manager/project_manager_export_edc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/project_manager/project_manager_export_edc.c 
b/src/bin/project_manager/project_manager_export_edc.c
index 7a2c29d..888bcb3 100644
--- a/src/bin/project_manager/project_manager_export_edc.c
+++ b/src/bin/project_manager/project_manager_export_edc.c
@@ -56,7 +56,7 @@ _project_source_code_export_feedback_job(void *data, 
Ecore_Thread *th)
 {
Eina_Stringshare *path;
Project_Thread *ptd = (Project_Thread *)data;
-   if (!eina_lock_take(&ptd->mutex))
+   if (eina_lock_take(&ptd->mutex) != EINA_LOCK_SUCCEED)
  {
ERR("Failed access data");
ecore_thread_cancel(th);
@@ -173,7 +173,7 @@ void
 _group_source_code_export_feedback_job(void *data, Ecore_Thread *th)
 {
Project_Thread *ptd = (Project_Thread *)data;
-   if (!eina_lock_take(&ptd->mutex))
+   if (eina_lock_take(&ptd->mutex) != EINA_LOCK_SUCCEED)
  {
ERR("Failed access data");
ecore_thread_cancel(th);

-- 




[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 
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/Tizen general/colorbar_btn_l_nor.png
rename to data/themes/tizen/images/POP UP/colorbar_btn_l_nor.png
index 07

[EGIT] [tools/eflete] eflete-1.18 07/91: export-edc: add the command option to set the export-edc path.

2017-01-23 Thread Jaehwan Kim
rimmed pushed a commit to branch eflete-1.18.

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

commit 1f4a56fd6f23b39381cc56dd918475ba4f6d6523
Author: Jaehwan Kim 
Date:   Thu Sep 1 14:15:33 2016 +0900

export-edc: add the command option to set the export-edc path.

It should set PATH/FOLDER/FILE. If this option is enabled the file
browser is not shown and the edc file is exported in the previously
set path.

@feature
---
 src/bin/eflete.c   |  8 +++
 src/bin/eflete.h   |  5 
 src/bin/main.c | 28 +-
 .../project_manager/project_manager_export_edc.c   | 11 +++--
 src/bin/ui/menu.c  |  5 +++-
 src/bin/ui/project_export.c| 21 
 6 files changed, 70 insertions(+), 8 deletions(-)

diff --git a/src/bin/eflete.c b/src/bin/eflete.c
index fab8db6..9f79e76 100644
--- a/src/bin/eflete.c
+++ b/src/bin/eflete.c
@@ -132,6 +132,14 @@ app_shutdown()
  eina_stringshare_del(ap.path.edj_path);
if (ap.path.image_path)
  eina_stringshare_del(ap.path.image_path);
+   if (ap.path.export_edj)
+ eina_stringshare_del(ap.path.export_edj);
+   if (ap.path.export_edc.path)
+ eina_stringshare_del(ap.path.export_edc.path);
+   if (ap.path.export_edc.folder)
+ eina_stringshare_del(ap.path.export_edc.folder);
+   if (ap.path.export_edc.file)
+ eina_stringshare_del(ap.path.export_edc.file);
 
config_shutdown();
elm_theme_free(ap.theme);
diff --git a/src/bin/eflete.h b/src/bin/eflete.h
index dcaea44..6ada2be 100644
--- a/src/bin/eflete.h
+++ b/src/bin/eflete.h
@@ -135,6 +135,11 @@ struct _App_Data
   Eina_Stringshare *image_path;
   Eina_Stringshare *sound_path;
   Eina_Stringshare *export_edj;
+  struct {
+ Eina_Stringshare *path;
+ Eina_Stringshare *folder;
+ Eina_Stringshare *file;
+  } export_edc;
} path;
Project *project;
Shortcut_Module *shortcuts; /**< Structure with data from shortcuts module 
*/
diff --git a/src/bin/main.c b/src/bin/main.c
index 479cd17..c176219 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -32,6 +32,7 @@ static char *file = NULL;
 static char *pro_name = NULL;
 static char *pro_path = NULL;
 static char *export_edj = NULL;
+static char *export_edc = NULL;
 static Eina_List *img_dirs = NULL;
 static Eina_List *snd_dirs = NULL;
 static Eina_List *fnt_dirs = NULL;
@@ -62,7 +63,8 @@ static const Ecore_Getopt options = {
{
   ECORE_GETOPT_STORE_STR(0, "name", N_("Name for new project")),
   ECORE_GETOPT_STORE_STR(0, "path", N_("Path to project directory")),
-  ECORE_GETOPT_STORE_STR(0, "export-edj", N_("Export file path")),
+  ECORE_GETOPT_STORE_STR(0, "export-edj", N_("Export edj file path")),
+  ECORE_GETOPT_STORE_STR(0, "export-edc", N_("Export edc file path. This 
should include the path, folder and edc file name.(PATH/FOLDER/FILE)")),
   ECORE_GETOPT_APPEND_METAVAR('i', "id", "Add image directory for edc 
compilation", "DIR_NAME", ECORE_GETOPT_TYPE_STR),
   ECORE_GETOPT_APPEND_METAVAR('s', "sd", "Add sound directory for edc 
compilation", "DIR_NAME", ECORE_GETOPT_TYPE_STR),
   ECORE_GETOPT_APPEND_METAVAR('f', "fd", "Add font directory for edc 
compilation", "DIR_NAME", ECORE_GETOPT_TYPE_STR),
@@ -171,6 +173,28 @@ _new_project(void *data __UNUSED__)
tabs_home_tab_add(TAB_HOME_NEW_PROJECT);
 }
 
+static void
+_export_edc_path_set(char *export_edc)
+{
+   char tmp[256];
+   int len = 0, rlen = 0;
+
+   strcpy(tmp, export_edc);
+   len = strlen(tmp);
+   rlen = strlen(strrchr(tmp, '/'));
+   if (!rlen) return;
+   ap.path.export_edc.file = eina_stringshare_add(tmp + (len - rlen + 1));
+   tmp[len - rlen] = '\0';
+
+   len = strlen(tmp);
+   rlen = strlen(strrchr(tmp, '/'));
+   if (!rlen) return;
+   ap.path.export_edc.folder = eina_stringshare_add(tmp + (len - rlen + 1));
+   tmp[len - rlen] = '\0';
+
+   ap.path.export_edc.path = eina_stringshare_add(tmp);
+}
+
 EAPI_MAIN int
 elm_main(int argc, char **argv)
 {
@@ -183,6 +207,7 @@ elm_main(int argc, char **argv)
  ECORE_GETOPT_VALUE_STR(pro_name),
  ECORE_GETOPT_VALUE_STR(pro_path),
  ECORE_GETOPT_VALUE_STR(export_edj),
+ ECORE_GETOPT_VALUE_STR(export_edc),
  ECORE_GETOPT_VALUE_LIST(img_dirs),
  ECORE_GETOPT_VALUE_LIST(snd_dirs),
  ECORE_GETOPT_VALUE_LIST(fnt_dirs),
@@ -324,6 +349,7 @@ elm_main(int argc, char **argv)
 
 run:
 ap.path.export_edj = export_edj;
+_export_edc_path_set(export_edc);
 if (!ui_main_window_add())
   {
  app_shutdown();
diff --git a/src/bin/project_manager/project_manager_export_edc.c 
b/src/bin/project_manager/project_manager_export_edc.c
index 7a9d831..7a2c29d 100644
--- a/src/bin/project_manager/project_manager_export_edc.c
+++ b/src/bin/project_manager/proj

[EGIT] [tools/eflete] eflete-1.18 72/91: project_manager: fix dead assignment

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 1fecf0d0120bcc5cdddb84a6522a80463a4dbf0d
Author: Andrii Kroitor 
Date:   Thu Sep 15 13:20:58 2016 +0300

project_manager: fix dead assignment

Fix svace WID 436603
---
 src/bin/project_manager/project_manager.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/bin/project_manager/project_manager.c 
b/src/bin/project_manager/project_manager.c
index 47bd06a..c4be47c 100644
--- a/src/bin/project_manager/project_manager.c
+++ b/src/bin/project_manager/project_manager.c
@@ -795,7 +795,6 @@ _external_resources_export(Eina_List *resources, const char 
*dst)
 ecore_file_cp(res->path, eina_strbuf_string_get(buf));
 eina_strbuf_reset(buf);
 free(path);
-path = NULL;
  }
eina_strbuf_free(buf);
 }

-- 




[EGIT] [tools/eflete] eflete-1.18 43/91: project_manager_export_resources: remove unnecessary sleep

2017-01-23 Thread Vitalii Vorobiov
rimmed pushed a commit to branch eflete-1.18.

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

commit fedbb6808382da326a69ca3f8deb335c3f169202
Author: Vitalii Vorobiov 
Date:   Mon Aug 15 11:18:58 2016 +0300

project_manager_export_resources: remove unnecessary sleep
---
 src/bin/project_manager/project_manager_export_resources.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/src/bin/project_manager/project_manager_export_resources.c 
b/src/bin/project_manager/project_manager_export_resources.c
index 8b75e64..62efccc 100644
--- a/src/bin/project_manager/project_manager_export_resources.c
+++ b/src/bin/project_manager/project_manager_export_resources.c
@@ -207,7 +207,6 @@ _image_resources_feedback_job(void *data, Ecore_Thread *th)
   message = eina_stringshare_printf(_("Image %s coudn't be 
exported"), image_name);
   ecore_thread_feedback(th, message);
   WARN("Image %s coudn't be exported", image_name);
-  sleep(2);
   continue;
}
  ids->id = id;
@@ -300,7 +299,6 @@ _sound_resources_feedback_job(void *data, Ecore_Thread *th)
   message = eina_stringshare_printf(_("Could not open file: 
%s"), res->path);
   ecore_thread_feedback(th, message);
   ERR("Could not open file: %s", res->path);
-  sleep(2);
   continue;
}
  if (fwrite(eina_binbuf_string_get(sound_bin),
@@ -396,7 +394,6 @@ _font_resources_feedback_job(void *data, Ecore_Thread *th)
   message = eina_stringshare_printf(_("Could not open file: 
%s"), res->path);
   ecore_thread_feedback(th, message);
   ERR("Could not open file: %s", res->path);
-  sleep(2);
   continue;
}
  if (fwrite(font, size, 1, f) != 1)

-- 




[EGIT] [tools/eflete] eflete-1.18 31/91: remove popup_want_action

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 425ffcbdfbb111b13a1b6ba9de94800692c4d50d
Author: Andrii Kroitor 
Date:   Mon Sep 5 18:33:30 2016 +0300

remove popup_want_action
---
 src/bin/ui/main_window.h |   8 
 src/bin/ui/popup.c   | 111 ---
 2 files changed, 119 deletions(-)

diff --git a/src/bin/ui/main_window.h b/src/bin/ui/main_window.h
index 6839e4b..c0166f1 100644
--- a/src/bin/ui/main_window.h
+++ b/src/bin/ui/main_window.h
@@ -342,14 +342,6 @@ project_close(void);
  *
  * @ingroup Window
  */
-Popup_Button
-popup_want_action(const char *title,
-  const char *msg,
-  Popup_Content_Get_Func content_get,
-  Popup_Button p_btns,
-  Popup_Validator_Func func,
-  void *data);
-
 Evas_Object *
 popup_add(const char *title,
   const char *msg,
diff --git a/src/bin/ui/popup.c b/src/bin/ui/popup.c
index 0f5e9aa..062eaa9 100644
--- a/src/bin/ui/popup.c
+++ b/src/bin/ui/popup.c
@@ -23,7 +23,6 @@
 #include "config.h"
 #include "shortcuts.h"
 
-static Popup_Button btn_pressed;
 static Evas_Object *helper;
 static Evas_Object *fs;
 static Helper_Done_Cb dismiss_func;
@@ -35,8 +34,6 @@ static const Popup_Button _btn_append = BTN_APPEND;
 static const Popup_Button _btn_replace= BTN_REPLACE;
 static const Popup_Button _btn_dont_save  = BTN_DONT_SAVE;
 static const Popup_Button _btn_cancel = BTN_CANCEL;
-static Popup_Validator_Func validator = NULL;
-static void *user_data= NULL;
 static Popup_Current current;
 
 struct _Search_Data
@@ -71,114 +68,6 @@ _delete_object_job(void *data)
current = POPUP_NONE;
 }
 
-static void
-_btn_cb(void *data,
-Evas_Object *obj __UNUSED__,
-void *ei __UNUSED__)
-{
-   btn_pressed = *((Popup_Button *)data);
-   if ((BTN_OK == btn_pressed) || (BTN_SAVE == btn_pressed) ||
-   (BTN_REPLACE == btn_pressed) || (BTN_APPEND == btn_pressed))
- if (validator && (!validator(user_data))) return;
-   eflete_main_loop_quit();
-}
-
-#define BTN_ADD(TEXT, PLACE, DATA) \
-{ \
-   BUTTON_ADD(ap.popup, btn, TEXT); \
-   evas_object_smart_callback_add(btn, "clicked", _btn_cb, DATA); \
-   elm_object_part_content_set(ap.popup, PLACE, btn); \
-}
-
-Popup_Button
-popup_want_action(const char *title,
-  const char *msg,
-  Popup_Content_Get_Func content_get,
-  Popup_Button popup_btns,
-  Popup_Validator_Func func,
-  void *data)
-
-{
-   Evas_Object *btn;
-   Evas_Object *to_focus = NULL;
-
-   /* only one content will be setted to ap.popup: or message, or used content 
*/
-   assert((msg != NULL) != (content_get != NULL));
-   validator = func;
-   user_data = data;
-
-   ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_MAIN, true);
-
-   ap.popup = elm_popup_add(ap.win);
-   elm_popup_orient_set(ap.popup, ELM_POPUP_ORIENT_CENTER);
-   elm_object_part_text_set(ap.popup, "title,text", title);
-   elm_popup_content_text_wrap_type_set(ap.popup, ELM_WRAP_WORD);
-   if (popup_btns & BTN_OK)
- {
-BTN_ADD(_("Ok"), "button1", &_btn_ok);
-evas_object_smart_callback_add(ap.popup, SIGNAL_SHORTCUT_DONE, 
_btn_cb, &_btn_ok);
- }
-
-   if (popup_btns & BTN_SAVE)
- BTN_ADD(_("Save"), "button1", &_btn_save)
-
-   if (popup_btns & BTN_APPEND)
- BTN_ADD(_("Append"), "button1", &_btn_append)
-
-   if ((popup_btns & BTN_REPLACE) && (popup_btns & BTN_APPEND))
- BTN_ADD(_("Replace"), "button2", &_btn_replace)
-   else if (popup_btns & BTN_REPLACE)
- BTN_ADD(_("Replace"), "button1", &_btn_replace)
-
-   if (popup_btns & BTN_DONT_SAVE)
- BTN_ADD(_("Don't save"), "button2", &_btn_dont_save)
-
-   if ((popup_btns & BTN_CANCEL) && (popup_btns & BTN_DONT_SAVE))
- BTN_ADD(_("Cancel"), "button3", &_btn_cancel)
-   else if ((popup_btns & BTN_CANCEL) && (popup_btns & BTN_APPEND))
- {
-BTN_ADD(_("Cancel"), "button3", &_btn_cancel);
-evas_object_smart_callback_add(ap.popup, SIGNAL_SHORTCUT_CANCEL, 
_btn_cb, &_btn_cancel);
- }
-   else if ((popup_btns & BTN_CANCEL) && (popup_btns & BTN_APPEND))
- BTN_ADD(_("Cancel"), "button3", &_btn_cancel)
-   else if (popup_btns & BTN_CANCEL)
- {
-BTN_ADD(_("Cancel"), "button2", &_btn_cancel);
-evas_object_smart_callback_add(ap.popup, SIGNAL_SHORTCUT_CANCEL, 
_btn_cb, &_btn_cancel);
- }
-
-   if (msg) elm_object_text_set(ap.popup, msg);
-   if (content_get)
- {
-Evas_Object *content = content_get(data, &to_focus);
-elm_object_content_set(ap.popup, content);
- }
-
-   if (to_focus) elm_object_focus_set(to_focus, true);
-   evas_object_show(ap.popup);
-
-   TODO("Fix and refactor this weird behaviour. This is terrible decision")
-   if (data) /* this is probably entry now */
- evas_ob

[EGIT] [tools/eflete] eflete-1.18 81/91: signals: move used eflete_widget signals to signals struct

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 2e423501894ff9cabb65ec47591e710da7ea60f5
Author: Andrii Kroitor 
Date:   Mon Sep 19 17:12:16 2016 +0300

signals: move used eflete_widget signals to signals struct
---
 src/bin/common/signals.c  | 33 ++
 src/bin/common/signals.h  | 34 +++
 src/bin/ui/colorclass_manager.c   |  4 ++--
 src/bin/ui/image_manager.c|  4 ++--
 src/bin/ui/modal_window/modal_window.c| 11 -
 src/bin/ui/property/property_color_control.c  |  4 ++--
 src/bin/ui/property/property_common.c | 10 
 src/bin/ui/property/property_common_image.c   |  2 +-
 src/bin/ui/property/property_common_tween.c   |  4 ++--
 src/bin/ui/property/property_image_selector.c |  2 +-
 src/bin/ui/sound_manager.c|  4 ++--
 src/bin/ui/style_manager.c|  4 ++--
 src/bin/ui/workspace/container.c  | 17 --
 src/bin/ui/workspace/groupview.c  |  6 ++---
 src/bin/ui/workspace/highlight.c  |  6 ++---
 src/bin/ui/workspace/workspace.c  |  2 +-
 16 files changed, 101 insertions(+), 46 deletions(-)

diff --git a/src/bin/common/signals.c b/src/bin/common/signals.c
index d1f9242..4407337 100644
--- a/src/bin/common/signals.c
+++ b/src/bin/common/signals.c
@@ -81,6 +81,39 @@ const Signals signals = {
   },
  },
 
+ .eflete = {
+  .modal_window = {
+   .done   = "[eflete]done",
+   .cancel = "[eflete]cancel",
+   .show_animation_finished= "[eflete]show,animation,finished",
+   .hide_animation_finished= "[eflete]hide,animation,finished",
+  },
+  .container = {
+   .changed= "[eflete]changed",
+   .handler_br_moved   = "[eflete]handler,BR,moved",
+  },
+  .highlight = {
+   .drag_start = "[eflete]hl,drag,start",
+   .drag_stop  = "[eflete]hl,drag,stop",
+   .changed= "[eflete]changed",
+  },
+  .property = {
+   .color_control = {
+.changed   = "[eflete]color,changed",
+.dismissed = "[eflete]color,dismissed",
+   },
+   .image_normal_control = {
+.changed   = "[eflete]image,normal,changed",
+   },
+   .image_tween_control = {
+.changed   = "[eflete]image,tween,changed",
+   },
+   .image_selector = {
+.changed   = "[eflete]image,selector,changed",
+   },
+  },
+ },
+
  .elm = {
   .spinner = {
.changed= "changed",
diff --git a/src/bin/common/signals.h b/src/bin/common/signals.h
index f4f8e01..5c8fb91 100644
--- a/src/bin/common/signals.h
+++ b/src/bin/common/signals.h
@@ -80,6 +80,40 @@ typedef struct {
  } zoom;
   } workspace;
} shortcut;
+
+   const struct {
+  const struct {
+ const char *done;
+ const char *cancel;
+ const char *show_animation_finished;
+ const char *hide_animation_finished;
+  } modal_window;
+  const struct {
+ const char *changed;
+ const char *handler_br_moved;
+  } container;
+  const struct {
+ const char *drag_start;
+ const char *drag_stop;
+ const char *changed;
+  } highlight;
+  const struct {
+ const struct {
+const char *changed;
+const char *dismissed;
+ } color_control;
+ const struct {
+const char *changed;
+ } image_normal_control;
+ const struct {
+const char *changed;
+ } image_tween_control;
+ const struct {
+const char *changed;
+ } image_selector;
+  } property;
+   } eflete;
+
const struct {
   const struct {
  const char *changed;
diff --git a/src/bin/ui/colorclass_manager.c b/src/bin/ui/colorclass_manager.c
index 8bb0787..c6a0fc7 100644
--- a/src/bin/ui/colorclass_manager.c
+++ b/src/bin/ui/colorclass_manager.c
@@ -450,8 +450,8 @@ colorclass_manager_add(void)
/* Creating main layout of window */
mng.win = mw_add();
mw_title_set(mng.win, _("Color class manager"));
-   evas_object_smart_callback_add(mng.win, "cancel", _mw_cancel_cb, NULL);
-   evas_object_smart_callback_add(mng.win, "done", _mw_done_cb, NULL);
+   evas_object_smart_callback_add(mng.win, signals.eflete.modal_window.cancel, 
_mw_cancel_cb, NULL);
+   evas_object_smart_callback_add(mng.win, signals.eflete.modal_window.done, 
_mw_done_cb, NULL);
 #if !HA

[EGIT] [tools/eflete] eflete-1.18 15/91: popup: add popup_button_disabled_set for async popup

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit aee9a9d1913bd8bffe34492c83f3dbd5848f4047
Author: Andrii Kroitor 
Date:   Fri Sep 2 15:21:31 2016 +0300

popup: add popup_button_disabled_set for async popup
---
 src/bin/ui/main_window.h |  2 ++
 src/bin/ui/popup.c   | 36 
 2 files changed, 38 insertions(+)

diff --git a/src/bin/ui/main_window.h b/src/bin/ui/main_window.h
index 0213523..6e37458 100644
--- a/src/bin/ui/main_window.h
+++ b/src/bin/ui/main_window.h
@@ -373,6 +373,8 @@ popup_active_helper_close(void *data,
  */
 void
 popup_buttons_disabled_set(Popup_Button p_btns, Eina_Bool disabled);
+void
+popup_button_disabled_set(Evas_Object *popup, Popup_Button btn, Eina_Bool 
disabled);
 
 void
 popup_fileselector_folder_helper(const char *title, Evas_Object *follow_up, 
const char *path,
diff --git a/src/bin/ui/popup.c b/src/bin/ui/popup.c
index b8b29e5..3a13d21 100644
--- a/src/bin/ui/popup.c
+++ b/src/bin/ui/popup.c
@@ -269,6 +269,8 @@ popup_add(const char *title,
elm_object_part_text_set(pd->popup, "title,text", title);
elm_popup_content_text_wrap_type_set(pd->popup, ELM_WRAP_WORD);
 
+   evas_object_data_set(pd->popup, POPUP_DATA, pd);
+
int bt_num = 0;
pd->button.ok= _button_add(pd, &bt_num, _("Ok"), popup_btns 
& BTN_OK);
pd->button.save  = _button_add(pd, &bt_num, _("Save"),   popup_btns 
& BTN_SAVE);
@@ -293,6 +295,40 @@ popup_add(const char *title,
 
return pd->popup;
 }
+
+void
+popup_button_disabled_set(Evas_Object *popup, Popup_Button btn, Eina_Bool 
disabled)
+{
+   assert(popup != NULL);
+
+   if (!btn) return;
+
+   Popup_Data *pd = evas_object_data_get(popup, POPUP_DATA);
+   switch (btn)
+ {
+  case BTN_OK:
+ elm_object_disabled_set(pd->button.ok, disabled);
+ break;
+  case BTN_SAVE:
+ elm_object_disabled_set(pd->button.save, disabled);
+ break;
+  case BTN_APPEND:
+ elm_object_disabled_set(pd->button.append, disabled);
+ break;
+  case BTN_REPLACE:
+ elm_object_disabled_set(pd->button.replace, disabled);
+ break;
+  case BTN_DONT_SAVE:
+ elm_object_disabled_set(pd->button.dont_save, disabled);
+ break;
+  case BTN_CANCEL:
+ elm_object_disabled_set(pd->button.cancel, disabled);
+ break;
+  default:
+ ERR("Unknown button.");
+ abort(); /* only one single button allowed */
+ }
+}
 /* end of async popup */
 
 #if HAVE_TIZEN

-- 




[EGIT] [tools/eflete] eflete-1.18 22/91: replace popup_want_action with popup_add in simple cases

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit d4a568fff772ef124cb8dc287177bd1a6aad7588
Author: Andrii Kroitor 
Date:   Mon Sep 5 11:47:57 2016 +0300

replace popup_want_action with popup_add in simple cases
---
 src/bin/ui/colorclass_manager.c  | 61 +++-
 src/bin/ui/project_common.c  |  4 +--
 src/bin/ui/project_export.c  |  6 ++--
 src/bin/ui/project_navigator.c   | 67 +++-
 src/bin/ui/sound_manager.c   | 30 +++---
 src/bin/ui/style_manager.c   | 28 +++--
 src/bin/ui/tab_home_common.c |  9 +++---
 src/bin/ui/tab_home_import_edc.c |  3 +-
 src/bin/ui/tab_home_import_edj.c |  6 ++--
 src/bin/ui/tab_home_new.c|  3 +-
 src/bin/ui/tab_home_open.c   | 30 +++---
 11 files changed, 140 insertions(+), 107 deletions(-)

diff --git a/src/bin/ui/colorclass_manager.c b/src/bin/ui/colorclass_manager.c
index 35185b0..21be2dd 100644
--- a/src/bin/ui/colorclass_manager.c
+++ b/src/bin/ui/colorclass_manager.c
@@ -94,52 +94,57 @@ _add_colorclass_content_get(void *data __UNUSED__, 
Evas_Object **to_focus)
 }
 
 static void
-_colorclass_add_cb(void *data __UNUSED__,
-   Evas_Object *obj __UNUSED__,
-   void *event_info __UNUSED__)
+_colorclass_add_popup_close_cb(void *data,
+   Evas_Object *obj __UNUSED__,
+   void *event_info)
 {
Attribute attribute = ATTRIBUTE_STATE_COLOR_CLASS;
Colorclasses_Manager *edit = (Colorclasses_Manager *)data;
Colorclass_Item *it = NULL;
Elm_Object_Item *glit_ccl = NULL;
Colorclass_Resource *res;
-   Popup_Button btn_res;
+   Popup_Button btn_res = (Popup_Button)event_info;
 
assert(edit != NULL);
 
-   mng.name_validator = resource_name_validator_new(NAME_REGEX, NULL);
-   resource_name_validator_list_set(mng.name_validator, 
&ap.project->colorclasses, true);
-   btn_res = popup_want_action(_("Create a new layout"), NULL, 
_add_colorclass_content_get,
-   BTN_OK|BTN_CANCEL,
-   NULL, mng.entry);
-
-   if (BTN_CANCEL == btn_res) goto end;
-
-   it = (Colorclass_Item *)mem_calloc(1, sizeof(Colorclass_Item));
-   it->name = elm_entry_entry_get(mng.entry);
-
-   res = (Colorclass_Resource *)resource_add(it->name, 
RESOURCE_TYPE_COLORCLASS);
-   resource_insert(&ap.project->colorclasses, (Resource *)res);
-   edje_edit_color_class_add(ap.project->global_object, 
eina_stringshare_add(it->name));
+   if (BTN_OK == btn_res)
+ {
+it = (Colorclass_Item *)mem_calloc(1, sizeof(Colorclass_Item));
+it->name = elm_entry_entry_get(mng.entry);
 
-   glit_ccl = elm_genlist_item_append(mng.genlist, _itc_ccl, it, NULL,
-  ELM_GENLIST_ITEM_NONE, NULL, NULL);
-   elm_genlist_item_selected_set(glit_ccl, EINA_TRUE);
+res = (Colorclass_Resource *)resource_add(it->name, 
RESOURCE_TYPE_COLORCLASS);
+resource_insert(&ap.project->colorclasses, (Resource *)res);
+edje_edit_color_class_add(ap.project->global_object, 
eina_stringshare_add(it->name));
 
-   evas_object_del(mng.popup);
-   mng.popup = NULL;
+glit_ccl = elm_genlist_item_append(mng.genlist, _itc_ccl, it, NULL,
+   ELM_GENLIST_ITEM_NONE, NULL, NULL);
+elm_genlist_item_selected_set(glit_ccl, EINA_TRUE);
 
-   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, 
&attribute);
+evas_object_del(mng.popup);
+mng.popup = NULL;
 
-end:
+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, &attribute);
+ }
resource_name_validator_free(mng.name_validator);
evas_object_del(mng.item);
 }
 
 static void
+_colorclass_add_cb(void *data,
+   Evas_Object *obj __UNUSED__,
+   void *event_info __UNUSED__)
+{
+   Evas_Object *popup;
+   mng.name_validator = resource_name_validator_new(NAME_REGEX, NULL);
+   resource_name_validator_list_set(mng.name_validator, 
&ap.project->colorclasses, true);
+   popup = popup_add(_("Create a new layout"), NULL, BTN_OK|BTN_CANCEL, 
_add_colorclass_content_get, mng.entry);
+   evas_object_smart_callback_add(popup, POPUP_CLOSE_CB, 
_colorclass_add_popup_close_cb, data);
+}
+
+static void
 _colorclass_del_cb(void *data __UNUSED__,
Evas_Object *obj

[EGIT] [tools/eflete] eflete-1.18 41/91: group_manager: apply little prefix fast fix of group name parse

2017-01-23 Thread Vitalii Vorobiov
rimmed pushed a commit to branch eflete-1.18.

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

commit babbd46177182e52611c5b038eb9cd1359e3f60b
Author: Vitalii Vorobiov 
Date:   Mon Aug 15 11:46:29 2016 +0300

group_manager: apply little prefix fast fix of group name parse
---
 src/bin/project_manager/group_manager.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/bin/project_manager/group_manager.c 
b/src/bin/project_manager/group_manager.c
index b417991..91bce4e 100644
--- a/src/bin/project_manager/group_manager.c
+++ b/src/bin/project_manager/group_manager.c
@@ -28,10 +28,12 @@ _group_name_parse(Group *group)
 
assert(group != NULL);
 
+   if (!eina_str_has_prefix(group->name, "elm")) return;
+
c = eina_str_split_full(group->name, "/", 4, &count);
 
TODO("move here complicated class/style parsing from live_view");
-   if ((count == 4) && (!strcmp(c[0], "elm")))
+   if (count == 4)
  {
 group->widget = eina_stringshare_add(c[1]);
 group->class = eina_stringshare_add(c[2]);

-- 




[EGIT] [tools/eflete] eflete-1.18 32/91: remove eflete_main_loop_* functions

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit c678f7a7a57bfff0c7f142f3ed0e174df2aa0ff1
Author: Andrii Kroitor 
Date:   Mon Sep 5 18:34:56 2016 +0300

remove eflete_main_loop_* functions
---
 src/bin/eflete.c | 15 ---
 src/bin/eflete.h | 20 
 2 files changed, 35 deletions(-)

diff --git a/src/bin/eflete.c b/src/bin/eflete.c
index 9f79e76..ab0ab7d 100644
--- a/src/bin/eflete.c
+++ b/src/bin/eflete.c
@@ -27,21 +27,6 @@
 
 App_Data ap;
 
-static Eina_Bool do_block = true;
-
-void
-eflete_main_loop_begin(void)
-{
-   while (do_block) ecore_main_loop_iterate_may_block(0);
-   do_block = true;
-}
-
-void
-eflete_main_loop_quit(void)
-{
-   do_block = false;
-}
-
 Eina_Bool
 app_init()
 {
diff --git a/src/bin/eflete.h b/src/bin/eflete.h
index bcf38ba..bc8b404 100644
--- a/src/bin/eflete.h
+++ b/src/bin/eflete.h
@@ -188,26 +188,6 @@ app_init(void);
 Eina_Bool
 app_shutdown(void);
 
-/**
- * Start nested not blocked ecore main loop.
- *
- * @note Master Raster add to ecore_main_loop_begin the hard check to nested
- * main loops. Now have no time to remake our popup behavior, and add this
- * crutch. In further need to delete it.
- *
- * @ingroup Eflete
- */
-void
-eflete_main_loop_begin(void);
-
-/**
- * End nested main loop.
- *
- * @ingroup Eflete
- */
-void
-eflete_main_loop_quit(void);
-
 #define GET_IMAGE(IMG, PARENT, NAME) \
 { \
IMG = edje_object_add(PARENT); \

-- 




[EGIT] [tools/eflete] eflete-1.18 50/91: sound_manager:fix tones validator

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit faef68ef1e68609b2060fcfa9df66e6a7b66842f
Author: Andrii Kroitor 
Date:   Thu Sep 8 16:50:13 2016 +0300

sound_manager:fix tones validator
---
 src/bin/ui/sound_manager.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/bin/ui/sound_manager.c b/src/bin/ui/sound_manager.c
index ea8f630..1da7a50 100644
--- a/src/bin/ui/sound_manager.c
+++ b/src/bin/ui/sound_manager.c
@@ -381,6 +381,8 @@ _add_tone_content_get(void *data __UNUSED__, Evas_Object 
*popup, Evas_Object **t
ENTRY_ADD(item, mng.frq_entry, true);
eo_event_callback_add(mng.frq_entry, ELM_ENTRY_EVENT_VALIDATE, 
elm_validator_regexp_helper, mng.frq_validator);
evas_object_smart_callback_add(mng.frq_entry, "changed", _validation, 
popup);
+   /* force validator trigger */
+   elm_entry_entry_set(mng.frq_entry, " ");
elm_object_part_text_set(mng.frq_entry, "guide", _("Type a frequency (20 - 
2)"));
elm_object_part_content_set(item, "elm.swallow.content", mng.frq_entry);
/* need to manualy set not valid string for triggered validator */

-- 




[EGIT] [tools/eflete] eflete-1.18 23/91: style_manager: use async popup for tag add

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 1e2fc55dfdb35dc9c1b4179de3b7146fa9823102
Author: Andrii Kroitor 
Date:   Mon Sep 5 12:03:53 2016 +0300

style_manager: use async popup for tag add
---
 src/bin/ui/style_manager.c | 106 +
 1 file changed, 60 insertions(+), 46 deletions(-)

diff --git a/src/bin/ui/style_manager.c b/src/bin/ui/style_manager.c
index 11c7b73..da687ab 100644
--- a/src/bin/ui/style_manager.c
+++ b/src/bin/ui/style_manager.c
@@ -249,74 +249,88 @@ _add_tag_content_get(void *data __UNUSED__, Evas_Object 
**to_focus)
return item;
 }
 
+typedef struct {
+   Eina_Stringshare *style_name, *tag_name;
+   Elm_Object_Item *glit, *glit_parent;
+   Eina_List *resources;
+} Tag_Popup_Data;
+
+static void
+_tag_add_popup_close_cb(void *data,
+Evas_Object *obj __UNUSED__,
+void *event_info)
+{
+   Resource *res;
+   Popup_Button btn_res = (Popup_Button) event_info;
+   Tag_Popup_Data *tpd = data;
+
+   if (BTN_CANCEL == btn_res) goto close;
+
+   tpd->tag_name = elm_entry_entry_get(mng.popup.name);
+   edje_edit_style_tag_add(ap.project->global_object, tpd->style_name, 
tpd->tag_name);
+   if (!edje_edit_style_tag_value_set(ap.project->global_object, 
tpd->style_name, tpd->tag_name, ""))
+ {
+WARN(_("Failed to add tag value. Tag will be deleted"));
+edje_edit_style_tag_del(ap.project->global_object, tpd->style_name, 
tpd->tag_name);
+goto close;
+ }
+   tpd->glit = elm_genlist_item_append(mng.genlist, _itc_tags,
+  tpd->tag_name, tpd->glit_parent,
+  ELM_GENLIST_ITEM_NONE,
+  _on_glit_selected, NULL);
+   elm_object_item_data_set(tpd->glit, (void *)tpd->tag_name);
+   elm_genlist_item_selected_set(tpd->glit, true);
+   elm_genlist_item_bring_in(tpd->glit, ELM_GENLIST_ITEM_SCROLLTO_MIDDLE);
+
+   CRIT_ON_FAIL(editor_save(ap.project->global_object));
+   TODO("Remove this line once edje_edit API would be added into Editor Module 
and saving would work properly")
+   ap.project->changed = true;
+
+close:
+   EINA_LIST_FREE(tpd->resources, res)
+  resource_free(res);
+   evas_object_del(mng.popup.item);
+   resource_name_validator_free(mng.popup.validator);
+   free(tpd);
+}
 static void
 _tag_add_cb(void *data __UNUSED__,
 Evas_Object *obj __UNUSED__,
 void *event_info __UNUSED__)
 {
Resource *res;
-   Eina_List *resources = NULL;
-   Eina_Stringshare *style_name, *tag_name;
-   Popup_Button btn_res;
-   Elm_Object_Item *glit, *glit_parent;
Eina_Stringshare *buf;
Eina_List *tags, *l;
+   Evas_Object *popup;
+   Tag_Popup_Data * tpd = mem_calloc(1, sizeof(Tag_Popup_Data));
 
-   glit = elm_genlist_selected_item_get(mng.genlist);
-   glit_parent = elm_genlist_item_parent_get(glit);
+   tpd->glit = elm_genlist_selected_item_get(mng.genlist);
+   tpd->glit_parent = elm_genlist_item_parent_get(tpd->glit);
 
-   if (!glit_parent)
+   if (!tpd->glit_parent)
  {
-if (!elm_genlist_item_expanded_get(glit))
-  elm_genlist_item_expanded_set(glit, true);
+if (!elm_genlist_item_expanded_get(tpd->glit))
+  elm_genlist_item_expanded_set(tpd->glit, true);
 
-style_name = elm_object_item_data_get(glit);
-glit_parent = glit;
+tpd->style_name = elm_object_item_data_get(tpd->glit);
+tpd->glit_parent = tpd->glit;
  }
else
- style_name = elm_object_item_data_get(glit_parent);
+ tpd->style_name = elm_object_item_data_get(tpd->glit_parent);
 
-   tags = edje_edit_style_tags_list_get(ap.project->global_object, style_name);
+   tags = edje_edit_style_tags_list_get(ap.project->global_object, 
tpd->style_name);
EINA_LIST_FOREACH(tags, l, buf)
  {
 res = resource_add(buf, RESOURCE_TYPE_TAG);
-resource_insert(&resources, res);
+resource_insert(&tpd->resources, res);
  }
edje_edit_string_list_free(tags);
mng.popup.validator = resource_name_validator_new(NAME_REGEX, NULL);
-   resource_name_validator_list_set(mng.popup.validator, &resources, true);
-
-   buf = eina_stringshare_printf(_("Add tag for style: %s"), style_name);
-   btn_res = popup_want_action(buf, NULL, _add_tag_content_get,
-   BTN_OK|BTN_CANCEL,
-   NULL, mng.popup.name);
-   if (BTN_CANCEL == btn_res) goto close;
-
-   tag_name = elm_entry_entry_get(mng.popup.name);
-   edje_edit_style_tag_add(ap.project->global_object, style_name, tag_name);
-   if (!edje_edit_style_tag_value_set(ap.project->global_object, style_name, 
tag_name, ""))
- {
-WARN(_("Failed to add tag value. Tag will be deleted"));
-edje_edit_style_tag_del(ap.project->global_object, style_name, 
tag_name);
-return;
- 

[EGIT] [tools/eflete] eflete-1.18 84/91: editor: add internal save after changing image border properties

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 8cb63278ff0e1664ac6898c6944e142e942e7994
Author: Andrii Kroitor 
Date:   Tue Sep 20 14:22:38 2016 +0300

editor: add internal save after changing image border properties
---
 src/bin/editor/editor_macro.h  |  3 ++-
 src/bin/editor/editor_states.c | 12 
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/bin/editor/editor_macro.h b/src/bin/editor/editor_macro.h
index 48a5ab9..6eb4f6b 100644
--- a/src/bin/editor/editor_macro.h
+++ b/src/bin/editor/editor_macro.h
@@ -341,7 +341,7 @@ editor_state_## FUNC ##_## NUMBER ##_set(Evas_Object 
*edit_object, Change *chang
return true; \
 }
 
-#define EDITOR_STATE_UCHAR(FUNC, ATTRIBUTE) \
+#define EDITOR_STATE_UCHAR(FUNC, ATTRIBUTE, SAVE) \
 Eina_Bool \
 editor_state_## FUNC ##_set(Evas_Object *edit_object, Change *change, 
Eina_Bool merge, Eina_Bool apply, \
 const char *part_name, const char *state_name, 
double state_val, unsigned char new_val) \
@@ -375,6 +375,7 @@ editor_state_## FUNC ##_set(Evas_Object *edit_object, 
Change *change, Eina_Bool
if (apply) \
  { \
CRIT_ON_FAIL(edje_edit_state_## FUNC ##_set(edit_object, part_name, 
state_name, state_val, new_val)); \
+   if (SAVE) CRIT_ON_FAIL(editor_save(edit_object)); \
_editor_project_changed(); \
if (!_editor_signals_blocked) evas_object_smart_callback_call(ap.win, 
SIGNAL_EDITOR_ATTRIBUTE_CHANGED, &attribute); \
  } \
diff --git a/src/bin/editor/editor_states.c b/src/bin/editor/editor_states.c
index c8c18de..b01aa80 100644
--- a/src/bin/editor/editor_states.c
+++ b/src/bin/editor/editor_states.c
@@ -397,6 +397,7 @@ editor_state_image_border_left_set(Evas_Object 
*edit_object, Change *change, Ein
if (apply)
  {
 CRIT_ON_FAIL(edje_edit_state_image_border_set(edit_object, part_name, 
state_name, state_val, n4, o5, o6, o7));
+CRIT_ON_FAIL(editor_save(edit_object));
 _editor_project_changed();
 if (!_editor_signals_blocked) evas_object_smart_callback_call(ap.win, 
SIGNAL_EDITOR_ATTRIBUTE_CHANGED, &attribute);
  }
@@ -437,6 +438,7 @@ editor_state_image_border_right_set(Evas_Object 
*edit_object, Change *change, Ei
if (apply)
  {
 CRIT_ON_FAIL(edje_edit_state_image_border_set(edit_object, part_name, 
state_name, state_val, o4, n5, o6, o7));
+CRIT_ON_FAIL(editor_save(edit_object));
 _editor_project_changed();
 if (!_editor_signals_blocked) evas_object_smart_callback_call(ap.win, 
SIGNAL_EDITOR_ATTRIBUTE_CHANGED, &attribute);
  }
@@ -477,6 +479,7 @@ editor_state_image_border_top_set(Evas_Object *edit_object, 
Change *change, Eina
if (apply)
  {
 CRIT_ON_FAIL(edje_edit_state_image_border_set(edit_object, part_name, 
state_name, state_val, o4, o5, n6, o7));
+CRIT_ON_FAIL(editor_save(edit_object));
 _editor_project_changed();
 if (!_editor_signals_blocked) evas_object_smart_callback_call(ap.win, 
SIGNAL_EDITOR_ATTRIBUTE_CHANGED, &attribute);
  }
@@ -517,6 +520,7 @@ editor_state_image_border_bottom_set(Evas_Object 
*edit_object, Change *change, E
if (apply)
  {
 CRIT_ON_FAIL(edje_edit_state_image_border_set(edit_object, part_name, 
state_name, state_val, o4, o5, o6, n7));
+CRIT_ON_FAIL(editor_save(edit_object));
 _editor_project_changed();
 if (!_editor_signals_blocked) evas_object_smart_callback_call(ap.win, 
SIGNAL_EDITOR_ATTRIBUTE_CHANGED, &attribute);
  }
@@ -525,10 +529,10 @@ editor_state_image_border_bottom_set(Evas_Object 
*edit_object, Change *change, E
 
 /**/
 
-EDITOR_STATE_UCHAR(image_border_fill, ATTRIBUTE_STATE_IMAGE_BORDER_FILL)
-EDITOR_STATE_UCHAR(fill_type, ATTRIBUTE_STATE_FILL_TYPE)
-EDITOR_STATE_UCHAR(aspect_pref, ATTRIBUTE_STATE_ASPECT_PREF)
-EDITOR_STATE_UCHAR(table_homogeneous, ATTRIBUTE_STATE_TABLE_HOMOGENEOUS)
+EDITOR_STATE_UCHAR(image_border_fill, ATTRIBUTE_STATE_IMAGE_BORDER_FILL, true)
+EDITOR_STATE_UCHAR(fill_type, ATTRIBUTE_STATE_FILL_TYPE, false)
+EDITOR_STATE_UCHAR(aspect_pref, ATTRIBUTE_STATE_ASPECT_PREF, false)
+EDITOR_STATE_UCHAR(table_homogeneous, ATTRIBUTE_STATE_TABLE_HOMOGENEOUS, false)
 
 EDITOR_STATE_INT_SAVE(container_padding_x, ATTRIBUTE_STATE_CONTAINER_PADING_X)
 EDITOR_STATE_INT_SAVE(container_padding_y, ATTRIBUTE_STATE_CONTAINER_PADING_Y)

-- 




[EGIT] [tools/eflete] eflete-1.18 28/91: fileselector_helper: prepare code for async popup

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 5d9629118485cad4a07ddb202e703762ad780afc
Author: Andrii Kroitor 
Date:   Mon Sep 5 18:02:09 2016 +0300

fileselector_helper: prepare code for async popup
---
 src/bin/ui/main_window.h |   3 ++
 src/bin/ui/popup.c   |  20 
 src/bin/ui/project_common.c  |   6 ++-
 src/bin/ui/project_common.h  |   2 +-
 src/bin/ui/project_export.c  | 101 +++
 src/bin/ui/tab_home_import_edc.c |  25 ++
 src/bin/ui/tab_home_import_edj.c |  24 ++
 src/bin/ui/tab_home_new.c|  26 +-
 8 files changed, 133 insertions(+), 74 deletions(-)

diff --git a/src/bin/ui/main_window.h b/src/bin/ui/main_window.h
index 6e37458..6839e4b 100644
--- a/src/bin/ui/main_window.h
+++ b/src/bin/ui/main_window.h
@@ -377,6 +377,9 @@ void
 popup_button_disabled_set(Evas_Object *popup, Popup_Button btn, Eina_Bool 
disabled);
 
 void
+popup_fileselector_helper_dismiss();
+
+void
 popup_fileselector_folder_helper(const char *title, Evas_Object *follow_up, 
const char *path,
  Helper_Done_Cb func, void *data,
  Eina_Bool multi, Eina_Bool is_save);
diff --git a/src/bin/ui/popup.c b/src/bin/ui/popup.c
index 536d771..39e0fab 100644
--- a/src/bin/ui/popup.c
+++ b/src/bin/ui/popup.c
@@ -481,6 +481,26 @@ _colorclass_done(void *data,
 }
 #endif
 
+void
+popup_fileselector_helper_dismiss()
+{
+   Evas_Object *follow_up = (Evas_Object *) helper;
+
+   evas_object_event_callback_del_full(follow_up, EVAS_CALLBACK_RESIZE, 
_helper_obj_follow, NULL);
+   evas_object_event_callback_del_full(follow_up, EVAS_CALLBACK_MOVE, 
_helper_obj_follow, NULL);
+   evas_object_event_callback_del_full(follow_up, EVAS_CALLBACK_RESIZE, 
_helper_property_follow, NULL);
+   evas_object_event_callback_del_full(follow_up, EVAS_CALLBACK_MOVE, 
_helper_property_follow, NULL);
+
+   if (!follow_up)
+ evas_object_event_callback_del_full(ap.win, EVAS_CALLBACK_RESIZE, 
_helper_win_follow, NULL);
+
+   Helper_Data *helper_data = evas_object_data_get(helper, "STRUCT");
+   if (helper_data) free(helper_data);
+
+   shortcuts_object_check_pop(helper);
+   ecore_job_add(_delete_object_job, helper);
+}
+
 static void
 _helper_dismiss(void *data __UNUSED__,
 Evas_Object *obj,
diff --git a/src/bin/ui/project_common.c b/src/bin/ui/project_common.c
index 5c41351..24b12f5 100644
--- a/src/bin/ui/project_common.c
+++ b/src/bin/ui/project_common.c
@@ -22,7 +22,9 @@
 
 Eina_Bool
 exist_permission_check(const char *path, const char *name,
-   const char *title, const char *msg, Eina_Bool append)
+   const char *title, const char *msg, Eina_Bool append,
+   Ecore_Cb func,
+   const void *data)
 {
Eina_Strbuf *buf, *buf_msg;
Popup_Button btn_res;
@@ -61,6 +63,8 @@ exist_permission_check(const char *path, const char *name,
  }
if (btn_res == BTN_REPLACE)
  ecore_file_recursive_rm(eina_strbuf_string_get(buf));
+   if (func)
+  func((void *)data);
eina_strbuf_free(buf);
return true;
 }
diff --git a/src/bin/ui/project_common.h b/src/bin/ui/project_common.h
index c5c211a..a5a115a 100644
--- a/src/bin/ui/project_common.h
+++ b/src/bin/ui/project_common.h
@@ -21,7 +21,7 @@
 #define PROJECT_COMMON_H
 
 Eina_Bool
-exist_permission_check(const char *path, const char *name, const char *title, 
const char *msg, Eina_Bool append);
+exist_permission_check(const char *path, const char *name, const char *title, 
const char *msg, Eina_Bool append, Ecore_Cb func, const void *data);
 
 Eina_Bool
 progress_print(void *data, Eina_Stringshare *progress_string);
diff --git a/src/bin/ui/project_export.c b/src/bin/ui/project_export.c
index 0fa37c8..1e44af2 100644
--- a/src/bin/ui/project_export.c
+++ b/src/bin/ui/project_export.c
@@ -40,6 +40,15 @@ _export_develop_setup(void *data, Splash_Status status 
__UNUSED__)
return true;
 }
 
+static void
+_after_export_dev_check(void *data)
+{
+   ap.splash = splash_add(ap.win, _export_develop_setup, _export_teardown, 
NULL, data);
+   evas_object_focus_set(ap.splash, true);
+   evas_object_show(ap.splash);
+   popup_fileselector_helper_dismiss();
+}
+
 static Eina_Bool
 _export_dev(void *data __UNUSED__,
 Evas_Object *obj, /* this is fileselector from popup */
@@ -64,19 +73,14 @@ _export_dev(void *data __UNUSED__,
eina_strbuf_append_printf(buf,
  _("A project file '%s' already 
exist."
"Do you want to replace it?"), 
path);
-   if (obj && !exist_permission_check(elm_fileselector_path_get(obj),
-   elm_fileselector_current_name_get(obj),
-   _("Export to develop edj-file"),
-   eina_str

[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 
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 63/91: property_group: add name check

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit a30d7b88423d978fcdd5d809d50f68036e85f0dd
Author: Andrii Kroitor 
Date:   Thu Sep 15 12:13:50 2016 +0300

property_group: add name check

Fix svace WID 436564
---
 src/bin/ui/property/property_group.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/ui/property/property_group.c 
b/src/bin/ui/property/property_group.c
index 8d8c38c..3609367 100644
--- a/src/bin/ui/property/property_group.c
+++ b/src/bin/ui/property/property_group.c
@@ -2452,7 +2452,7 @@ _update_cb(Property_Attribute *pa, Property_Action 
*action)
   case ATTRIBUTE_PROGRAM_SAMPLE_NAME:
  elm_genlist_clear(action->control);
  str_val1 = edje_edit_program_sample_name_get(EDIT_OBJ, PROGRAM_ARGS);
- if (!strcmp(str_val1, EFLETE_DUMMY_SAMPLE_NAME))
+ if (!str_val1 || !strcmp(str_val1, EFLETE_DUMMY_SAMPLE_NAME))
{
   edje_edit_string_free(str_val1);
   str_val1 = eina_stringshare_add(_("None"));

-- 




[EGIT] [tools/eflete] eflete-1.18 44/91: property_color: avoid SIGSEGV after first click on colorclass with description

2017-01-23 Thread Vitalii Vorobiov
rimmed pushed a commit to branch eflete-1.18.

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

commit 00d6bc6a11d8f8f53ba1fc3e219c6a75a9b68b0f
Author: Vitalii Vorobiov 
Date:   Tue Sep 6 16:42:02 2016 +0300

property_color: avoid SIGSEGV after first click on colorclass with 
description

@fix
---
 src/bin/ui/property/property_private.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bin/ui/property/property_private.h 
b/src/bin/ui/property/property_private.h
index 4cca07b..13fbc07 100644
--- a/src/bin/ui/property/property_private.h
+++ b/src/bin/ui/property/property_private.h
@@ -627,7 +627,8 @@ property_entry_set(Evas_Object *entry, const char *text)
if (text != NULL)
  {
 markup = elm_entry_utf8_to_markup(text);
-if (strcmp(markup, elm_entry_entry_get(entry)) != 0)
+if ((elm_entry_entry_get(entry)) &&
+(strcmp(markup, elm_entry_entry_get(entry)) != 0))
   elm_entry_entry_set(entry, markup);
 free(markup);
  }

-- 




[EGIT] [tools/eflete] eflete-1.18 67/91: tabs: fix wrong args order

2017-01-23 Thread Andrii Kroitor
rimmed pushed a commit to branch eflete-1.18.

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

commit 18af8d90ec9d51453fa5fcdefcb2469941c2b25f
Author: Andrii Kroitor 
Date:   Thu Sep 15 12:43:22 2016 +0300

tabs: fix wrong args order

Fix svace WID 436612
---
 src/bin/ui/tab_home_info.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/ui/tab_home_info.c b/src/bin/ui/tab_home_info.c
index 8f826d4..af66fe3 100644
--- a/src/bin/ui/tab_home_info.c
+++ b/src/bin/ui/tab_home_info.c
@@ -75,7 +75,7 @@ _tab_project_update()
   eina_list_count(ap.project->images) - 1, /* dummy image 
should not be counted */
   eina_list_count(ap.project->sounds) + 
eina_list_count(ap.project->tones) - 1,/* dummy sample should not be counted */
   eina_list_count(ap.project->fonts),
-  authors, version, license, comment);
+  version, authors, license, comment);
  }
 }
 

-- 




[EGIT] [website/www-content] master 01/01: Wiki page debian-start changed with summary [] by Philippe Jean Guillaumie

2017-01-23 Thread Philippe Jean Guillaumie
WWW-www.enlightenment.org pushed a commit to branch master.

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

commit aef9530d5abecc1dd0241a79dd4f0aa3b6d5bfbb
Author: Philippe Jean Guillaumie 
Date:   Mon Jan 23 02:02:19 2017 -0800

Wiki page debian-start changed with summary [] by Philippe Jean Guillaumie
---
 pages/distros/debian-start.txt | 17 -
 1 file changed, 17 deletions(-)

diff --git a/pages/distros/debian-start.txt b/pages/distros/debian-start.txt
index 75f0473..8f72f36 100644
--- a/pages/distros/debian-start.txt
+++ b/pages/distros/debian-start.txt
@@ -129,20 +129,3 @@ These run-time requirements may be provided - or not - by 
a display manger. In t
 
 == Test ==
 This procedure has been tested in January 2017 on debian 8.7.1.
-
- Lubuntu 
-If you're running Lubuntu, you may need to add another repo (as root):
-
-
-sudo su
-add-apt-repository ppa:niko2040/e19
-apt-get update
-
-
-Then install via apt-get:
-
-
-apt-get install enlightenment
-
-
-Now Enlightenment will appear as one of the options in the window manager 
(before entering password, click on the Lubuntu logo on the top right and 
select "Enlightenment").
\ No newline at end of file

-- 




Re: [E-devel] cmake attempt

2017-01-23 Thread Gustavo Sverzut Barbieri
On Mon, Jan 23, 2017 at 3:19 AM, Carsten Haitzler  wrote:
> On Sat, 21 Jan 2017 09:45:04 -0200 Gustavo Sverzut Barbieri
>  said:
>
>> On Sat, Jan 21, 2017 at 5:24 AM, Carsten Haitzler 
>> wrote: [...]
>> > i7 desktop: (autogen)(make) (eina_cpu.c) (eina_cpu.h)  ()
>> > autotools: 27.802 4.3060.5711.234   0.097
>> > cmake ninja:1.283 2.2780.1600.636   0.014
>> > cmake make: 1.632 3.1420.2340.787   0.064
>> >
>> > pi3:
>> > autotools:477.87062.6406.853   16.337   1.313
>> > cmake ninja:   15.89235.9312.6119.627   1.365
>> > cmake make:19.35838.9910.9611.161   0.921
>> >
>> > so dumping automake and libtool buys raw build speedups of like 2x. doing
>> > any editing of code is massively faster as just far less is built AND it's
>> > built faster. the autogen (configure/autotools) part is MANY MANY MANY
>> > times faster. even assuming it'll get 3x slower once we check everything
>> > with cmake... it's still 5-10 TIMES faster.
>>
>> currently cmake's configure does very barebone checks, such as types
>> and the likes, but even that I want to improve by taking some
>> shortcuts such as "if(LINUX AND GLIBC_GOOD_ENOUGH)" would assume you
>> run a sane system and skip checking for stupid stuff. Same for
>> compiler checks, we do lots of flags we know exist in newer compilers,
>> so we could easily add an 'if' and just use the flags, not generate
>> and compile one single test with that. Granted we could also do some
>> of that in autootols, but some parts are trickier to do.
>
> yeah. having more "we know on platform X feature x/y/z are exist andor/ arfe
> done this way" and simply detecting which is nicest. though there is the 
> un-fun
> thing s like "linux && glibc, linux && uclibc, linux && musl ..." for
> starters... :(
>
>> > the simple version of this is: it looks like cmake doesn't do stupid
>> > relinking or rebuilds it doesn't need to that i thought we'd have to fight.
>> > so it just got better. cmake is seemingly right out there in terms of
>> > speed. for a GENERIC build system tool that should/can handle anything it
>> > seems to be handily fast.
>>
>> I configured it so it will require a build directory and inside that
>> directory I shadow the system installation without "prefix", thus you
>> end with "lib", "bin" and so on. They also use rpath to set paths to
>> find the binaries, resetting those to "" (empty) at the time of
>> installation, which is faster than relinking.
>
> i'm less of an rpath fan... i'd rather we use LI_LIBRARY_PATH instead at these
> junctures...

https://cmake.org/Wiki/CMake_RPATH_handling says -DCMAKE_SKIP_RPATH=ON
does what you want.

But overall it helps usage without the need for nasty libtool-like scripts.

However, with the build results being laid out exactly like they would
in the system makes things much easier, eina_prefix should just work,
etc.


>> Also note that cmake itself is just involved at the first moment,
>> later you just run pure make/ninja commands. The make usually takes
>> some helpers to produce progress and colors. There ninja is usually
>> faster since it creates a full blown build.ninja with everything.
>
> well make/ninja with some calling out to cmake... but yeah.
>
>> Seems your RPI3 is slower with ninja than make, one reason may be IO?
>> AFAIR ninja use command files and pass those to GCC with "@filename"
>> instead of super long command lines. However opening and reading those
>> small files may be hurting your build, since you're not actually
>> compiling stuff due ccache.
>
> yes. ccache helps make the compile bit about as fast as it'll get so the other
> parts show up...
>
>> > what i see here is a major leap in productivity if we moved to cmake. i now
>> > "officially" like cmake. :) this would be a huge win for us... even if we
>> > have to wrestle in a make dist and distcheck. the option of ninja is a "a
>> > bit faster than gnu make and in some cases a lot faster" option. but really
>> > cmake is the key.
>> >
>> > so i guess... bikeshedding ... is there any reason to not use cmake that
>> > would override all the benefits? i cannot think of one.
>>
>> I'd like to complement with: simpler rules and usage for efl developers.
>>
>> With automake you can't autogenerate anything (at least I never found
>> a may to apply m4 rules there), then you keep repeating patterns for
>> modules and all, that results in slightly different versions of the
>> same thing as one is updated and the other isn't.
>>
>> with cmake and other build systems I can instruct them to understand
>> efl's well structured source tree and automatically do stuff for us.
>> My plan is for the final CMakeLists.txt to foreach(l in src/lib/*)
>> call EFL_LIB(${l}), then it will automatically do:
>>
>>  - check if library is enabled
>>
>>  - include src/lib/${l}/CMakeLists.txt to get SOURCES, LIBRARIES,
>> PUBLIC_LIBRARIES, PUBLIC_H

Re: [E-devel] Moksha / E17 Crash with EFL 1.18.4

2017-01-23 Thread Jeff Hoogland
Alrighty, will run through valgrind with --show-reachable=no --vgdb-error=0
and see what it spits out.

On Wed, Jan 18, 2017 at 8:31 PM, Carsten Haitzler 
wrote:

> On Wed, 18 Jan 2017 09:55:49 -0600 Jeff Hoogland 
> said:
>
> > Any other suggestions for trying to pin down where this segfault is
> coming
> > from?
>
> the below... i cant even find anything sensibly in that log. it's full of
> noise.
>
> > On Mon, Jan 16, 2017 at 5:51 PM, Carsten Haitzler 
> > wrote:
> >
> > > On Mon, 16 Jan 2017 13:30:25 -0600 Jeff Hoogland <
> jeffhoogl...@gmail.com>
> > > said:
> > >
> > > you really want to add  --show-reachable=no to valgrind options... :) i
> > > cannot
> > > find an error in that... 127k lines of "still reachable memory on exit"
> > > which
> > > is perfectly fine.
> > >
> > > > This is the output of it being run with the valgrind=all option. Is
> this
> > > > helpful or should I use the vgdb instead?
> > > >
> > > > On Sun, Jan 15, 2017 at 5:17 PM, Carsten Haitzler <
> ras...@rasterman.com>
> > > > wrote:
> > > >
> > > > > On Sun, 15 Jan 2017 13:41:17 -0600 Jeff Hoogland <
> > > jeffhoogl...@gmail.com>
> > > > > said:
> > > > >
> > > > > too many places/pages to tack. the phab page... replace with
> > > > >
> > > > > --vgdb-error=0
> > > > >
> > > > > > That wiki page seems to be out of date:
> > > > > >
> > > > > > Got stuck in the very first line asked on the wiki page:
> > > > > >
> > > > > > valgrind --tool=memcheck --db-attach=yes enlightenment
> > > > > >
> > > > > > It returns:
> > > > > >
> > > > > > valgrind: Unknown option: --db-attach=yes
> > > > > > valgrind: Use --help for more information or consult the user
> manual.
> > > > > >
> > > > > > --db-attach is not mentioned on the --help of valgrind, and this
> > > site (
> > > > > > http://valgrind.org/.../dist.news.html
> > > > > > ) states that:
> > > > > >
> > > > > >
> > > > > >
> > > > > > * The command line options --db-attach and --db-command have been
> > > > > removed.*
> > > > > > *  They were deprecated in 3.10.0.*
> > > > > >
> > > > > > Suggestions?
> > > > > >
> > > > > > On Sun, Jan 8, 2017 at 5:37 PM, Simon Lees 
> wrote:
> > > > > >
> > > > > > >
> > > > > > >
> > > > > > > On 01/09/2017 08:50 AM, Jeff Hoogland wrote:
> > > > > > > > How does valgrind differ from Xephyr? Is there a wiki page
> > > > > explaining how
> > > > > > > > to do what you are suggesting?
> > > > > > > >
> > > > > > >
> > > > > > > valgrind and Xephyr are too completely different things doing
> > > unrelated
> > > > > > > things, in enlightenments case its best that if you are running
> > > > > > > enlightenment under valgrind you run it in Xephyr because its
> > > going to
> > > > > > > be close to too slow to use.
> > > > > > >
> > > > > > > Xephyr lets you run an xsession such as enlightenment within a
> > > window
> > > > > of
> > > > > > > another running xsession so you can run a instance of e in a
> window
> > > > > > > inside another instance of e.
> > > > > > >
> > > > > > > Valgrind is a memory debugging tool it tracks when blocks of
> > > memory are
> > > > > > > allocated and deallocated by doing this it can tell you when a
> > > block of
> > > > > > > code read / writes to invalid memory regions causing memory
> > > corruption
> > > > > > > which is likely whats causing your bug. Generally in code this
> > > happens
> > > > > > > when you have a pointer stored in 2 or more places and place
> one
> > > frees
> > > > > > > its memory but place 2 then decides to use it again later once
> the
> > > > > > > memory has been allocated to something else.
> > > > > > >
> > > > > > > > On Fri, Jan 6, 2017 at 2:39 AM, Carsten Haitzler <
> > > > > ras...@rasterman.com>
> > > > > > > > wrote:
> > > > > > > >
> > > > > > > >> On Fri, 6 Jan 2017 02:21:10 -0600 Jeff Hoogland <
> > > > > jeffhoogl...@gmail.com
> > > > > > > >
> > > > > > > >> said:
> > > > > > > >>
> > > > > > > >>> Having some users report segfaults with our E17 fork using
> the
> > > > > latest
> > > > > > > EFL
> > > > > > > >>> under our Ubuntu 16.04 base.
> > > > > > > >>>
> > > > > > > >>> Had someone run a back trace and post it here
> > > > > > > >>>  index.php?/topic/14036-moksha-
> > > > > > > >> segfault/?p=102195>.
> > > > > > > >>> Looks like it is dying in the EFL somewhere? I'm honestly
> not
> > > > > great at
> > > > > > > >>> debugging C code - anyone help point me in the right
> direction?
> > > > > > > >>
> > > > > > > >> the backtrace is "long after the bug already happened". the
> > > malloc
> > > > > heap
> > > > > > > is
> > > > > > > >> corrupt. libc has detected something is wrong and aborted
> > > during an
> > > > > > > >> allocation.
> > > > > > > >> what caused the issue is unknown. it could be efl. could be
> e.
> > > > > could be
> > > > > > > >> libpng. could be just about anything. it is unknown. the
> best
> > > way to
> > > > > > > find
> > > > > > > >> out
> > > > > > > 

[EGIT] [core/efl] master 01/01: eolian: fix decl.eo in tests

2017-01-23 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit d8f7ade9c8309d9f4c69fb73716363a3d142af55
Author: Daniel Kolesa 
Date:   Mon Jan 23 15:32:15 2017 +0100

eolian: fix decl.eo in tests
---
 src/tests/eolian/data/decl.eo | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/tests/eolian/data/decl.eo b/src/tests/eolian/data/decl.eo
index 001494b..3492de0 100644
--- a/src/tests/eolian/data/decl.eo
+++ b/src/tests/eolian/data/decl.eo
@@ -8,7 +8,7 @@ enum B {
 
 type C: A;
 
-var pants: B.x;
+var pants: B = B.x;
 
 class Decl {
methods {

-- 




[EGIT] [core/efl] master 02/02: elementary_test: Remove set but unused variable

2017-01-23 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit d975597fb47be991eadf2f69bdb11a0b8964c807
Author: Chris Michael 
Date:   Mon Jan 23 09:35:13 2017 -0500

elementary_test: Remove set but unused variable

Signed-off-by: Chris Michael 
---
 src/bin/elementary/test_gfx_filters.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/bin/elementary/test_gfx_filters.c 
b/src/bin/elementary/test_gfx_filters.c
index 9f0ac5a..b985529 100644
--- a/src/bin/elementary/test_gfx_filters.c
+++ b/src/bin/elementary/test_gfx_filters.c
@@ -197,11 +197,10 @@ static void
 _code_changed(void *data, const Efl_Event *ev EINA_UNUSED)
 {
Eo *win = data;
-   Eo *text, *code, *spinner;
+   Eo *code, *spinner;
Eina_Strbuf *buf = NULL;
const char *source;
 
-   text = efl_key_wref_get(win, "text");
code = efl_key_wref_get(win, "code");
spinner = efl_key_wref_get(win, "spinner");
 

-- 




[EGIT] [core/efl] master 01/02: evas-object-textblock: Remove set but unused variable

2017-01-23 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit d965c8a3ce68dd95221e446435c79ac0d418254b
Author: Chris Michael 
Date:   Mon Jan 23 09:30:20 2017 -0500

evas-object-textblock: Remove set but unused variable

Signed-off-by: Chris Michael 
---
 src/lib/evas/canvas/evas_object_textblock.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/canvas/evas_object_textblock.c 
b/src/lib/evas/canvas/evas_object_textblock.c
index 7bd7239..31f71d6 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -13026,13 +13026,13 @@ _filter_cb(Evas_Filter_Context *ctx, void *data, 
Eina_Bool success)
 static inline Eina_Rectangle
 _filter_relative_bounding_box_get(const Text_Item_Filter *tif)
 {
-   int x_offset, y_offset, l, r, t, b;
+   int x_offset, y_offset, l, t, b;
Eina_Rectangle rect;
 
x_offset = tif->ti->parent.ln->x + tif->ti->parent.x;
y_offset = tif->ti->parent.ln->par->y + tif->ti->parent.ln->y;
l = tif->ti->parent.format->gfx_filter->pad.l;
-   r = tif->ti->parent.format->gfx_filter->pad.r;
+   /* r = tif->ti->parent.format->gfx_filter->pad.r; */
t = tif->ti->parent.format->gfx_filter->pad.t;
b = tif->ti->parent.format->gfx_filter->pad.b;
 

-- 




[EGIT] [core/efl] master 01/01: eolian tests: pass in generator path externally

2017-01-23 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit c1c30cc6ce435021084f30567fa6ec9cd939e0b5
Author: Daniel Kolesa 
Date:   Mon Jan 23 16:13:15 2017 +0100

eolian tests: pass in generator path externally
---
 src/Makefile_Eolian.am   |  1 +
 src/tests/eolian/eolian_generation.c | 15 ++-
 2 files changed, 3 insertions(+), 13 deletions(-)

diff --git a/src/Makefile_Eolian.am b/src/Makefile_Eolian.am
index 92df3ed..1a85c15 100644
--- a/src/Makefile_Eolian.am
+++ b/src/Makefile_Eolian.am
@@ -119,6 +119,7 @@ tests_eolian_eolian_suite_CPPFLAGS = 
-I$(top_builddir)/src/lib/efl -I$(top_build
 -DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/eolian\" \
 -DPACKAGE_DATA_DIR=\"$(top_srcdir)/src/tests/eolian\" \
 -DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)\" \
+-DEOLIAN_GEN="\"$(EOLIAN_GEN)\"" \
 @CHECK_CFLAGS@ \
 @EOLIAN_CFLAGS@ @EO_CFLAGS@
 TESTS += tests/eolian/eolian_suite
diff --git a/src/tests/eolian/eolian_generation.c 
b/src/tests/eolian/eolian_generation.c
index 0607269..fe4e551 100644
--- a/src/tests/eolian/eolian_generation.c
+++ b/src/tests/eolian/eolian_generation.c
@@ -83,21 +83,10 @@ _remove_ref(const char *base, const char *ext)
 static int
 _eolian_gen_execute(const char *eo_filename, const char *options, const char 
*output_filename)
 {
-   char eolian_gen_path[PATH_MAX] = "";
char command[PATH_MAX];
-
-   if (getenv("EFL_RUN_IN_TREE"))
- {
-snprintf(eolian_gen_path, sizeof(eolian_gen_path),
-  "%s/src/bin/eolian/eolian_gen%s",
-  PACKAGE_BUILD_DIR, EXEEXT);
- }
-   if (eolian_gen_path[0] == '\0')
-  return -1;
-
snprintf(command, PATH_MAX,
- "%s %s -I \""PACKAGE_DATA_DIR"/data\" -o %s %s",
- eolian_gen_path, options, output_filename, eo_filename);
+ EOLIAN_GEN" %s -I \""PACKAGE_DATA_DIR"/data\" -o %s %s",
+ options, output_filename, eo_filename);
return system(command);
 }
 

-- 




[EGIT] [core/efl] master 01/01: please READ :-)

2017-01-23 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

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

commit dbe75216c2316f43da6e6c25dd56ab16866b8636
Author: Gustavo Sverzut Barbieri 
Date:   Mon Jan 23 16:48:50 2017 -0200

please READ :-)
---
 TODO-cmake.txt | 67 ++
 1 file changed, 67 insertions(+)

diff --git a/TODO-cmake.txt b/TODO-cmake.txt
new file mode 100644
index 000..2cb522f
--- /dev/null
+++ b/TODO-cmake.txt
@@ -0,0 +1,67 @@
+Help Cmake build system come true by helping with the following
+tasks. Most of them can be done on top of autotools only, then we'll
+catch-up with the cmake parts.
+
+General (non-CMake specific) Tasks:
+
+ - move each target (binary, lib, test) to its own directory, example:
+   src/lib/efreet contains efreet_mime and efreet_trash in addition to
+   efreet. Create src/lib/efreet_mime and src/lib/efreet_trash.
+
+   It also applies to tests (ie: src/tests/ector which contains both
+   ector_suite and cxx_compile_test), in the case of binaries and
+   tests make sure to contain them in the library folder:
+   src/tests/ector should then contain 2 folders, one for each
+   test. Another one is src/tests/eo, which contains lots of
+   stand-alone tests in addition to eo_suite.
+
+ - uniform installation (and lookup!) of modules, like
+   lib/evas/modules/engines/NAME/v-1.18/module.so versus
+   lib/ecore/system/NAME/v-1.18/module.so (missing 'modules/')
+   lib/ecore_evas/engines/NAME/v-1.18/module.so (missing 'modules/')
+
+ - uniform module enable variables:
+   {LIB}_MODULE_TYPE_{SCOPE}_{MODNAME}_STATIC (static/built-in, with scope)
+   {LIB}_MODULE_TYPE_{SCOPE}_{MODNAME}_DYNAMIC (dynamic, with scope)
+   {LIB}_MODULE_TYPE_{MODNAME}_STATIC (static/built-in, no scope)
+   {LIB}_MODULE_TYPE_{MODNAME}_DYNAMIC (dynamic, no scope)
+   Example:
+   EINA_MODULE_TYPE_MP_PASS_THROUGH_STATIC
+  instead of EINA_STATIC_BUILD_PASS_THROUGH
+   EVAS_MODULE_TYPE_ENGINE_FB
+  instead of EVAS_STATIC_BUILD_FB
+   As this will make clear we're dealing with modules and their scope
+   (if any, things like Ecore_IMF have no module scope).
+
+
+CMake Tasks:
+
+ - add src/lib/NAME/CMakeLists.txt defining SOURCES, PUBLIC_HEADERS,
+   PKG_CONFIG_REQUIRES, PKG_CONFIG_REQUIRES_PRIVATE, LIBRARIES,
+   PUBLIC_LIBRARIES and so on. See src/lib/eina/CMakeLists.txt as an
+   example.
+
+ - add options and dependency detection to cmake/config/NAME.cmake,
+   see cmake/config/eina.cmake and cmake/config/common.cmake
+
+ - add src/modules/NAME/SCOPE/MODNAME/CMakeLists.txt or
+   src/modules/NAME/MODNAME/CMakeLists.txt (if no module scope). If
+   single source and no special requiresments (libs, etc), then it
+   should require no CMakeLists.txt and will be built automatically.
+
+ - add src/bin/NAME/CMakeLists.txt (single binary of a lib) or
+   src/bin/NAME/EXE_NAME/CMakeLists.txt (multiple binaries for a lib).
+   If single source (one .c), then no CMakeLists.txt should be needed,
+   see if it's already being built.
+
+ - add src/tests/NAME/CMakeLists.txt (single test of a lib) or
+   src/tests/NAME/EXE_NAME/CMakeLists.txt (multiple tests for a lib).
+   If single source (one .c), then no CMakeLists.txt should be needed,
+   see if it's already being built.
+
+Since it's under development, check the code in cmake/helpers/*.cmake,
+in particular cmake/helpers/EflMacros.cmake and check the comments and
+also fix bugs :-)
+
+Feedback on repetitive tasks and if you spot some
+unification/simplification/automatization.

-- 




Re: [E-devel] cmake attempt

2017-01-23 Thread Gustavo Sverzut Barbieri
Hi all,

Just merged the branch Marcel and I were working (actually we couldn't
share a branch since we cannot push to other developer's branch and we
cannot create a shared one).

We'll work in tree, so we avoid conflicts as we do renames and change
the #defines.

See TODO-cmake.txt on how you should help.



On Mon, Jan 23, 2017 at 9:38 AM, Gustavo Sverzut Barbieri
 wrote:
> On Mon, Jan 23, 2017 at 3:19 AM, Carsten Haitzler  
> wrote:
>> On Sat, 21 Jan 2017 09:45:04 -0200 Gustavo Sverzut Barbieri
>>  said:
>>
>>> On Sat, Jan 21, 2017 at 5:24 AM, Carsten Haitzler 
>>> wrote: [...]
>>> > i7 desktop: (autogen)(make) (eina_cpu.c) (eina_cpu.h)  ()
>>> > autotools: 27.802 4.3060.5711.234   0.097
>>> > cmake ninja:1.283 2.2780.1600.636   0.014
>>> > cmake make: 1.632 3.1420.2340.787   0.064
>>> >
>>> > pi3:
>>> > autotools:477.87062.6406.853   16.337   1.313
>>> > cmake ninja:   15.89235.9312.6119.627   1.365
>>> > cmake make:19.35838.9910.9611.161   0.921
>>> >
>>> > so dumping automake and libtool buys raw build speedups of like 2x. doing
>>> > any editing of code is massively faster as just far less is built AND it's
>>> > built faster. the autogen (configure/autotools) part is MANY MANY MANY
>>> > times faster. even assuming it'll get 3x slower once we check everything
>>> > with cmake... it's still 5-10 TIMES faster.
>>>
>>> currently cmake's configure does very barebone checks, such as types
>>> and the likes, but even that I want to improve by taking some
>>> shortcuts such as "if(LINUX AND GLIBC_GOOD_ENOUGH)" would assume you
>>> run a sane system and skip checking for stupid stuff. Same for
>>> compiler checks, we do lots of flags we know exist in newer compilers,
>>> so we could easily add an 'if' and just use the flags, not generate
>>> and compile one single test with that. Granted we could also do some
>>> of that in autootols, but some parts are trickier to do.
>>
>> yeah. having more "we know on platform X feature x/y/z are exist andor/ arfe
>> done this way" and simply detecting which is nicest. though there is the 
>> un-fun
>> thing s like "linux && glibc, linux && uclibc, linux && musl ..." for
>> starters... :(
>>
>>> > the simple version of this is: it looks like cmake doesn't do stupid
>>> > relinking or rebuilds it doesn't need to that i thought we'd have to 
>>> > fight.
>>> > so it just got better. cmake is seemingly right out there in terms of
>>> > speed. for a GENERIC build system tool that should/can handle anything it
>>> > seems to be handily fast.
>>>
>>> I configured it so it will require a build directory and inside that
>>> directory I shadow the system installation without "prefix", thus you
>>> end with "lib", "bin" and so on. They also use rpath to set paths to
>>> find the binaries, resetting those to "" (empty) at the time of
>>> installation, which is faster than relinking.
>>
>> i'm less of an rpath fan... i'd rather we use LI_LIBRARY_PATH instead at 
>> these
>> junctures...
>
> https://cmake.org/Wiki/CMake_RPATH_handling says -DCMAKE_SKIP_RPATH=ON
> does what you want.
>
> But overall it helps usage without the need for nasty libtool-like scripts.
>
> However, with the build results being laid out exactly like they would
> in the system makes things much easier, eina_prefix should just work,
> etc.
>
>
>>> Also note that cmake itself is just involved at the first moment,
>>> later you just run pure make/ninja commands. The make usually takes
>>> some helpers to produce progress and colors. There ninja is usually
>>> faster since it creates a full blown build.ninja with everything.
>>
>> well make/ninja with some calling out to cmake... but yeah.
>>
>>> Seems your RPI3 is slower with ninja than make, one reason may be IO?
>>> AFAIR ninja use command files and pass those to GCC with "@filename"
>>> instead of super long command lines. However opening and reading those
>>> small files may be hurting your build, since you're not actually
>>> compiling stuff due ccache.
>>
>> yes. ccache helps make the compile bit about as fast as it'll get so the 
>> other
>> parts show up...
>>
>>> > what i see here is a major leap in productivity if we moved to cmake. i 
>>> > now
>>> > "officially" like cmake. :) this would be a huge win for us... even if we
>>> > have to wrestle in a make dist and distcheck. the option of ninja is a "a
>>> > bit faster than gnu make and in some cases a lot faster" option. but 
>>> > really
>>> > cmake is the key.
>>> >
>>> > so i guess... bikeshedding ... is there any reason to not use cmake that
>>> > would override all the benefits? i cannot think of one.
>>>
>>> I'd like to complement with: simpler rules and usage for efl developers.
>>>
>>> With automake you can't autogenerate anything (at least I never found
>>> a may to apply m4 rules there), then you keep repeating patterns for
>>> modules and all, that

[EGIT] [core/efl] master 01/03: cmake: add eo

2017-01-23 Thread Marcel Hollerbach
bu5hm4n pushed a commit to branch master.

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

commit 27504d7db00c816832c7cc130632048ff05903e9
Author: Marcel Hollerbach 
Date:   Mon Jan 23 19:58:12 2017 +0100

cmake: add eo
---
 CMakeLists.txt |  1 +
 cmake/config/eo.cmake  |  1 +
 src/lib/efl/config.h.cmake |  2 ++
 src/lib/eo/CMakeLists.txt  | 27 ++
 src/tests/eo/access/CMakeLists.txt | 13 +
 src/tests/eo/children/CMakeLists.txt   |  9 +
 src/tests/eo/composite_objects/CMakeLists.txt  | 11 +++
 src/tests/eo/constructors/CMakeLists.txt   | 23 ++
 src/tests/eo/function_overrides/CMakeLists.txt | 15 ++
 src/tests/eo/interface/CMakeLists.txt  | 14 +
 src/tests/eo/mixin/CMakeLists.txt  | 19 ++
 src/tests/eo/signals/CMakeLists.txt|  9 +
 src/tests/eo/suite/CMakeLists.txt  | 24 +++
 13 files changed, 168 insertions(+)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 194ff3c..09479ba 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -37,6 +37,7 @@ include(${CMAKE_SOURCE_DIR}/cmake/config/common.cmake)
 
 EFL_LIB(eina)
 EFL_LIB(eolian)
+EFL_LIB(eo)
 
 EFL_OPTIONS_SUMMARY()
 
diff --git a/cmake/config/eo.cmake b/cmake/config/eo.cmake
new file mode 100644
index 000..8264d31
--- /dev/null
+++ b/cmake/config/eo.cmake
@@ -0,0 +1 @@
+EFL_OPTION(HAVE_EO_ID "Have Eo id indirection" ON)
diff --git a/src/lib/efl/config.h.cmake b/src/lib/efl/config.h.cmake
index f664e52..47ceb53 100644
--- a/src/lib/efl/config.h.cmake
+++ b/src/lib/efl/config.h.cmake
@@ -32,4 +32,6 @@
 #cmakedefine EFL_HAVE_POSIX_THREADS_SPINLOCK 1
 #cmakedefine EFL_HAVE_THREADS 1
 
+#cmakedefine HAVE_EO_ID
+
 #endif
diff --git a/src/lib/eo/CMakeLists.txt b/src/lib/eo/CMakeLists.txt
new file mode 100644
index 000..fb075f3
--- /dev/null
+++ b/src/lib/eo/CMakeLists.txt
@@ -0,0 +1,27 @@
+set(PUBLIC_LIBRARIES
+  eina
+)
+
+set(PUBLIC_HEADERS
+  Eo.h
+  efl_future.h
+)
+
+set(PUBLIC_EO_FILES
+  efl_object.eo
+  efl_class.eo
+  efl_object_override.eo
+  efl_interface.eo
+)
+
+set(SOURCES
+  eo.c
+  eo_ptr_indirection.c
+  eo_ptr_indirection.h
+  eo_base_class.c
+  eo_class_class.c
+  eo_add_fallback.c
+  eo_add_fallback.h
+  eo_private.h
+  efl_future.c
+)
diff --git a/src/tests/eo/access/CMakeLists.txt 
b/src/tests/eo/access/CMakeLists.txt
new file mode 100644
index 000..19360f0
--- /dev/null
+++ b/src/tests/eo/access/CMakeLists.txt
@@ -0,0 +1,13 @@
+set(LIBRARIES
+eina
+eo
+)
+
+set(SOURCES
+  access_inherit.c
+  access_inherit.h
+  access_main.c
+  access_simple.c
+  access_simple.h
+  access_simple_protected.h
+)
diff --git a/src/tests/eo/children/CMakeLists.txt 
b/src/tests/eo/children/CMakeLists.txt
new file mode 100644
index 000..bcd86ef
--- /dev/null
+++ b/src/tests/eo/children/CMakeLists.txt
@@ -0,0 +1,9 @@
+set(LIBRARIES
+  eo
+)
+
+set(SOURCES
+  children_main.c
+  children_simple.c
+  children_simple.h
+)
diff --git a/src/tests/eo/composite_objects/CMakeLists.txt 
b/src/tests/eo/composite_objects/CMakeLists.txt
new file mode 100644
index 000..cab44f9
--- /dev/null
+++ b/src/tests/eo/composite_objects/CMakeLists.txt
@@ -0,0 +1,11 @@
+set(LIBRARIES
+  eo
+)
+
+set(SOURCES
+  composite_objects_comp.c
+  composite_objects_comp.h
+  composite_objects_main.c
+  composite_objects_simple.c
+  composite_objects_simple.h
+)
diff --git a/src/tests/eo/constructors/CMakeLists.txt 
b/src/tests/eo/constructors/CMakeLists.txt
new file mode 100644
index 000..60de746
--- /dev/null
+++ b/src/tests/eo/constructors/CMakeLists.txt
@@ -0,0 +1,23 @@
+set(LIBRARIES
+  eo
+)
+
+set(SOURCES
+  constructors_main.c
+  constructors_mixin.c
+  constructors_mixin.h
+  constructors_simple.c
+  constructors_simple.h
+  constructors_simple2.c
+  constructors_simple2.h
+  constructors_simple3.c
+  constructors_simple3.h
+  constructors_simple4.c
+  constructors_simple4.h
+  constructors_simple5.c
+  constructors_simple5.h
+  constructors_simple6.c
+  constructors_simple6.h
+  constructors_simple7.c
+  constructors_simple7.h
+)
diff --git a/src/tests/eo/function_overrides/CMakeLists.txt 
b/src/tests/eo/function_overrides/CMakeLists.txt
new file mode 100644
index 000..c961d3b
--- /dev/null
+++ b/src/tests/eo/function_overrides/CMakeLists.txt
@@ -0,0 +1,15 @@
+set(LIBRARIES
+  eo
+)
+
+set(SOURCES
+  function_overrides_inherit.c
+  function_overrides_inherit.h
+  function_overrides_inherit2.c
+  function_overrides_inherit2.h
+  function_overrides_inherit3.c
+  function_overrides_inherit3.h
+  function_overrides_main.c
+  function_overrides_simple.c
+  function_overrides_simple.h
+)
diff --git a/src/tests/eo/interface/CMakeLists.txt 
b/src/tests/eo/interface/CMakeLists.txt
new file mode 100644
index 00

  1   2   >