[EGIT] [tools/eflete] master 20/21: Project export: check extension of exported file.

2016-08-10 Thread Mykyta Biliavskyi
nikawhite pushed a commit to branch master.

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

commit b3d52db5bb294a5560beb8cdd296fa0e30acb445
Author: Mykyta Biliavskyi 
Date:   Wed Aug 10 12:29:26 2016 +0300

Project export: check extension of exported file.

Use eina_str_has_extension instead compose of strcmp and strrchr.
---
 src/bin/ui/project_export.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/ui/project_export.c b/src/bin/ui/project_export.c
index 5d61623..11696ec 100644
--- a/src/bin/ui/project_export.c
+++ b/src/bin/ui/project_export.c
@@ -51,7 +51,7 @@ _export_dev(void *data __UNUSED__,
 
assert(selected != NULL);
 
-   if (ecore_file_is_dir(path) || (strcmp(strrchr(path, '.'), ".edj")))
+   if (ecore_file_is_dir(path) || (!eina_str_has_extension(path, ".edj")))
  {
 buf = eina_strbuf_new();
 eina_strbuf_append_printf(buf, _("Please type in actual .edj file"));
@@ -124,7 +124,7 @@ _export_release(void *data __UNUSED__,
 
assert(selected != NULL);
 
-   if (ecore_file_is_dir(path) || (strcmp(strrchr(path, '.'), ".edj")))
+   if (ecore_file_is_dir(path) || (!eina_str_has_extension(path, ".edj")))
  {
 buf = eina_strbuf_new();
 eina_strbuf_append_printf(buf, _("Please type in actual .edj file"));

-- 




[EGIT] [tools/eflete] master 08/21: Project manager: add submodule project_manager_import_edc.

2016-08-10 Thread Mykyta Biliavskyi
nikawhite pushed a commit to branch master.

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

commit d38cb1ebc1e095737528acc9767f2b4ed286ab66
Author: Mykyta Biliavskyi 
Date:   Tue Aug 9 16:43:00 2016 +0300

Project manager: add submodule project_manager_import_edc.

New submodule response to import edc project into Eflete.
Used ecore_exe_pipe with monitoring returned status from edje_cc app.
---
 src/bin/Makefile.am|   1 +
 src/bin/project_manager/project_manager.c  |  81 +++-
 .../project_manager/project_manager_import_edc.c   | 102 +
 src/bin/project_manager/project_manager_private.h  |   6 +-
 4 files changed, 117 insertions(+), 73 deletions(-)

diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am
index f8cb0cd..ee69ca8 100644
--- a/src/bin/Makefile.am
+++ b/src/bin/Makefile.am
@@ -67,6 +67,7 @@ libete_a_SOURCES = \
 ../../src/bin/project_manager/project_manager.c \
 ../../src/bin/project_manager/project_manager_open.c \
 ../../src/bin/project_manager/project_manager_import_edj.c \
+../../src/bin/project_manager/project_manager_import_edc.c \
 ../../src/bin/project_manager/project_manager_export_resources.c \
 ../../src/bin/project_manager/resource_manager.c \
 ../../src/bin/logger/logger.c \
diff --git a/src/bin/project_manager/project_manager.c 
b/src/bin/project_manager/project_manager.c
index 1d853d0..6a93791 100644
--- a/src/bin/project_manager/project_manager.c
+++ b/src/bin/project_manager/project_manager.c
@@ -558,68 +558,6 @@ _exe_data(void *data __UNUSED__,
return ECORE_CALLBACK_PASS_ON;
 }
 
-static void *
-_project_import_edc(void *data,
-Eina_Thread *thread __UNUSED__)
-{
-//   Eina_Bool send_end_child;
-   Eina_Bool send_end = (data) ? (*(Eina_Bool *)data) : true;
-
-   Eina_Tmpstr *tmp_dirname;
-   Ecore_Event_Handler *cb_msg_stdout = NULL,
-   *cb_msg_stderr = NULL;
-   int edje_cc_res = 0, waitpid_res = 0;
-
-   PROGRESS_SEND(_("Start import '%s' file as new project"), worker.edc);
-   PROGRESS_SEND(_("Creating a specifiec file and folders"));
-   if (worker.func_progress)
- {
-cb_msg_stdout = ecore_event_handler_add(ECORE_EXE_EVENT_DATA, 
_exe_data, NULL);
-cb_msg_stderr = ecore_event_handler_add(ECORE_EXE_EVENT_ERROR, 
_exe_data, NULL);
- }
-   eina_file_mkdtemp("eflete_build_XX", _dirname);
-   worker.edj = eina_stringshare_printf("%s/out.edj", tmp_dirname);
-   Edje_Exe_Data *edje_cc_data = mem_malloc(sizeof(Edje_Exe_Data));
-   edje_cc_data->cmd = eina_stringshare_printf("edje_cc -v %s %s %s",
-   worker.edc,
-   worker.edj,
-   worker.build_options);
-   edje_cc_data->flags  = ECORE_EXE_PIPE_READ |
-  ECORE_EXE_PIPE_READ_LINE_BUFFERED |
-  ECORE_EXE_PIPE_ERROR |
-  ECORE_EXE_PIPE_ERROR_LINE_BUFFERED;
-   THREAD_TESTCANCEL;
-   ecore_main_loop_thread_safe_call_sync(_ecore_exe_edje_exe, edje_cc_data);
-   THREAD_TESTCANCEL;
-   waitpid_res = waitpid(edje_cc_data->exe_pid, _cc_res, 0);
-   eina_stringshare_del(edje_cc_data->cmd);
-   free(edje_cc_data);
-   if (worker.func_progress)
- {
-ecore_event_handler_del(cb_msg_stdout);
-ecore_event_handler_del(cb_msg_stderr);
- }
-
-   if ((waitpid_res == -1) ||
-   (WIFEXITED(edje_cc_res) && (WEXITSTATUS(edje_cc_res) != 0 )))
- {
-END_SEND(PM_PROJECT_ERROR);
-return NULL;
- }
-
-//   send_end_child = false;
-//   _project_import_edj(_end_child, NULL);
-
-   PROGRESS_SEND(_("Removing temporary files..."));
-   ecore_file_recursive_rm(tmp_dirname);
-   eina_tmpstr_del(tmp_dirname);
-   PROGRESS_SEND(_("Done."));
-
-   if (send_end) END_SEND(PM_PROJECT_SUCCESS)
-
-   return NULL;
-}
-
 void
 pm_project_import_edc(const char *name,
   const char *path,
@@ -633,15 +571,18 @@ pm_project_import_edc(const char *name,
assert(path != NULL);
assert(edc != NULL);
 
-   WORKER_CREATE(func_progress, func_end, data, NULL,
- name, path, NULL, edc, import_options, NULL);
+   Project_Thread *ptd;
+   ptd = mem_calloc(1, sizeof(Project_Thread));
+   ptd->func_progress = func_progress;
+   ptd->func_end = func_end;
+   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->build_options = eina_stringshare_add(import_options);
 
-   if (!eina_thread_create(, EINA_THREAD_URGENT, -1,
-   (void *)_project_import_edc, NULL))
- {
-ERR("System error: can't create thread");
-abort();
- }
+   _project_import_edc(ptd);
 }
 
 Eina_Bool
diff --git a/src/bin/project_manager/project_manager_import_edc.c 

[EGIT] [tools/eflete] master 13/21: Project manager: Fix release export for edj file.

2016-08-10 Thread Mykyta Biliavskyi
nikawhite pushed a commit to branch master.

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

commit 4c3c82173501d53462cc64536448a48db9223dc4
Author: Mykyta Biliavskyi 
Date:   Tue Aug 9 19:27:23 2016 +0300

Project manager: Fix release export for edj file.

Enabled in menu.
---
 src/bin/project_manager/project_manager.c  | 110 ++---
 .../project_manager/project_manager_export_edj.c   | 100 +++
 src/bin/project_manager/project_manager_private.h  |   2 +
 src/bin/ui/menu.c  |   5 +-
 src/bin/ui/project_export.c|  17 +++-
 5 files changed, 127 insertions(+), 107 deletions(-)

diff --git a/src/bin/project_manager/project_manager.c 
b/src/bin/project_manager/project_manager.c
index fecab36..443b3c8 100644
--- a/src/bin/project_manager/project_manager.c
+++ b/src/bin/project_manager/project_manager.c
@@ -197,17 +197,6 @@ _end_send(void *data)
func(udata, result);
 }
 
-static void *
-_ecore_exe_edje_exe(void *data)
-{
-   Edje_Exe_Data *edje_exe_data = (Edje_Exe_Data *)data;
-
-   edje_exe_data->exe_cmd = ecore_exe_pipe_run(edje_exe_data->cmd, 
edje_exe_data->flags, NULL);
-   edje_exe_data->exe_pid = ecore_exe_pid_get(edje_exe_data->exe_cmd);
-
-   return NULL;
-}
-
 Eina_Bool
 _build_script_write(const char *path)
 {
@@ -538,25 +527,6 @@ pm_project_import_edj(const char *name,
_project_import_edj(ptd);
 }
 
-static Eina_Bool
-_exe_data(void *data __UNUSED__,
-  int type __UNUSED__,
-  void *event)
-{
-   int i;
-   Ecore_Exe_Event_Data *ev = event;
-
-   if (ev->lines)
- {
-for (i = 0; ev->lines[i].line; i++)
-  {
- DBG("%s", ev->lines[i].line);
- PROGRESS_SEND("%s", ev->lines[i].line);
-  }
- }
-
-   return ECORE_CALLBACK_PASS_ON;
-}
 
 void
 pm_project_import_edc(const char *name,
@@ -944,7 +914,6 @@ pm_group_source_code_export(Project *project,
  true);
 }
 
-
 void
 pm_project_source_code_export(Project *project,
   const char *path,
@@ -969,69 +938,6 @@ pm_project_source_code_export(Project *project,
  _project_source_code_export_end_cb,
  _project_source_code_export_cancel_cb, ptd,
  true);
-
-}
-
-static void *
-_release_export(void *data __UNUSED__,
-Eina_Thread *thread __UNUSED__)
-{
-   Eina_Tmpstr *tmp_dirname;
-   Eina_Strbuf *cmd;
-   Ecore_Event_Handler *cb_msg_stdout = NULL,
-   *cb_msg_stderr = NULL;
-   int waitpid_res = 0, edje_cc_res = 0;
-
-   PROGRESS_SEND(_("Export project as release file"));
-   PROGRESS_SEND(_("Export to file '%s'"), worker.edj);
-
-   eina_file_mkdtemp("eflete_build_XX", _dirname);
-/*   if (!_project_src_export(tmp_dirname))
- {
-END_SEND(PM_PROJECT_ERROR)
-goto exit0;
- }
- */
-   if (worker.func_progress)
- {
-cb_msg_stdout = ecore_event_handler_add(ECORE_EXE_EVENT_DATA, 
_exe_data, NULL);
-cb_msg_stderr = ecore_event_handler_add(ECORE_EXE_EVENT_ERROR, 
_exe_data, NULL);
- }
-   cmd = eina_strbuf_new();
-   Edje_Exe_Data *edje_cc_data = mem_malloc(sizeof(Edje_Exe_Data));
-   eina_strbuf_append_printf(cmd, "edje_cc -v -id %s/images/ -sd %s/sounds/ 
-fd %s/fonts/ %s/generated.edc %s",
- tmp_dirname, tmp_dirname, tmp_dirname, 
tmp_dirname, worker.edj);
-   edje_cc_data->cmd = eina_stringshare_add(eina_strbuf_string_get(cmd));
-   edje_cc_data->flags  = ECORE_EXE_PIPE_READ |
-  ECORE_EXE_PIPE_READ_LINE_BUFFERED |
-  ECORE_EXE_PIPE_ERROR |
-  ECORE_EXE_PIPE_ERROR_LINE_BUFFERED;
-   THREAD_TESTCANCEL;
-   ecore_main_loop_thread_safe_call_sync(_ecore_exe_edje_exe, edje_cc_data);
-   THREAD_TESTCANCEL;
-   waitpid_res = waitpid(edje_cc_data->exe_pid, _cc_res, 0);
-   eina_stringshare_del(edje_cc_data->cmd);
-   free(edje_cc_data);
-   if (worker.func_progress)
- {
-ecore_event_handler_del(cb_msg_stdout);
-ecore_event_handler_del(cb_msg_stderr);
- }
-   if ((waitpid_res == -1) ||
-   (WIFEXITED(edje_cc_res) && (WEXITSTATUS(edje_cc_res) != 0 )))
- {
-END_SEND(PM_PROJECT_ERROR);
-goto exit1;
- }
-
-   PROGRESS_SEND("Export done");
-   END_SEND(PM_PROJECT_SUCCESS);
-
-exit1:
-   eina_strbuf_free(cmd);
-   ecore_file_recursive_rm(tmp_dirname);
-   eina_tmpstr_del(tmp_dirname);
-   return NULL;
 }
 
 void
@@ -1044,15 +950,15 @@ pm_project_release_export(Project *project,
assert(project != NULL);
assert(path != NULL);
 
-   WORKER_CREATE(func_progress, func_end, data, project,
- NULL, NULL, path, NULL, data, NULL);
+   Project_Thread *ptd;
+   ptd = mem_calloc(1, sizeof(Project_Thread));
+   ptd->path = 

[EGIT] [tools/eflete] master 09/21: Project manager: usage Project_Thread instead worker.

2016-08-10 Thread Mykyta Biliavskyi
nikawhite pushed a commit to branch master.

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

commit ba572fed622776f501a4ddee59eda69ddbc2c54e
Author: Mykyta Biliavskyi 
Date:   Tue Aug 9 16:58:05 2016 +0300

Project manager:  usage Project_Thread instead worker.

Updated signature and code of _project_edj_file_copy and
_copy_meta_data_to_pro internal functions for usage Projec_Thread
instead worker.
---
 src/bin/project_manager/project_manager.c| 14 +++---
 src/bin/project_manager/project_manager_import_edj.c | 12 
 src/bin/project_manager/project_manager_private.h|  4 ++--
 3 files changed, 13 insertions(+), 17 deletions(-)

diff --git a/src/bin/project_manager/project_manager.c 
b/src/bin/project_manager/project_manager.c
index 6a93791..39b6cae 100644
--- a/src/bin/project_manager/project_manager.c
+++ b/src/bin/project_manager/project_manager.c
@@ -357,21 +357,21 @@ _project_files_create(Project_Thread *ptd)
 #undef MKDIR
 
 void
-_copy_meta_data_to_pro(void)
+_copy_meta_data_to_pro(Project_Thread *ptd)
 {
Eet_File *ef;
char *name, *authors, *version, *license, *comment;
 
-   ef = eet_open(worker.edj, EET_FILE_MODE_READ_WRITE);
+   ef = eet_open(ptd->edj, EET_FILE_MODE_READ_WRITE);
 
-   name = strdup(worker.name);
+   name = strdup(ptd->name);
authors = eet_read(ef, PROJECT_KEY_AUTHORS, NULL);
version = eet_read(ef, PROJECT_KEY_FILE_VERSION, NULL);
license = eet_read(ef, PROJECT_KEY_LICENSE, NULL);
comment = eet_read(ef, PROJECT_KEY_COMMENT, NULL);
eet_close(ef);
 
-   pm_project_meta_data_set(worker.project, name, authors,
+   pm_project_meta_data_set(ptd->project, name, authors,
 version, license, comment);
 
if (name) free(name);
@@ -382,13 +382,13 @@ _copy_meta_data_to_pro(void)
 }
 
 Eina_Bool
-_project_edj_file_copy(void)
+_project_edj_file_copy(Project_Thread *ptd)
 {
Eina_Stringshare *src, *dst;
Eina_Bool result;
 
-   src = eina_stringshare_ref(worker.edj);
-   dst = eina_stringshare_ref(worker.project->saved_edj);
+   src = eina_stringshare_ref(ptd->edj);
+   dst = eina_stringshare_ref(ptd->project->saved_edj);
result = ecore_file_cp(src, dst);
 
DBG("Copy the .edj file to project folder.");
diff --git a/src/bin/project_manager/project_manager_import_edj.c 
b/src/bin/project_manager/project_manager_import_edj.c
index 03d298a..599ce27 100644
--- a/src/bin/project_manager/project_manager_import_edj.c
+++ b/src/bin/project_manager/project_manager_import_edj.c
@@ -61,10 +61,8 @@ _edje_pick_end_cb(void *data,
 return ECORE_CALLBACK_DONE;
  }
 
-   /* Replace void with ptd */
-   _project_edj_file_copy();
-   /* Replace void with ptd */
-   _copy_meta_data_to_pro();
+   _project_edj_file_copy(ptd);
+   _copy_meta_data_to_pro(ptd);
_project_special_group_add(ptd->project);
_project_dummy_image_add(ptd->project);
_project_open_internal(ptd);
@@ -180,10 +178,8 @@ _project_import_edj(void *data)
 ptd->func_progress(NULL, msg);
 eina_stringshare_del(msg);
 
-/* Replace void with ptd */
-_project_edj_file_copy();
-/* Replace void with ptd */
-_copy_meta_data_to_pro();
+_project_edj_file_copy(ptd);
+_copy_meta_data_to_pro(ptd);
 _project_special_group_add(ptd->project);
 _project_dummy_image_add(ptd->project);
 _project_open_internal(ptd);
diff --git a/src/bin/project_manager/project_manager_private.h 
b/src/bin/project_manager/project_manager_private.h
index db642cc..451b2b1 100644
--- a/src/bin/project_manager/project_manager_private.h
+++ b/src/bin/project_manager/project_manager_private.h
@@ -150,12 +150,12 @@ void _project_special_group_add(Project *project);
 void _project_dummy_image_add(Project *project);
 
 /* Copy current edj file into path, that stored for save */
-Eina_Bool _project_edj_file_copy(void);
+Eina_Bool _project_edj_file_copy(Project_Thread *ptd);
 
 /* Direct read meta data from eet file and copy it
  * inside *.pro file.
  */
-void _copy_meta_data_to_pro(void);
+void _copy_meta_data_to_pro(Project_Thread *ptd);
 
 /* Allocate Project structure and prepare data
  * for files tree of project.

-- 




[EGIT] [tools/eflete] master 10/21: Project manager: add submodule project_manager_export_edc.

2016-08-10 Thread Mykyta Biliavskyi
nikawhite pushed a commit to branch master.

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

commit 9cb767792cfa6d9ca2681fd0e4e85f5e869f78db
Author: Mykyta Biliavskyi 
Date:   Tue Aug 9 17:46:15 2016 +0300

Project manager: add submodule project_manager_export_edc.

New submodule works on exporting current project to edc format.
Based on Ecore_Thread.
---
 src/bin/Makefile.am|   1 +
 src/bin/project_manager/project_manager.c  | 108 +++--
 .../project_manager/project_manager_export_edc.c   | 131 +
 src/bin/project_manager/project_manager_private.h  |  15 +++
 4 files changed, 165 insertions(+), 90 deletions(-)

diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am
index ee69ca8..ae766c2 100644
--- a/src/bin/Makefile.am
+++ b/src/bin/Makefile.am
@@ -69,6 +69,7 @@ libete_a_SOURCES = \
 ../../src/bin/project_manager/project_manager_import_edj.c \
 ../../src/bin/project_manager/project_manager_import_edc.c \
 ../../src/bin/project_manager/project_manager_export_resources.c \
+../../src/bin/project_manager/project_manager_export_edc.c \
 ../../src/bin/project_manager/resource_manager.c \
 ../../src/bin/logger/logger.c \
 ../../src/bin/config/config.c \
diff --git a/src/bin/project_manager/project_manager.c 
b/src/bin/project_manager/project_manager.c
index 39b6cae..a2ce354 100644
--- a/src/bin/project_manager/project_manager.c
+++ b/src/bin/project_manager/project_manager.c
@@ -208,7 +208,7 @@ _ecore_exe_edje_exe(void *data)
return NULL;
 }
 
-static Eina_Bool
+Eina_Bool
 _build_script_write(const char *path)
 {
FILE *f;
@@ -864,7 +864,7 @@ pm_project_resource_export(Project *pro __UNUSED__, const 
char* dir_path __UNUSE
return false;
 }
 
-static void
+void
 _external_resources_export(Eina_List *resources, const char *dst)
 {
Eina_Strbuf *buf;
@@ -1041,84 +1041,6 @@ pm_group_source_code_export(Project *project,
  }
 }
 
-static Eina_Bool
-_project_src_export(const char *path)
-{
-   char *code;
-   Eina_Strbuf *buf;
-   FILE *f;
-
-   buf = eina_strbuf_new();
-   /* create a folder for collect the source files */
-   ecore_file_mkdir(path);
-   eina_strbuf_reset(buf);
-
-   /* create and open edc file for print the source code of collection 
(project) */
-   eina_strbuf_append_printf(buf, "%s/generated.edc", path);
-   f = fopen(eina_strbuf_string_get(buf), "w");
-   if (!f)
- {
-ERR("Could't open file '%s'", eina_strbuf_string_get(buf))
-return false;
- }
-   eina_strbuf_reset(buf);
-
-   /* get the full source code of given project */
-   THREAD_CONTEXT_SWITCH_BEGIN;
-   code = edje_edit_full_source_generate(worker.project->global_object);
-   THREAD_CONTEXT_SWITCH_END;
-
-   fputs(code, f);
-   free(code);
-   if (f) fclose(f);
-
-   /* export resource */
-   if (worker.project->images)
- {
-eina_strbuf_append_printf(buf, "%s/images/", path);
-ecore_file_mkdir(eina_strbuf_string_get(buf));
-_external_resources_export(worker.project->images, 
eina_strbuf_string_get(buf));
-eina_strbuf_reset(buf);
- }
-   if (worker.project->sounds)
- {
-eina_strbuf_append_printf(buf, "%s/sounds/", path);
-ecore_file_mkdir(eina_strbuf_string_get(buf));
-_external_resources_export(worker.project->sounds, 
eina_strbuf_string_get(buf));
-eina_strbuf_reset(buf);
- }
-   if (worker.project->fonts)
- {
-eina_strbuf_append_printf(buf, "%s/fonts/", path);
-ecore_file_mkdir(eina_strbuf_string_get(buf));
-_external_resources_export(worker.project->fonts, 
eina_strbuf_string_get(buf));
-eina_strbuf_reset(buf);
- }
-
-   eina_strbuf_reset(buf);
-   eina_strbuf_append_printf(buf, "%s/build.sh", path);
-   _build_script_write(eina_strbuf_string_get(buf));
-
-   eina_strbuf_free(buf);
-   return true;
-}
-
-static void *
-_source_code_export(void *data __UNUSED__, Eina_Thread *thread __UNUSED__)
-{
-   Eina_Strbuf *buf;
-
-   PROGRESS_SEND(_("Generate source code ..."));
-   buf = eina_strbuf_new();
-   eina_strbuf_append_printf(buf, "%s/%s", worker.path, worker.project->name);
-   if (_project_src_export(eina_strbuf_string_get(buf)))
- END_SEND(PM_PROJECT_SUCCESS)
-   else
- END_SEND(PM_PROJECT_ERROR)
-   eina_strbuf_free(buf);
-   return NULL;
-}
-
 void
 pm_project_source_code_export(Project *project,
   const char *path,
@@ -1129,15 +1051,21 @@ pm_project_source_code_export(Project *project,
assert(project != NULL);
assert(path != NULL);
 
-   WORKER_CREATE(func_progress, func_end, data, project,
- NULL, path, NULL, NULL, data, NULL);
+   Project_Thread *ptd;
+   ptd = mem_calloc(1, sizeof(Project_Thread));
+   ptd->path = eina_stringshare_add(path);
+   ptd->project = project;
+   ptd->func_progress = func_progress;
+   ptd->func_end = func_end;
+   

[EGIT] [tools/eflete] master 21/21: editor_program: emit_source should be not NULL if emit_signal is setted

2016-08-10 Thread Vyacheslav Reutskiy
nikawhite pushed a commit to branch master.

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

commit a280c4b2b77f7417659e2c40a1f3d979aac5e09d
Author: Vyacheslav Reutskiy 
Date:   Wed Aug 10 11:49:16 2016 +0300

editor_program: emit_source should be not NULL if emit_signal is setted

The program attribute emit_source shoult be not NULL if user set new
value only for emit_signal. Edje dislike the NULL values and ignore it,
so we must to set empty strings if want to get a valid program.

@fix

Change-Id: Ia5186a980d2d381418b24923e155f6b4e5632ba6
---
 src/bin/editor/editor_program.c | 38 +-
 1 file changed, 37 insertions(+), 1 deletion(-)

diff --git a/src/bin/editor/editor_program.c b/src/bin/editor/editor_program.c
index 4b12d3a..2431781 100644
--- a/src/bin/editor/editor_program.c
+++ b/src/bin/editor/editor_program.c
@@ -503,13 +503,49 @@ EDITOR_PROGRAM_STRING(source, source, 
ATTRIBUTE_PROGRAM_SOURCE);
 EDITOR_PROGRAM_STRING(state, state, ATTRIBUTE_PROGRAM_STATE);
 EDITOR_PROGRAM_DOUBLE(value, value, ATTRIBUTE_PROGRAM_VALUE);
 
-EDITOR_PROGRAM_STRING(emit_signal, state, ATTRIBUTE_PROGRAM_EMIT_SIGNAL);
 EDITOR_PROGRAM_STRING(emit_source, state2, ATTRIBUTE_PROGRAM_EMIT_SOURCE);
 
 EDITOR_PROGRAM_DOUBLE(drag_value_x, value, ATTRIBUTE_PROGRAM_DRAG_VALUE_X);
 EDITOR_PROGRAM_DOUBLE(drag_value_y, value2, ATTRIBUTE_PROGRAM_DRAG_VALUE_Y);
 
 Eina_Bool
+editor_program_emit_signal_set(Evas_Object *edit_object, Change *change, 
Eina_Bool merge, Eina_Bool apply,
+   const char *program, const char *new_val)
+{
+   Diff *diff;
+   Attribute attribute = ATTRIBUTE_PROGRAM_EMIT_SIGNAL;
+   assert(edit_object != NULL);
+   assert(program != NULL);
+   if (change)
+ {
+Eina_Stringshare *old_value = 
edje_edit_program_emit_signal_get(edit_object, program);
+diff = mem_calloc(1, sizeof(Diff));
+diff->redo.type = FUNCTION_TYPE_STRING_STRING;
+diff->redo.function = editor_program_emit_signal_set;
+diff->redo.args.type_ss.s1 = eina_stringshare_add(program);
+diff->redo.args.type_ss.s2 = eina_stringshare_add(new_val);
+diff->undo.type = FUNCTION_TYPE_STRING_STRING;
+diff->undo.function = editor_program_emit_signal_set;
+diff->undo.args.type_sd.s1 = eina_stringshare_add(program);
+diff->undo.args.type_ss.s2 = old_value;
+if (merge)
+  change_diff_merge_add(change, diff);
+else
+  change_diff_add(change, diff);
+ }
+   if (apply)
+ {
+   CRIT_ON_FAIL(edje_edit_program_state_set(edit_object, program, 
new_val));
+   if (!edje_edit_program_emit_source_get(edit_object, program))
+ CRIT_ON_FAIL(edje_edit_program_state2_set(edit_object, program, ""));
+   _editor_project_changed();
+   if (!_editor_signals_blocked) evas_object_smart_callback_call(ap.win, 
SIGNAL_EDITOR_ATTRIBUTE_CHANGED, );
+   evas_object_smart_callback_call(ap.win, SIGNAL_EDITOR_PROGRAM_UPDATE, 
(void *)program);
+ }
+   return true;
+}
+
+Eina_Bool
 editor_program_name_set(Evas_Object *edit_object, Change *change, Eina_Bool 
merge, Eina_Bool apply,
 const char *name, const char *new_val)
 {

-- 




[EGIT] [tools/eflete] master 07/21: Project manager: add submodule for export resources.

2016-08-10 Thread Mykyta Biliavskyi
nikawhite pushed a commit to branch master.

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

commit 9791064d0f7b31da229259db72dab1fea2959955
Author: Mykyta Biliavskyi 
Date:   Tue Aug 9 14:46:25 2016 +0300

Project manager: add submodule for export resources.

Submodule project_manager_export_resources provide functionality
for export resources (like images, sounds, styles etc.) from
binary file onto disk.
For each resource type  new thread is started. That maked for
make lighter main loop, which makes animation for UI.
---
 src/bin/Makefile.am|   1 +
 src/bin/project_manager/project_manager.c  | 453 +-
 .../project_manager_export_resources.c | 524 +
 .../project_manager/project_manager_import_edj.c   |   6 +-
 src/bin/project_manager/project_manager_open.c |   3 +-
 src/bin/project_manager/project_manager_private.h  |  25 +-
 6 files changed, 667 insertions(+), 345 deletions(-)

diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am
index 7034a0f..f8cb0cd 100644
--- a/src/bin/Makefile.am
+++ b/src/bin/Makefile.am
@@ -67,6 +67,7 @@ libete_a_SOURCES = \
 ../../src/bin/project_manager/project_manager.c \
 ../../src/bin/project_manager/project_manager_open.c \
 ../../src/bin/project_manager/project_manager_import_edj.c \
+../../src/bin/project_manager/project_manager_export_resources.c \
 ../../src/bin/project_manager/resource_manager.c \
 ../../src/bin/logger/logger.c \
 ../../src/bin/config/config.c \
diff --git a/src/bin/project_manager/project_manager.c 
b/src/bin/project_manager/project_manager.c
index 0957200..1d853d0 100644
--- a/src/bin/project_manager/project_manager.c
+++ b/src/bin/project_manager/project_manager.c
@@ -91,24 +91,6 @@ static Project_Thread worker;
 }
 
 static Eina_Bool
-_image_resources_load(Project *project);
-
-static Eina_Bool
-_sound_resources_load(Project *project);
-
-static Eina_Bool
-_font_resources_load(Project *project);
-
-static void
-_tones_resources_load(Project *project);
-
-static void
-_colorclasses_resources_load(Project *project);
-
-static void
-_styles_resources_load(Project *project);
-
-static Eina_Bool
 _project_dev_file_create(Project *pro)
 {
Eina_Bool result;
@@ -190,17 +172,28 @@ _progress_send(void *data)
 }
 
 void
-_end_send(void *data __UNUSED__)
+_end_send(void *data)
 {
PM_Project_End_Cb func;
+   Project_Thread *ptd = (Project_Thread *)data;
PM_Project_Result result;
void *udata;
 
/** Copy the links to callback and meesage, to fast release worker 
resource. */
-   worker.func_progress = NULL;
-   func = worker.func_end;
-   result = worker.result;
-   udata = worker.data;
+   func = ptd->func_end;
+   result = ptd->result;
+   udata = ptd->data;
+   ecore_event_handler_del(ptd->del_handler);
+   ecore_event_handler_del(ptd->error_handler);
+   ecore_event_handler_del(ptd->data_handler);
+
+   if (ptd->tmp_dirname != NULL)
+ {
+ecore_file_recursive_rm(ptd->tmp_dirname);
+eina_tmpstr_del(ptd->tmp_dirname);
+ }
+
+   free(ptd);
func(udata, result);
 }
 
@@ -242,6 +235,60 @@ exit:
return res;
 }
 
+void
+_gm_group_load_cancel_cb(void *data,
+ Ecore_Thread *th __UNUSED__)
+{
+   Feedback_Thread_Data *ftd = (Feedback_Thread_Data *)data;
+   Project_Thread *ptd = ecore_thread_global_data_find("ptd");
+   ecore_thread_global_data_del("ptd");
+   edje_file_cache_flush();
+   ptd->result = PM_PROJECT_ERROR;
+   ERR("Failed to load group tree.");
+
+   eina_lock_release(>mutex);
+   TODO("Remove static worker from this module");
+   worker.project = ptd->project;
+   free(ftd);
+   _end_send(ptd);
+}
+
+void
+_gm_group_load_end_cb(void *data,
+  Ecore_Thread *th __UNUSED__)
+{
+   Feedback_Thread_Data *ftd = (Feedback_Thread_Data *)data;
+   Project_Thread *ptd = ecore_thread_global_data_find("ptd");
+   ecore_thread_global_data_del("ptd");
+   edje_file_cache_flush();
+   ptd->result = PM_PROJECT_SUCCESS;
+
+   eina_lock_release(>mutex);
+   TODO("Remove static worker from this module");
+   worker.project = ptd->project;
+   free(ftd);
+   _end_send(ptd);
+}
+
+void
+_gm_group_load_feedback_job(void *data, Ecore_Thread *th)
+{
+   Feedback_Thread_Data *ftd = (Feedback_Thread_Data *)data;
+   Project_Thread *ptd = ecore_thread_global_data_find("ptd");
+   if (!eina_lock_take(>mutex))
+ {
+   ERR("Failed access data");
+   ecore_thread_cancel(th);
+   return;
+ }
+   Project *project = (Project *) ptd->project;
+
+   Eina_Stringshare *message = eina_stringshare_printf(_("Load group tree"));
+   ecore_thread_feedback(th, message);
+
+   gm_groups_load(project);
+}
+
 #define MKDIR(NAME) \
tmp = eina_stringshare_printf("%s/"#NAME, pro->develop_path); \
ecore_file_mkdir(tmp); \
@@ -351,9 +398,10 @@ _project_edj_file_copy(void)
 }
 
 void

[EGIT] [tools/eflete] master 17/21: Project manager: change signature of progress_end functions.

2016-08-10 Thread Mykyta Biliavskyi
nikawhite pushed a commit to branch master.

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

commit d2b0190abad9a5548b568d0e9d8ef873e3dcb66c
Author: Mykyta Biliavskyi 
Date:   Tue Aug 9 21:05:36 2016 +0300

Project manager: change signature of progress_end functions.

This need to avoid usage static structure 'worker' inside project
manager.
Now after finishing any routine inside project manager - variable
project will be returned back into main thread.
---
 src/bin/project_manager/project_manager.c | 18 +++---
 src/bin/project_manager/project_manager.h | 23 +--
 src/bin/project_manager/project_manager_private.h |  1 +
 src/bin/ui/project_close.c|  2 +-
 src/bin/ui/project_common.c   |  2 +-
 src/bin/ui/project_common.h   |  2 +-
 src/bin/ui/tab_home_common.c  | 10 +-
 src/bin/ui/tab_home_import_edc.c  |  4 ++--
 src/bin/ui/tab_home_import_edj.c  |  4 ++--
 src/bin/ui/tab_home_new.c |  4 ++--
 src/bin/ui/tabs_private.h |  2 +-
 11 files changed, 20 insertions(+), 52 deletions(-)

diff --git a/src/bin/project_manager/project_manager.c 
b/src/bin/project_manager/project_manager.c
index 5664df0..73c06ab 100644
--- a/src/bin/project_manager/project_manager.c
+++ b/src/bin/project_manager/project_manager.c
@@ -133,12 +133,14 @@ _end_send(void *data)
PM_Project_End_Cb func;
Project_Thread *ptd = (Project_Thread *)data;
PM_Project_Result result;
+   Project *project;
void *udata;
 
/** Copy the links to callback and meesage, to fast release worker 
resource. */
func = ptd->func_end;
result = ptd->result;
udata = ptd->data;
+   project = ptd->project;
ecore_event_handler_del(ptd->del_handler);
ecore_event_handler_del(ptd->error_handler);
ecore_event_handler_del(ptd->data_handler);
@@ -150,7 +152,7 @@ _end_send(void *data)
  }
 
free(ptd);
-   func(udata, result);
+   func(udata, result, project);
 }
 
 Eina_Bool
@@ -193,7 +195,6 @@ _gm_group_load_cancel_cb(void *data,
 
eina_lock_release(>mutex);
TODO("Remove static worker from this module");
-   worker.project = ptd->project;
free(ftd);
_end_send(ptd);
 }
@@ -210,7 +211,6 @@ _gm_group_load_end_cb(void *data,
 
eina_lock_release(>mutex);
TODO("Remove static worker from this module");
-   worker.project = ptd->project;
free(ftd);
_end_send(ptd);
 }
@@ -459,18 +459,6 @@ pm_project_thread_free()
return true;
 }
 
-PM_Project_Result
-pm_project_thread_result_get(void)
-{
-   return worker.result;
-}
-
-Project *
-pm_project_thread_project_get()
-{
-   return worker.project;
-}
-
 void
 pm_project_open(const char *path,
 PM_Project_Progress_Cb func_progress,
diff --git a/src/bin/project_manager/project_manager.h 
b/src/bin/project_manager/project_manager.h
index d7e1183..81f3fe0 100644
--- a/src/bin/project_manager/project_manager.h
+++ b/src/bin/project_manager/project_manager.h
@@ -179,7 +179,7 @@ typedef Eina_Bool
  * @ingroup ProjectManager
  */
 typedef void
-(* PM_Project_End_Cb)(void *data, PM_Project_Result result);
+(* PM_Project_End_Cb)(void *data, PM_Project_Result result, Project *project);
 
 /**
  * Free the Project Thread object.
@@ -192,16 +192,6 @@ Eina_Bool
 pm_project_thread_free(void);
 
 /**
- * Get project result.
- *
- * @return project thread result.
- *
- * @ingroup ProjectManager
- */
-PM_Project_Result
-pm_project_thread_result_get(void);
-
-/**
  * Create a new project which based on the imported edj file.
  *
  * @param name The name of new project;
@@ -255,17 +245,6 @@ pm_project_import_edc(const char *name,
   const void *data) EINA_ARG_NONNULL(1, 2, 3, 4);
 
 /**
- * Get the Project object from thread. If thread not finished, function will
- * return NULL.
- *
- * @return Project object, or NULL if thread not finished or finished with 
error.
- *
- * @ingroup ProjectManager
- */
-Project *
-pm_project_thread_project_get();
-
-/**
  * Open Eflete project.
  *
  * @param path The path to the Eflete project file.
diff --git a/src/bin/project_manager/project_manager_private.h 
b/src/bin/project_manager/project_manager_private.h
index 0a223d4..141f3ab 100644
--- a/src/bin/project_manager/project_manager_private.h
+++ b/src/bin/project_manager/project_manager_private.h
@@ -31,6 +31,7 @@
 #define PROJECT_KEY_LICENSE  "edje/license"
 #define PROJECT_KEY_COMMENT  "edje/comment"
 
+
 /* A handler for Project process. */
 typedef struct
 {
diff --git a/src/bin/ui/project_close.c b/src/bin/ui/project_close.c
index 792da24..68a8363 100644
--- a/src/bin/ui/project_close.c
+++ b/src/bin/ui/project_close.c
@@ -31,7 +31,7 @@ _progress_print(void *data __UNUSED__, Eina_Stringshare 
*progress_string)
 }
 
 

[EGIT] [tools/eflete] master 19/21: Prject manager: remove pm_project_thread_free API.

2016-08-10 Thread Mykyta Biliavskyi
nikawhite pushed a commit to branch master.

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

commit 4cf4501bbcfd5428c7e901482330db4656448c32
Author: Mykyta Biliavskyi 
Date:   Tue Aug 9 21:23:26 2016 +0300

Prject manager: remove pm_project_thread_free API.

From this time all internal resources are freed inside
project manager. And this managed only inside internal flow.
---
 src/bin/main.c|  1 -
 src/bin/project_manager/project_manager.c | 32 ---
 src/bin/project_manager/project_manager.h | 10 --
 src/bin/ui/project_close.c|  1 -
 src/bin/ui/tab_home_import_edc.c  |  1 -
 src/bin/ui/tab_home_import_edj.c  |  1 -
 src/bin/ui/tab_home_new.c |  1 -
 src/bin/ui/tab_home_open.c|  1 -
 8 files changed, 48 deletions(-)

diff --git a/src/bin/main.c b/src/bin/main.c
index 1881b15..479cd17 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -93,7 +93,6 @@ _setup_open_splash(void *data, Splash_Status status 
__UNUSED__)
 static Eina_Bool
 _teardown_open_splash(void *data __UNUSED__, Splash_Status status __UNUSED__)
 {
-   pm_project_thread_free();
return true;
 }
 
diff --git a/src/bin/project_manager/project_manager.c 
b/src/bin/project_manager/project_manager.c
index 73c06ab..cc5363a 100644
--- a/src/bin/project_manager/project_manager.c
+++ b/src/bin/project_manager/project_manager.c
@@ -33,31 +33,6 @@
 #define THREAD_CONTEXT_SWITCH_END  ecore_thread_main_loop_end()
 
 static Eet_Compression compess_level = EET_COMPRESSION_HI;
-static Project_Thread worker;
-#define WORKER_CREATE(FUNC_PROGRESS, FUNC_END, DATA, PROJECT, \
-  NAME, PATH, EDJ, EDC, BUILD_OPTIONS, WIDGET_LIST) \
-{ \
-   worker.func_progress = FUNC_PROGRESS; \
-   worker.func_end = FUNC_END; \
-   worker.data = (void *)DATA; \
-   worker.project = PROJECT; \
-   worker.result = PM_PROJECT_LAST; \
-   worker.name = eina_stringshare_add(NAME); \
-   worker.path = eina_stringshare_add(PATH); \
-   worker.edj = eina_stringshare_add(EDJ); \
-   worker.edc = eina_stringshare_add(EDC); \
-   worker.build_options = eina_stringshare_add(BUILD_OPTIONS); \
-   worker.widgets = WIDGET_LIST; \
-}
-
-#define WORKER_FREE() \
-{ \
-   eina_stringshare_del(worker.name); \
-   eina_stringshare_del(worker.path); \
-   eina_stringshare_del(worker.edj); \
-   eina_stringshare_del(worker.edc); \
-   eina_stringshare_del(worker.build_options); \
-}
 
 static Eina_Bool
 _project_dev_file_create(Project *pro)
@@ -452,13 +427,6 @@ pm_project_thread_cancel()
return false;
 }
 
-Eina_Bool
-pm_project_thread_free()
-{
-   WORKER_FREE();
-   return true;
-}
-
 void
 pm_project_open(const char *path,
 PM_Project_Progress_Cb func_progress,
diff --git a/src/bin/project_manager/project_manager.h 
b/src/bin/project_manager/project_manager.h
index 81f3fe0..1ef254c 100644
--- a/src/bin/project_manager/project_manager.h
+++ b/src/bin/project_manager/project_manager.h
@@ -182,16 +182,6 @@ typedef void
 (* PM_Project_End_Cb)(void *data, PM_Project_Result result, Project *project);
 
 /**
- * Free the Project Thread object.
- *
- * @return EINA_TRUE on success, EINA_FALSE if thread running.
- *
- * @ingroup ProjectManager
- */
-Eina_Bool
-pm_project_thread_free(void);
-
-/**
  * Create a new project which based on the imported edj file.
  *
  * @param name The name of new project;
diff --git a/src/bin/ui/project_close.c b/src/bin/ui/project_close.c
index 68a8363..bf3ce32 100644
--- a/src/bin/ui/project_close.c
+++ b/src/bin/ui/project_close.c
@@ -115,7 +115,6 @@ _teardown_save_splash(void *data __UNUSED__, Splash_Status 
status)
  STATUSBAR_PROJECT_SAVE_TIME_UPDATE();
 
ap.project->changed = false;
-   pm_project_thread_free();
 
return true;
 }
diff --git a/src/bin/ui/tab_home_import_edc.c b/src/bin/ui/tab_home_import_edc.c
index 1208f4d..ccd5d26 100644
--- a/src/bin/ui/tab_home_import_edc.c
+++ b/src/bin/ui/tab_home_import_edc.c
@@ -399,7 +399,6 @@ _setup_open_splash(void *data __UNUSED__, Splash_Status 
status __UNUSED__)
 static Eina_Bool
 _teardown_open_splash(void *data __UNUSED__, Splash_Status status __UNUSED__)
 {
-   pm_project_thread_free();
ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_MAIN, false);
return true;
 }
diff --git a/src/bin/ui/tab_home_import_edj.c b/src/bin/ui/tab_home_import_edj.c
index 03a1668..511b177 100644
--- a/src/bin/ui/tab_home_import_edj.c
+++ b/src/bin/ui/tab_home_import_edj.c
@@ -444,7 +444,6 @@ _setup_open_splash(void *data __UNUSED__, Splash_Status 
status __UNUSED__)
 static Eina_Bool
 _teardown_open_splash(void *data __UNUSED__, Splash_Status status __UNUSED__)
 {
-   pm_project_thread_free();
ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_MAIN, false);
return true;
 }
diff --git a/src/bin/ui/tab_home_new.c b/src/bin/ui/tab_home_new.c

[EGIT] [tools/eflete] master 04/21: Project manager: move open project to the Ecore_Thread usage.

2016-08-10 Thread Mykyta Biliavskyi
nikawhite pushed a commit to branch master.

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

commit 572bc5c4154c7d2a852994ec87e1c7ed2d16331f
Author: Mykyta Biliavskyi 
Date:   Mon Aug 8 21:27:29 2016 +0300

Project manager: move open project to the Ecore_Thread usage.

Created internal submodule  project_manager_open. This submodule
implements opening projects from *.pro files.

Ecore_Thread_Feedback make possible to  handling of  the errors.
Also it is more easy to send messages from thread into main loop.

File project_manager_private.h will be used for connect all submodules
into module project manager. All changes doesn't mean to change public API.
---
 src/bin/Makefile.am   |   2 +
 src/bin/project_manager/project_manager.c |  53 +--
 src/bin/project_manager/project_manager_open.c| 169 ++
 src/bin/project_manager/project_manager_private.h | 142 ++
 4 files changed, 321 insertions(+), 45 deletions(-)

diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am
index 35201d5..6f57dab 100644
--- a/src/bin/Makefile.am
+++ b/src/bin/Makefile.am
@@ -28,6 +28,7 @@ includesub_HEADERS = \
logger/logger.h \
project_manager/group_manager.h \
project_manager/project_manager.h \
+   project_manager/project_manager_private.h \
project_manager/resource_manager.h \
ui/cursor.h \
ui/history_ui.h \
@@ -64,6 +65,7 @@ libete_a_SOURCES = \
 ../../src/bin/common/widget_list.c \
 ../../src/bin/project_manager/group_manager.c \
 ../../src/bin/project_manager/project_manager.c \
+../../src/bin/project_manager/project_manager_open.c \
 ../../src/bin/project_manager/resource_manager.c \
 ../../src/bin/logger/logger.c \
 ../../src/bin/config/config.c \
diff --git a/src/bin/project_manager/project_manager.c 
b/src/bin/project_manager/project_manager.c
index af8e16e..8a8be4e 100644
--- a/src/bin/project_manager/project_manager.c
+++ b/src/bin/project_manager/project_manager.c
@@ -18,22 +18,16 @@
  */
 #define _GNU_SOURCE
 #include "project_manager.h"
+#include "project_manager_private.h"
 #include 
 #ifndef _WIN32
 #include 
 #else
 #include 
 #endif
-#define PROJECT_FILE_KEY  "project"
 
 #include "change.h"
 
-#define PROJECT_KEY_NAME "edje/name"
-#define PROJECT_KEY_AUTHORS  "edje/authors"
-#define PROJECT_KEY_FILE_VERSION "edje/file_version"
-#define PROJECT_KEY_LICENSE  "edje/license"
-#define PROJECT_KEY_COMMENT  "edje/comment"
-
 #define THREAD_CONTEXT_SWITCH_BEGINecore_thread_main_loop_begin()
 #define THREAD_CONTEXT_SWITCH_END  ecore_thread_main_loop_end()
 
@@ -54,36 +48,6 @@ typedef struct
Ecore_Exe_Flags flags;
 } Edje_Exe_Data;
 
-/* A handler for Project process. */
-typedef struct
-{
-   /** The handler of Project thread. */
-   Eina_Thread thread;
-   /** The progress callback. See #PM_Project_Progress_Cb.*/
-   PM_Project_Progress_Cb func_progress;
-   /** The end callback. See #PM_Project_End_Cb. */
-   PM_Project_End_Cb func_end;
-   /** The project process result. */
-   PM_Project_Result result;
-   /** The user data. */
-   void *data;
-   /** The new project, was created in the Project process. This pointer will 
be
-* NULL until the Project process finished it's job.*/
-   Project *project;
-   /** Name of project what must be created. */
-   const char *name;
-   /** Path to new project. */
-   const char *path;
-   /** Path to imported edj file. */
-   const char *edj;
-   /** Path to imported edc file. */
-   const char *edc;
-   /** edje_cc options. Used for 'new project' and 'import from edc'. */
-   const char *build_options;
-   /** The checked widgets. Used for loading just checked widgets. */
-   Eina_List *widgets;
-} Project_Thread;
-
 static Project_Thread worker;
 #define WORKER_CREATE(FUNC_PROGRESS, FUNC_END, DATA, PROJECT, \
   NAME, PATH, EDJ, EDC, BUILD_OPTIONS, WIDGET_LIST) \
@@ -161,9 +125,8 @@ _project_dev_file_create(Project *pro)
return result;
 }
 
-static Eet_Data_Descriptor *eed_project = NULL;
 
-static Eina_Bool
+Eina_Bool
 _lock_try(const char *path, Eina_Bool check)
 {
struct flock lock, savelock;
@@ -191,7 +154,7 @@ _lock_try(const char *path, Eina_Bool check)
return true;
 }
 
-static void
+void
 _project_descriptor_init(void)
 {
Eet_Data_Descriptor_Class eddc;
@@ -212,7 +175,7 @@ _project_descriptor_init(void)
EET_DATA_DESCRIPTOR_ADD_LIST_STRING(eed_project, Project, "fonts", 
res.fonts);
 }
 
-static void
+void
 _pm_project_descriptor_shutdown(void)
 {
eet_data_descriptor_free(eed_project);
@@ -232,7 +195,7 @@ _progress_send(void *data)
free(message);
 }
 
-static void
+void
 _end_send(void *data __UNUSED__)
 {
PM_Project_End_Cb func;
@@ -396,7 +359,7 @@ _project_edj_file_copy(void)
return result;
 }
 
-static void
+void
 

[EGIT] [tools/eflete] master 01/21: project_save: do not main_loop on splash

2016-08-10 Thread Vitalii Vorobiov
nikawhite pushed a commit to branch master.

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

commit 59e2c501011b48d239a7f1cb9f4176dd3b7609f0
Author: Vitalii Vorobiov 
Date:   Mon Aug 8 14:29:01 2016 +0300

project_save: do not main_loop on splash

to remove this kind of bug.
heavy project, make few changes, click on ctrl+s
while it freeze, quickly click on Q

as result there will be extremely quick animation that will hide popup as 
well
but it's content will remain permanently until eflete would be killed and 
closed

@fix
---
 src/bin/ui/project_close.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/bin/ui/project_close.c b/src/bin/ui/project_close.c
index 8444d7a..792da24 100644
--- a/src/bin/ui/project_close.c
+++ b/src/bin/ui/project_close.c
@@ -117,7 +117,6 @@ _teardown_save_splash(void *data __UNUSED__, Splash_Status 
status)
ap.project->changed = false;
pm_project_thread_free();
 
-   eflete_main_loop_quit();
return true;
 }
 
@@ -140,7 +139,6 @@ project_save(void)
if (!ap.enventor_mode)
 #endif /* HAVE_ENVENTOR */
  ui_menu_disable_set(ap.menu, MENU_FILE_SAVE, true);
- eflete_main_loop_begin();
 }
 
 

-- 




[EGIT] [tools/eflete] master 15/21: Project manager: Commented code related to Enventor.

2016-08-10 Thread Mykyta Biliavskyi
nikawhite pushed a commit to branch master.

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

commit d0fdbe54b95f698fc0a61cbe2edb63d8f1d9b784
Author: Mykyta Biliavskyi 
Date:   Tue Aug 9 20:22:23 2016 +0300

Project manager: Commented code related to Enventor.
---
 src/bin/project_manager/project_manager.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bin/project_manager/project_manager.c 
b/src/bin/project_manager/project_manager.c
index 1163ac3..aa5f499 100644
--- a/src/bin/project_manager/project_manager.c
+++ b/src/bin/project_manager/project_manager.c
@@ -957,6 +957,7 @@ pm_project_develop_export(Project *project,
 }
 
 #ifdef HAVE_ENVENTOR
+/*
 static void *
 _enventor_save(void *data __UNUSED__,
Eina_Thread *thread __UNUSED__)
@@ -1078,7 +1079,7 @@ pm_project_enventor_save(Project *project,
 abort();
  }
 }
-
+*/
 #endif /* HAVE_ENVENTOR */
 
 Eina_Bool

-- 




[EGIT] [tools/eflete] master 12/21: Project manager: add submodule project_manager_export_edj.

2016-08-10 Thread Mykyta Biliavskyi
nikawhite pushed a commit to branch master.

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

commit 2a4b0d1bd2b055c695cef0bfa00cd8b266cc2029
Author: Mykyta Biliavskyi 
Date:   Tue Aug 9 18:30:49 2016 +0300

Project manager: add submodule project_manager_export_edj.

This submodule implement export develop and release version
of edj binary file.

Currently implemented support only develop version.
---
 src/bin/Makefile.am|   1 +
 src/bin/project_manager/project_manager.c  |  91 ++--
 .../project_manager/project_manager_export_edj.c   | 114 +
 src/bin/project_manager/project_manager_private.h  |   4 +
 4 files changed, 129 insertions(+), 81 deletions(-)

diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am
index ae766c2..bd884f6 100644
--- a/src/bin/Makefile.am
+++ b/src/bin/Makefile.am
@@ -70,6 +70,7 @@ libete_a_SOURCES = \
 ../../src/bin/project_manager/project_manager_import_edc.c \
 ../../src/bin/project_manager/project_manager_export_resources.c \
 ../../src/bin/project_manager/project_manager_export_edc.c \
+../../src/bin/project_manager/project_manager_export_edj.c \
 ../../src/bin/project_manager/resource_manager.c \
 ../../src/bin/logger/logger.c \
 ../../src/bin/config/config.c \
diff --git a/src/bin/project_manager/project_manager.c 
b/src/bin/project_manager/project_manager.c
index 75d9857..fecab36 100644
--- a/src/bin/project_manager/project_manager.c
+++ b/src/bin/project_manager/project_manager.c
@@ -1055,79 +1055,6 @@ pm_project_release_export(Project *project,
  }
 }
 
-static void *
-_develop_export(void *data __UNUSED__,
-Eina_Thread *thread __UNUSED__)
-{
-   Ecore_Event_Handler *cb_msg_stdout = NULL,
-   *cb_msg_stderr = NULL;
-   Ecore_Exe_Flags flags  = ECORE_EXE_PIPE_READ |
-ECORE_EXE_PIPE_READ_LINE_BUFFERED |
-ECORE_EXE_PIPE_ERROR |
-ECORE_EXE_PIPE_ERROR_LINE_BUFFERED;
-   Eina_Tmpstr *tmp_filename = NULL;
-   Eina_Stringshare *cmd;
-   Eina_List *l;
-   Group *group;
-   Ecore_Exe *exe_cmd;
-   pid_t exe_pid;
-   int edje_pick_res = 0, waitpid_res = 0;
-
-   PROGRESS_SEND(_("Export project as develop file"));
-   PROGRESS_SEND(_("Export to file '%s'"), worker.edj);
-   CRIT_ON_FAIL(editor_save_all(worker.project->global_object));
-
-   if (worker.func_progress)
- {
-cb_msg_stdout = ecore_event_handler_add(ECORE_EXE_EVENT_DATA, 
_exe_data, NULL);
-cb_msg_stderr = ecore_event_handler_add(ECORE_EXE_EVENT_ERROR, 
_exe_data, NULL);
- }
-
-   if (!ecore_file_exists(worker.edj))
- cmd = eina_stringshare_printf("edje_pick -o %s", worker.edj);
-   else
- {
-eina_file_mkstemp("eflete_export_XX", _filename);
-cmd = eina_stringshare_printf("edje_pick -o %s", tmp_filename);
-cmd = eina_stringshare_printf("%s -a %s", cmd, worker.edj);
- }
-   cmd = eina_stringshare_printf("%s -i %s", cmd, worker.project->dev);
-
-   EINA_LIST_FOREACH(worker.project->groups, l, group)
- {
-cmd = eina_stringshare_printf("%s -g %s", cmd, group->name);
- }
-   DBG("Run command for export: %s", cmd);
-   exe_cmd = ecore_exe_pipe_run(cmd, flags, NULL);
-   exe_pid = ecore_exe_pid_get(exe_cmd);
-   THREAD_TESTCANCEL;
-   waitpid_res = waitpid(exe_pid, _pick_res, 0);
-
-   if (worker.func_progress)
- {
-ecore_event_handler_del(cb_msg_stdout);
-ecore_event_handler_del(cb_msg_stderr);
- }
-
-   if ((waitpid_res == -1) ||
-   (WIFEXITED(edje_pick_res) && (WEXITSTATUS(edje_pick_res) != 0 )))
- {
-END_SEND(PM_PROJECT_ERROR);
-return NULL;
- }
-
-   if (tmp_filename)
- {
-ecore_file_recursive_rm(worker.edj);
-ecore_file_mv(tmp_filename, worker.edj);
- }
-
-   PROGRESS_SEND("Export done");
-
-   END_SEND(PM_PROJECT_SUCCESS);
-   return NULL;
-}
-
 void
 pm_project_develop_export(Project *project,
   const char *path,
@@ -1138,15 +1065,17 @@ pm_project_develop_export(Project *project,
assert(project != NULL);
assert(path != NULL);
 
-   WORKER_CREATE(func_progress, func_end, data, project,
- NULL, NULL, path, NULL, data, NULL);
+   Project_Thread *ptd;
 
-   if (!eina_thread_create(, EINA_THREAD_URGENT, -1,
-   (void *)_develop_export, NULL))
- {
-ERR("System error: can't create thread");
-abort();
- }
+   ptd = mem_calloc(1, sizeof(Project_Thread));
+   ptd->func_progress = func_progress;
+   ptd->func_end = func_end;
+   ptd->data = (void *)data;
+   ptd->project = project;
+   ptd->result = PM_PROJECT_LAST;
+   ptd->path = eina_stringshare_add(path);
+
+   _develop_export(ptd);
 }
 
 #ifdef HAVE_ENVENTOR
diff --git a/src/bin/project_manager/project_manager_export_edj.c 

[EGIT] [tools/eflete] master 05/21: Project manager: move import form edj to correct ecore_exe_pipe usage.

2016-08-10 Thread Mykyta Biliavskyi
nikawhite pushed a commit to branch master.

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

commit bcbd5cec8d8fb60311ab2a4520c5c99c30c1d994
Author: Mykyta Biliavskyi 
Date:   Tue Aug 9 12:55:59 2016 +0300

Project manager: move import form edj to correct ecore_exe_pipe usage.

Added internam submodule project_manager_import_edj. This submodule
is responsible for a manage imporing procees. Only for edj files.
---
 src/bin/Makefile.am|   1 +
 src/bin/project_manager/project_manager.c  | 223 +
 .../project_manager/project_manager_import_edj.c   | 201 +++
 src/bin/project_manager/project_manager_open.c |  11 +-
 src/bin/project_manager/project_manager_private.h  |  38 +++-
 5 files changed, 292 insertions(+), 182 deletions(-)

diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am
index 6f57dab..7034a0f 100644
--- a/src/bin/Makefile.am
+++ b/src/bin/Makefile.am
@@ -66,6 +66,7 @@ libete_a_SOURCES = \
 ../../src/bin/project_manager/group_manager.c \
 ../../src/bin/project_manager/project_manager.c \
 ../../src/bin/project_manager/project_manager_open.c \
+../../src/bin/project_manager/project_manager_import_edj.c \
 ../../src/bin/project_manager/resource_manager.c \
 ../../src/bin/logger/logger.c \
 ../../src/bin/config/config.c \
diff --git a/src/bin/project_manager/project_manager.c 
b/src/bin/project_manager/project_manager.c
index 8a8be4e..7805bca 100644
--- a/src/bin/project_manager/project_manager.c
+++ b/src/bin/project_manager/project_manager.c
@@ -20,6 +20,7 @@
 #include "project_manager.h"
 #include "project_manager_private.h"
 #include 
+
 #ifndef _WIN32
 #include 
 #else
@@ -40,14 +41,6 @@ typedef struct
void *data;
 } Progress_Message;
 
-typedef struct
-{
-   Eina_Stringshare *cmd;
-   Ecore_Exe *exe_cmd;
-   pid_t exe_pid;
-   Ecore_Exe_Flags flags;
-} Edje_Exe_Data;
-
 static Project_Thread worker;
 #define WORKER_CREATE(FUNC_PROGRESS, FUNC_END, DATA, PROJECT, \
   NAME, PATH, EDJ, EDC, BUILD_OPTIONS, WIDGET_LIST) \
@@ -155,31 +148,32 @@ _lock_try(const char *path, Eina_Bool check)
 }
 
 void
-_project_descriptor_init(void)
+_project_descriptor_init(Project_Thread *ptd)
 {
Eet_Data_Descriptor_Class eddc;
+   assert(ptd);
 
-   if (eed_project) return;
+   if (ptd->eed_project) return;
 
eet_eina_stream_data_descriptor_class_set(, sizeof(eddc),
  "Project", sizeof(Project));
-   eed_project = eet_data_descriptor_stream_new();
-
-   EET_DATA_DESCRIPTOR_ADD_BASIC(eed_project, Project, "version", version, 
EET_T_INT);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(eed_project, Project, "dev", dev, 
EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(eed_project, Project, "saved_edj", saved_edj, 
EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(eed_project, Project, "develop_path", 
develop_path, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(eed_project, Project, "release_options", 
release_options, EET_T_STRING);
-   EET_DATA_DESCRIPTOR_ADD_LIST_STRING(eed_project, Project, "images", 
res.images);
-   EET_DATA_DESCRIPTOR_ADD_LIST_STRING(eed_project, Project, "sounds", 
res.sounds);
-   EET_DATA_DESCRIPTOR_ADD_LIST_STRING(eed_project, Project, "fonts", 
res.fonts);
+   ptd->eed_project = eet_data_descriptor_stream_new();
+
+   EET_DATA_DESCRIPTOR_ADD_BASIC(ptd->eed_project, Project, "version", 
version, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(ptd->eed_project, Project, "dev", dev, 
EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(ptd->eed_project, Project, "saved_edj", 
saved_edj, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(ptd->eed_project, Project, "develop_path", 
develop_path, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(ptd->eed_project, Project, "release_options", 
release_options, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_LIST_STRING(ptd->eed_project, Project, "images", 
res.images);
+   EET_DATA_DESCRIPTOR_ADD_LIST_STRING(ptd->eed_project, Project, "sounds", 
res.sounds);
+   EET_DATA_DESCRIPTOR_ADD_LIST_STRING(ptd->eed_project, Project, "fonts", 
res.fonts);
 }
 
 void
-_pm_project_descriptor_shutdown(void)
+_pm_project_descriptor_shutdown(Project_Thread *ptd)
 {
-   eet_data_descriptor_free(eed_project);
-   eed_project = NULL;
+   eet_data_descriptor_free(ptd->eed_project);
+   ptd->eed_project = NULL;
 }
 
 static void
@@ -254,19 +248,19 @@ exit:
pro->res.NAME = eina_list_append(pro->res.NAME, eina_stringshare_add(tmp)); 
\
eina_stringshare_del(tmp)
 
-static Project *
-_project_files_create(void)
+Project *
+_project_files_create(Project_Thread *ptd)
 {
Project *pro;
Eina_Stringshare *folder_path, *pro_path, *tmp;
Eina_Bool error = false;
 
-   _project_descriptor_init();
+   _project_descriptor_init(ptd);
 
-   folder_path = eina_stringshare_printf("%s/%s", worker.path, worker.name);
+   folder_path = 

[EGIT] [tools/eflete] master 11/21: Project manager: update functionality for export group source.

2016-08-10 Thread Mykyta Biliavskyi
nikawhite pushed a commit to branch master.

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

commit 2dae2c31b5e50c432fc21cdd0a6a71b870bacd89
Author: Mykyta Biliavskyi 
Date:   Tue Aug 9 18:04:37 2016 +0300

Project manager: update functionality for export group source.

Moved to use Ecore_Thread.
---
 src/bin/project_manager/project_manager.c  | 124 ++--
 .../project_manager/project_manager_export_edc.c   | 160 -
 src/bin/project_manager/project_manager_private.h  |  12 +-
 3 files changed, 184 insertions(+), 112 deletions(-)

diff --git a/src/bin/project_manager/project_manager.c 
b/src/bin/project_manager/project_manager.c
index a2ce354..75d9857 100644
--- a/src/bin/project_manager/project_manager.c
+++ b/src/bin/project_manager/project_manager.c
@@ -889,7 +889,7 @@ _external_resources_export(Eina_List *resources, const char 
*dst)
eina_strbuf_free(buf);
 }
 
-static void
+void
 _external_resource_export(Eina_List *resources, Eina_Stringshare *name, const 
char *dst)
 {
Eina_Strbuf *buf;
@@ -917,107 +917,6 @@ _external_resource_export(Eina_List *resources, 
Eina_Stringshare *name, const ch
eina_strbuf_free(buf);
 }
 
-static void *
-_group_source_code_export(void *data, Eina_Thread *thread __UNUSED__)
-{
-   Eina_Stringshare *code;
-   FILE *f;
-   Group *group = (Group *)data;
-   Part *part;
-   State *state;
-   Eina_List *l, *ls;
-   Eina_Stringshare *resource;
-   Resource *res;
-   Eina_Strbuf *buf;
-   char *name;
-
-   PROGRESS_SEND(_("Generate group '%s' source code ..."), group->name);
-
-   name = strdup(group->name);
-   string_char_replace(name, '/', '_');
-   buf = eina_strbuf_new();
-   eina_strbuf_append_printf(buf, "%s/%s", worker.path, name);
-   ecore_file_mkdir(eina_strbuf_string_get(buf));
-   eina_strbuf_reset(buf);
-
-   /* create and open file for collect the group source code */
-   eina_strbuf_append_printf(buf, "%s/%s/generated.edc", worker.path, name);
-   f = fopen(eina_strbuf_string_get(buf), "w");
-   if (!f)
- {
-ERR("Could't open file '%s'", eina_strbuf_string_get(buf))
-END_SEND(PM_PROJECT_ERROR);
-goto exit;
- }
-
-   /* get the full source code of given project */
-   THREAD_CONTEXT_SWITCH_BEGIN;
-   code = edje_edit_source_generate(group->edit_object);
-   THREAD_CONTEXT_SWITCH_END;
-
-   fputs(code, f);
-   edje_edit_string_free(code);
-   fclose(f);
-
-   /* export images and fonts in accordance with parts  */
-   EINA_LIST_FOREACH(group->parts, l, part)
- {
-if (part->type == EDJE_PART_TYPE_IMAGE)
-  {
- PROGRESS_SEND(_("Export images ..."));
- eina_strbuf_reset(buf);
- eina_strbuf_append_printf(buf, "%s/%s/images/", worker.path, 
name);
- ecore_file_mkdir(eina_strbuf_string_get(buf));
- EINA_LIST_FOREACH(part->states, ls, state)
-   {
-  resource = edje_edit_state_image_get(group->edit_object, 
part->name, state->name, state->val);
-  PROGRESS_SEND(_("Export image '%s'"), resource);
-  _external_resource_export(worker.project->images, resource, 
eina_strbuf_string_get(buf));
-  eina_stringshare_del(resource);
-   }
-  }
-if (part->type == EDJE_PART_TYPE_TEXT)
-  {
- PROGRESS_SEND(_("Export fonts ..."));
- eina_strbuf_reset(buf);
- eina_strbuf_append_printf(buf, "%s/%s/fonts/", worker.path, name);
- ecore_file_mkdir(eina_strbuf_string_get(buf));
- EINA_LIST_FOREACH(part->states, ls, state)
-   {
-  resource = edje_edit_state_font_get(group->edit_object, 
part->name, state->name, state->val);
-  Eina_Stringshare *font_res = 
edje_edit_font_path_get(group->edit_object, resource);
-  PROGRESS_SEND(_("Export font '%s'"), font_res);
-  _external_resource_export(worker.project->fonts, font_res, 
eina_strbuf_string_get(buf));
-  eina_stringshare_del(resource);
-  eina_stringshare_del(font_res);
-   }
-  }
- }
-   PROGRESS_SEND(_("Export sounds ..."));
-   EINA_LIST_FOREACH(group->programs, l, res)
- {
-resource = edje_edit_program_sample_name_get(group->edit_object, 
res->name);
-if (!resource) continue;
-
-eina_strbuf_reset(buf);
-eina_strbuf_append_printf(buf, "%s/%s/sounds/", worker.path, name);
-ecore_file_mkdir(eina_strbuf_string_get(buf));
-PROGRESS_SEND(_("Export sound '%s'"), res->name);
-_external_resource_export(worker.project->sounds, resource, 
eina_strbuf_string_get(buf));
-eina_stringshare_del(resource);
- }
-
-   eina_strbuf_reset(buf);
-   eina_strbuf_append_printf(buf, "%s/%s/build.sh", worker.path, name);
-   

[EGIT] [tools/eflete] master 14/21: Project manager: move save routine into Ecore_Thread.

2016-08-10 Thread Mykyta Biliavskyi
nikawhite pushed a commit to branch master.

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

commit 976352bf8a34870f9bd25774352fe97ae052e316
Author: Mykyta Biliavskyi 
Date:   Tue Aug 9 20:20:18 2016 +0300

Project manager: move save routine into Ecore_Thread.
---
 src/bin/Makefile.am   |  1 +
 src/bin/project_manager/project_manager.c | 50 +++--
 src/bin/project_manager/project_manager_private.h |  6 ++
 src/bin/project_manager/project_manager_save.c| 85 +++
 4 files changed, 103 insertions(+), 39 deletions(-)

diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am
index bd884f6..c51c9f1 100644
--- a/src/bin/Makefile.am
+++ b/src/bin/Makefile.am
@@ -66,6 +66,7 @@ libete_a_SOURCES = \
 ../../src/bin/project_manager/group_manager.c \
 ../../src/bin/project_manager/project_manager.c \
 ../../src/bin/project_manager/project_manager_open.c \
+../../src/bin/project_manager/project_manager_save.c \
 ../../src/bin/project_manager/project_manager_import_edj.c \
 ../../src/bin/project_manager/project_manager_import_edc.c \
 ../../src/bin/project_manager/project_manager_export_resources.c \
diff --git a/src/bin/project_manager/project_manager.c 
b/src/bin/project_manager/project_manager.c
index 443b3c8..1163ac3 100644
--- a/src/bin/project_manager/project_manager.c
+++ b/src/bin/project_manager/project_manager.c
@@ -158,19 +158,6 @@ _pm_project_descriptor_shutdown(Project_Thread *ptd)
ptd->eed_project = NULL;
 }
 
-static void
-_progress_send(void *data)
-{
-   Progress_Message *message;
-
-   message = (Progress_Message *)data;
-   assert(message != NULL);
-
-   message->func_print(message->data, message->str);
-   eina_stringshare_del(message->str);
-   free(message);
-}
-
 void
 _end_send(void *data)
 {
@@ -618,24 +605,6 @@ pm_dev_file_reload(Project *pr)
edje_object_mmap_set(pr->global_object, pr->mmap_file, 
EFLETE_INTERNAL_GROUP_NAME);
 }
 
-static void *
-_project_save(void *data __UNUSED__,
-  Eina_Thread *thread __UNUSED__)
-{
-   THREAD_CONTEXT_SWITCH_BEGIN;
-   PROGRESS_SEND(_("Save project '%s'"), worker.project->name);
-   CRIT_ON_FAIL(editor_save_all(worker.project->global_object));
-
-   ecore_file_cp(worker.project->dev, worker.project->saved_edj);
-
-   PROGRESS_SEND("Save done");
-
-   THREAD_CONTEXT_SWITCH_END;
-
-   END_SEND(PM_PROJECT_SUCCESS);
-   return NULL;
-}
-
 void
 pm_project_save(Project *project,
 PM_Project_Progress_Cb func_progress,
@@ -644,15 +613,18 @@ pm_project_save(Project *project,
 {
assert(project != NULL);
 
-   WORKER_CREATE(func_progress, func_end, data, project,
- NULL, NULL, NULL, NULL, NULL, NULL);
+   Project_Thread *ptd;
+   ptd = mem_calloc(1, sizeof(Project_Thread));
+   ptd->func_progress = func_progress;
+   ptd->func_end = func_end;
+   ptd->data = (void *)data;
+   ptd->project = project;
+   eina_lock_new(>mutex);
 
-   if (!eina_thread_create(, EINA_THREAD_URGENT, -1,
-   (void *)_project_save, NULL))
- {
-ERR("System error: can't create thread");
-abort();
- }
+   /* Launch save project routine inside thread with feedback */
+   ecore_thread_feedback_run(_project_save_feedback_job, 
_project_save_feedback_cb,
+ _project_save_end_cb, _project_save_cancel_cb, 
ptd,
+ true);
 }
 
 Eina_Bool
diff --git a/src/bin/project_manager/project_manager_private.h 
b/src/bin/project_manager/project_manager_private.h
index 23bfad6..d6ee158 100644
--- a/src/bin/project_manager/project_manager_private.h
+++ b/src/bin/project_manager/project_manager_private.h
@@ -199,6 +199,12 @@ void _project_open_end_cb(void *data, Ecore_Thread *th);
 void _project_open_feedback_cb(void *data, Ecore_Thread *th, void *msg_data);
 void _project_open_feedback_job(void *data, Ecore_Thread *th);
 
+/*--- Open Project functions */
+void _project_save_cancel_cb(void *data, Ecore_Thread *th);
+void _project_save_end_cb(void *data, Ecore_Thread *th);
+void _project_save_feedback_cb(void *data, Ecore_Thread *th, void *msg_data);
+void _project_save_feedback_job(void *data, Ecore_Thread *th);
+
 /*--- Import form edj functions -*/
 void _project_import_edj(void *data);
 
diff --git a/src/bin/project_manager/project_manager_save.c 
b/src/bin/project_manager/project_manager_save.c
new file mode 100644
index 000..9cf71e7
--- /dev/null
+++ b/src/bin/project_manager/project_manager_save.c
@@ -0,0 +1,85 @@
+/*
+ * Efl Edje Theme Editor
+ * Copyright (C) 2013-2016 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 

[EGIT] [tools/eflete] master 02/21: genlist.edc: fix the label suize for property

2016-08-10 Thread Vyacheslav Reutskiy
nikawhite pushed a commit to branch master.

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

commit 700260160e5161db7e369d181af793f970f53d87
Author: Vyacheslav Reutskiy 
Date:   Tue Aug 9 17:09:37 2016 +0300

genlist.edc: fix the label suize for property

Now property text show without elipsis.

@fix
Fixes T4058

Change-Id: I4edacf23410462718c052c5470eecb9fd6bd16fb
---
 data/themes/default/widgets/genlist_property.edc | 57 +---
 1 file changed, 31 insertions(+), 26 deletions(-)

diff --git a/data/themes/default/widgets/genlist_property.edc 
b/data/themes/default/widgets/genlist_property.edc
index c9edeac..78c350f 100644
--- a/data/themes/default/widgets/genlist_property.edc
+++ b/data/themes/default/widgets/genlist_property.edc
@@ -127,7 +127,8 @@ group { name: "elm/genlist/tree/caption/property";
offset: 6 0;
 }
 rel2 {
-   to_x: "elm.swallow.pad";
+   to_x: "arrow";
+   relative: 0.0 1.0;
 }
 align: 0.0 0.5;
 min: 0 2;
@@ -201,7 +202,7 @@ group { name: "elm/genlist/tree/caption/property";
 color_class: "main";
 rel1 {
relative: 1.0 0.0;
-   offset: 3 0;
+   offset: 12 0;
to_x: "elm.swallow.pad";
 }
 image {
@@ -215,7 +216,7 @@ group { name: "elm/genlist/tree/caption/property";
 color_class: "main";
 rel1 {
relative: 1.0 0.0;
-   offset: 3 0;
+   offset: 12 0;
to_x: "elm.swallow.pad";
 }
 image {
@@ -313,11 +314,13 @@ group { name: "elm/genlist/item/1swallow/property";
 color_class: "main";
 rel1 {
relative: 1.0 0.0;
-   offset: 6 6;
+   offset: 6 0;
to_x: "swallow.icon";
+   to_y: "swallow.action1";
 }
 rel2 {
-   relative: 0.3 1.0;
+   to_x: "text.action1.name";
+   relative: 0.0 1.0;
offset: -7 -1;
 }
 text {
@@ -335,8 +338,9 @@ group { name: "elm/genlist/item/1swallow/property";
  type: TEXT;
  description { state: "default" 0.0;
 color_class: "main";
+align: 1.0 0.5;
 rel1 {
-   offset: 0 6;
+   to_y: "swallow.action1";
 }
 rel2 {
to_x: "swallow.action1";
@@ -346,7 +350,10 @@ group { name: "elm/genlist/item/1swallow/property";
 text {
font: FN;
size: 12;
+   min: 1 0;
+   max: 1 0;
align: 1.0 0.0;
+   ellipsis: -1;
 }
  }
   }
@@ -388,16 +395,6 @@ group { name: "elm/genlist/item/1swallow/property";
 
 group { name: "elm/genlist/item/1swallow_wide/property";
inherit: "elm/genlist/item/1swallow/property";
-   parts {
-  part { name: "swallow.action1";
- description { state: "default" 0.0;
-rel1 {
-   to_x: "text.item.name";
-   relative: 0.0 0.0;
-}
- }
-  }
-   }
 }
 
 group { name: "elm/genlist/item/2swallow/property";
@@ -448,12 +445,15 @@ group { name: "elm/genlist/item/2swallow/property";
 color_class: "main";
 rel1 {
relative: 1.0 0.0;
-   offset: 6 6;
+   offset: 6 0;
to_x: "swallow.icon";
+   to_y: "swallow.action1";
 }
 rel2 {
-   relative: 0.3 1.0;
+   relative: 0.0 1.0;
offset: -7 -1;
+   to_x: "text.action1.name";
+   to_y: "swallow.action1";
 }
 text {
font: FN;
@@ -470,11 +470,13 @@ group { name: "elm/genlist/item/2swallow/property";
  type: TEXT;
  description { state: "default" 0.0;
 color_class: "main";
+align: 1.0 0.5;
 rel1 {
-   offset: 0 6;
+   to_y: "swallow.action1";
 }
 rel2 {
to_x: "swallow.action1";
+   to_y: "swallow.action1";
relative: 0.0 1.0;
offset: -4 -1;
 }
@@ -482,8 +484,9 @@ group { name: "elm/genlist/item/2swallow/property";
font: FN;
size: 12;
min: 1 0;
-   elipsis: -1;
+   max: 1 0;
align: 1.0 0.0;
+   elipsis: -1;
 }
  }
   }
@@ -509,10 +512,11 @@ group { name: "elm/genlist/item/2swallow/property";
  description { state: "default" 0.0;
 color_class: "main";
 rel1 {
-   to_x: 

[EGIT] [tools/eflete] master 18/21: Project manager: move save image routine into main thread.

2016-08-10 Thread Mykyta Biliavskyi
nikawhite pushed a commit to branch master.

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

commit 57e9b9649a5581bd18e2ee78078ba81303596c5a
Author: Mykyta Biliavskyi 
Date:   Tue Aug 9 21:15:14 2016 +0300

Project manager: move save image routine into main thread.
---
 src/bin/project_manager/project_manager_export_resources.c | 4 ++--
 1 file changed, 2 insertions(+), 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 3ed4e2c..4bfa58e 100644
--- a/src/bin/project_manager/project_manager_export_resources.c
+++ b/src/bin/project_manager/project_manager_export_resources.c
@@ -82,6 +82,8 @@ _image_save_routine(void *data)
 
ids->im = evas_object_image_add(ids->e);
evas_object_image_file_set(ids->im, ids->dev, ids->id);
+   evas_object_image_save(ids->im, ids->source, NULL, NULL);
+   evas_object_del(ids->im);
eina_lock_release(>mutex);
return NULL;
 }
@@ -178,8 +180,6 @@ _image_resources_feedback_job(void *data, Ecore_Thread *th)
  eina_lock_release(>mutex);
  ecore_main_loop_thread_safe_call_sync(_image_save_routine, ids);
  eina_lock_take(>mutex);
- evas_object_image_save(ids->im, res->source, NULL, NULL);
- evas_object_del(ids->im);
  eina_stringshare_del(source_file);
   }
  }

-- 




[EGIT] [tools/eflete] master 06/21: Project manager: use new version of project open routine.

2016-08-10 Thread Mykyta Biliavskyi
nikawhite pushed a commit to branch master.

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

commit 78f985167f906562bee2ea6b2c721cb470f89d81
Author: Mykyta Biliavskyi 
Date:   Tue Aug 9 13:02:01 2016 +0300

Project manager: use new version of project open routine.

Replaced old code for open project with code, that uses Ecore_Thread.
---
 src/bin/project_manager/project_manager.c | 115 +++---
 1 file changed, 11 insertions(+), 104 deletions(-)

diff --git a/src/bin/project_manager/project_manager.c 
b/src/bin/project_manager/project_manager.c
index 7805bca..0957200 100644
--- a/src/bin/project_manager/project_manager.c
+++ b/src/bin/project_manager/project_manager.c
@@ -593,102 +593,6 @@ pm_project_thread_project_get()
return worker.project;
 }
 
-void *
-_project_open(void *data,
-  Eina_Thread *t __UNUSED__)
-{
-   Eet_File *ef;
-   char *tmp;
-   int tmp_len;
-   Eina_Stringshare *path = data;
-
-   assert(path != NULL);
-
-   edje_file_cache_flush();
-
-   if (!_lock_try(path, true))
- {
-/* really this case is unlickly, but we need handle it */
-END_SEND(PM_PROJECT_LOCKED);
-return NULL;
- }
-
-   PROGRESS_SEND(_("Opening project \"%s\""), path);
-
-//   _project_descriptor_init();
-   ef = eet_open(path, EET_FILE_MODE_READ_WRITE);
-   if (!ef)
- {
-eina_stringshare_del(path);
-END_SEND(PM_PROJECT_ERROR);
-return NULL;
- }
-
-   PROGRESS_SEND(_("Reading project descriptor"));
-
-   worker.project = eet_data_read(ef, worker.eed_project, PROJECT_FILE_KEY);
-//   _pm_project_descriptor_shutdown();
-   if (!worker.project)
- {
-eina_stringshare_del(path);
-END_SEND(PM_PROJECT_ERROR);
-return NULL;
- }
-
-   worker.project->ef = ef;
-   worker.project->pro_path = eina_stringshare_add(path);
-
-   /* updating .dev file path */
-   tmp = strdup(path);
-   tmp_len = strlen(tmp);
-   tmp[tmp_len - 3] = 'd';
-   tmp[tmp_len - 2] = 'e';
-   tmp[tmp_len - 1] = 'v';
-   eina_stringshare_replace(>dev, tmp);
-   free(tmp);
-   /* updating .edj file path */
-   tmp = strdup(path);
-   tmp[tmp_len - 3] = 'e';
-   tmp[tmp_len - 2] = 'd';
-   tmp[tmp_len - 1] = 'j';
-   eina_stringshare_replace(>saved_edj, tmp);
-   free(tmp);
-   eina_stringshare_del(path);
-
-   PROGRESS_SEND(_("Checking project version"));
-   /* checking for older project versions and upgrading them 
version-by-version */
-   if (worker.project->version < 2) /* upgrade to version 2 */
- {
-PROGRESS_SEND(_("Updating project files to version 2"));
-ecore_file_mv(worker.project->dev, worker.project->saved_edj);
-worker.project->version = 2;
- }
-   if (worker.project->version < 3) /* upgrade to version 3 */
- {
-PROGRESS_SEND(_("Updating project files to version 3"));
-_project_special_group_add(worker.project);
-worker.project->version = 3;
- }
-   if (worker.project->version < 4) /* upgrade to version 4 */
- {
-PROGRESS_SEND(_("Updating project files to version 4"));
-_project_dummy_image_add(worker.project);
-worker.project->version = 4;
- }
-   TODO("Add crash recovery prompt here")
-
-   pm_project_meta_data_get(worker.project, >name, NULL, NULL, 
NULL, NULL);
-   if (!worker.project->name)
- worker.project->name = 
ecore_file_strip_ext(ecore_file_file_get(worker.project->dev));
-
-   _project_open_internal(worker.project);
-
-   PROGRESS_SEND(_("Project is open"));
-   END_SEND(PM_PROJECT_SUCCESS);
-
-   return NULL;
-}
-
 void
 pm_project_open(const char *path,
 PM_Project_Progress_Cb func_progress,
@@ -697,15 +601,18 @@ pm_project_open(const char *path,
 {
assert(path != NULL);
 
-   WORKER_CREATE(func_progress, func_end, data, NULL,
- NULL, NULL, NULL, NULL, NULL, NULL);
+   Project_Thread *ptd;
+   ptd = mem_calloc(1, sizeof(Project_Thread));
+   ptd->path = eina_stringshare_add(path);
+   ptd->func_progress = func_progress;
+   ptd->func_end = func_end;
+   ptd->data = (void *)data;
+   eina_lock_new(>mutex);
 
-   if (!eina_thread_create(, EINA_THREAD_URGENT, -1,
-   (void *)_project_open, eina_stringshare_add(path)))
- {
-ERR("System error: can't create thread");
-abort();
- }
+   /* Launch open project inside thread with feedback */
+   ecore_thread_feedback_run(_project_open_feedback_job, 
_project_open_feedback_cb,
+ _project_open_end_cb, _project_open_cancel_cb, 
ptd,
+ true);
 }
 
 void

-- 




[EGIT] [tools/eflete] master 03/21: shortcuts: avoid the NULL in strcmp

2016-08-10 Thread Vyacheslav Reutskiy
nikawhite pushed a commit to branch master.

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

commit d68651c029836ff90a80ec95fd6ae4a5498fc2a1
Author: Vyacheslav Reutskiy 
Date:   Tue Aug 9 17:47:45 2016 +0300

shortcuts: avoid the NULL in strcmp

Fixes T4307

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

diff --git a/src/bin/ui/shortcuts/shortcuts.c b/src/bin/ui/shortcuts/shortcuts.c
index abeb5a2..dd395c5 100644
--- a/src/bin/ui/shortcuts/shortcuts.c
+++ b/src/bin/ui/shortcuts/shortcuts.c
@@ -233,6 +233,7 @@ _key_press_event_cb(void *data __UNUSED__, int type 
__UNUSED__, void *event)
 {
Ecore_Event_Key *ev = (Ecore_Event_Key *)event;
Shortcut sc, *shortcut;
+   const char *obj_name;
 
/*
 *  (ev->modifiers && 255) because modifiers contain both locks and modifs,
@@ -264,6 +265,7 @@ _key_press_event_cb(void *data __UNUSED__, int type 
__UNUSED__, void *event)
  }
 
/* ignore hotkey if */
+   obj_name = evas_object_type_get(elm_object_focused_object_get(ap.win));
if (/* it is without modifier or with shift-only */
   ((sc.modifiers == MOD_NONE) || (sc.modifiers == MOD_SHIFT)) &&
   /* is not F1 - F12 */
@@ -275,7 +277,7 @@ _key_press_event_cb(void *data __UNUSED__, int type 
__UNUSED__, void *event)
  (sc.keycode == 104 /*KP_ENTER*/) ||
  (sc.keycode == 9 /*ESC*/)) ) &&
   /* elm_entry is in focus */
-  (!strcmp("elm_entry", 
evas_object_type_get(elm_object_focused_object_get(ap.win)
+  (obj_name ? (!strcmp("elm_entry", obj_name)) : false))
  {
 DBG("entry focused, ignoring hotkeys with MOD_SHIFT or MODE_NONE");
 return ECORE_CALLBACK_PASS_ON;

-- 




[EGIT] [tools/eflete] master 16/21: Project manager: clean code of project_manager.c

2016-08-10 Thread Mykyta Biliavskyi
nikawhite pushed a commit to branch master.

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

commit 2e58dcb5a48949f5781253e775ef0f03adf54900
Author: Mykyta Biliavskyi 
Date:   Tue Aug 9 20:35:40 2016 +0300

Project manager: clean code of project_manager.c

Move functions inside submodules.
Delete unused macroses.
---
 src/bin/project_manager/project_manager.c  | 108 +
 .../project_manager_export_resources.c |   3 +
 .../project_manager/project_manager_import_edj.c   |  70 +
 src/bin/project_manager/project_manager_private.h  |   6 --
 4 files changed, 75 insertions(+), 112 deletions(-)

diff --git a/src/bin/project_manager/project_manager.c 
b/src/bin/project_manager/project_manager.c
index aa5f499..5664df0 100644
--- a/src/bin/project_manager/project_manager.c
+++ b/src/bin/project_manager/project_manager.c
@@ -33,14 +33,6 @@
 #define THREAD_CONTEXT_SWITCH_END  ecore_thread_main_loop_end()
 
 static Eet_Compression compess_level = EET_COMPRESSION_HI;
-
-typedef struct
-{
-   Eina_Stringshare *str;
-   PM_Project_Progress_Cb func_print;
-   void *data;
-} Progress_Message;
-
 static Project_Thread worker;
 #define WORKER_CREATE(FUNC_PROGRESS, FUNC_END, DATA, PROJECT, \
   NAME, PATH, EDJ, EDC, BUILD_OPTIONS, WIDGET_LIST) \
@@ -67,29 +59,6 @@ static Project_Thread worker;
eina_stringshare_del(worker.build_options); \
 }
 
-#define THREAD_TESTCANCEL pthread_testcancel()
-
-#define PROGRESS_SEND(FMT, ...) \
-{ \
-   if (worker.func_progress) \
-  { \
- Progress_Message *message = mem_malloc(sizeof(Progress_Message)); \
- message->str = eina_stringshare_printf(FMT, ## __VA_ARGS__); \
- message->func_print = worker.func_progress; \
- message->data = worker.data; \
- ecore_main_loop_thread_safe_call_async(_progress_send, message); \
-  } \
-}
-
-#define END_SEND(STATUS) \
-{ \
-   if (worker.func_end) \
- { \
-worker.result = STATUS; \
-ecore_main_loop_thread_safe_call_async(_end_send, NULL); \
- } \
-}
-
 static Eina_Bool
 _project_dev_file_create(Project *pro)
 {
@@ -265,73 +234,6 @@ _gm_group_load_feedback_job(void *data, Ecore_Thread *th)
gm_groups_load(project);
 }
 
-#define MKDIR(NAME) \
-   tmp = eina_stringshare_printf("%s/"#NAME, pro->develop_path); \
-   ecore_file_mkdir(tmp); \
-   pro->res.NAME = eina_list_append(pro->res.NAME, eina_stringshare_add(tmp)); 
\
-   eina_stringshare_del(tmp)
-
-Project *
-_project_files_create(Project_Thread *ptd)
-{
-   Project *pro;
-   Eina_Stringshare *folder_path, *pro_path, *tmp;
-   Eina_Bool error = false;
-
-   _project_descriptor_init(ptd);
-
-   folder_path = eina_stringshare_printf("%s/%s", ptd->path, ptd->name);
-   if (ecore_file_mkdir(folder_path))
- {
-DBG("Create the folder '%s' for new project '%s'", folder_path, 
ptd->name);
- }
-   else
- {
-ERR("Could't create a project folder!");
-error = true;
- }
-   eina_stringshare_del(folder_path);
-   if (error) return NULL;
-
-   pro = (Project *)mem_calloc(1, sizeof(Project));
-   folder_path = eina_stringshare_printf("%s/%s", ptd->path, ptd->name);
-   pro->version = PROJECT_FILE_VERSION;
-   pro->name = eina_stringshare_add(ptd->name);
-   pro->dev = eina_stringshare_printf("%s/%s.dev", folder_path, ptd->name);
-   pro->saved_edj = eina_stringshare_printf("%s/%s.edj", folder_path, 
ptd->name);
-   pro->develop_path = eina_stringshare_printf("%s/develop", folder_path);
-
-   pro_path = eina_stringshare_printf("%s/%s.pro", folder_path, ptd->name);
-   pro->ef = eet_open(pro_path, EET_FILE_MODE_READ_WRITE);
-   ecore_file_mkdir(pro->develop_path);
-   MKDIR(images);
-   MKDIR(sounds);
-   MKDIR(fonts);
-   eina_stringshare_del(folder_path);
-
-   if (!eet_data_write(pro->ef, ptd->eed_project, PROJECT_FILE_KEY, pro, 
compess_level))
- error = true;
-
-   DBG("Create a specific project file '%s': %s", pro_path, error ? "failed" : 
"success");
-   _pm_project_descriptor_shutdown(ptd);
-   eina_stringshare_del(pro_path);
-   if (error)
- {
-ERR("Could't create a .pro file! ")
-eina_stringshare_del(pro->name);
-eina_stringshare_del(pro->dev);
-eina_stringshare_del(pro->saved_edj);
-eina_stringshare_del(pro->develop_path);
-free(pro);
-pro = NULL;
- }
-   else
- eet_sync(pro->ef);
-
-   return pro;
-}
-#undef MKDIR
-
 void
 _copy_meta_data_to_pro(Project_Thread *ptd)
 {
@@ -545,15 +447,9 @@ pm_project_import_edc(const char *name,
 Eina_Bool
 pm_project_thread_cancel()
 {
-   int ret;
-
-   ret = pthread_cancel((pthread_t)worker.thread);
-   if (ret)
- return false;
-
-   END_SEND(PM_PROJECT_CANCEL);
+   TODO("Need to rework this function");
DBG("Project Thread stoped by user!");
-   return true;
+   return false;
 }
 
 Eina_Bool
diff --git 

Re: [E-devel] [RFC] Rename of Eo to Efl

2016-08-10 Thread Davide Andreoli
2016-08-10 17:07 GMT+02:00 Carsten Haitzler :

> On Wed, 10 Aug 2016 15:41:00 +0100 Tom Hacohen  said:
>
> > Hey there,
> >
> > Sorry it took me so long to get to this one. I've been dealing with
> > other things, and every time I got back to this I had more clashes and
> > hell. I'm finally at a stage I can merge most of it, so I'm happy,
> > though I have one question before I push.
> >
> > At the moment I changed it as follows:
> > Eo.Base -> Efl.Object
> > Eo.Override -> Efl.Object.Override
> >
> > I'm quite OK with this change. The problem comes with the actual
> > functions. At the moment they are:
> >
> > efl_ref()
> > efl_add()
> > efl_del()
> > efl_finalize()
> > efl_name_set()
> > efl_parent_get()
>
> these. we know at this level of the base api namespace that efl_ here is
> actually an efl OBJECT and we are doing something to it. that's
> understood/implied. adding more wordiness doesnt help with any of that,
> just
> makes code more verbose and adds more typing effort.
>
>
This shorts names seems totally wrong to me, what you are assuming ("at
this
level of the base api...") is an implicit assumption that can only confuse
users.
Explicit is better than Implicit is in general my rules of life.
Take the efl_finalize() for example, it should really shutdown the whole
library.
So my vote goes for the longer ones.


> > Are we fine with these names, or should they be:
> >
> > efl_object_ref()
> > ...
> > efl_object_parent_get()
> >
> > What do you prefer?
> >
> > I'm quite OK with the former, but would rather not rewrite the whole of
> > EFL twice. :)
> >
> > Please let me know, I'd like to push it in the next 24hrs to avoid
> > further clashes.
> >
> > Thanks,
> > Tom.
> >
> > 
> --
> > What NetFlow Analyzer can do for you? Monitors network bandwidth and
> traffic
> > patterns at an interface-level. Reveals which users, apps, and protocols
> are
> > consuming the most bandwidth. Provides multi-vendor support for NetFlow,
> > J-Flow, sFlow and other flows. Make informed decisions using capacity
> > planning reports. http://sdm.link/zohodev2dev
> > ___
> > enlightenment-devel mailing list
> > enlightenment-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >
>
>
> --
> - Codito, ergo sum - "I code, therefore I am" --
> The Rasterman (Carsten Haitzler)ras...@rasterman.com
>
>
> 
> --
> What NetFlow Analyzer can do for you? Monitors network bandwidth and
> traffic
> patterns at an interface-level. Reveals which users, apps, and protocols
> are
> consuming the most bandwidth. Provides multi-vendor support for NetFlow,
> J-Flow, sFlow and other flows. Make informed decisions using capacity
> planning reports. http://sdm.link/zohodev2dev
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Ignoring application developers, or just me?

2016-08-10 Thread David Seikel
OK, I get it, you have zero understanding of virtual worlds, and no
desire to learn anything about them, hence you have no clue what I've
been talking about.  There are things you can do in virtual worlds you
cannot do in the real world, that's one reason they exist.  Perhaps if
you just trusted me on this subject.  B-)

Yeah lots of people make the mistake of thinking virtual worlds are
games.  They are not.  Games tend to have way better graphics than
anything Second Life and OpenSim can do, SledjHamr should be able to
do much better graphics coz EFL.  Games have actual game mechanics,
virtual worlds do not.  Sure you can actually script games in either
system if you want, and people have done so.  Game mechanics are not
part of SledjHamr, so I'm not gonna write any games, not even demo
games.  Any pre existing LSL (Second Life's scripting language) game
scripts will run fine, and people will have the choice of other
languages in SledjHamr.  I'll likely track down some open source LSL
games and include them in the default download.

Ah, only polish gets your attention.  Yeah, I'm mostly concerned with
getting stuff to work, or getting ideas written down, not making it look
pretty, yet.  Though I did spend some effort in MakeHuman building an
avatar of myself, and the exact opposite of myself (I'm a tall old bald
male, the opposite is a short young female with long hair), then trying
them out in SledjHamr.  Which showed a problem with slow model loading,
so I tried a more cut down avatar as well, which was still a tad slow,
but no slower than Second Life.  All other models used so far are ones
that EFL already had in various examples and tests, not a lot of pretty
there really.  Evas_3D isn't up to importing anything from Second Life
yet.

The model animation mechanism in Evas_3D is frame based, all Second
Life animations are either skeletal based, or scripted manipulation of
primitives.  So the only thing animated in SledjHamr right now is the
Sonic model.

Some parts don't even work any more for EFL 1.18, which I'm still
fixing.  Construction sites are not pretty, nor easy to navigate.
Experimental stuff is experimental, deal with it.  There's a whole
bunch of stuff that has to be working before there can be anything like
a useful demo, so you can't expect me to START with those just to get
people interested.  If I tried to make a video, bug T3282 (or what
looks to be it's current replacement) will bite, and the result wont be
pretty.  Evas_3D itself just ain't ready for pretty demos, especially
not Elementary + Evas_3D.  So you can hardly expect me to be able to do
so either.

The overall intention of SledjHamr IS to make it "download app, run it,
everything is simple and pretty", including things like no need for
accounts or servers.  Eventually.  If it's not easier to use, less
resource intensive, and prettier than Second Life, then that's a
failure.

For the 3D in file requester thing, we did also discuss putting it in
the thumbnailer, or using a short animation instead of 3D.  I think I
said a short animation was acceptable, if not ideal.  The entire
subject was brought up coz of redesigning the thumbnailer.  I was just
trying to make sure that some form of modular system was used that
could cater for 3D thumbnails, and FDO icons (which was dropped last
time it came up).  I even offered to write both myself.  I was just
asking that such things be considered in some sort of generic way in
the REDESIGN of ethumb.  If 3D icons in a file requester is important,
then you are likely already using an application that is showing 3D
models, so the overhead you mention isn't a problem, it's already
there.  If it's not important, you don't have to load up the crap to
show them.

While it is true that I have commit access, and can write to anything I
want, it's more polite to discuss things with the people that actually
are working on various parts.  Which is what I've been trying to do.
This is why, when I wrote my Elementary Evas_3D example, I didn't put
it into Elementary, I put it into my EFL dev repo, and mentioned it so
that if it was acceptable as a demo, we could move it to Elementary.  I
could have just slapped it into Elementary, but I'm not one of the
people responsible for that.

Until today, I have had no feedback from the Evas_3D people, now they
invited me to work on it, so I will.  If the first time I had offered to
work on Evas_3D had actually gone ahead, then I would have been doing
the work already, instead of ranting about it.

Isn't the entire purpose of the bug tracker to, you know, actually track
bugs.  So yeah, people should be looking there for the bugs in the parts
of the system they are responsible for.  Phab didn't even have an
Evas_3D category until I complained about the lack of one when lodging
my bug reports.

I have just as much coding experience as you do, probably more, you
can't pull that card on me.  Mines bigger than yours.  ;-P

-- 
A big old stinking pile of genius that 

Re: [E-devel] Ignoring application developers, or just me?

2016-08-10 Thread David Seikel
I forgot to mention, if ugly hard to use web sites are an instant turn
off for you, why are we using Phab?  It's a horrid thing that uses made
up words for it's main navigation.  Very hard to use.  Even harder to
use it to show stuff to people that don't have an account.  Right now I
can't find a document I know I have seen there before.  I at least use
proper English, well except for words like SledjHamr.  lol

-- 
A big old stinking pile of genius that no one wants
coz there are too many silver coated monkeys in the world.


signature.asc
Description: PGP signature
--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [bindings/python/python-efl] master 01/01: Docs and tests for new elm.Label styles

2016-08-10 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=23c6ffc8cfe2c13c7a2805ffcf5f8395b8886c37

commit 23c6ffc8cfe2c13c7a2805ffcf5f8395b8886c37
Author: Dave Andreoli 
Date:   Wed Aug 10 19:06:50 2016 +0200

Docs and tests for new elm.Label styles

default/left
default/right
marker/left
marker/right
---
 doc/elementary/label.rst  | 10 +-
 examples/elementary/test_label.py | 25 +
 2 files changed, 34 insertions(+), 1 deletion(-)

diff --git a/doc/elementary/label.rst b/doc/elementary/label.rst
index 13f0fe7..7ec380a 100644
--- a/doc/elementary/label.rst
+++ b/doc/elementary/label.rst
@@ -20,9 +20,17 @@ Available styles
 
 
 ``default``
-No animation
+The default style
+``default/left``
+Left aligned label (since 1.18)
+``default/right``
+Right aligned label (since 1.18)
 ``marker``
 Centers the text in the label and makes it bold by default
+``marker/left``
+Like marker but left aligned (since 1.18)
+``marker/right``
+Like marker but right aligned (since 1.18)
 ``slide_long``
 The entire text appears from the right of the screen and
 slides until it disappears in the left of the screen(reappearing on
diff --git a/examples/elementary/test_label.py 
b/examples/elementary/test_label.py
index b6d950b..0c4a10f 100644
--- a/examples/elementary/test_label.py
+++ b/examples/elementary/test_label.py
@@ -66,6 +66,31 @@ def label_clicked(obj):
 vbox.pack_end(lb)
 lb.show()
 
+lb = Label(win, style="default/left", text="Left aligned style",
+   size_hint_weight=EXPAND_HORIZ, size_hint_align=FILL_BOTH)
+vbox.pack_end(lb)
+lb.show()
+
+lb = Label(win, style="default/right", text="Right aligned style",
+   size_hint_weight=EXPAND_HORIZ, size_hint_align=FILL_BOTH)
+vbox.pack_end(lb)
+lb.show()
+
+lb = Label(win, style="marker", text="Marker style",
+   size_hint_weight=EXPAND_HORIZ, size_hint_align=FILL_BOTH)
+vbox.pack_end(lb)
+lb.show()
+
+lb = Label(win, style="marker/left", text="Marker left style",
+   size_hint_weight=EXPAND_HORIZ, size_hint_align=FILL_BOTH)
+vbox.pack_end(lb)
+lb.show()
+
+lb = Label(win, style="marker/right", text="Marker right style",
+   size_hint_weight=EXPAND_HORIZ, size_hint_align=FILL_BOTH)
+vbox.pack_end(lb)
+lb.show()
+
 sp = Separator(win, horizontal=True)
 vbox.pack_end(sp)
 sp.show()

-- 




[E-devel] Evas_3D contributions.

2016-08-10 Thread David Seikel
On Wed, 10 Aug 2016 12:47:51 + Oleksander Zazubrina
 wrote:

> In my opinion if you want contribute to Evas 3D WELLCOME!!!.
> 
> Also I think you should discuss your features with community and
> announcement it in Evas 3D TODO list.

I guess you mean https://phab.enlightenment.org/w/evas_3d_todo/ and not
the older https://phab.enlightenment.org/w/evas_3d/ which is also
titled "Evas 3D TODO"?  Though even that first document hasn't been
updated in almost a year.  I'll add stuff to the end of that document.

-- 
A big old stinking pile of genius that no one wants
coz there are too many silver coated monkeys in the world.


signature.asc
Description: PGP signature
--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [bindings/python/python-efl] master 01/01: Mark the ComboBox widget as broken/deprecated.

2016-08-10 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=71946bffb374f741c0f94e19e4da3e8fde9c691f

commit 71946bffb374f741c0f94e19e4da3e8fde9c691f
Author: Dave Andreoli 
Date:   Wed Aug 10 18:38:32 2016 +0200

Mark the ComboBox widget as broken/deprecated.

This is really sad, but the combobox is broken by design and should have 
been never used in legacy code.

Really, really, sorry about the inconvenience!!
---
 doc/elementary/combobox.rst  | 12 +++-
 efl/elementary/combobox.pxi  | 25 +
 examples/elementary/test_combobox.py | 12 +++-
 3 files changed, 47 insertions(+), 2 deletions(-)

diff --git a/doc/elementary/combobox.rst b/doc/elementary/combobox.rst
index 713416a..71636a6 100644
--- a/doc/elementary/combobox.rst
+++ b/doc/elementary/combobox.rst
@@ -3,8 +3,18 @@
 Combobox
 
 
-.. image:: /images/combobox-preview.png
+.. warning::
+**THE COMBOBOX IS BROKEN AND DEPRECATED, DO NOT USE IN ANY CASE !!**
+
+The behaviour and the API of the Combobox will change in future release.
+
+If you are already using this we really encourage you to switch
+to other widgets.
 
+We are really sorry about this breakage, but there is nothing we can do
+to avoid this :(
+
+.. image:: /images/combobox-preview.png
 
 Widget description
 ==
diff --git a/efl/elementary/combobox.pxi b/efl/elementary/combobox.pxi
index 5253468..f32b609 100644
--- a/efl/elementary/combobox.pxi
+++ b/efl/elementary/combobox.pxi
@@ -97,8 +97,22 @@ class Combobox(_Combobox, Button, Entry, Genlist, Hover):
 
 This is the class that actually implements the widget.
 
+.. warning::
+**THE COMBOBOX WIDGET IS BROKEN AND DEPRECATED, DO NOT USE IN ANY CASE 
!!**
+
+The behaviour and the API of the Combobox will change in future 
release.
+
+If you are already using this we really encourage you to switch
+to other widgets.
+
+We are really sorry about this breakage, but there is nothing we can do
+to avoid this :(
+
 .. versionadded:: 1.17
 
+.. versionchanged:: 1.18
+The combobox widget has been deprecated. Don't use it in ANY case.
+
 """
 def __init__(self, evasObject parent, *args, **kwargs):
 """Combobox(...)
@@ -109,6 +123,17 @@ class Combobox(_Combobox, Button, Entry, Genlist, Hover):
   as properties of the instance
 
 """
+print("""
+**THE COMBOBOX IS BROKEN AND DEPRECATED, DO NOT USE IN ANY CASE !!**
+
+The behaviour and the API of the Combobox will change in future 
release.
+
+If you are already using this we really encourage you to switch
+to other widgets.
+
+We are really sorry about this breakage, but there is nothing we can do
+to avoid this :(
+""")
 _Combobox.__init__(self, parent, *args, **kwargs)
 
 
diff --git a/examples/elementary/test_combobox.py 
b/examples/elementary/test_combobox.py
index 97b5d53..c60ed32 100644
--- a/examples/elementary/test_combobox.py
+++ b/examples/elementary/test_combobox.py
@@ -5,7 +5,7 @@ from efl.evas import EVAS_HINT_EXPAND, EXPAND_BOTH, 
EXPAND_HORIZ, FILL_HORIZ, \
 EVAS_ASPECT_CONTROL_VERTICAL
 from efl import elementary as elm
 from efl.elementary import StandardWindow, Box, Button, Icon, Separator, \
-Combobox, GenlistItemClass
+Combobox, GenlistItemClass, Label
 
 
 class ComboboxItemClass(GenlistItemClass):
@@ -98,6 +98,16 @@ def combobox_clicked(obj):
 bx.pack_start(bt)
 bt.show()
 
+lb = Label(win, text="""
+THE COMBOBOX WIDGET IS BROKEN AND DEPRECATED.
+DO NOT USE IN ANY CASE.
+The behaviour and the API of the Combobox will change in future release. 

+If you are already using this we really encourage you to switch to other 
widgets.
+We are really sorry about this breakage, but there is nothing we can do to 
avoid this :( 
+""")
+bx.pack_start(lb)
+lb.show()
+
 #
 win.show()
 

-- 




Re: [E-devel] [RFC] Rename of Eo to Efl

2016-08-10 Thread Gustavo Sverzut Barbieri
On Wed, Aug 10, 2016 at 12:07 PM, Carsten Haitzler  wrote:
> On Wed, 10 Aug 2016 15:41:00 +0100 Tom Hacohen  said:
>
>> Hey there,
>>
>> Sorry it took me so long to get to this one. I've been dealing with
>> other things, and every time I got back to this I had more clashes and
>> hell. I'm finally at a stage I can merge most of it, so I'm happy,
>> though I have one question before I push.
>>
>> At the moment I changed it as follows:
>> Eo.Base -> Efl.Object
>> Eo.Override -> Efl.Object.Override
>>
>> I'm quite OK with this change. The problem comes with the actual
>> functions. At the moment they are:
>>
>> efl_ref()
>> efl_add()
>> efl_del()
>> efl_finalize()
>> efl_name_set()
>> efl_parent_get()
>
> these. we know at this level of the base api namespace that efl_ here is
> actually an efl OBJECT and we are doing something to it. that's
> understood/implied. adding more wordiness doesnt help with any of that, just
> makes code more verbose and adds more typing effort.

isn't clear to me... at least not after coming back :-)

if efl is all about the high-level end user API (ie: all that the user
needs to know), then it may work if all is an object. Otherwise people
may incorrectly assume efl_ref() could be used on an Eina_Binbuf or
Eina_Stringshare and that won't be the case, even if they are also
part of EFL.




-- 
Gustavo Sverzut Barbieri
--
Mobile: +55 (16) 99354-9890

--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: docs: disable graph writing from writer api when appropriate

2016-08-10 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit a3945c9986c114de12d89513694031e25f598ceb
Author: Daniel Kolesa 
Date:   Wed Aug 10 15:50:19 2016 +0100

docs: disable graph writing from writer api when appropriate
---
 src/scripts/elua/apps/docgen/writer.lua | 13 +++--
 src/scripts/elua/apps/gendoc.lua| 19 ++-
 2 files changed, 21 insertions(+), 11 deletions(-)

diff --git a/src/scripts/elua/apps/docgen/writer.lua 
b/src/scripts/elua/apps/docgen/writer.lua
index 06b6563..42f31b1 100644
--- a/src/scripts/elua/apps/docgen/writer.lua
+++ b/src/scripts/elua/apps/docgen/writer.lua
@@ -5,7 +5,7 @@ local dutil = require("docgen.util")
 
 local M = {}
 
-local root_nspace, use_notes, use_folds
+local root_nspace, use_notes, use_folds, use_dot
 
 M.Writer = util.Object:clone {
 __ctor = function(self, path)
@@ -125,6 +125,9 @@ M.Writer = util.Object:clone {
 end,
 
 write_graph = function(self, tbl)
+if not use_dot then
+return self
+end
 self:write_raw("\n")
 self:write_raw("digraph ", tbl.type, " {\n")
 
@@ -317,6 +320,7 @@ M.Writer = util.Object:clone {
 if use_folds then
 self:write_raw("\n\n")
 end
+return self
 end,
 
 finish = function(self)
@@ -343,10 +347,15 @@ M.Buffer = M.Writer:clone {
 end
 }
 
-M.init = function(root_ns, notes, folds)
+M.init = function(root_ns, notes, folds, dot)
 root_nspace = root_ns
 use_notes = notes
 use_folds = folds
+use_dot = dot
+end
+
+M.has_dot = function()
+return use_dot
 end
 
 return M
diff --git a/src/scripts/elua/apps/gendoc.lua b/src/scripts/elua/apps/gendoc.lua
index 06ec97d..1d128d7 100644
--- a/src/scripts/elua/apps/gendoc.lua
+++ b/src/scripts/elua/apps/gendoc.lua
@@ -11,8 +11,6 @@ local keyref = require("docgen.keyref")
 local ser = require("docgen.serializers")
 local dtree = require("docgen.doctree")
 
-local use_dot
-
 -- eolian to various doc elements conversions
 
 local get_fallback_fdoc = function(f, ftype)
@@ -743,10 +741,10 @@ local build_class = function(cl)
 f:write_h(cl:full_name_get(), 2)
 keyref.add(cl:full_name_get():gsub("%.", "_"), "c")
 
-if use_dot then
-f:write_folded("Inheritance graph", function()
-f:write_graph(build_igraph(cl))
-end)
+f:write_folded("Inheritance graph", function()
+f:write_graph(build_igraph(cl))
+end)
+if writer.has_dot() then
 f:write_nl(2)
 end
 
@@ -1128,8 +1126,6 @@ getopt.parse {
 if opts["graph-theme"] then
 set_theme(opts["graph-theme"])
 end
-use_dot = not opts["disable-graphviz"]
-use_folded = not opts["disable-folded"]
 local rootns = (not opts["n"] or opts["n"] == "")
 and "efl" or opts["n"]
 local dr
@@ -1158,7 +1154,12 @@ getopt.parse {
 error("failed parsing eo files")
 end
 stats.init(not not opts["v"])
-writer.init(rootns, not opts["disable-notes"], not 
opts["disable-folded"])
+writer.init(
+rootns,
+not opts["disable-notes"],
+not opts["disable-folded"],
+not opts["disable-graphviz"]
+)
 dutil.rm_root()
 dutil.mkdir_r(nil)
 build_ref()

-- 




Re: [E-devel] Ignoring application developers, or just me?

2016-08-10 Thread The Rasterman
On Wed, 10 Aug 2016 22:12:00 +1000 onefang Rejected  said:

> On Thu, 4 Aug 2016 14:27:09 +0900 Carsten Haitzler (The Rasterman)
>  wrote:
> 
> > On Thu, 4 Aug 2016 15:16:03 +1000 David Seikel 
> > said:
> > 
> > > On Thu, 4 Aug 2016 14:00:01 +0900 Carsten Haitzler (The Rasterman)
> > >  wrote:
> > > 
> > > > On Thu, 4 Aug 2016 13:23:33 +1000 David Seikel 
> > > > said:
> > > > 
> > > > > On Thu, 4 Aug 2016 11:29:50 +0900 Carsten Haitzler (The
> > > > > Rasterman)  wrote:
> > > > > 
> > > > > > one thing with your evas 3d usage... it's not real/useful to
> > > > > > anyone else. if you made open source tools/apps that were
> > > > > > easily usable and downloadable (without needing special
> > > > > > accounts you have to pay for e.g second life) then you would
> > > > > > be interesting/relevant.
> > > > > > 
> > > > > > let me give you a sample:
> > > > > > 
> > > > > > if you  made a really nice world clock app for seeing world
> > > > > > timezones, selecting yours, setting date/time etc. that even
> > > > > > did sexy stuff like used topological maps of the world so
> > > > > > when you zoom into an area you get some mountains/hills and
> > > > > > so on... and this was part of e's settings tools or clock
> > > > > > tool with calendar etc. ... well then that'd be really cool
> > > > > > and useful to LOTs of people and accessible to everyone. :)
> > > > > > just saying. you're emails are "i'm working on this thing..
> > > > > > here on my hard drive... it does x/y/z and will do x/y/z".
> > > > > > that's not REAL to anyone. it's not accessible. it's not used
> > > > > > daily thus important. :) you want evas 3d to be useful to
> > > > > > your BIGGER projects you do like this, do some smaller ones
> > > > > > out the front that people see and use daily. :)
> > > > > 
> > > > > Er, my project is for Second Life, OpenSim, AND an alternative
> > > > > to both, and is on Github.  Your arguments are invalid.  Hell,
> > > > > my general idea is to make server side so efficient that by
> > > > > default, anyone can run their own little server to invite their
> > > > > friends to, even on their phone.  I'm trying to open up 3D
> > > > > virtual worlds to the masses.
> > > > 
> > > > "that are easily downloadable and usable without special
> > > > accounts". someone has to set up a server, run it, need accounts,
> > > > etc. is it a tool readily usable out of the box that people
> > > > actually will need/use regularly. a secondlife or quivalent is
> > > > not. a terminal is. a wm is. a web browser is. ... if someone has
> > > > to set up a server themselves or register accounts somewhere else
> > > > at all you just failed the "useful to anyone" :)
> > > 
> > > If you read SledjHamr.org, you'll see I have taken all of that into
> > > account.  Now you are just making up excuses to ignore me.
> > 
> > count the number of people here participating in any virtual world.
> > they use terminals. email clients. wm's. the number of people
> > involved in virtual worlds who would even look is small at best.
> > perhaps you don't like it, but i'm trying to tell you that the reason
> > no one is paying attention is you do not have something they want.
> > maybe others do, but no one here working on efl or e or core users
> > etc. is. or almost no one. if they were, then you wouldnt be a
> > periphery thing. i am not saying your work is bad or its stupid or
> > anything. i'm saying that expecting relevance is dependent on things
> > being relevant to others. if efl breaks terminology then that break
> > becomes relevant because LOTs of people use it here and even
> > elsewhere. but especially here. if evas_3d was being used in e for eg
> > 3d cube desktop switching effects... it'd be relevant to a whole lot
> > of people immediately.
> > 
> > i'm not even going to look at those projects because the premise of
> > them as a virtual world is not interesting or relevant to me. it is
> > to you and that's great. not to me. and if you go around wondering
> > why they are not paying attention then this is the primary reason.
> > you have to have things in common that make the things you want be
> > relevant. :) i'm trying to help you here by pointing out that to help
> > the project you care about, you may have to do other side projects
> > that have relevance to others to bring that to the fore. :)
> 
> That kinda sounds like you are telling me I basically have to bribe
> people to get anywhere.  Do you realise that A) a 3D virtual world

welcome to the real world. it's not bribe. it's marketing. it's shared
interest. it's a carrot. this is why you should always go from zero to demo
ASAP because that is your carrot. you have to give people a REASON to
prioritize you or your things above others.

> system is kinda HUGE (will take years, already has), 2) it involves all

and if it's going to be more 

[E-devel] [RFC] Rename of Eo to Efl

2016-08-10 Thread Tom Hacohen
Hey there,

Sorry it took me so long to get to this one. I've been dealing with 
other things, and every time I got back to this I had more clashes and 
hell. I'm finally at a stage I can merge most of it, so I'm happy, 
though I have one question before I push.

At the moment I changed it as follows:
Eo.Base -> Efl.Object
Eo.Override -> Efl.Object.Override

I'm quite OK with this change. The problem comes with the actual 
functions. At the moment they are:

efl_ref()
efl_add()
efl_del()
efl_finalize()
efl_name_set()
efl_parent_get()

Are we fine with these names, or should they be:

efl_object_ref()
...
efl_object_parent_get()

What do you prefer?

I'm quite OK with the former, but would rather not rewrite the whole of 
EFL twice. :)

Please let me know, I'd like to push it in the next 24hrs to avoid 
further clashes.

Thanks,
Tom.

--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Problem with Combobox 1.18 API

2016-08-10 Thread Tom Hacohen
On 09/08/16 20:37, Davide Andreoli wrote:
> Starting from this commit:
> https://git.enlightenment.org/core/elementary.git/commit/?id=015db15c626b9b06116fcc8f7ec61bbae3c6cc30
>
> combobox now inherit from Genlist and Multibuttonentry, this is causing
> some name clashes, in particular
> I found the item_append() function to be present (and needed) in both
> parent class.
>
> This is an issue in bindings, where you use it like:
> cbox.item_append(...)
> what function do I need to call in this case? the one from genlist or the
> one from multibuttonentry?
> do you want to add the item in the genlist or in the mbe?
>
> TBH I also found the new combobox multi selection functionality quite
> broken atm, for example it's
> quite impossible to make the widget the right size, it always appear super
> small, unless you perform
> hacks like the table+rect one, or use and edje layout (like is done the
> elementary_test)
>
> If we don't a have a solution/explanation for the name clash I suggest to
> revert this commit for the
> 1.18 release and fix/discuss better in the next cycle
>
> Thanks
> davemds

Hey,

My reply will be based on my basic checks and a few assumptions, if you 
think any of the assumptions are wrong, please correct me. But given the 
quick glance I took of the code, and our chat on IRC, I think I'm on top 
of it.


The Eo API is not stable. This obviously includes eo functions like 
eo_add, but also eo properties, like multiple inheritance. Combobox 
inherits from box, and is extended (composite if I had to assume) by 
genlist. This means that any genlist calls on combobox objects are 
actually BETA are not "released". This means one of two things: if you 
can use combobox without these calls, all is well. If you rely on using 
these calls, then combobox should be marked as beta too as it's not 
useful without the Eo api. That is it.


There is an issue and a clash, you are correct. This issue will be 
fixed, but not for this release, and it's not the end of the world 
because as I said, you either don't need to reply on it, or the widget 
is beta. Either way, no biggie.

--
Tom.


--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: docs: unified feature testing in writer api

2016-08-10 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 88edaa768c8a8221ff1b2cabe4f75151d94dcbfd
Author: Daniel Kolesa 
Date:   Wed Aug 10 15:54:11 2016 +0100

docs: unified feature testing in writer api
---
 src/scripts/elua/apps/docgen/writer.lua | 27 ++-
 src/scripts/elua/apps/gendoc.lua| 14 +++---
 2 files changed, 21 insertions(+), 20 deletions(-)

diff --git a/src/scripts/elua/apps/docgen/writer.lua 
b/src/scripts/elua/apps/docgen/writer.lua
index 42f31b1..9683edf 100644
--- a/src/scripts/elua/apps/docgen/writer.lua
+++ b/src/scripts/elua/apps/docgen/writer.lua
@@ -5,7 +5,14 @@ local dutil = require("docgen.util")
 
 local M = {}
 
-local root_nspace, use_notes, use_folds, use_dot
+local root_nspace, features
+
+M.has_feature = function(fname)
+if not features then
+return false
+end
+return not not features[fname]
+end
 
 M.Writer = util.Object:clone {
 __ctor = function(self, path)
@@ -125,7 +132,7 @@ M.Writer = util.Object:clone {
 end,
 
 write_graph = function(self, tbl)
-if not use_dot then
+if not M.has_feature("dot") then
 return self
 end
 self:write_raw("\n")
@@ -288,7 +295,7 @@ M.Writer = util.Object:clone {
 end,
 
 write_par = function(self, str)
-local notetypes = use_notes and {
+local notetypes = M.has_feature("notes") and {
 ["Note: "] = "\n",
 ["Warning: "] = "\n",
 ["Remark: "] = "\n",
@@ -313,11 +320,11 @@ M.Writer = util.Object:clone {
 end,
 
 write_folded = function(self, title, func)
-if use_folds then
+if M.has_feature("folds") then
 self:write_raw(" ", title, " |\n\n")
 end
 func(self)
-if use_folds then
+if M.has_feature("folds") then
 self:write_raw("\n\n")
 end
 return self
@@ -347,15 +354,9 @@ M.Buffer = M.Writer:clone {
 end
 }
 
-M.init = function(root_ns, notes, folds, dot)
+M.init = function(root_ns, ftrs)
 root_nspace = root_ns
-use_notes = notes
-use_folds = folds
-use_dot = dot
-end
-
-M.has_dot = function()
-return use_dot
+features = ftrs
 end
 
 return M
diff --git a/src/scripts/elua/apps/gendoc.lua b/src/scripts/elua/apps/gendoc.lua
index 1d128d7..b778ab4 100644
--- a/src/scripts/elua/apps/gendoc.lua
+++ b/src/scripts/elua/apps/gendoc.lua
@@ -744,7 +744,7 @@ local build_class = function(cl)
 f:write_folded("Inheritance graph", function()
 f:write_graph(build_igraph(cl))
 end)
-if writer.has_dot() then
+if writer.has_feature("dot") then
 f:write_nl(2)
 end
 
@@ -1154,12 +1154,12 @@ getopt.parse {
 error("failed parsing eo files")
 end
 stats.init(not not opts["v"])
-writer.init(
-rootns,
-not opts["disable-notes"],
-not opts["disable-folded"],
-not opts["disable-graphviz"]
-)
+local wfeatures = {
+notes = not opts["disable-notes"],
+folds = not opts["disable-folded"],
+dot = not opts["disable-graphviz"]
+}
+writer.init(rootns, wfeatures)
 dutil.rm_root()
 dutil.mkdir_r(nil)
 build_ref()

-- 




Re: [E-devel] [RFC] Rename of Eo to Efl

2016-08-10 Thread The Rasterman
On Wed, 10 Aug 2016 15:41:00 +0100 Tom Hacohen  said:

> Hey there,
> 
> Sorry it took me so long to get to this one. I've been dealing with 
> other things, and every time I got back to this I had more clashes and 
> hell. I'm finally at a stage I can merge most of it, so I'm happy, 
> though I have one question before I push.
> 
> At the moment I changed it as follows:
> Eo.Base -> Efl.Object
> Eo.Override -> Efl.Object.Override
> 
> I'm quite OK with this change. The problem comes with the actual 
> functions. At the moment they are:
> 
> efl_ref()
> efl_add()
> efl_del()
> efl_finalize()
> efl_name_set()
> efl_parent_get()

these. we know at this level of the base api namespace that efl_ here is
actually an efl OBJECT and we are doing something to it. that's
understood/implied. adding more wordiness doesnt help with any of that, just
makes code more verbose and adds more typing effort.

> Are we fine with these names, or should they be:
> 
> efl_object_ref()
> ...
> efl_object_parent_get()
> 
> What do you prefer?
> 
> I'm quite OK with the former, but would rather not rewrite the whole of 
> EFL twice. :)
> 
> Please let me know, I'd like to push it in the next 24hrs to avoid 
> further clashes.
> 
> Thanks,
> Tom.
> 
> --
> What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
> patterns at an interface-level. Reveals which users, apps, and protocols are 
> consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
> J-Flow, sFlow and other flows. Make informed decisions using capacity 
> planning reports. http://sdm.link/zohodev2dev
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> 


-- 
- Codito, ergo sum - "I code, therefore I am" --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Ignoring application developers, or just me?

2016-08-10 Thread Simon Lees


On 08/10/2016 09:42 PM, onefang Rejected wrote:
> On Thu, 4 Aug 2016 14:27:09 +0900 Carsten Haitzler (The Rasterman)
>  wrote:
> 
>> On Thu, 4 Aug 2016 15:16:03 +1000 David Seikel 
>> said:
>>
>>> On Thu, 4 Aug 2016 14:00:01 +0900 Carsten Haitzler (The Rasterman)
>>>  wrote:
>>>
 On Thu, 4 Aug 2016 13:23:33 +1000 David Seikel 
 said:

> On Thu, 4 Aug 2016 11:29:50 +0900 Carsten Haitzler (The
> Rasterman)  wrote:
>
>> one thing with your evas 3d usage... it's not real/useful to
>> anyone else. if you made open source tools/apps that were
>> easily usable and downloadable (without needing special
>> accounts you have to pay for e.g second life) then you would
>> be interesting/relevant.
>>
>> let me give you a sample:
>>
>> if you  made a really nice world clock app for seeing world
>> timezones, selecting yours, setting date/time etc. that even
>> did sexy stuff like used topological maps of the world so
>> when you zoom into an area you get some mountains/hills and
>> so on... and this was part of e's settings tools or clock
>> tool with calendar etc. ... well then that'd be really cool
>> and useful to LOTs of people and accessible to everyone. :)
>> just saying. you're emails are "i'm working on this thing..
>> here on my hard drive... it does x/y/z and will do x/y/z".
>> that's not REAL to anyone. it's not accessible. it's not used
>> daily thus important. :) you want evas 3d to be useful to
>> your BIGGER projects you do like this, do some smaller ones
>> out the front that people see and use daily. :)
>
> Er, my project is for Second Life, OpenSim, AND an alternative
> to both, and is on Github.  Your arguments are invalid.  Hell,
> my general idea is to make server side so efficient that by
> default, anyone can run their own little server to invite their
> friends to, even on their phone.  I'm trying to open up 3D
> virtual worlds to the masses.

 "that are easily downloadable and usable without special
 accounts". someone has to set up a server, run it, need accounts,
 etc. is it a tool readily usable out of the box that people
 actually will need/use regularly. a secondlife or quivalent is
 not. a terminal is. a wm is. a web browser is. ... if someone has
 to set up a server themselves or register accounts somewhere else
 at all you just failed the "useful to anyone" :)
>>>
>>> If you read SledjHamr.org, you'll see I have taken all of that into
>>> account.  Now you are just making up excuses to ignore me.
>>
>> count the number of people here participating in any virtual world.
>> they use terminals. email clients. wm's. the number of people
>> involved in virtual worlds who would even look is small at best.
>> perhaps you don't like it, but i'm trying to tell you that the reason
>> no one is paying attention is you do not have something they want.
>> maybe others do, but no one here working on efl or e or core users
>> etc. is. or almost no one. if they were, then you wouldnt be a
>> periphery thing. i am not saying your work is bad or its stupid or
>> anything. i'm saying that expecting relevance is dependent on things
>> being relevant to others. if efl breaks terminology then that break
>> becomes relevant because LOTs of people use it here and even
>> elsewhere. but especially here. if evas_3d was being used in e for eg
>> 3d cube desktop switching effects... it'd be relevant to a whole lot
>> of people immediately.
>>
>> i'm not even going to look at those projects because the premise of
>> them as a virtual world is not interesting or relevant to me. it is
>> to you and that's great. not to me. and if you go around wondering
>> why they are not paying attention then this is the primary reason.
>> you have to have things in common that make the things you want be
>> relevant. :) i'm trying to help you here by pointing out that to help
>> the project you care about, you may have to do other side projects
>> that have relevance to others to bring that to the fore. :)
> 
> That kinda sounds like you are telling me I basically have to bribe
> people to get anywhere.  Do you realise that A) a 3D virtual world
> system is kinda HUGE (will take years, already has), 2) it involves all
> sorts of sub projects that have to work together, III) lots of little
> side projects will drop out of it over the years simply due to A and
> 2, D) some of these might be the "relevant to others" you seek, why
> don't you look at the damn web site, and tell me which ones?  There's
> even a nice picture showing all of them.
> 
> OK, since you are going to ignore my web site, I'll explain that my
> design is more of a P2P thingy, no need to setup a server.  It also
> defaults to what ever user name your desktop already knows, and
> leverages 

Re: [E-devel] Problem with Combobox 1.18 API

2016-08-10 Thread Tom Hacohen
On 10/08/16 14:51, Davide Andreoli wrote:
> 2016-08-10 15:48 GMT+02:00 Tom Hacohen :
>
>> On 10/08/16 14:45, Davide Andreoli wrote:
>>> 2016-08-10 15:22 GMT+02:00 Tom Hacohen :
>>>
 On 09/08/16 20:37, Davide Andreoli wrote:
> Starting from this commit:
> https://git.enlightenment.org/core/elementary.git/commit/?id=
 015db15c626b9b06116fcc8f7ec61bbae3c6cc30
>
> combobox now inherit from Genlist and Multibuttonentry, this is causing
> some name clashes, in particular
> I found the item_append() function to be present (and needed) in both
> parent class.
>
> This is an issue in bindings, where you use it like:
> cbox.item_append(...)
> what function do I need to call in this case? the one from genlist or
>> the
> one from multibuttonentry?
> do you want to add the item in the genlist or in the mbe?
>
> TBH I also found the new combobox multi selection functionality quite
> broken atm, for example it's
> quite impossible to make the widget the right size, it always appear
 super
> small, unless you perform
> hacks like the table+rect one, or use and edje layout (like is done the
> elementary_test)
>
> If we don't a have a solution/explanation for the name clash I suggest
>> to
> revert this commit for the
> 1.18 release and fix/discuss better in the next cycle
>
> Thanks
> davemds

 Hey,

 My reply will be based on my basic checks and a few assumptions, if you
 think any of the assumptions are wrong, please correct me. But given the
 quick glance I took of the code, and our chat on IRC, I think I'm on top
 of it.


 The Eo API is not stable. This obviously includes eo functions like
 eo_add, but also eo properties, like multiple inheritance. Combobox
 inherits from box, and is extended (composite if I had to assume) by
 genlist. This means that any genlist calls on combobox objects are
 actually BETA are not "released". This means one of two things: if you
 can use combobox without these calls, all is well. If you rely on using
 these calls, then combobox should be marked as beta too as it's not
 useful without the Eo api. That is it.


>>> I can understand your point here, but the problem is that legacy users
>> can
>>> use this legacy functions:
>>> o = elm_combobox_add()
>>> elm_genlist_item_append(o)
>>> elm_multibuttonentry_item_append(o)
>>
>> I understand.
>>
>>>
>>> those functions are not BETA, and people can use them. While you
>>> say they are (conceptually) BETA.
>>>
>>> Infact we already have bindings for the combobox in python-efl.
>>>
>>> To be more clear: the only way to actually use the combobox widget in
>>> any useful way is to use functions from other widgets (composited)
>>> And if composited is conceptually BETA then the full widget should be
>>> marked as BETA.
>>
>> That's what I said. So the widget should be marked as beta.
>>
>>
> It's a bit too late for this, it was also in the 1.17 release (without beta)

Well, it's not a problem, because as I said, it's undefined behaviour 
(the way it was used), and it shouldn't have been used that way. It 
relied on unreleased API. Combobox itself is not an API break, just 
certain usages. So we just released a useless widget in 1.17, I'm fine 
with that. Doesn't matter. Read my previous mail for more info.

--
Tom.


--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/01: emotion generic - vlc - make it off by default as 2 video bends is silly

2016-08-10 Thread onefang Rejected
On Thu, 4 Aug 2016 15:17:38 +0930 Simon Lees  wrote:

> 
> 
> On 08/04/2016 02:57 PM, Carsten Haitzler (The Rasterman) wrote:
> > On Thu, 4 Aug 2016 15:16:03 +1000 David Seikel 
> > said:
> > 
> >> On Thu, 4 Aug 2016 14:00:01 +0900 Carsten Haitzler (The Rasterman)
> >>  wrote:
> >>
> >>> On Thu, 4 Aug 2016 13:23:33 +1000 David Seikel 
> >>> said:
> >>>
>  On Thu, 4 Aug 2016 11:29:50 +0900 Carsten Haitzler (The
>  Rasterman)  wrote:
> 
> > one thing with your evas 3d usage... it's not real/useful to
> > anyone else. if you made open source tools/apps that were easily
> > usable and downloadable (without needing special accounts you
> > have to pay for e.g second life) then you would be
> > interesting/relevant.
> >
> > let me give you a sample:
> >
> > if you  made a really nice world clock app for seeing world
> > timezones, selecting yours, setting date/time etc. that even did
> > sexy stuff like used topological maps of the world so when you
> > zoom into an area you get some mountains/hills and so on... and
> > this was part of e's settings tools or clock tool with calendar
> > etc. ... well then that'd be really cool and useful to LOTs of
> > people and accessible to everyone. :) just saying. you're emails
> > are "i'm working on this thing.. here on my hard drive... it
> > does x/y/z and will do x/y/z". that's not REAL to anyone. it's
> > not accessible. it's not used daily thus important. :) you want
> > evas 3d to be useful to your BIGGER projects you do like this,
> > do some smaller ones out the front that people see and use
> > daily. :)
> 
>  Er, my project is for Second Life, OpenSim, AND an alternative to
>  both, and is on Github.  Your arguments are invalid.  Hell, my
>  general idea is to make server side so efficient that by default,
>  anyone can run their own little server to invite their friends
>  to, even on their phone.  I'm trying to open up 3D virtual
>  worlds to the masses.
> >>>
> >>> "that are easily downloadable and usable without special
> >>> accounts". someone has to set up a server, run it, need accounts,
> >>> etc. is it a tool readily usable out of the box that people
> >>> actually will need/use regularly. a secondlife or quivalent is
> >>> not. a terminal is. a wm is. a web browser is. ... if someone has
> >>> to set up a server themselves or register accounts somewhere else
> >>> at all you just failed the "useful to anyone" :)
> >>
> >> If you read SledjHamr.org, you'll see I have taken all of that into
> >> account.  Now you are just making up excuses to ignore me.
> > 
> > count the number of people here participating in any virtual world.
> > they use terminals. email clients. wm's. the number of people
> > involved in virtual worlds who would even look is small at best.
> > perhaps you don't like it, but i'm trying to tell you that the
> > reason no one is paying attention is you do not have something they
> > want. maybe others do, but no one here working on efl or e or core
> > users etc. is. or almost no one. if they were, then you wouldnt be
> > a periphery thing. i am not saying your work is bad or its stupid
> > or anything. i'm saying that expecting relevance is dependent on
> > things being relevant to others. if efl breaks terminology then
> > that break becomes relevant because LOTs of people use it here and
> > even elsewhere. but especially here. if evas_3d was being used in e
> > for eg 3d cube desktop switching effects... it'd be relevant to a
> > whole lot of people immediately.
> > 
> > i'm not even going to look at those projects because the premise of
> > them as a virtual world is not interesting or relevant to me. it is
> > to you and that's great. not to me. and if you go around wondering
> > why they are not paying attention then this is the primary reason.
> > you have to have things in common that make the things you want be
> > relevant. :) i'm trying to help you here by pointing out that to
> > help the project you care about, you may have to do other side
> > projects that have relevance to others to bring that to the fore. :)
> > 
> 
> A gadget to display models of parts of virtual worlds inside E would
> be pretty interesting maybe.

What, like the file requester showing 3D thumbnails that Raster keeps
arguing against?  Yeah, I want that to.  B-)

> Extra extra bonus points if you can merge the concept of a virtual
> world and a Window manager, I've always wanted to be able to walk
> between my windows its about time someone reinveted 3D window
> managers, if you started work along those lines id definitely be
> interested.

Keep in mind that what I am working on is an entire 3D virtual world
system, which is a huge thing, including lots and lots and lots of
little bits.  Any generic bit I can get others to write 

Re: [E-devel] Problem with Combobox 1.18 API

2016-08-10 Thread Davide Andreoli
2016-08-10 15:48 GMT+02:00 Tom Hacohen :

> On 10/08/16 14:45, Davide Andreoli wrote:
> > 2016-08-10 15:22 GMT+02:00 Tom Hacohen :
> >
> >> On 09/08/16 20:37, Davide Andreoli wrote:
> >>> Starting from this commit:
> >>> https://git.enlightenment.org/core/elementary.git/commit/?id=
> >> 015db15c626b9b06116fcc8f7ec61bbae3c6cc30
> >>>
> >>> combobox now inherit from Genlist and Multibuttonentry, this is causing
> >>> some name clashes, in particular
> >>> I found the item_append() function to be present (and needed) in both
> >>> parent class.
> >>>
> >>> This is an issue in bindings, where you use it like:
> >>> cbox.item_append(...)
> >>> what function do I need to call in this case? the one from genlist or
> the
> >>> one from multibuttonentry?
> >>> do you want to add the item in the genlist or in the mbe?
> >>>
> >>> TBH I also found the new combobox multi selection functionality quite
> >>> broken atm, for example it's
> >>> quite impossible to make the widget the right size, it always appear
> >> super
> >>> small, unless you perform
> >>> hacks like the table+rect one, or use and edje layout (like is done the
> >>> elementary_test)
> >>>
> >>> If we don't a have a solution/explanation for the name clash I suggest
> to
> >>> revert this commit for the
> >>> 1.18 release and fix/discuss better in the next cycle
> >>>
> >>> Thanks
> >>> davemds
> >>
> >> Hey,
> >>
> >> My reply will be based on my basic checks and a few assumptions, if you
> >> think any of the assumptions are wrong, please correct me. But given the
> >> quick glance I took of the code, and our chat on IRC, I think I'm on top
> >> of it.
> >>
> >>
> >> The Eo API is not stable. This obviously includes eo functions like
> >> eo_add, but also eo properties, like multiple inheritance. Combobox
> >> inherits from box, and is extended (composite if I had to assume) by
> >> genlist. This means that any genlist calls on combobox objects are
> >> actually BETA are not "released". This means one of two things: if you
> >> can use combobox without these calls, all is well. If you rely on using
> >> these calls, then combobox should be marked as beta too as it's not
> >> useful without the Eo api. That is it.
> >>
> >>
> > I can understand your point here, but the problem is that legacy users
> can
> > use this legacy functions:
> > o = elm_combobox_add()
> > elm_genlist_item_append(o)
> > elm_multibuttonentry_item_append(o)
>
> I understand.
>
> >
> > those functions are not BETA, and people can use them. While you
> > say they are (conceptually) BETA.
> >
> > Infact we already have bindings for the combobox in python-efl.
> >
> > To be more clear: the only way to actually use the combobox widget in
> > any useful way is to use functions from other widgets (composited)
> > And if composited is conceptually BETA then the full widget should be
> > marked as BETA.
>
> That's what I said. So the widget should be marked as beta.
>
>
It's a bit too late for this, it was also in the 1.17 release (without beta)



> --
> Tom.
>
>
> 
> --
> What NetFlow Analyzer can do for you? Monitors network bandwidth and
> traffic
> patterns at an interface-level. Reveals which users, apps, and protocols
> are
> consuming the most bandwidth. Provides multi-vendor support for NetFlow,
> J-Flow, sFlow and other flows. Make informed decisions using capacity
> planning reports. http://sdm.link/zohodev2dev
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Problem with Combobox 1.18 API

2016-08-10 Thread Tom Hacohen
On 10/08/16 14:45, Davide Andreoli wrote:
> 2016-08-10 15:22 GMT+02:00 Tom Hacohen :
>
>> On 09/08/16 20:37, Davide Andreoli wrote:
>>> Starting from this commit:
>>> https://git.enlightenment.org/core/elementary.git/commit/?id=
>> 015db15c626b9b06116fcc8f7ec61bbae3c6cc30
>>>
>>> combobox now inherit from Genlist and Multibuttonentry, this is causing
>>> some name clashes, in particular
>>> I found the item_append() function to be present (and needed) in both
>>> parent class.
>>>
>>> This is an issue in bindings, where you use it like:
>>> cbox.item_append(...)
>>> what function do I need to call in this case? the one from genlist or the
>>> one from multibuttonentry?
>>> do you want to add the item in the genlist or in the mbe?
>>>
>>> TBH I also found the new combobox multi selection functionality quite
>>> broken atm, for example it's
>>> quite impossible to make the widget the right size, it always appear
>> super
>>> small, unless you perform
>>> hacks like the table+rect one, or use and edje layout (like is done the
>>> elementary_test)
>>>
>>> If we don't a have a solution/explanation for the name clash I suggest to
>>> revert this commit for the
>>> 1.18 release and fix/discuss better in the next cycle
>>>
>>> Thanks
>>> davemds
>>
>> Hey,
>>
>> My reply will be based on my basic checks and a few assumptions, if you
>> think any of the assumptions are wrong, please correct me. But given the
>> quick glance I took of the code, and our chat on IRC, I think I'm on top
>> of it.
>>
>>
>> The Eo API is not stable. This obviously includes eo functions like
>> eo_add, but also eo properties, like multiple inheritance. Combobox
>> inherits from box, and is extended (composite if I had to assume) by
>> genlist. This means that any genlist calls on combobox objects are
>> actually BETA are not "released". This means one of two things: if you
>> can use combobox without these calls, all is well. If you rely on using
>> these calls, then combobox should be marked as beta too as it's not
>> useful without the Eo api. That is it.
>>
>>
> I can understand your point here, but the problem is that legacy users can
> use this legacy functions:
> o = elm_combobox_add()
> elm_genlist_item_append(o)
> elm_multibuttonentry_item_append(o)

I understand.

>
> those functions are not BETA, and people can use them. While you
> say they are (conceptually) BETA.
>
> Infact we already have bindings for the combobox in python-efl.
>
> To be more clear: the only way to actually use the combobox widget in
> any useful way is to use functions from other widgets (composited)
> And if composited is conceptually BETA then the full widget should be
> marked as BETA.

That's what I said. So the widget should be marked as beta.

--
Tom.


--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: docs: abstracted writing of folded sections

2016-08-10 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit fd54363a4dedbd20d97f1f0ffe52ea20980c1f3c
Author: Daniel Kolesa 
Date:   Wed Aug 10 15:44:55 2016 +0100

docs: abstracted writing of folded sections
---
 src/scripts/elua/apps/docgen/writer.lua | 15 +--
 src/scripts/elua/apps/gendoc.lua| 14 +-
 2 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/src/scripts/elua/apps/docgen/writer.lua 
b/src/scripts/elua/apps/docgen/writer.lua
index ce80419..06b6563 100644
--- a/src/scripts/elua/apps/docgen/writer.lua
+++ b/src/scripts/elua/apps/docgen/writer.lua
@@ -5,7 +5,7 @@ local dutil = require("docgen.util")
 
 local M = {}
 
-local root_nspace, use_notes
+local root_nspace, use_notes, use_folds
 
 M.Writer = util.Object:clone {
 __ctor = function(self, path)
@@ -309,6 +309,16 @@ M.Writer = util.Object:clone {
 return self
 end,
 
+write_folded = function(self, title, func)
+if use_folds then
+self:write_raw(" ", title, " |\n\n")
+end
+func(self)
+if use_folds then
+self:write_raw("\n\n")
+end
+end,
+
 finish = function(self)
 self.file:close()
 end
@@ -333,9 +343,10 @@ M.Buffer = M.Writer:clone {
 end
 }
 
-M.init = function(root_ns, notes)
+M.init = function(root_ns, notes, folds)
 root_nspace = root_ns
 use_notes = notes
+use_folds = folds
 end
 
 return M
diff --git a/src/scripts/elua/apps/gendoc.lua b/src/scripts/elua/apps/gendoc.lua
index 1aab98a..06ec97d 100644
--- a/src/scripts/elua/apps/gendoc.lua
+++ b/src/scripts/elua/apps/gendoc.lua
@@ -11,7 +11,7 @@ local keyref = require("docgen.keyref")
 local ser = require("docgen.serializers")
 local dtree = require("docgen.doctree")
 
-local use_dot, use_folded
+local use_dot
 
 -- eolian to various doc elements conversions
 
@@ -744,13 +744,9 @@ local build_class = function(cl)
 keyref.add(cl:full_name_get():gsub("%.", "_"), "c")
 
 if use_dot then
-if use_folded then
-f:write_raw(" Inheritance graph |\n\n")
-end
-f:write_graph(build_igraph(cl))
-if use_folded then
-f:write_raw("\n\n")
-end
+f:write_folded("Inheritance graph", function()
+f:write_graph(build_igraph(cl))
+end)
 f:write_nl(2)
 end
 
@@ -1162,7 +1158,7 @@ getopt.parse {
 error("failed parsing eo files")
 end
 stats.init(not not opts["v"])
-writer.init(rootns, not opts["disable-notes"])
+writer.init(rootns, not opts["disable-notes"], not 
opts["disable-folded"])
 dutil.rm_root()
 dutil.mkdir_r(nil)
 build_ref()

-- 




Re: [E-devel] [RFC] Rename of Eo to Efl

2016-08-10 Thread Gustavo Sverzut Barbieri
On Wed, Aug 10, 2016 at 11:41 AM, Tom Hacohen  wrote:
> Hey there,
>
> Sorry it took me so long to get to this one. I've been dealing with
> other things, and every time I got back to this I had more clashes and
> hell. I'm finally at a stage I can merge most of it, so I'm happy,
> though I have one question before I push.
>
> At the moment I changed it as follows:
> Eo.Base -> Efl.Object
> Eo.Override -> Efl.Object.Override
>
> I'm quite OK with this change. The problem comes with the actual
> functions. At the moment they are:
>
> efl_ref()
> efl_add()
> efl_del()
> efl_finalize()
> efl_name_set()
> efl_parent_get()
>
> Are we fine with these names, or should they be:
>
> efl_object_ref()
> ...
> efl_object_parent_get()
>
> What do you prefer?

the second one, it's bit bigger, but it's more descriptive.



-- 
Gustavo Sverzut Barbieri
--
Mobile: +55 (16) 99354-9890

--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Ignoring application developers, or just me?

2016-08-10 Thread Oleksander Zazubrina
>The Evas_3D developers recently requested some design comments on this
>list.  I was the only person that actually responded on the list, and as
>far as I can tell, my responses where ignored, not even any
>acknowledgement that they where read.

It wasn't ignored. We try to collect different views about raised features 
(Ephysics and CPU transformation)


>I'm the only one outside of Samsung actually trying to use Evas_3D

It is a pity but it sounds as it.


In my opinion if you want contribute to Evas 3D WELLCOME!!!.

Also I think you should discuss your features with community and announcement 
it in Evas 3D TODO list.

In addition I really wandering that you offer trying bring new format file in 
Evas 3D. I didn't know any about it.

Could you add support *.fbx format file?

Oleksandr.

От: onefang Rejected 
Отправлено: 10 августа 2016 г. 15:12
Кому: enlightenment-devel@lists.sourceforge.net
Тема: [E-devel] Ignoring application developers, or just me?

On Thu, 4 Aug 2016 14:27:09 +0900 Carsten Haitzler (The Rasterman)
 wrote:

> On Thu, 4 Aug 2016 15:16:03 +1000 David Seikel 
> said:
>
> > On Thu, 4 Aug 2016 14:00:01 +0900 Carsten Haitzler (The Rasterman)
> >  wrote:
> >
> > > On Thu, 4 Aug 2016 13:23:33 +1000 David Seikel 
> > > said:
> > >
> > > > On Thu, 4 Aug 2016 11:29:50 +0900 Carsten Haitzler (The
> > > > Rasterman)  wrote:
> > > >
> > > > > one thing with your evas 3d usage... it's not real/useful to
> > > > > anyone else. if you made open source tools/apps that were
> > > > > easily usable and downloadable (without needing special
> > > > > accounts you have to pay for e.g second life) then you would
> > > > > be interesting/relevant.
> > > > >
> > > > > let me give you a sample:
> > > > >
> > > > > if you  made a really nice world clock app for seeing world
> > > > > timezones, selecting yours, setting date/time etc. that even
> > > > > did sexy stuff like used topological maps of the world so
> > > > > when you zoom into an area you get some mountains/hills and
> > > > > so on... and this was part of e's settings tools or clock
> > > > > tool with calendar etc. ... well then that'd be really cool
> > > > > and useful to LOTs of people and accessible to everyone. :)
> > > > > just saying. you're emails are "i'm working on this thing..
> > > > > here on my hard drive... it does x/y/z and will do x/y/z".
> > > > > that's not REAL to anyone. it's not accessible. it's not used
> > > > > daily thus important. :) you want evas 3d to be useful to
> > > > > your BIGGER projects you do like this, do some smaller ones
> > > > > out the front that people see and use daily. :)
> > > >
> > > > Er, my project is for Second Life, OpenSim, AND an alternative
> > > > to both, and is on Github.  Your arguments are invalid.  Hell,
> > > > my general idea is to make server side so efficient that by
> > > > default, anyone can run their own little server to invite their
> > > > friends to, even on their phone.  I'm trying to open up 3D
> > > > virtual worlds to the masses.
> > >
> > > "that are easily downloadable and usable without special
> > > accounts". someone has to set up a server, run it, need accounts,
> > > etc. is it a tool readily usable out of the box that people
> > > actually will need/use regularly. a secondlife or quivalent is
> > > not. a terminal is. a wm is. a web browser is. ... if someone has
> > > to set up a server themselves or register accounts somewhere else
> > > at all you just failed the "useful to anyone" :)
> >
> > If you read SledjHamr.org, you'll see I have taken all of that into
> > account.  Now you are just making up excuses to ignore me.
>
> count the number of people here participating in any virtual world.
> they use terminals. email clients. wm's. the number of people
> involved in virtual worlds who would even look is small at best.
> perhaps you don't like it, but i'm trying to tell you that the reason
> no one is paying attention is you do not have something they want.
> maybe others do, but no one here working on efl or e or core users
> etc. is. or almost no one. if they were, then you wouldnt be a
> periphery thing. i am not saying your work is bad or its stupid or
> anything. i'm saying that expecting relevance is dependent on things
> being relevant to others. if efl breaks terminology then that break
> becomes relevant because LOTs of people use it here and even
> elsewhere. but especially here. if evas_3d was being used in e for eg
> 3d cube desktop switching effects... it'd be relevant to a whole lot
> of people immediately.
>
> i'm not even going to look at those projects because the premise of
> them as a virtual world is not interesting or relevant to me. it is
> to you and that's great. not to me. and if you go around wondering
> why they are not paying attention then this is the primary reason.
> you 

Re: [E-devel] Ignoring application developers, or just me?

2016-08-10 Thread David Seikel
On Wed, 10 Aug 2016 12:47:51 + Oleksander Zazubrina
 wrote:

> >The Evas_3D developers recently requested some design comments on
> >this list.  I was the only person that actually responded on the
> >list, and as far as I can tell, my responses where ignored, not even
> >any acknowledgement that they where read.
> 
> It wasn't ignored. We try to collect different views about raised
> features (Ephysics and CPU transformation)

Ah, good to hear.

> >I'm the only one outside of Samsung actually trying to use Evas_3D
> 
> It is a pity but it sounds as it.

I don't mind, so long as we can actually cooperate.

> In my opinion if you want contribute to Evas 3D WELLCOME!!!.

Thanks.

> Also I think you should discuss your features with community and
> announcement it in Evas 3D TODO list.

I'll do that.

> In addition I really wandering that you offer trying bring new format
> file in Evas 3D. I didn't know any about it.

I had detailed that on this mailing list before you took over Evas_3D.
Perhaps the previous people didn't pass the information onto you?

> Could you add support *.fbx format file?

FBX isn't specifically mentioned in libg3d, but it could be added.
FBX includes motion capture data, I don't think Evas_3D supports that
yet.  libg3d only deals with 3D models and textures, not motion data.
The BVH motion capture file format is something I'll be needing as
well, I'm not sure what your plans are about that sort of motion data
and skeletal systems.


I'll just copy from the libg3d README, to give you an idea what it
is about, what I offer is to port it to EFL, it's currently based on
GTK.


LIBG3D:

This library loads 3D models from various file formats. Its aim is to
support basic import functionality for as much formats as possible.
More complete support is better, of course, and the long time goal.

To help developing plugins and for general use, too, there are a lot of
basic 3d manipulation function, including vector and matrix math, common
file reading stuff, transformations and 3d primitive support.

SUPPORTED FILETYPES:
+---+---+---+---+---+-+
|\ feat.| i | c | t | n | s   |
| \ | m | o | e | o | u +-+
|  \| p | l | x | r | b | |
|   \   | o | o | t | m | o | |
|\  | r | r | u | a | b | |
| \ | t | s | r | l | j | |
| type \|   |   | e | s | s | Program |
+---+---+---+---+---+---+-+
| .3mf  | x | x |   |   |   | 3D Metafile |
| .3ds  | x | x | p |   |   | 3D Studio   |
| .ac   | x | x | x |   | x | AC3D|
| .acc  | x | x | x |   | x | AC3D with triangle strips (TORCS)   |
| .ar   | x |   |   |   | x | Racer container files   |
| .ase  | x |   | p | x |   | ASCII Scene Exporter (3D Studio)|
| .b3d  | x | x |   |   |   | ?? (3D MetaFile format) |
| .car  | x |   |   |   | x | VDrift car description  |
| .cob  | x | x |   |   |   | Caligari TrueSpace  |
| .dof  | x | x | p | x |   | Racer model files   |
| .dxf  | x |   |   |   |   | AutoCAD |
| .flt  | p |   |   |   |   | OpenFlight (in Progress, experimental)  |
| .glb  | x | x | x | x |   | UltimateStunts models   |
| .iob  | x | x |   |   |   | Impulse Turbo Silver / Imagine  |
| .iv   | p |   |   |   |   | SGI Inventor (ascii only)   |
| .joe  | x |   | x | x |   | VDrift v3 .joe car models   |
| .lcd  | x | x |   |   |   | LeoCAD  |
| .lw   | x | x |   |   |   | LightWave   |
| .lwb  | x | x |   |   |   | LightWave   |
| .lwo  | x | x |   |   |   | LightWave   |
| .mb   | p |   |   |   | x | Maya (binary)   |
| .md2  | x |   |   |   |   | id Software Quake II|
| .md3  | x | x | x | ? |   | id Software Quake III   |
| .mon  | p |   |   |   |   | Monzoom (Reflections) (experimental)|
| .nff  | x | x |   | x |   | Neutral File Format |
| .obj  | x | x |   |   |   | Alias Wavefront Maya|
| .prj  | x | ? |   |   |   | 3D Studio   |
| .q3o  | x | x | x |   |   | Quick3D Object  |
| .q3s  | x | x | x |   |   | Quick3D Scene   |
| .r3   | p |   |   |   |   | Reflections 3 (experimental)|
| .r4   | p |   |   |   |   | Reflections 4 (experimental)|
| .stl  | p |   |   |   |   

Re: [E-devel] Problem with Combobox 1.18 API

2016-08-10 Thread Davide Andreoli
2016-08-10 15:22 GMT+02:00 Tom Hacohen :

> On 09/08/16 20:37, Davide Andreoli wrote:
> > Starting from this commit:
> > https://git.enlightenment.org/core/elementary.git/commit/?id=
> 015db15c626b9b06116fcc8f7ec61bbae3c6cc30
> >
> > combobox now inherit from Genlist and Multibuttonentry, this is causing
> > some name clashes, in particular
> > I found the item_append() function to be present (and needed) in both
> > parent class.
> >
> > This is an issue in bindings, where you use it like:
> > cbox.item_append(...)
> > what function do I need to call in this case? the one from genlist or the
> > one from multibuttonentry?
> > do you want to add the item in the genlist or in the mbe?
> >
> > TBH I also found the new combobox multi selection functionality quite
> > broken atm, for example it's
> > quite impossible to make the widget the right size, it always appear
> super
> > small, unless you perform
> > hacks like the table+rect one, or use and edje layout (like is done the
> > elementary_test)
> >
> > If we don't a have a solution/explanation for the name clash I suggest to
> > revert this commit for the
> > 1.18 release and fix/discuss better in the next cycle
> >
> > Thanks
> > davemds
>
> Hey,
>
> My reply will be based on my basic checks and a few assumptions, if you
> think any of the assumptions are wrong, please correct me. But given the
> quick glance I took of the code, and our chat on IRC, I think I'm on top
> of it.
>
>
> The Eo API is not stable. This obviously includes eo functions like
> eo_add, but also eo properties, like multiple inheritance. Combobox
> inherits from box, and is extended (composite if I had to assume) by
> genlist. This means that any genlist calls on combobox objects are
> actually BETA are not "released". This means one of two things: if you
> can use combobox without these calls, all is well. If you rely on using
> these calls, then combobox should be marked as beta too as it's not
> useful without the Eo api. That is it.
>
>
I can understand your point here, but the problem is that legacy users can
use this legacy functions:
o = elm_combobox_add()
elm_genlist_item_append(o)
elm_multibuttonentry_item_append(o)

those functions are not BETA, and people can use them. While you
say they are (conceptually) BETA.

Infact we already have bindings for the combobox in python-efl.

To be more clear: the only way to actually use the combobox widget in
any useful way is to use functions from other widgets (composited)
And if composited is conceptually BETA then the full widget should be
marked as BETA.




>
> There is an issue and a clash, you are correct. This issue will be
> fixed, but not for this release, and it's not the end of the world
> because as I said, you either don't need to reply on it, or the widget
> is beta. Either way, no biggie.
>
> --
> Tom.
>
>
> 
> --
> What NetFlow Analyzer can do for you? Monitors network bandwidth and
> traffic
> patterns at an interface-level. Reveals which users, apps, and protocols
> are
> consuming the most bandwidth. Provides multi-vendor support for NetFlow,
> J-Flow, sFlow and other flows. Make informed decisions using capacity
> planning reports. http://sdm.link/zohodev2dev
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/01: emotion generic - vlc - make it off by default as 2 video bends is silly

2016-08-10 Thread The Rasterman
On Wed, 10 Aug 2016 22:45:41 +1000 onefang Rejected  said:

> On Thu, 4 Aug 2016 15:17:38 +0930 Simon Lees  wrote:
> 
> > 
> > 
> > On 08/04/2016 02:57 PM, Carsten Haitzler (The Rasterman) wrote:
> > > On Thu, 4 Aug 2016 15:16:03 +1000 David Seikel 
> > > said:
> > > 
> > >> On Thu, 4 Aug 2016 14:00:01 +0900 Carsten Haitzler (The Rasterman)
> > >>  wrote:
> > >>
> > >>> On Thu, 4 Aug 2016 13:23:33 +1000 David Seikel 
> > >>> said:
> > >>>
> >  On Thu, 4 Aug 2016 11:29:50 +0900 Carsten Haitzler (The
> >  Rasterman)  wrote:
> > 
> > > one thing with your evas 3d usage... it's not real/useful to
> > > anyone else. if you made open source tools/apps that were easily
> > > usable and downloadable (without needing special accounts you
> > > have to pay for e.g second life) then you would be
> > > interesting/relevant.
> > >
> > > let me give you a sample:
> > >
> > > if you  made a really nice world clock app for seeing world
> > > timezones, selecting yours, setting date/time etc. that even did
> > > sexy stuff like used topological maps of the world so when you
> > > zoom into an area you get some mountains/hills and so on... and
> > > this was part of e's settings tools or clock tool with calendar
> > > etc. ... well then that'd be really cool and useful to LOTs of
> > > people and accessible to everyone. :) just saying. you're emails
> > > are "i'm working on this thing.. here on my hard drive... it
> > > does x/y/z and will do x/y/z". that's not REAL to anyone. it's
> > > not accessible. it's not used daily thus important. :) you want
> > > evas 3d to be useful to your BIGGER projects you do like this,
> > > do some smaller ones out the front that people see and use
> > > daily. :)
> > 
> >  Er, my project is for Second Life, OpenSim, AND an alternative to
> >  both, and is on Github.  Your arguments are invalid.  Hell, my
> >  general idea is to make server side so efficient that by default,
> >  anyone can run their own little server to invite their friends
> >  to, even on their phone.  I'm trying to open up 3D virtual
> >  worlds to the masses.
> > >>>
> > >>> "that are easily downloadable and usable without special
> > >>> accounts". someone has to set up a server, run it, need accounts,
> > >>> etc. is it a tool readily usable out of the box that people
> > >>> actually will need/use regularly. a secondlife or quivalent is
> > >>> not. a terminal is. a wm is. a web browser is. ... if someone has
> > >>> to set up a server themselves or register accounts somewhere else
> > >>> at all you just failed the "useful to anyone" :)
> > >>
> > >> If you read SledjHamr.org, you'll see I have taken all of that into
> > >> account.  Now you are just making up excuses to ignore me.
> > > 
> > > count the number of people here participating in any virtual world.
> > > they use terminals. email clients. wm's. the number of people
> > > involved in virtual worlds who would even look is small at best.
> > > perhaps you don't like it, but i'm trying to tell you that the
> > > reason no one is paying attention is you do not have something they
> > > want. maybe others do, but no one here working on efl or e or core
> > > users etc. is. or almost no one. if they were, then you wouldnt be
> > > a periphery thing. i am not saying your work is bad or its stupid
> > > or anything. i'm saying that expecting relevance is dependent on
> > > things being relevant to others. if efl breaks terminology then
> > > that break becomes relevant because LOTs of people use it here and
> > > even elsewhere. but especially here. if evas_3d was being used in e
> > > for eg 3d cube desktop switching effects... it'd be relevant to a
> > > whole lot of people immediately.
> > > 
> > > i'm not even going to look at those projects because the premise of
> > > them as a virtual world is not interesting or relevant to me. it is
> > > to you and that's great. not to me. and if you go around wondering
> > > why they are not paying attention then this is the primary reason.
> > > you have to have things in common that make the things you want be
> > > relevant. :) i'm trying to help you here by pointing out that to
> > > help the project you care about, you may have to do other side
> > > projects that have relevance to others to bring that to the fore. :)
> > > 
> > 
> > A gadget to display models of parts of virtual worlds inside E would
> > be pretty interesting maybe.
> 
> What, like the file requester showing 3D thumbnails that Raster keeps
> arguing against?  Yeah, I want that to.  B-)

it has nothing to do with you. i equally would reject someone saying "lets put
a full pdf viewer in a thumbnail preview with form filling and page flipping
etc.". you've paid 90% of the cost of loading it completely anyway. 

Re: [E-devel] [RFC] Rename of Eo to Efl

2016-08-10 Thread Tom Hacohen
On 10/08/16 15:53, Gustavo Sverzut Barbieri wrote:
> On Wed, Aug 10, 2016 at 11:41 AM, Tom Hacohen  wrote:
>> Hey there,
>>
>> Sorry it took me so long to get to this one. I've been dealing with
>> other things, and every time I got back to this I had more clashes and
>> hell. I'm finally at a stage I can merge most of it, so I'm happy,
>> though I have one question before I push.
>>
>> At the moment I changed it as follows:
>> Eo.Base -> Efl.Object
>> Eo.Override -> Efl.Object.Override
>>
>> I'm quite OK with this change. The problem comes with the actual
>> functions. At the moment they are:
>>
>> efl_ref()
>> efl_add()
>> efl_del()
>> efl_finalize()
>> efl_name_set()
>> efl_parent_get()
>>
>> Are we fine with these names, or should they be:
>>
>> efl_object_ref()
>> ...
>> efl_object_parent_get()
>>
>> What do you prefer?
>
> the second one, it's bit bigger, but it's more descriptive.

But the first one is already descriptive enough if we assume eo is the 
base of everything.

I get your point though, this is why it's even up for discussion...

--
Tom.


--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: docs: add Event to new the doctree

2016-08-10 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 1a5a04ed494ba32dd04144bfe640c7b1013ad020
Author: Daniel Kolesa 
Date:   Wed Aug 10 16:05:16 2016 +0100

docs: add Event to new the doctree
---
 src/scripts/elua/apps/docgen/doctree.lua  | 50 +++
 src/scripts/elua/apps/docgen/mappings.lua | 10 ---
 src/scripts/elua/apps/gendoc.lua  |  9 +++---
 3 files changed, 55 insertions(+), 14 deletions(-)

diff --git a/src/scripts/elua/apps/docgen/doctree.lua 
b/src/scripts/elua/apps/docgen/doctree.lua
index df49358..91074f4 100644
--- a/src/scripts/elua/apps/docgen/doctree.lua
+++ b/src/scripts/elua/apps/docgen/doctree.lua
@@ -2,6 +2,7 @@ local util = require("util")
 
 local dutil = require("docgen.util")
 local writer = require("docgen.writer")
+local eomap = require("docgen.mappings")
 
 local M = {}
 
@@ -105,4 +106,53 @@ M.Doc = Node:clone {
 end
 }
 
+M.Event = Node:clone {
+__ctor = function(self, ev)
+self.event = ev
+assert(self.event)
+end,
+
+name_get = function(self)
+return self.event:name_get()
+end,
+
+type_get = function(self)
+return self.event:type_get()
+end,
+
+doc_get = function(self)
+return M.Doc(self.event:documentation_get())
+end,
+
+scope_get = function(self)
+return self.event:scope_get()
+end,
+
+c_name_get = function(self)
+return self.event:c_name_get()
+end,
+
+is_beta = function(self)
+return self.event:is_beta()
+end,
+
+is_hot = function(self)
+return self.event:is_hot()
+end,
+
+is_restart = function(self)
+return self.event:is_restart()
+end,
+
+nspaces_get = function(self, cl, root)
+local tbl = eomap.gen_nsp_class(cl)
+tbl[#tbl + 1] = "event"
+tbl[#tbl + 1] = self:name_get():lower():gsub(",", "_")
+if root then
+tbl[#tbl + 1] = true
+end
+return tbl
+end
+}
+
 return M
diff --git a/src/scripts/elua/apps/docgen/mappings.lua 
b/src/scripts/elua/apps/docgen/mappings.lua
index 486f724..4fe3ad4 100644
--- a/src/scripts/elua/apps/docgen/mappings.lua
+++ b/src/scripts/elua/apps/docgen/mappings.lua
@@ -78,16 +78,6 @@ M.gen_nsp_func = function(fn, cl, root)
 return tbl
 end
 
-M.gen_nsp_ev = function(ev, cl, root)
-local tbl = M.gen_nsp_class(cl)
-tbl[#tbl + 1] = "event"
-tbl[#tbl + 1] = ev:name_get():lower():gsub(",", "_")
-if root then
-tbl[#tbl + 1] = true
-end
-return tbl
-end
-
 M.gen_nsp_ref = function(str, root)
 local decl = eolian.declaration_get_by_name(str)
 if decl then
diff --git a/src/scripts/elua/apps/gendoc.lua b/src/scripts/elua/apps/gendoc.lua
index b778ab4..6abb55d 100644
--- a/src/scripts/elua/apps/gendoc.lua
+++ b/src/scripts/elua/apps/gendoc.lua
@@ -767,10 +767,11 @@ local build_class = function(cl)
 else
 local nt = {}
 for i, ev in ipairs(evs) do
+ev = dtree.Event(ev)
 local lbuf = writer.Buffer()
-lbuf:write_link(eomap.gen_nsp_ev(ev, cl, true), ev:name_get())
+lbuf:write_link(ev:nspaces_get(cl, true), ev:name_get())
 nt[#nt + 1] = {
-lbuf:finish(), dtree.Doc(ev:documentation_get()):brief_get()
+lbuf:finish(), ev:doc_get():brief_get()
 }
 build_event(ev, cl)
 end
@@ -1048,7 +1049,7 @@ build_property = function(fn, cl)
 end
 
 build_event = function(ev, cl)
-local f = writer.Writer(eomap.gen_nsp_ev(ev, cl))
+local f = writer.Writer(ev:nspaces_get(cl))
 
 f:write_h(cl:full_name_get() .. ": " .. ev:name_get(), 2)
 
@@ -1088,7 +1089,7 @@ build_event = function(ev, cl)
 f:write_nl()
 
 f:write_h("Description", 3)
-f:write_raw(dtree.Doc(ev:documentation_get()):full_get(nil, true))
+f:write_raw(ev:doc_get():full_get(nil, true))
 f:write_nl()
 
 f:finish()

-- 




Re: [E-devel] Problem with Combobox 1.18 API

2016-08-10 Thread Cedric BAIL
On Aug 10, 2016 8:35 AM, "Tom Hacohen"  wrote:
>
> On 10/08/16 14:51, Davide Andreoli wrote:
> > 2016-08-10 15:48 GMT+02:00 Tom Hacohen :
> >
> >> On 10/08/16 14:45, Davide Andreoli wrote:
> >>> 2016-08-10 15:22 GMT+02:00 Tom Hacohen :
> >>>
>  On 09/08/16 20:37, Davide Andreoli wrote:
> > Starting from this commit:
> > https://git.enlightenment.org/core/elementary.git/commit/?id=
>  015db15c626b9b06116fcc8f7ec61bbae3c6cc30
> >
> > combobox now inherit from Genlist and Multibuttonentry, this is
causing
> > some name clashes, in particular
> > I found the item_append() function to be present (and needed) in
both
> > parent class.
> >
> > This is an issue in bindings, where you use it like:
> > cbox.item_append(...)
> > what function do I need to call in this case? the one from genlist
or
> >> the
> > one from multibuttonentry?
> > do you want to add the item in the genlist or in the mbe?
> >
> > TBH I also found the new combobox multi selection functionality
quite
> > broken atm, for example it's
> > quite impossible to make the widget the right size, it always appear
>  super
> > small, unless you perform
> > hacks like the table+rect one, or use and edje layout (like is done
the
> > elementary_test)
> >
> > If we don't a have a solution/explanation for the name clash I
suggest
> >> to
> > revert this commit for the
> > 1.18 release and fix/discuss better in the next cycle
> >
> > Thanks
> > davemds
> 
>  Hey,
> 
>  My reply will be based on my basic checks and a few assumptions, if
you
>  think any of the assumptions are wrong, please correct me. But given
the
>  quick glance I took of the code, and our chat on IRC, I think I'm on
top
>  of it.
> 
> 
>  The Eo API is not stable. This obviously includes eo functions like
>  eo_add, but also eo properties, like multiple inheritance. Combobox
>  inherits from box, and is extended (composite if I had to assume) by
>  genlist. This means that any genlist calls on combobox objects are
>  actually BETA are not "released". This means one of two things: if
you
>  can use combobox without these calls, all is well. If you rely on
using
>  these calls, then combobox should be marked as beta too as it's not
>  useful without the Eo api. That is it.
> 
> 
> >>> I can understand your point here, but the problem is that legacy users
> >> can
> >>> use this legacy functions:
> >>> o = elm_combobox_add()
> >>> elm_genlist_item_append(o)
> >>> elm_multibuttonentry_item_append(o)
> >>
> >> I understand.
> >>
> >>>
> >>> those functions are not BETA, and people can use them. While you
> >>> say they are (conceptually) BETA.
> >>>
> >>> Infact we already have bindings for the combobox in python-efl.
> >>>
> >>> To be more clear: the only way to actually use the combobox widget in
> >>> any useful way is to use functions from other widgets (composited)
> >>> And if composited is conceptually BETA then the full widget should be
> >>> marked as BETA.
> >>
> >> That's what I said. So the widget should be marked as beta.
> >>
> >>
> > It's a bit too late for this, it was also in the 1.17 release (without
beta)
>
> Well, it's not a problem, because as I said, it's undefined behaviour
> (the way it was used), and it shouldn't have been used that way. It
> relied on unreleased API. Combobox itself is not an API break, just
> certain usages. So we just released a useless widget in 1.17, I'm fine
> with that. Doesn't matter. Read my previous mail for more info.

I don't see how releasing a useless widget is ok... Anyway it was useful
before, it isn't now and multi button seems to have issue according to
davide. I will align myself with his recommendation and temporary revert
that patch.

Cedric

> --
> Tom.
>
>
>
--
> What NetFlow Analyzer can do for you? Monitors network bandwidth and
traffic
> patterns at an interface-level. Reveals which users, apps, and protocols
are
> consuming the most bandwidth. Provides multi-vendor support for NetFlow,
> J-Flow, sFlow and other flows. Make informed decisions using capacity
> planning reports. http://sdm.link/zohodev2dev
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. 

Re: [E-devel] [RFC] Rename of Eo to Efl

2016-08-10 Thread Gustavo Sverzut Barbieri
On Wed, Aug 10, 2016 at 2:30 PM, Davide Andreoli  wrote:
> 2016-08-10 17:07 GMT+02:00 Carsten Haitzler :
>
>> On Wed, 10 Aug 2016 15:41:00 +0100 Tom Hacohen  said:
>>
>> > Hey there,
>> >
>> > Sorry it took me so long to get to this one. I've been dealing with
>> > other things, and every time I got back to this I had more clashes and
>> > hell. I'm finally at a stage I can merge most of it, so I'm happy,
>> > though I have one question before I push.
>> >
>> > At the moment I changed it as follows:
>> > Eo.Base -> Efl.Object
>> > Eo.Override -> Efl.Object.Override
>> >
>> > I'm quite OK with this change. The problem comes with the actual
>> > functions. At the moment they are:
>> >
>> > efl_ref()
>> > efl_add()
>> > efl_del()
>> > efl_finalize()
>> > efl_name_set()
>> > efl_parent_get()
>>
>> these. we know at this level of the base api namespace that efl_ here is
>> actually an efl OBJECT and we are doing something to it. that's
>> understood/implied. adding more wordiness doesnt help with any of that,
>> just
>> makes code more verbose and adds more typing effort.
>>
>>
> This shorts names seems totally wrong to me, what you are assuming ("at
> this
> level of the base api...") is an implicit assumption that can only confuse
> users.
> Explicit is better than Implicit is in general my rules of life.

same here :-)


> Take the efl_finalize() for example, it should really shutdown the whole
> library.

this is funny as I also understood finalize as something else. It's
"finalize the construction phase", but my previous experience (and
thus expectation) with that name is something else, like GObject's
finalize 
(https://developer.gnome.org/gobject/stable/howto-gobject-destruction.html).

so +1 on fixing that name as well :-)


> So my vote goes for the longer ones.

:-)

--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [RFC] Rename of Eo to Efl

2016-08-10 Thread Davide Andreoli
2016-08-10 20:18 GMT+02:00 Gustavo Sverzut Barbieri :

> On Wed, Aug 10, 2016 at 2:30 PM, Davide Andreoli 
> wrote:
> > 2016-08-10 17:07 GMT+02:00 Carsten Haitzler :
> >
> >> On Wed, 10 Aug 2016 15:41:00 +0100 Tom Hacohen 
> said:
> >>
> >> > Hey there,
> >> >
> >> > Sorry it took me so long to get to this one. I've been dealing with
> >> > other things, and every time I got back to this I had more clashes and
> >> > hell. I'm finally at a stage I can merge most of it, so I'm happy,
> >> > though I have one question before I push.
> >> >
> >> > At the moment I changed it as follows:
> >> > Eo.Base -> Efl.Object
> >> > Eo.Override -> Efl.Object.Override
> >> >
> >> > I'm quite OK with this change. The problem comes with the actual
> >> > functions. At the moment they are:
> >> >
> >> > efl_ref()
> >> > efl_add()
> >> > efl_del()
> >> > efl_finalize()
> >> > efl_name_set()
> >> > efl_parent_get()
> >>
> >> these. we know at this level of the base api namespace that efl_ here is
> >> actually an efl OBJECT and we are doing something to it. that's
> >> understood/implied. adding more wordiness doesnt help with any of that,
> >> just
> >> makes code more verbose and adds more typing effort.
> >>
> >>
> > This shorts names seems totally wrong to me, what you are assuming ("at
> > this
> > level of the base api...") is an implicit assumption that can only
> confuse
> > users.
> > Explicit is better than Implicit is in general my rules of life.
>
> same here :-)
>
>
> > Take the efl_finalize() for example, it should really shutdown the whole
> > library.
>
> this is funny as I also understood finalize as something else. It's
> "finalize the construction phase", but my previous experience (and
> thus expectation) with that name is something else, like GObject's
> finalize (https://developer.gnome.org/gobject/stable/howto-gobject-
> destruction.html).
>
> so +1 on fixing that name as well :-)
>

TBH I was not objecting on the "finalize" word itself, just on the short
name.
efl_object_finalize is good for me.


>
>
> > So my vote goes for the longer ones.
>
> :-)
>
> 
> --
> What NetFlow Analyzer can do for you? Monitors network bandwidth and
> traffic
> patterns at an interface-level. Reveals which users, apps, and protocols
> are
> consuming the most bandwidth. Provides multi-vendor support for NetFlow,
> J-Flow, sFlow and other flows. Make informed decisions using capacity
> planning reports. http://sdm.link/zohodev2dev
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: evas: Optimize out a function call if not required

2016-08-10 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 8cb3b79a82b1769cba5a7a10f9937aa18dd65d8a
Author: Jean-Philippe Andre 
Date:   Wed Aug 10 15:25:44 2016 +0900

evas: Optimize out a function call if not required

Same as the previous patch in elm_widget: don't call
flags_set() if the flags have not changed.
---
 src/lib/evas/canvas/evas_callbacks.c | 11 ---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/lib/evas/canvas/evas_callbacks.c 
b/src/lib/evas/canvas/evas_callbacks.c
index 00a5e62..cdd8fc8 100644
--- a/src/lib/evas/canvas/evas_callbacks.c
+++ b/src/lib/evas/canvas/evas_callbacks.c
@@ -265,7 +265,7 @@ evas_object_event_callback_call(Evas_Object *eo_obj, 
Evas_Object_Protected_Data
/* new input events */
if (eo_event_desc)
  {
-Efl_Event_Flags *pevflags = NULL;
+Efl_Event_Flags *pevflags = NULL, evflags;
 
 #define EV_CASE(TYPE, NEWTYPE, Type) \
case EVAS_CALLBACK_ ## TYPE: \
@@ -288,9 +288,14 @@ evas_object_event_callback_call(Evas_Object *eo_obj, 
Evas_Object_Protected_Data
   }
 #undef EV_CASE
 
-if (pevflags) efl_event_flags_set(eo_event_info, *pevflags);
+if (pevflags)
+  {
+ efl_event_flags_set(eo_event_info, *pevflags);
+ evflags = *pevflags;
+  }
 eo_event_callback_call(eo_obj, eo_event_desc, eo_event_info);
-if (pevflags) *pevflags = efl_event_flags_get(eo_event_info);
+if (pevflags && (*pevflags != evflags))
+  *pevflags = efl_event_flags_get(eo_event_info);
  }
 
/* legacy callbacks - relying on Efl.Canvas.Object events */

-- 




[EGIT] [tools/enventor] master 01/01: clang: Fix warnings and compilation errors

2016-08-10 Thread Jean-Philippe Andre
jpeg pushed a commit to branch master.

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

commit 3af6ede5e558c7e6d352bdccf381fd662b7fa5a5
Author: Jean-Philippe Andre 
Date:   Wed Aug 10 15:05:13 2016 +0900

clang: Fix warnings and compilation errors

enventor wouldn't compile with clang. Also, it would print
a lot of warnings.
---
 src/bin/console.c|  2 +-
 src/bin/file_browser.c   |  6 +++---
 src/bin/file_mgr.c   |  2 +-
 src/bin/help.c   |  4 ++--
 src/bin/live_edit.c  |  1 -
 src/bin/main.c   |  6 +++---
 src/include/console.h|  2 +-
 src/lib/auto_comp.c  |  1 +
 src/lib/ctxpopup.c   |  2 +-
 src/lib/dummy_obj.c  |  4 ++--
 src/lib/edc_editor.c |  2 +-
 src/lib/edc_parser.c |  6 --
 src/lib/enventor_smart.c |  5 -
 src/lib/reference.c  |  3 +--
 src/lib/syntax_color.c   | 14 +++---
 src/lib/syntax_indent.c  |  2 +-
 src/lib/wireframes_obj.c |  7 ---
 17 files changed, 37 insertions(+), 32 deletions(-)

diff --git a/src/bin/console.c b/src/bin/console.c
index 7ba99d1..1eabfae 100644
--- a/src/bin/console.c
+++ b/src/bin/console.c
@@ -85,7 +85,7 @@ set_console_error_msg(Evas_Object *console, const char *src)
free(color_msg);
 }
 
-static char*
+char*
 error_msg_syntax_color_set(char *text)
 {
char *color_error_msg;
diff --git a/src/bin/file_browser.c b/src/bin/file_browser.c
index 0522bf3..9dbbb84 100644
--- a/src/bin/file_browser.c
+++ b/src/bin/file_browser.c
@@ -132,7 +132,7 @@ file_genlist_item_append(brows_file *file, Elm_Object_Item 
*parent_it,
//Keep Main Item
if (file->main)
  {
-brows_data *bd = g_bd;
+bd = g_bd;
 bd->main_it = file->it;
  }
 
@@ -261,7 +261,7 @@ gl_contract_request_cb(void *data EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED, voi
 }
 
 static void
-gl_expanded_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info)
+gl_expanded_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void 
*event_info)
 {
brows_data *bd = g_bd;
if (!bd) return;
@@ -300,7 +300,7 @@ gl_expanded_cb(void *data EINA_UNUSED, Evas_Object *obj, 
void *event_info)
 }
 
 static void
-gl_contracted_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info)
+gl_contracted_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void 
*event_info)
 {
brows_data *bd = g_bd;
if (!bd) return;
diff --git a/src/bin/file_mgr.c b/src/bin/file_mgr.c
index 597b75a..ba9d6f3 100644
--- a/src/bin/file_mgr.c
+++ b/src/bin/file_mgr.c
@@ -289,7 +289,6 @@ file_mgr_main_file_set(const char *path)
   }
  }
 
-   Eina_List *list;
Enventor_Item *it;
 
//If this file is already openend with sub file, remove it.
@@ -457,4 +456,5 @@ file_mgr_file_open(const char *file_path)
 
//This selected file hasn't been opened yet, so let's open this file newly.
file_mgr_sub_file_add(file_path, EINA_TRUE);
+   return EINA_TRUE;
 }
diff --git a/src/bin/help.c b/src/bin/help.c
index 6be9d2f..1c63bca 100644
--- a/src/bin/help.c
+++ b/src/bin/help.c
@@ -41,7 +41,7 @@ win_moved_cb(void *data EINA_UNUSED, Evas_Object *obj,
 }
 
 static void
-list_item_selected_cb(void *data, Evas_Object *obj, void *event_info)
+list_item_selected_cb(void *data, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
Evas_Object *layout;
Evas_Object *label;
@@ -100,7 +100,7 @@ list_item_selected_cb(void *data, Evas_Object *obj, void 
*event_info)
 }
 
 static void
-button_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+button_clicked_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
Evas_Object *layout = g_layout;
Evas_Object *list = elm_object_part_content_get(layout, "swallow_list");
diff --git a/src/bin/live_edit.c b/src/bin/live_edit.c
index d3e9a20..535372f 100644
--- a/src/bin/live_edit.c
+++ b/src/bin/live_edit.c
@@ -1957,7 +1957,6 @@ info_text_init(live_data *ld)
int i;
Evas *e = evas_object_evas_get(ld->layout);
double scale = elm_config_scale_get();
-   Evas_Object *view_obj = view_obj_get(ld);
for (i = 0; i < Info_Text_Cnt; i++)
  {
 Evas_Object *text = evas_object_text_add(e);
diff --git a/src/bin/main.c b/src/bin/main.c
index 1d58782..ead19bc 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -473,7 +473,7 @@ enventor_live_view_resized_cb(void *data EINA_UNUSED,
 }
 
 static void
-enventor_live_view_loaded_cb(void *data EINA_UNUSED, Enventor_Object *obj,
+enventor_live_view_loaded_cb(void *data EINA_UNUSED, Enventor_Object *obj 
EINA_UNUSED,
  void *event_info EINA_UNUSED)
 {
base_edc_navigator_group_update();
@@ -556,8 +556,8 @@ enventor_ctxpopup_dismissed_cb(void *data EINA_UNUSED, 
Enventor_Object *obj,
 }
 
 static void
-enventor_file_open_requested_cb(void *data EINA_UNUSED, Enventor_Object *obj,
-void *event_info 

[EGIT] [core/efl] master 01/01: Revert "evas: Optimize out a function call if not required"

2016-08-10 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 088949c7c776ac216b910ad3a492e6d408b8
Author: Jean-Philippe Andre 
Date:   Wed Aug 10 15:30:50 2016 +0900

Revert "evas: Optimize out a function call if not required"

This reverts commit 8cb3b79a82b1769cba5a7a10f9937aa18dd65d8a.
I shouldn't have pushed this. So wrong. Sorry about the noise.
---
 src/lib/evas/canvas/evas_callbacks.c | 11 +++
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/src/lib/evas/canvas/evas_callbacks.c 
b/src/lib/evas/canvas/evas_callbacks.c
index cdd8fc8..00a5e62 100644
--- a/src/lib/evas/canvas/evas_callbacks.c
+++ b/src/lib/evas/canvas/evas_callbacks.c
@@ -265,7 +265,7 @@ evas_object_event_callback_call(Evas_Object *eo_obj, 
Evas_Object_Protected_Data
/* new input events */
if (eo_event_desc)
  {
-Efl_Event_Flags *pevflags = NULL, evflags;
+Efl_Event_Flags *pevflags = NULL;
 
 #define EV_CASE(TYPE, NEWTYPE, Type) \
case EVAS_CALLBACK_ ## TYPE: \
@@ -288,14 +288,9 @@ evas_object_event_callback_call(Evas_Object *eo_obj, 
Evas_Object_Protected_Data
   }
 #undef EV_CASE
 
-if (pevflags)
-  {
- efl_event_flags_set(eo_event_info, *pevflags);
- evflags = *pevflags;
-  }
+if (pevflags) efl_event_flags_set(eo_event_info, *pevflags);
 eo_event_callback_call(eo_obj, eo_event_desc, eo_event_info);
-if (pevflags && (*pevflags != evflags))
-  *pevflags = efl_event_flags_get(eo_event_info);
+if (pevflags) *pevflags = efl_event_flags_get(eo_event_info);
  }
 
/* legacy callbacks - relying on Efl.Canvas.Object events */

-- 




[EGIT] [core/efl] master 01/01: widget: Optimize out one function call if not needed

2016-08-10 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 58aa349283d19e58eadb1acb7596d6ca1f23ea8d
Author: Jean-Philippe Andre 
Date:   Wed Aug 10 14:17:00 2016 +0900

widget: Optimize out one function call if not needed
---
 src/lib/elementary/elm_widget.c | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c
index 52cb4e2..4145d3a 100644
--- a/src/lib/elementary/elm_widget.c
+++ b/src/lib/elementary/elm_widget.c
@@ -721,6 +721,7 @@ _propagate_event(void *data EINA_UNUSED, const Eo_Event 
*event)
   Evas_Event_Key_Up up;
   Evas_Event_Mouse_Wheel wheel;
} event_info = {};
+   Eina_Bool was_hold;
 
/* FIXME: Avoid this translation to evas struct and use pointer/key events
 * in all of elementary widgets */
@@ -741,6 +742,7 @@ _propagate_event(void *data EINA_UNUSED, const Eo_Event 
*event)
 event_info.down.dev = ev->device;
 type = EVAS_CALLBACK_KEY_DOWN;
 event_flags = _info.down.event_flags;
+was_hold = (*event_flags & EVAS_EVENT_FLAG_ON_HOLD) != 0;
  }
else if (event->desc == EFL_EVENT_KEY_UP)
  {
@@ -759,6 +761,7 @@ _propagate_event(void *data EINA_UNUSED, const Eo_Event 
*event)
 event_info.up.dev = ev->device;
 type = EVAS_CALLBACK_KEY_UP;
 event_flags = _info.up.event_flags;
+was_hold = (*event_flags & EVAS_EVENT_FLAG_ON_HOLD) != 0;
  }
else if (event->desc == EFL_EVENT_POINTER_WHEEL)
  {
@@ -778,12 +781,13 @@ _propagate_event(void *data EINA_UNUSED, const Eo_Event 
*event)
 event_info.wheel.dev = ev->device;
 type = EVAS_CALLBACK_MOUSE_WHEEL;
 event_flags = _info.wheel.event_flags;
+was_hold = (*event_flags & EVAS_EVENT_FLAG_ON_HOLD) != 0;
  }
else
  return;
 
elm_widget_event_propagate(obj, type, _info, event_flags);
-   if (*event_flags & EVAS_EVENT_FLAG_ON_HOLD)
+   if (!was_hold && (*event_flags & EVAS_EVENT_FLAG_ON_HOLD))
  efl_event_processed_set(event->info, EINA_TRUE);
 }
 

-- 




[EGIT] [website/www-content] master 01/01: about enventor: proofread the content.

2016-08-10 Thread Hermet Park
hermet pushed a commit to branch master.

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

commit c5c61a165a3739868453b704ef76ef28cc0b8e51
Author: Hermet Park 
Date:   Wed Aug 10 15:14:14 2016 +0900

about enventor: proofread the content.
---
 pages/about-enventor.txt | 147 +++
 1 file changed, 72 insertions(+), 75 deletions(-)

diff --git a/pages/about-enventor.txt b/pages/about-enventor.txt
index 75393e0..486599f 100644
--- a/pages/about-enventor.txt
+++ b/pages/about-enventor.txt
@@ -7,13 +7,13 @@
 
 ===A. What is Enventor?===
 
-Enventor, which is also known as EDC (Edje Data Collections) Editor, is a EDC 
script editor tool that supports text edit function and preview function for 
EDC source code.
+Enventor, which is also known as a dynamic EDC (Edje Data Collections) Editor, 
is a EDC script editor tool that supports text editing and previewing functions 
for the EDC source code.
 
 {{ :enventor-main.png?&300|}}
 
-When your application requires real-time changeable layouts like animated 
ones, then you could write those layout design using EDC script, compile it to 
EDJ format file then import it into your application using an UI layout 
component. But not only for that, you can write any kinds of design layouts 
from simple to complex ones if you use EDC script with Enventor. Enventor helps 
you write EDC script code eaiser and finish your work faster. If you are not 
familiar with EDC programming, the [...]
+When your application requires real-time changeable layouts like animated 
ones, you can write the layout design using EDC script, compile it into EDJ 
format file, and import it into your application using a UI layout component. 
You can also write design layouts from simple to complex ones using the EDC 
script with Enventor. Enventor helps you write EDC script code eaiser and 
finish your work faster. If you are not familiar with EDC programming, see 
[https://www.enlightenment.org/program_ [...]
 
-Basically, Enventor view is divided into 2 sections, live view and text view. 
The live view is a left pane of Enventor window and it previews images 
corresponding to part objects of EDC source code. The text view is a right pane 
of Enventor window and it contains EDC source code. Thanks to its real-time 
update mechanism, Enventor updates the preview on real-time while you are 
modifying source code. It brings you to see the result on the spot. Other than 
that, Enventor provides quite nice [...]
+Basically, Enventor view is divided into live view and text view. The live 
view on the left pane previews images corresponding to part objects of the EDC 
source code. The text view on the right pane contains the EDC source code. 
Because of its real-time update mechanism, Enventor updates the preview 
real-time while you modify the source code. Enventor also provides useful 
functions for you to develop your GUI. Before using Enventor, familiarize 
yourself with the following functionalities.
 
   A. What is Enventor?
   B. GUI Layout
@@ -32,7 +32,9 @@ Basically, Enventor view is divided into 2 sections, live 
view and text view. Th
 
 {{ :enventor-layout.png?&350|}}
 
-The following figure illustrates each layout section of Enventor.
+Enventor view consists of the file browser, live view, text view, tools and 
the EDC navigator.
+
+The following figure illustrates the Enventor layout sections.
 
   * Red: Tools
   * Cyan: File browser
@@ -45,143 +47,138 @@ The following figure illustrates each layout section of 
Enventor.
 
 ===C. Text View===
 
-Enventor text view mainly supports text editing. You can write and modify EDC 
source code in this view. Once part sections are written in the text view and 
the modified EDC source code is saved, preview images corresponding to the part 
objects of EDC source code are displayed in the live view. Basically, this text 
editor applies syntax color and auto indentation for EDC with its own coding 
standard rule. If you open an edc file which is not matched with Enventor 
coding standard rule, Env [...]
+Enventor text view mainly supports text editing. You can write and modify EDC 
source code in this view. Once the part sections are written in the text view 
and the modified EDC source code is saved, the preview images corresponding to 
the part objects of EDC source code are displayed in the live view. Basically, 
this text editor applies syntax color and auto indentation for EDC with its own 
coding standard rules. If you open an EDC file which is not matched with 
Enventor coding standard  [...]
 
-Furthermore, Text view supports the following fancy features:
+Furthermore, the Text view supports the following features.
 
 {{ :enventor-autocomplete.png?&150|}}
 
 
 ==Auto-complete==
 
-To help you write EDC source code, Text view supports auto-complete function 
which lists reserved keywords in a contextual pop-up.
+To help you 

Re: [E-devel] [RFC] Eina_Slice and Eina_Rw_Slice

2016-08-10 Thread Gustavo Sverzut Barbieri
ping... since this blocks some stuff I'm doing, will consider in
agreement in 14h. :-)

On Tue, Aug 9, 2016 at 6:31 PM, Gustavo Sverzut Barbieri
 wrote:
> Hi all,
>
> If you followed the Ecore-Con and Ecore-Con-URL Eoify emails I've sent
> you'll notice one of the proposals is to introduce Stream Reader and
> Writer interfaces, that the default implementations will do a read(2)
> and write(2) with minimum interference.
>
> Those require the traditional "const void *buf, size_t buflen" (read)
> and  "void *buf, size_t buflen" (write). You can guess that hinting
> the bindings and users that both are correlated is a pain, thus the
> idea to introduce simple structures to state so:
>
> typedef struct _Eina_Slice {
> const void *mem;
> size_t len;
> } Eina_Slice;
>
> typedef struct _Eina_Rw_Slice {
> void *mem;
> size_t len;
> } Eina_Rw_Slice;
>
> With those Eolian could introduce a new native type "slice" that maps
> to "Eina_Rw_Slice" and "const(slice)" to "Eina_Slice".
>
> These could be introduce in most functions we currently have
> "_length()" variants, like "eina_stringshare_add_length()" could have
> "eina_stringshare_add_slice()". Likewise, APIs could return both in
> one go, like "eina_binbuf_string_get() + eina_binbuf_length_get()"
> could be fulfilled by "eina_binbuf_slice_get()".
>
> For ease of use, we can even pass and return the struct directly, not
> a pointer to one. Example:
>
> Eina_Slice eina_binbuf_slice_get(const Eina_Binbuf *buf) {
>return (Eina_Slice){.mem = buf->buf, .len = buf->len};
> }
>
> which allows:
>
> Eina_Slice s = eina_binbuf_slice_get(buf); // no malloc/free
>
> Likewise for parameters:
>
>  Eina_Error efl_interface_reader_read(Eo *obj, Eina_Rw_Slice dst,
> size_t *used) {
>  while (1) {
>  ssize_t r = read(pd->fd, dst.mem, dst.len);
>  if (r >= 0) {
>*used = r;
> return 0;
>  } else if (errno != EINTR) {
> return eina_error_from_errno(errno); /* to be created */
>  }
>}
> }
>
> while allows:
>
>  err = efl_interface_reader_read(obj, (Eina_Rw_Slice){.buf =
> localbuf, .len=sizeof(localbuf)}, );
>
> (usually that's the expansion of some helper macro, like read_from_literal()).
>
>
> All of that said, are you okay with adding Eina_Slice and Eina_Rw_Slice?
>
> --
> Gustavo Sverzut Barbieri
> --
> Mobile: +55 (16) 99354-9890



-- 
Gustavo Sverzut Barbieri
--
Mobile: +55 (16) 99354-9890

--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/02: wayland_shm: Fix basic support for Evas GL

2016-08-10 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit eba63b7441a673ad11aa95feb482bb20eb8ffb05
Author: Jean-Philippe Andre 
Date:   Thu Aug 11 11:03:54 2016 +0900

wayland_shm: Fix basic support for Evas GL

Simply add support for EVASGL native surfaces.
I removed all code related to OPENGL surfaces (deprecated stuff
from old Evas GL).

Fixes T2936

Note that here are still some missing features in Evas GL
support on Wayland (at least pbuffers support is not implemented).
---
 src/modules/evas/engines/wayland_shm/evas_engine.c | 50 ++
 1 file changed, 41 insertions(+), 9 deletions(-)

diff --git a/src/modules/evas/engines/wayland_shm/evas_engine.c 
b/src/modules/evas/engines/wayland_shm/evas_engine.c
index edfc24e..561f9e9 100644
--- a/src/modules/evas/engines/wayland_shm/evas_engine.c
+++ b/src/modules/evas/engines/wayland_shm/evas_engine.c
@@ -237,6 +237,8 @@ eng_image_native_init(void *data EINA_UNUSED, 
Evas_Native_Surface_Type type)
  {
   case EVAS_NATIVE_SURFACE_TBM:
 return _evas_native_tbm_init();
+  case EVAS_NATIVE_SURFACE_EVASGL:
+return 1;
   default:
 ERR("Native surface type %d not supported!", type);
 return 0;
@@ -257,6 +259,20 @@ eng_image_native_shutdown(void *data EINA_UNUSED, 
Evas_Native_Surface_Type type)
  }
 }
 
+static void
+_native_evasgl_free(void *image)
+{
+   RGBA_Image *im = image;
+   Native *n = im->native.data;
+
+   im->native.data= NULL;
+   im->native.func.bind   = NULL;
+   im->native.func.unbind = NULL;
+   im->native.func.free   = NULL;
+   //im->image.data = NULL;
+   free(n);
+}
+
 static void *
 eng_image_native_set(void *data EINA_UNUSED, void *image, void *native)
 {
@@ -280,14 +296,12 @@ eng_image_native_set(void *data EINA_UNUSED, void *image, 
void *native)
   }
   }
 
-   /* FIXME: WTF is this? OPENGL supported here? uh? and x11.visual used???
-* It looks like this code needs to fail and return NULL. */
-   if ((ns->type == EVAS_NATIVE_SURFACE_OPENGL) &&
-   (ns->version == EVAS_NATIVE_SURFACE_VERSION))
- im2 = (RGBA_Image *)evas_cache_image_data(evas_common_image_cache_get(),
-   ie->w, ie->h,
-   ns->data.x11.visual, 1,
-   EVAS_COLORSPACE_ARGB);
+   if (ns->type == EVAS_NATIVE_SURFACE_EVASGL)
+ {
+im2 = (RGBA_Image *) 
evas_cache_image_data(evas_common_image_cache_get(),
+   ie->w, ie->h, 
ns->data.evasgl.surface, 1,
+   EVAS_COLORSPACE_ARGB);
+ }
else if (ns->type == EVAS_NATIVE_SURFACE_TBM)
  {
 stride = glsym__evas_native_tbm_surface_stride_get(NULL, ns);
@@ -316,7 +330,25 @@ eng_image_native_set(void *data EINA_UNUSED, void *image, 
void *native)
im = im2;
 
if (ns->type == EVAS_NATIVE_SURFACE_TBM)
-  return glsym__evas_native_tbm_surface_image_set(NULL, im, ns);
+ {
+return glsym__evas_native_tbm_surface_image_set(NULL, im, ns);
+ }
+   else if (ns->type == EVAS_NATIVE_SURFACE_EVASGL)
+ {
+/* Native contains Evas_Native_Surface. What a mess. */
+Native *n = calloc(1, sizeof(Native));
+if (n)
+  {
+ n->ns_data.evasgl.surface = ns->data.evasgl.surface;
+ n->ns.type = EVAS_NATIVE_SURFACE_EVASGL;
+ n->ns.version = EVAS_NATIVE_SURFACE_VERSION;
+ n->ns.data.evasgl.surface = ns->data.evasgl.surface;
+ im->native.data = n;
+ im->native.func.free = _native_evasgl_free;
+ im->native.func.bind = NULL;
+ im->native.func.unbind = NULL;
+  }
+ }
 
return im;
 }

-- 




[EGIT] [core/efl] master 02/02: wayland_egl: Fix double free in case of failure

2016-08-10 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit b29847e0da30512be7ad46777383502eaa38452d
Author: Jean-Philippe Andre 
Date:   Thu Aug 11 11:34:00 2016 +0900

wayland_egl: Fix double free in case of failure

When trying to create a window, the WL EGL engine creates
an ecore_evas and connects to the wayland display. But if
EGL is not supported (in weston with nvidia for instance),
the egl initialization fails and the window must be detroyed
in order to fallback to wayland_shm.

This led to a double disconnect from the wayland display
as both the ecore_evas del and the error handling code
were trying to disconnect.

Also, use ref == 0 in two places rather than ref <= 0, as
it can prevent double frees in bad situations (ref < 0).
And reset a global variable to NULL on shutdown.
---
 src/lib/ecore_wl2/ecore_wl2_display.c |  4 ++--
 src/lib/elementary/elm_config.c   |  1 +
 .../ecore_evas/engines/wayland/ecore_evas_wayland_egl.c   | 11 +--
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/lib/ecore_wl2/ecore_wl2_display.c 
b/src/lib/ecore_wl2/ecore_wl2_display.c
index 77f6b28..c536d56 100644
--- a/src/lib/ecore_wl2/ecore_wl2_display.c
+++ b/src/lib/ecore_wl2/ecore_wl2_display.c
@@ -710,7 +710,7 @@ ecore_wl2_display_disconnect(Ecore_Wl2_Display *display)
EINA_SAFETY_ON_NULL_RETURN(display);
 
_ecore_wl2_display_cleanup(display);
-   if (display->refs <= 0)
+   if (display->refs == 0)
  {
 wl_display_disconnect(display->wl.display);
 
@@ -728,7 +728,7 @@ ecore_wl2_display_destroy(Ecore_Wl2_Display *display)
EINA_SAFETY_ON_NULL_RETURN(display);
 
_ecore_wl2_display_cleanup(display);
-   if (display->refs <= 0)
+   if (display->refs == 0)
  {
 wl_display_destroy(display->wl.display);
 
diff --git a/src/lib/elementary/elm_config.c b/src/lib/elementary/elm_config.c
index a4d687a..728e85d 100644
--- a/src/lib/elementary/elm_config.c
+++ b/src/lib/elementary/elm_config.c
@@ -3816,6 +3816,7 @@ _elm_config_sub_shutdown(void)
if (_elm_wl_display)
  {
 ecore_wl2_display_disconnect(_elm_wl_display);
+_elm_wl_display = NULL;
 ecore_wl2_shutdown();
  }
 #endif
diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c
index bb50fd8..c02619d 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c
@@ -282,7 +282,7 @@ ecore_evas_wayland_egl_new_internal(const char *disp_name, 
unsigned int parent,
Evas_Engine_Info_Wayland_Egl *einfo;
Ecore_Evas_Interface_Wayland *iface;
Ecore_Evas_Engine_Wl_Data *wdata;
-   Ecore_Evas *ee;
+   Ecore_Evas *ee = NULL;
int method = 0;
int fx = 0, fy = 0, fw = 0, fh = 0;
 
@@ -310,14 +310,14 @@ ecore_evas_wayland_egl_new_internal(const char 
*disp_name, unsigned int parent,
if (!(ee = calloc(1, sizeof(Ecore_Evas
  {
 ERR("Failed to allocate Ecore_Evas");
-goto ee_err;
+goto err;
  }
 
if (!(wdata = calloc(1, sizeof(Ecore_Evas_Engine_Wl_Data
  {
 ERR("Failed to allocate Ecore_Evas_Engine_Wl_Data");
free(ee);
-goto ee_err;
+goto err;
  }
 
ECORE_MAGIC_SET(ee, ECORE_MAGIC_EVAS);
@@ -460,9 +460,8 @@ ecore_evas_wayland_egl_new_internal(const char *disp_name, 
unsigned int parent,
return ee;
 
 err:
-   ecore_evas_free(ee);
-ee_err:
-   ecore_wl2_display_disconnect(ewd);
+   if (ee) ecore_evas_free(ee);
+   else ecore_wl2_display_disconnect(ewd);
 conn_err:
ecore_wl2_shutdown();
return NULL;

-- 




[EGIT] [bindings/python/python-efl] master 01/01: New 1.18 API: elm.Object.focus_move_policy_automatic

2016-08-10 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=a1bef554e06a46a027fe1f6eb0f734d377810142

commit a1bef554e06a46a027fe1f6eb0f734d377810142
Author: Dave Andreoli 
Date:   Wed Aug 10 20:59:53 2016 +0200

New 1.18 API: elm.Object.focus_move_policy_automatic

TBH I think that "automatic" should just have been a new value in the
elm.Object.focus_move_policy enum but I really don't have any more
energy to discuss this thing.
---
 efl/elementary/object.pxi  | 29 +
 efl/elementary/object_cdef.pxi |  2 ++
 2 files changed, 31 insertions(+)

diff --git a/efl/elementary/object.pxi b/efl/elementary/object.pxi
index c229e2e..22bea09 100644
--- a/efl/elementary/object.pxi
+++ b/efl/elementary/object.pxi
@@ -1016,6 +1016,8 @@ cdef class Object(SmartObject):
 
 .. versionadded:: 1.15
 
+.. seealso:: :attr:`focus_move_policy_automatic`
+
 """
 def __get__(self):
 return elm_object_focus_move_policy_get(self.obj)
@@ -1028,6 +1030,33 @@ cdef class Object(SmartObject):
 def focus_move_policy_set(self, Elm_Focus_Move_Policy policy):
 elm_object_focus_move_policy_set(self.obj, policy)
 
+property focus_move_policy_automatic:
+"""The widget's focus movement policy mode setting.
+
+When widget in automatic mode, it follows the system focus movement
+policy mode set by 
:attr:`efl.elementary.Configuration.focus_move_policy`.
+
+:type: bool
+
+.. versionadded:: 1.18
+
+.. seealso::
+:attr:`focus_move_policy`
+
+:attr:`efl.elementary.Configuration.focus_move_policy`
+
+"""
+def __get__(self):
+return bool(elm_object_focus_move_policy_automatic_get(self.obj))
+def __set__(self, bint automatic):
+elm_object_focus_move_policy_automatic_set(self.obj, automatic)
+
+def focus_move_policy_automatic_get(self):
+return bool(elm_object_focus_move_policy_automatic_get(self.obj))
+def focus_move_policy_automatic_set(self, bint automatic):
+elm_object_focus_move_policy_automatic_set(self.obj, automatic)
+
+
 property focus_region_show_mode:
 """The focus movement policy for the object.
 
diff --git a/efl/elementary/object_cdef.pxi b/efl/elementary/object_cdef.pxi
index 7de9b10..219d0df 100644
--- a/efl/elementary/object_cdef.pxi
+++ b/efl/elementary/object_cdef.pxi
@@ -183,6 +183,8 @@ cdef extern from "Elementary.h":
 Elm_Focus_Move_Policy   elm_object_focus_move_policy_get(Evas_Object *obj)
 void   
elm_object_focus_region_show_mode_set(Evas_Object *obj, 
Elm_Focus_Region_Show_Mode mode)
 Elm_Focus_Region_Show_Mode elm_object_focus_region_show_mode_get(const 
Evas_Object *obj)
+Eina_Bool   elm_object_focus_move_policy_automatic_get(const 
Evas_Object *obj)
+void
elm_object_focus_move_policy_automatic_set(Evas_Object *obj, Eina_Bool 
automatic)
 
 # Object - Mirroring (elm_mirroring.h)
 Eina_Bool   elm_object_mirrored_get(const Evas_Object *obj)

-- 




Re: [E-devel] Problem with Combobox 1.18 API

2016-08-10 Thread Davide Andreoli
2016-08-10 16:35 GMT+02:00 Tom Hacohen :

> On 10/08/16 14:51, Davide Andreoli wrote:
> > 2016-08-10 15:48 GMT+02:00 Tom Hacohen :
> >
> >> On 10/08/16 14:45, Davide Andreoli wrote:
> >>> 2016-08-10 15:22 GMT+02:00 Tom Hacohen :
> >>>
>  On 09/08/16 20:37, Davide Andreoli wrote:
> > Starting from this commit:
> > https://git.enlightenment.org/core/elementary.git/commit/?id=
>  015db15c626b9b06116fcc8f7ec61bbae3c6cc30
> >
> > combobox now inherit from Genlist and Multibuttonentry, this is
> causing
> > some name clashes, in particular
> > I found the item_append() function to be present (and needed) in both
> > parent class.
> >
> > This is an issue in bindings, where you use it like:
> > cbox.item_append(...)
> > what function do I need to call in this case? the one from genlist or
> >> the
> > one from multibuttonentry?
> > do you want to add the item in the genlist or in the mbe?
> >
> > TBH I also found the new combobox multi selection functionality quite
> > broken atm, for example it's
> > quite impossible to make the widget the right size, it always appear
>  super
> > small, unless you perform
> > hacks like the table+rect one, or use and edje layout (like is done
> the
> > elementary_test)
> >
> > If we don't a have a solution/explanation for the name clash I
> suggest
> >> to
> > revert this commit for the
> > 1.18 release and fix/discuss better in the next cycle
> >
> > Thanks
> > davemds
> 
>  Hey,
> 
>  My reply will be based on my basic checks and a few assumptions, if
> you
>  think any of the assumptions are wrong, please correct me. But given
> the
>  quick glance I took of the code, and our chat on IRC, I think I'm on
> top
>  of it.
> 
> 
>  The Eo API is not stable. This obviously includes eo functions like
>  eo_add, but also eo properties, like multiple inheritance. Combobox
>  inherits from box, and is extended (composite if I had to assume) by
>  genlist. This means that any genlist calls on combobox objects are
>  actually BETA are not "released". This means one of two things: if you
>  can use combobox without these calls, all is well. If you rely on
> using
>  these calls, then combobox should be marked as beta too as it's not
>  useful without the Eo api. That is it.
> 
> 
> >>> I can understand your point here, but the problem is that legacy users
> >> can
> >>> use this legacy functions:
> >>> o = elm_combobox_add()
> >>> elm_genlist_item_append(o)
> >>> elm_multibuttonentry_item_append(o)
> >>
> >> I understand.
> >>
> >>>
> >>> those functions are not BETA, and people can use them. While you
> >>> say they are (conceptually) BETA.
> >>>
> >>> Infact we already have bindings for the combobox in python-efl.
> >>>
> >>> To be more clear: the only way to actually use the combobox widget in
> >>> any useful way is to use functions from other widgets (composited)
> >>> And if composited is conceptually BETA then the full widget should be
> >>> marked as BETA.
> >>
> >> That's what I said. So the widget should be marked as beta.
> >>
> >>
> > It's a bit too late for this, it was also in the 1.17 release (without
> beta)
>
> Well, it's not a problem, because as I said, it's undefined behaviour
> (the way it was used), and it shouldn't have been used that way. It
> relied on unreleased API. Combobox itself is not an API break, just
> certain usages. So we just released a useless widget in 1.17, I'm fine
> with that. Doesn't matter. Read my previous mail for more info.
>

It probably doesn't matter for you but maybe does matter for all the people
(like me) that have used the combo widget released in 1.17.
Yes! it has been released, not under beta, with legacy functions, and
without any note to not use it.

So we have done a big mess and a HUGE error releasing this widget, and
the fact that you don't admit this is quite disturbing.

I have now deprecated the combobox widget in python-efl, with a
BIG FAT WARNING to not use it anymore.
https://build.enlightenment.org/job/base_pyefl_build/lastSuccessfulBuild/artifact/build/sphinx/html/elementary/combobox.html

I suggest that someone do the same for the C api/docs, and
again I suggest to revert the multi_selection/Multibuttonentry ability.





>
> --
> Tom.
>
>
> 
> --
> What NetFlow Analyzer can do for you? Monitors network bandwidth and
> traffic
> patterns at an interface-level. Reveals which users, apps, and protocols
> are
> consuming the most bandwidth. Provides multi-vendor support for NetFlow,
> J-Flow, sFlow and other flows. Make informed decisions using capacity
> planning reports. http://sdm.link/zohodev2dev
> ___
> enlightenment-devel mailing list
> 

[EGIT] [apps/terminology] master 01/01: fix typo in config. Ref T4323

2016-08-10 Thread Boris Faure
billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=e24196eb24dbfe069cfabe3f953f9854ee124727

commit e24196eb24dbfe069cfabe3f953f9854ee124727
Author: Boris Faure 
Date:   Wed Aug 10 23:05:04 2016 +0200

fix typo in config. Ref T4323
---
 src/bin/config.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/config.c b/src/bin/config.c
index 9d9b28c..1150466 100644
--- a/src/bin/config.c
+++ b/src/bin/config.c
@@ -83,7 +83,7 @@ config_init(void)
EET_DATA_DESCRIPTOR_ADD_BASIC
  (edd_base, Config, "font.bitmap", font.bitmap, EET_T_UCHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC
- (edd_base, Config, "font.bolditalic", font.bitmap, EET_T_UCHAR);
+ (edd_base, Config, "font.bolditalic", font.bolditalic, EET_T_UCHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC
  (edd_base, Config, "helper.email", helper.email, EET_T_STRING);
EET_DATA_DESCRIPTOR_ADD_BASIC

-- 




[EGIT] [core/efl] master 01/01: evas: Call legacy events before new key/pointer eo events

2016-08-10 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 1185c40e508ca2ecc4c5e86ba28835b4e61f1c21
Author: Jean-Philippe Andre 
Date:   Wed Aug 10 16:29:17 2016 +0900

evas: Call legacy events before new key/pointer eo events

This affects pointer & key events.

Here's the scenario: in Enventor, an elm_button object
grabs the up & down keys for the autocompletion feature.
But the entry will also listen to up & down to move the
cursor. Moreover, the scroller listens to up & down arrow
keys to scroll around.

So, when calling the new eo event first, the scroller
or the entry would catch it and do some action. In
Enventor, this triggered a hide on the magic anchor
object. Bad, bad.

I fear something will be wrong with this order as well.
Both events (legacy & eo) should be called simultaneously,
following the order & priorities that were set.

This being said, in real life most of EFL internals will
move to the new eo events (right now elm relies on the
new events, but edje doesn't, yet), so any app grabbing a
key probably wants to handle the event before elm. Same
for an app using focus manually.

Fixes T4310
---
 src/lib/evas/canvas/evas_callbacks.c | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/lib/evas/canvas/evas_callbacks.c 
b/src/lib/evas/canvas/evas_callbacks.c
index 00a5e62..14e303f 100644
--- a/src/lib/evas/canvas/evas_callbacks.c
+++ b/src/lib/evas/canvas/evas_callbacks.c
@@ -262,6 +262,9 @@ evas_object_event_callback_call(Evas_Object *eo_obj, 
Evas_Object_Protected_Data
  break;
  }
 
+   /* legacy callbacks - relying on Efl.Canvas.Object events */
+   eo_event_callback_call(eo_obj, _legacy_evas_callback_table(type), 
event_info);
+
/* new input events */
if (eo_event_desc)
  {
@@ -290,12 +293,8 @@ evas_object_event_callback_call(Evas_Object *eo_obj, 
Evas_Object_Protected_Data
 
 if (pevflags) efl_event_flags_set(eo_event_info, *pevflags);
 eo_event_callback_call(eo_obj, eo_event_desc, eo_event_info);
-if (pevflags) *pevflags = efl_event_flags_get(eo_event_info);
  }
 
-   /* legacy callbacks - relying on Efl.Canvas.Object events */
-   eo_event_callback_call(eo_obj, _legacy_evas_callback_table(type), 
event_info);
-
if (type == EVAS_CALLBACK_MOUSE_DOWN)
  {
 Evas_Event_Mouse_Down *ev = event_info;

-- 




[E-devel] [RFC] Eo interfaces: reader, writer, closer

2016-08-10 Thread Gustavo Sverzut Barbieri
Hi all,

To satisfy both ecore-con and ecore-con-url work I'm doing we need to
define basic I/O interfaces. My suggestion is to keep them split into
specific purpose (one for each), but if you think it's a big overhead with
Eo, we can pack them in a single one and let people implement just some,
returning errors on the others.

They also assume the Eina_Slice (RDONLY) and Eina_Rw_Slice (RW) proposed in
another email thread.

src/lib/efl/interfaces/efl_io_reader.eo:
interface Efl.Io.Reader {
methods {
read {
[[Reads data into a pre-allocated buffer.

  This operation will be executed immediately and may or may
not block the caller thread for some time. The details of blocking behavior
is to be defined by the implementation and may be subject to other
parameters such as non-blocking flags, maximum timeout or even retry
attempts.

  You can understand this interface as read(2) libc function.
]]
params {
@in buffer: slice; [[Writable memory to store read bytes.
Must be pre-allocated and defines the maximum amount to read, it won't be
resized]]
@out used: size; [[returns the amount of buffer that was
used during read]]
}
return: Eina.Error; [[0 on success, a mapping of errno
otherwise]]
}
}
}

src/lib/efl/interfaces/efl_io_writer.eo:
interface Efl.Io.Writer {
methods {
write {
[[Writes data from a pre-populated buffer.

  This operation will be executed immediately and may or may
not block the caller thread for some time. The details of blocking behavior
is to be defined by the implementation and may be subject to other
parameters such as non-blocking flags, maximum timeout or even retry
attempts.

  You can understand this interface as write(2) libc function.
]]
params {
@in buffer: const(slice); [[Memory to read bytes from. Must
be pre-populated to its full length]]
@out used: size; [[returns the amount of buffer that was
used during write]]
}
return: Eina.Error; [[0 on success, a mapping of errno
otherwise]]
}
}
}


src/lib/efl/interfaces/efl_io_closer.eo:
interface Efl.Io.Closer {
methods {
close {
[[Closes the object resources.

  This operation will be executed immediately and may or may
not block the caller thread for some time. The details of blocking behavior
is to be defined by the implementation and may be subject to other
parameters such as non-blocking flags, maximum timeout or even retry
attempts.

  You can understand this interface as close(2) libc function.
]]
return: Eina.Error; [[0 on success, a mapping of errno
otherwise]]
}
}
}

Likely we'll need an Efl.Io.Sizer that returns the size of the contents,
will be useful to manage requests where you have benefit to predefine the
contents size (like serving http-requests or doing a HTTP POST).

My plan is to write specializations in classes: Efl.Io.Reader.Fd,
Efl.Io.Writer.Fd and Efl.Io.Closer.Fd (Please suggest better names!) that
would all be based on a common Efl.Io.Fd interface that provides a property
"fd". These classes would execute read(2), write(2) and close(2). These
would be used by most classes as:


Efl.Io.Pipe object may create two child objects, one Reader+Closer and one
Writer+Closer, or simply offer itself a Reader+Writer+Closer which would
proxy the calls to correct child object. (Not to be implemented right now,
just an example)

Efl.Net.Socket would be a Reader+Writer+Closer (all using .Fd
specializations) as well as Efl.Loop_Fd, then all that is left to do is
provide meaningful properties and a "finalize" method that creates the
actual socket and sets the internal fd.

Efl.Net.Http.Client.Get would be a Reader+Closer. Efl.Net.Http.Client.Post
would be a Reader+Writer+Closer. Since these are using libcurl, they would
not be using ".Fd" specializations).

Efl.Io.Copier would be a class that receives a Reader and a Writer, then
copies from reader to writer. It could check if the objects supports Closer
in order to close-at-end, as well as if they are Efl.Loop_Fd in order to
monitor for events read/write/error, otherwise reverting to a busy wait
loop -- These behavior will be discussed later, consider this as a vague
idea.

The idea of Efl.Io.Copier is that we can avoid things like
"ecore_con_url_fd_set()" that is used to save the contents to a file.
Instead of having to create such method inside the Efl.Net.Http.Client.Get
itself, we'd just use two objects, one for the HTTP and the other for an
actual file and use Efl.Io.Copier with them.

Likewise, we can provide a HTTP/POST or FTP upload simply by using the File
as Reader, HTTP or FTP as Writer and use Efl.Io.Copier.

It also solve things like "I need to do an HTTP get and receive as a custom
function", that is to 

[EGIT] [core/efl] master 01/01: README: catch up with configure flags for Wayland support

2016-08-10 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit cb5ff3c60b7aebcf5f110a88cd8ab51fdaa0a4b8
Author: Stefan Schmidt 
Date:   Wed Aug 10 11:09:36 2016 +0200

README: catch up with configure flags for Wayland support

We need elput for input handling and drm here as well. Already fixed in the
release notes but better catchup here as well.
---
 README | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/README b/README
index c4ebf04..71f8519 100644
--- a/README
+++ b/README
@@ -564,7 +564,9 @@ Wayland is also supported fairly solidly in EFL 1.8. It is 
not
 required by default due to it being new and not that widely spread.
 You can enable Wayland support with:
 
---enable-wayland
+--enable-wayland \
+--enable-elput \
+--enable-drm
 
 For faster rendering when dithering down to lower-than 24/32bpp, you
 can try:

-- 




[EGIT] [bindings/python/python-efl] master 01/01: New 1.18 API: elm.Configuration.web_backend

2016-08-10 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=bc411cd7745554a93bf3e605d44e2449b9f28e33

commit bc411cd7745554a93bf3e605d44e2449b9f28e33
Author: Dave Andreoli 
Date:   Wed Aug 10 11:41:49 2016 +0200

New 1.18 API: elm.Configuration.web_backend
---
 efl/elementary/configuration.pxi  | 19 +++
 efl/elementary/configuration_cdef.pxi |  3 +++
 2 files changed, 22 insertions(+)

diff --git a/efl/elementary/configuration.pxi b/efl/elementary/configuration.pxi
index 3dd..9317ab0 100644
--- a/efl/elementary/configuration.pxi
+++ b/efl/elementary/configuration.pxi
@@ -1370,6 +1370,25 @@ cdef class Configuration(object):
 def __set__(self, bint disabled):
 elm_config_context_menu_disabled_set(disabled)
 
+property web_backend:
+"""The backend engine used by Elm_Web widget
+
+This is the name of the external module used by elm_web to render web
+page.
+
+:type: string
+
+.. versionadded:: 1.18
+
+"""
+def __get__(self):
+return _ctouni(elm_config_web_backend_get())
+def __set__(self, backend):
+if isinstance(backend, unicode): backend = 
PyUnicode_AsUTF8String(backend)
+elm_config_web_backend_set(
+backend if backend is not None else NULL)
+
+
 #For compatibility
 def config_finger_size_get():
 return elm_config_finger_size_get()
diff --git a/efl/elementary/configuration_cdef.pxi 
b/efl/elementary/configuration_cdef.pxi
index 64db920..5b5fec9 100644
--- a/efl/elementary/configuration_cdef.pxi
+++ b/efl/elementary/configuration_cdef.pxi
@@ -201,6 +201,9 @@ cdef extern from "Elementary.h":
 Eina_Bool   elm_config_popup_scrollable_get()
 voidelm_config_popup_scrollable_set(Eina_Bool 
scrollable)
 
+const char *elm_config_web_backend_get()
+voidelm_config_web_backend_set(const char *backend)
+
 const char *elm_config_indicator_service_get(int rotation)
 
 double  elm_config_glayer_long_tap_start_timeout_get()

-- 




Re: [E-devel] Ignoring application developers, or just me?

2016-08-10 Thread Simon Lees


On 08/11/2016 01:54 AM, David Seikel wrote:
> OK, I get it, you have zero understanding of virtual worlds, and no
> desire to learn anything about them, hence you have no clue what I've
> been talking about.  There are things you can do in virtual worlds you
> cannot do in the real world, that's one reason they exist.  Perhaps if
> you just trusted me on this subject.  B-)
> 
> Yeah lots of people make the mistake of thinking virtual worlds are
> games.  They are not.  Games tend to have way better graphics than
> anything Second Life and OpenSim can do, SledjHamr should be able to
> do much better graphics coz EFL.  Games have actual game mechanics,
> virtual worlds do not.  Sure you can actually script games in either
> system if you want, and people have done so.  Game mechanics are not
> part of SledjHamr, so I'm not gonna write any games, not even demo
> games.  Any pre existing LSL (Second Life's scripting language) game
> scripts will run fine, and people will have the choice of other
> languages in SledjHamr.  I'll likely track down some open source LSL
> games and include them in the default download.
> 
I know there's a difference but short of CAD or specialist Geology
subjects games are the most likely other thing to use evas_3D

> Ah, only polish gets your attention.  Yeah, I'm mostly concerned with
> getting stuff to work, or getting ideas written down, not making it look
> pretty, yet.  
If thats the case you probably won't get heaps of help yet.


-- 

Simon Lees (Simotek)http://simotek.net

Emergency Update Team   keybase.io/simotek
SUSE LinuxAdeliade Australia, UTC+9:30
GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B



signature.asc
Description: OpenPGP digital signature
--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Ignoring application developers, or just me?

2016-08-10 Thread onefang Rejected
On Thu, 4 Aug 2016 14:27:09 +0900 Carsten Haitzler (The Rasterman)
 wrote:

> On Thu, 4 Aug 2016 15:16:03 +1000 David Seikel 
> said:
> 
> > On Thu, 4 Aug 2016 14:00:01 +0900 Carsten Haitzler (The Rasterman)
> >  wrote:
> > 
> > > On Thu, 4 Aug 2016 13:23:33 +1000 David Seikel 
> > > said:
> > > 
> > > > On Thu, 4 Aug 2016 11:29:50 +0900 Carsten Haitzler (The
> > > > Rasterman)  wrote:
> > > > 
> > > > > one thing with your evas 3d usage... it's not real/useful to
> > > > > anyone else. if you made open source tools/apps that were
> > > > > easily usable and downloadable (without needing special
> > > > > accounts you have to pay for e.g second life) then you would
> > > > > be interesting/relevant.
> > > > > 
> > > > > let me give you a sample:
> > > > > 
> > > > > if you  made a really nice world clock app for seeing world
> > > > > timezones, selecting yours, setting date/time etc. that even
> > > > > did sexy stuff like used topological maps of the world so
> > > > > when you zoom into an area you get some mountains/hills and
> > > > > so on... and this was part of e's settings tools or clock
> > > > > tool with calendar etc. ... well then that'd be really cool
> > > > > and useful to LOTs of people and accessible to everyone. :)
> > > > > just saying. you're emails are "i'm working on this thing..
> > > > > here on my hard drive... it does x/y/z and will do x/y/z".
> > > > > that's not REAL to anyone. it's not accessible. it's not used
> > > > > daily thus important. :) you want evas 3d to be useful to
> > > > > your BIGGER projects you do like this, do some smaller ones
> > > > > out the front that people see and use daily. :)
> > > > 
> > > > Er, my project is for Second Life, OpenSim, AND an alternative
> > > > to both, and is on Github.  Your arguments are invalid.  Hell,
> > > > my general idea is to make server side so efficient that by
> > > > default, anyone can run their own little server to invite their
> > > > friends to, even on their phone.  I'm trying to open up 3D
> > > > virtual worlds to the masses.
> > > 
> > > "that are easily downloadable and usable without special
> > > accounts". someone has to set up a server, run it, need accounts,
> > > etc. is it a tool readily usable out of the box that people
> > > actually will need/use regularly. a secondlife or quivalent is
> > > not. a terminal is. a wm is. a web browser is. ... if someone has
> > > to set up a server themselves or register accounts somewhere else
> > > at all you just failed the "useful to anyone" :)
> > 
> > If you read SledjHamr.org, you'll see I have taken all of that into
> > account.  Now you are just making up excuses to ignore me.
> 
> count the number of people here participating in any virtual world.
> they use terminals. email clients. wm's. the number of people
> involved in virtual worlds who would even look is small at best.
> perhaps you don't like it, but i'm trying to tell you that the reason
> no one is paying attention is you do not have something they want.
> maybe others do, but no one here working on efl or e or core users
> etc. is. or almost no one. if they were, then you wouldnt be a
> periphery thing. i am not saying your work is bad or its stupid or
> anything. i'm saying that expecting relevance is dependent on things
> being relevant to others. if efl breaks terminology then that break
> becomes relevant because LOTs of people use it here and even
> elsewhere. but especially here. if evas_3d was being used in e for eg
> 3d cube desktop switching effects... it'd be relevant to a whole lot
> of people immediately.
> 
> i'm not even going to look at those projects because the premise of
> them as a virtual world is not interesting or relevant to me. it is
> to you and that's great. not to me. and if you go around wondering
> why they are not paying attention then this is the primary reason.
> you have to have things in common that make the things you want be
> relevant. :) i'm trying to help you here by pointing out that to help
> the project you care about, you may have to do other side projects
> that have relevance to others to bring that to the fore. :)

That kinda sounds like you are telling me I basically have to bribe
people to get anywhere.  Do you realise that A) a 3D virtual world
system is kinda HUGE (will take years, already has), 2) it involves all
sorts of sub projects that have to work together, III) lots of little
side projects will drop out of it over the years simply due to A and
2, D) some of these might be the "relevant to others" you seek, why
don't you look at the damn web site, and tell me which ones?  There's
even a nice picture showing all of them.

OK, since you are going to ignore my web site, I'll explain that my
design is more of a P2P thingy, no need to setup a server.  It also
defaults to what ever user name your desktop already knows, and
leverages OpenSims