[EGIT] [tools/eflete] eflete-1.18 07/91: export-edc: add the command option to set the export-edc path.
rimmed pushed a commit to branch eflete-1.18. http://git.enlightenment.org/tools/eflete.git/commit/?id=1f4a56fd6f23b39381cc56dd918475ba4f6d6523 commit 1f4a56fd6f23b39381cc56dd918475ba4f6d6523 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Thu Sep 1 14:15:33 2016 +0900 export-edc: add the command option to set the export-edc path. It should set PATH/FOLDER/FILE. If this option is enabled the file browser is not shown and the edc file is exported in the previously set path. @feature --- src/bin/eflete.c | 8 +++ src/bin/eflete.h | 5 src/bin/main.c | 28 +- .../project_manager/project_manager_export_edc.c | 11 +++-- src/bin/ui/menu.c | 5 +++- src/bin/ui/project_export.c| 21 6 files changed, 70 insertions(+), 8 deletions(-) diff --git a/src/bin/eflete.c b/src/bin/eflete.c index fab8db6..9f79e76 100644 --- a/src/bin/eflete.c +++ b/src/bin/eflete.c @@ -132,6 +132,14 @@ app_shutdown() eina_stringshare_del(ap.path.edj_path); if (ap.path.image_path) eina_stringshare_del(ap.path.image_path); + if (ap.path.export_edj) + eina_stringshare_del(ap.path.export_edj); + if (ap.path.export_edc.path) + eina_stringshare_del(ap.path.export_edc.path); + if (ap.path.export_edc.folder) + eina_stringshare_del(ap.path.export_edc.folder); + if (ap.path.export_edc.file) + eina_stringshare_del(ap.path.export_edc.file); config_shutdown(); elm_theme_free(ap.theme); diff --git a/src/bin/eflete.h b/src/bin/eflete.h index dcaea44..6ada2be 100644 --- a/src/bin/eflete.h +++ b/src/bin/eflete.h @@ -135,6 +135,11 @@ struct _App_Data Eina_Stringshare *image_path; Eina_Stringshare *sound_path; Eina_Stringshare *export_edj; + struct { + Eina_Stringshare *path; + Eina_Stringshare *folder; + Eina_Stringshare *file; + } export_edc; } path; Project *project; Shortcut_Module *shortcuts; /**< Structure with data from shortcuts module */ diff --git a/src/bin/main.c b/src/bin/main.c index 479cd17..c176219 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -32,6 +32,7 @@ static char *file = NULL; static char *pro_name = NULL; static char *pro_path = NULL; static char *export_edj = NULL; +static char *export_edc = NULL; static Eina_List *img_dirs = NULL; static Eina_List *snd_dirs = NULL; static Eina_List *fnt_dirs = NULL; @@ -62,7 +63,8 @@ static const Ecore_Getopt options = { { ECORE_GETOPT_STORE_STR(0, "name", N_("Name for new project")), ECORE_GETOPT_STORE_STR(0, "path", N_("Path to project directory")), - ECORE_GETOPT_STORE_STR(0, "export-edj", N_("Export file path")), + ECORE_GETOPT_STORE_STR(0, "export-edj", N_("Export edj file path")), + ECORE_GETOPT_STORE_STR(0, "export-edc", N_("Export edc file path. This should include the path, folder and edc file name.(PATH/FOLDER/FILE)")), ECORE_GETOPT_APPEND_METAVAR('i', "id", "Add image directory for edc compilation", "DIR_NAME", ECORE_GETOPT_TYPE_STR), ECORE_GETOPT_APPEND_METAVAR('s', "sd", "Add sound directory for edc compilation", "DIR_NAME", ECORE_GETOPT_TYPE_STR), ECORE_GETOPT_APPEND_METAVAR('f', "fd", "Add font directory for edc compilation", "DIR_NAME", ECORE_GETOPT_TYPE_STR), @@ -171,6 +173,28 @@ _new_project(void *data __UNUSED__) tabs_home_tab_add(TAB_HOME_NEW_PROJECT); } +static void +_export_edc_path_set(char *export_edc) +{ + char tmp[256]; + int len = 0, rlen = 0; + + strcpy(tmp, export_edc); + len = strlen(tmp); + rlen = strlen(strrchr(tmp, '/')); + if (!rlen) return; + ap.path.export_edc.file = eina_stringshare_add(tmp + (len - rlen + 1)); + tmp[len - rlen] = '\0'; + + len = strlen(tmp); + rlen = strlen(strrchr(tmp, '/')); + if (!rlen) return; + ap.path.export_edc.folder = eina_stringshare_add(tmp + (len - rlen + 1)); + tmp[len - rlen] = '\0'; + + ap.path.export_edc.path = eina_stringshare_add(tmp); +} + EAPI_MAIN int elm_main(int argc, char **argv) { @@ -183,6 +207,7 @@ elm_main(int argc, char **argv) ECORE_GETOPT_VALUE_STR(pro_name), ECORE_GETOPT_VALUE_STR(pro_path), ECORE_GETOPT_VALUE_STR(export_edj), + ECORE_GETOPT_VALUE_STR(export_edc), ECORE_GETOPT_VALUE_LIST(img_dirs), ECORE_GETOPT_VALUE_LIST(snd_dirs), ECORE_GETOPT_VALUE_LIST(fnt_dirs), @@ -324,6 +349,7 @@ elm_main(int argc, char **argv) run: ap.path.export_edj = export_edj; +_export_edc_path_set(export_edc); if (!ui_main_window_add()) { app_shutdown(); diff --git a/src/
[EGIT] [tools/eflete] eflete-1.18 57/91: Tizen : fix the usage of the spinner in tizen
rimmed pushed a commit to branch eflete-1.18. http://git.enlightenment.org/tools/eflete.git/commit/?id=6219490890a34ac211cabc0553bbcfb5bf07c78f commit 6219490890a34ac211cabc0553bbcfb5bf07c78f Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Tue Sep 13 13:25:18 2016 +0900 Tizen : fix the usage of the spinner in tizen The work of spinner is different in upstream and tizen. If the "changed" callback of the spinner is called by api, just return. --- src/bin/ui/property/property_common.c | 4 + src/bin/ui/property/property_group.c | 197 ++ 2 files changed, 108 insertions(+), 93 deletions(-) diff --git a/src/bin/ui/property/property_common.c b/src/bin/ui/property/property_common.c index f16ddc9..55c3906 100644 --- a/src/bin/ui/property/property_common.c +++ b/src/bin/ui/property/property_common.c @@ -168,6 +168,10 @@ _start_change_stop_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) { +#ifdef HAVE_TIZEN + Eina_Bool by_api = evas_object_data_get(obj, "by_api"); + if (by_api) return; +#endif PROPERTY_DATA_GET(obj); Property_Attribute *pa = data; diff --git a/src/bin/ui/property/property_group.c b/src/bin/ui/property/property_group.c index 7b93c82..8d8c38c 100644 --- a/src/bin/ui/property/property_group.c +++ b/src/bin/ui/property/property_group.c @@ -205,6 +205,17 @@ static const char *image_border_fill_strings[] = { STR_NONE, "Default", "Solid", NULL}; +_spinner_value_set(Evas_Object *obj, double val) +{ +#ifdef HAVE_TIZEN + evas_object_data_set(obj, "by_api", EINA_TRUE); +#endif + elm_spinner_value_set(obj, val); +#ifdef HAVE_TIZEN + evas_object_data_set(obj, "by_api", EINA_FALSE); +#endif +} + /* defines for args */ static inline const char * _part_name_get(void) @@ -1770,19 +1781,19 @@ _update_cb(Property_Attribute *pa, Property_Action *action) return images_list == NULL; case ATTRIBUTE_GROUP_MIN_W: int_val1 = edje_edit_group_min_w_get(EDIT_OBJ); - elm_spinner_value_set(action->control, int_val1); + _spinner_value_set(action->control, int_val1); return !int_val1; case ATTRIBUTE_GROUP_MIN_H: int_val1 = edje_edit_group_min_h_get(EDIT_OBJ); - elm_spinner_value_set(action->control, int_val1); + _spinner_value_set(action->control, int_val1); return !int_val1; case ATTRIBUTE_GROUP_MAX_W: int_val1 = edje_edit_group_max_w_get(EDIT_OBJ); - elm_spinner_value_set(action->control, int_val1); + _spinner_value_set(action->control, int_val1); return !int_val1; case ATTRIBUTE_GROUP_MAX_H: int_val1 = edje_edit_group_max_h_get(EDIT_OBJ); - elm_spinner_value_set(action->control, int_val1); + _spinner_value_set(action->control, int_val1); return !int_val1; case ATTRIBUTE_PART_NAME: property_entry_set(action->control, PART_ARGS); @@ -1854,27 +1865,27 @@ _update_cb(Property_Attribute *pa, Property_Action *action) return editor_part_text_shadow_direction_default_is(EDIT_OBJ, PART_ARGS); case ATTRIBUTE_PART_DRAG_X: int_val1 = edje_edit_part_drag_x_get(EDIT_OBJ, PART_ARGS); - elm_spinner_value_set(action->control, int_val1); + _spinner_value_set(action->control, int_val1); return editor_part_drag_x_default_is(EDIT_OBJ, PART_ARGS); case ATTRIBUTE_PART_DRAG_Y: int_val1 = edje_edit_part_drag_y_get(EDIT_OBJ, PART_ARGS); - elm_spinner_value_set(action->control, int_val1); + _spinner_value_set(action->control, int_val1); return editor_part_drag_y_default_is(EDIT_OBJ, PART_ARGS); case ATTRIBUTE_PART_DRAG_STEP_X: int_val1 = edje_edit_part_drag_step_x_get(EDIT_OBJ, PART_ARGS); - elm_spinner_value_set(action->control, int_val1); + _spinner_value_set(action->control, int_val1); return editor_part_drag_step_x_default_is(EDIT_OBJ, PART_ARGS); case ATTRIBUTE_PART_DRAG_STEP_Y: int_val1 = edje_edit_part_drag_step_y_get(EDIT_OBJ, PART_ARGS); - elm_spinner_value_set(action->control, int_val1); + _spinner_value_set(action->control, int_val1); return editor_part_drag_step_y_default_is(EDIT_OBJ, PART_ARGS); case ATTRIBUTE_PART_DRAG_COUNT_X: int_val1 = edje_edit_part_drag_count_x_get(EDIT_OBJ, PART_ARGS); - elm_spinner_value_set(action->control, int_val1); + _spinner_value_set(action->control, int_val1); return editor_part_drag_count_x_default_is(EDIT_OBJ, PART_ARGS); case ATTRIBUTE_PART_DRAG_COUNT_Y:
[EGIT] [tools/eflete] eflete-1.18 89/91: tab_home: fix a segment fault
rimmed pushed a commit to branch eflete-1.18. http://git.enlightenment.org/tools/eflete.git/commit/?id=25926cab4bd13271d7a1fa7901729bd615743c18 commit 25926cab4bd13271d7a1fa7901729bd615743c18 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Wed Sep 21 17:07:29 2016 +0900 tab_home: fix a segment fault --- src/bin/ui/tab_home_import_edj.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/bin/ui/tab_home_import_edj.c b/src/bin/ui/tab_home_import_edj.c index f01ab8d..28c3369 100644 --- a/src/bin/ui/tab_home_import_edj.c +++ b/src/bin/ui/tab_home_import_edj.c @@ -708,16 +708,15 @@ _tab_import_edj_data_set(const char *name, const char *path, const char *edj, co if (!item) { item = elm_genlist_first_item_get(tab_edj.genlist); - do + while (item) { node = elm_object_item_data_get(item); if (!strcmp(node->name, "elm/")) break; item = elm_genlist_item_next_get(item); } - while (item); } -if (node->list) +if (node && node->list) { EINA_LIST_FOREACH(node->list, l1, sub) { --
[EGIT] [tools/eflete] eflete-1.18 79/91: export: fix to call the popup dismiss.
rimmed pushed a commit to branch eflete-1.18. http://git.enlightenment.org/tools/eflete.git/commit/?id=1576fed33adf7da6183e3ebdb4a4bc30e6076891 commit 1576fed33adf7da6183e3ebdb4a4bc30e6076891 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Mon Sep 19 17:04:14 2016 +0900 export: fix to call the popup dismiss. If the export is executed by command option, don't call the function that is related to popup. --- src/bin/ui/project_export.c | 9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/bin/ui/project_export.c b/src/bin/ui/project_export.c index 1e44af2..5c9e184 100644 --- a/src/bin/ui/project_export.c +++ b/src/bin/ui/project_export.c @@ -46,7 +46,8 @@ _after_export_dev_check(void *data) ap.splash = splash_add(ap.win, _export_develop_setup, _export_teardown, NULL, data); evas_object_focus_set(ap.splash, true); evas_object_show(ap.splash); - popup_fileselector_helper_dismiss(); + if (!ap.path.export_edj) + popup_fileselector_helper_dismiss(); } static Eina_Bool @@ -122,7 +123,8 @@ _after_export_release_check(void *data) NULL, data); evas_object_focus_set(ap.splash, true); evas_object_show(ap.splash); - popup_fileselector_helper_dismiss(); + if (!ap.path.export_edj) + popup_fileselector_helper_dismiss(); } static Eina_Bool @@ -202,7 +204,8 @@ _after_export_source_code_check(void *data) ap.splash = splash_add(ap.win, _export_source_code_setup, _export_teardown, NULL, data); evas_object_focus_set(ap.splash, true); evas_object_show(ap.splash); - popup_fileselector_helper_dismiss(); + if (!ap.path.export_edc.path) + popup_fileselector_helper_dismiss(); } static Eina_Bool --
[EGIT] [tools/eflete] eflete-1.18 08/91: export-edc: fix segment fault.
rimmed pushed a commit to branch eflete-1.18. http://git.enlightenment.org/tools/eflete.git/commit/?id=3c80179731293e2bd5df66c214a8c99a4b3575c6 commit 3c80179731293e2bd5df66c214a8c99a4b3575c6 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Thu Sep 1 18:09:22 2016 +0900 export-edc: fix segment fault. --- src/bin/main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/bin/main.c b/src/bin/main.c index c176219..093043e 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -349,7 +349,8 @@ elm_main(int argc, char **argv) run: ap.path.export_edj = export_edj; -_export_edc_path_set(export_edc); +if (export_edc) + _export_edc_path_set(export_edc); if (!ui_main_window_add()) { app_shutdown(); --
[EGIT] [tools/eflete] master 01/01: style manager: change the method to show the tags
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=066ce3a24f55525aaaf6a479c157a50fba5fde6c commit 066ce3a24f55525aaaf6a479c157a50fba5fde6c Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Thu Jan 12 17:53:24 2017 +0900 style manager: change the method to show the tags 1. remove the unless tags. 2. remove "DEFAULT" tag. and show it when style item is clicked. 3. Default tag is applied to all other tags. --- src/bin/ui/style_manager.c | 49 -- 1 file changed, 34 insertions(+), 15 deletions(-) diff --git a/src/bin/ui/style_manager.c b/src/bin/ui/style_manager.c index 332c685..5113106 100644 --- a/src/bin/ui/style_manager.c +++ b/src/bin/ui/style_manager.c @@ -117,17 +117,27 @@ _on_glit_selected(void *data __UNUSED__, glit = (Elm_Object_Item *)event_info; glit_parent = elm_genlist_item_parent_get(glit); - if (!glit_parent) return; + if (!glit_parent) + { +style_name = (char *)elm_object_item_data_get(glit); +tag = STYLE_DEFAULT; + } + else + { +style_name = elm_object_item_data_get(glit_parent); +tag = (char *)elm_object_item_data_get(glit); + } style = eina_strbuf_new(); eina_strbuf_append(style, STYLE_DEFAULT"='"STYLE_DEFAULT_VALUE); - style_name = elm_object_item_data_get(glit_parent); - tag = (char *)elm_object_item_data_get(glit); - if (!strcmp(tag, STYLE_DEFAULT)) - elm_object_disabled_set(mng.button_del, true); - value = edje_edit_style_tag_value_get(ap.project->global_object, style_name, tag); + value = edje_edit_style_tag_value_get(ap.project->global_object, style_name, STYLE_DEFAULT); eina_strbuf_append(style, value); + if (strcmp(tag, STYLE_DEFAULT)) + { +value = edje_edit_style_tag_value_get(ap.project->global_object, style_name, tag); +eina_strbuf_append(style, value); + } elm_object_signal_emit(mng.entry_prev, "entry,show", "eflete"); eina_strbuf_append(style, "'"); @@ -621,19 +631,28 @@ _expanded_cb(void *data __UNUSED__, { Elm_Object_Item *glit = (Elm_Object_Item *)event_info; const char *name = elm_object_item_data_get(glit); - Eina_List *tags, *l_tg; + Eina_List *l, *l_tg; Elm_Object_Item *glit_tag; - char *tag; + Style2 *style; + Style_Tag2 *tag; - tags = edje_edit_style_tags_list_get(ap.project->global_object, name); - EINA_LIST_FOREACH(tags, l_tg, tag) + EINA_LIST_FOREACH(ap.project->RM.styles, l, style) { -glit_tag = elm_genlist_item_append(mng.genlist, _itc_tags, - tag, glit, ELM_GENLIST_ITEM_NONE, - _on_glit_selected, NULL); -elm_object_item_data_set(glit_tag, tag); +if (!strcmp(style->common.name, name)) + { + EINA_LIST_FOREACH(style->tags, l_tg, tag) + { + if (strcmp(tag->common.name, STYLE_DEFAULT)) +{ + glit_tag = elm_genlist_item_append(mng.genlist, _itc_tags, + tag->common.name, glit, ELM_GENLIST_ITEM_NONE, + _on_glit_selected, NULL); + elm_object_item_data_set(glit_tag, (char *)tag->common.name); +} + } + return; + } } - eina_list_free(tags); } static void --
[EGIT] [tools/eflete] master 01/01: style manager: hide the preview after deleting tag item.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=b98d350371b6036bfb8f1649e3456c73df79da05 commit b98d350371b6036bfb8f1649e3456c73df79da05 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Tue Jan 10 13:19:01 2017 +0900 style manager: hide the preview after deleting tag item. --- src/bin/ui/style_manager.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bin/ui/style_manager.c b/src/bin/ui/style_manager.c index 4501d04..332c685 100644 --- a/src/bin/ui/style_manager.c +++ b/src/bin/ui/style_manager.c @@ -355,6 +355,7 @@ _btn_del_cb(void *data __UNUSED__, style_name = elm_object_item_data_get(glit_parent); tag = elm_object_item_data_get(glit); CRIT_ON_FAIL(editor_style_tag_del(edje_edit_obj, style_name, tag)); +elm_object_signal_emit(mng.entry_prev, "entry,hide", "eflete"); } elm_object_item_del(glit); --
[EGIT] [tools/eflete] master 02/02: resource_manager_react: fix the crash.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=d3b1801fd0797853df732b0056a4166b4d4c9ed1 commit d3b1801fd0797853df732b0056a4166b4d4c9ed1 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Mon Jan 9 17:48:23 2017 +0900 resource_manager_react: fix the crash. If style_tag is null, it occurs crash. But this is temporary solution. The style tag list is not matching with added genlist items. It should be fixed right way. --- src/bin/resource_manager/resource_manager_react.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/bin/resource_manager/resource_manager_react.c b/src/bin/resource_manager/resource_manager_react.c index f9c19da..f1d6f99 100644 --- a/src/bin/resource_manager/resource_manager_react.c +++ b/src/bin/resource_manager/resource_manager_react.c @@ -78,7 +78,8 @@ _property_resource_attribute_changed(void *data, change->style_name); style_tag = (Style_Tag2 *)resource_manager_find(style_res->tags, change->tag_name); - _resource_style_tag_free(style_tag); + if (style_tag) + _resource_style_tag_free(style_tag); break; default: break; --
[EGIT] [tools/eflete] master 01/02: resource manager: hide the preview after deleting item.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=fccc08adeacc84748c72ca72ff4661a71c9ae75e commit fccc08adeacc84748c72ca72ff4661a71c9ae75e Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Mon Jan 9 17:41:30 2017 +0900 resource manager: hide the preview after deleting item. --- src/bin/ui/colorclass_manager.c | 3 ++- src/bin/ui/style_manager.c | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/bin/ui/colorclass_manager.c b/src/bin/ui/colorclass_manager.c index 2cdf7d1..7328198 100644 --- a/src/bin/ui/colorclass_manager.c +++ b/src/bin/ui/colorclass_manager.c @@ -152,6 +152,7 @@ _colorclass_del_cb(void *data __UNUSED__, Elm_Object_Item *it = elm_genlist_selected_item_get(mng.genlist); Elm_Object_Item *next = elm_genlist_item_next_get(it); Colorclass_Item *ccl = elm_object_item_data_get(it); + if (!next) next = elm_genlist_item_prev_get(it); CRIT_ON_FAIL(editor_color_class_del(ap.project->global_object, ccl->name, true)); elm_object_item_del(it); @@ -184,13 +185,13 @@ _colorclass_del_cb(void *data __UNUSED__, } #endif - if (!next) next = elm_genlist_item_prev_get(it); if (next) elm_genlist_item_selected_set(next, EINA_TRUE); else { mng.current_ccl = NULL; elm_object_disabled_set(mng.del_button, EINA_TRUE); +elm_object_signal_emit(mng.preview_layout, "entry,hide", "eflete"); evas_object_smart_callback_call(ap.win, SIGNAL_COLOR_SELECTED, NULL); } } diff --git a/src/bin/ui/style_manager.c b/src/bin/ui/style_manager.c index d52d6d6..4501d04 100644 --- a/src/bin/ui/style_manager.c +++ b/src/bin/ui/style_manager.c @@ -348,6 +348,7 @@ _btn_del_cb(void *data __UNUSED__, style_name = elm_object_item_data_get(glit); CRIT_ON_FAIL(editor_style_del(edje_edit_obj, style_name, true)); evas_object_smart_callback_call(ap.win, SIGNAL_EDITOR_ATTRIBUTE_CHANGED, ); +elm_object_signal_emit(mng.entry_prev, "entry,hide", "eflete"); } else { --
[EGIT] [tools/eflete] master 01/02: fix build error.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=88630ef6806f273c8a05635b56c0e86f4c4713a8 commit 88630ef6806f273c8a05635b56c0e86f4c4713a8 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Tue Jan 3 15:07:23 2017 +0900 fix build error. --- src/bin/project_manager/project_manager2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/project_manager/project_manager2.c b/src/bin/project_manager/project_manager2.c index 78a468f..3eaacac 100644 --- a/src/bin/project_manager/project_manager2.c +++ b/src/bin/project_manager/project_manager2.c @@ -424,7 +424,7 @@ _project_lock(Project *project) dir = ecore_file_dir_get(project->pro_path); snprintf(path, sizeof(path), "%s/"LOCK_FILE, dir); free(dir); - project->fd_lock = open(path, O_RDWR | O_CREAT); + project->fd_lock = open(path, O_RDWR | O_CREAT, S_IROTH | S_IWOTH); if (!project->fd_lock) { ERR("%s: %s\n", path, strerror(errno)); --
[EGIT] [tools/eflete] master 02/02: groupview: set the edje object scale to own base scale.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=815cee6902c325ae9cc73cc1635b670863a1b0c7 commit 815cee6902c325ae9cc73cc1635b670863a1b0c7 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Tue Jan 3 15:09:04 2017 +0900 groupview: set the edje object scale to own base scale. If the scale is different with base scale, it changes the size of the highlight area. --- src/bin/ui/workspace/groupview.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bin/ui/workspace/groupview.c b/src/bin/ui/workspace/groupview.c index b01e181..2b917b9 100644 --- a/src/bin/ui/workspace/groupview.c +++ b/src/bin/ui/workspace/groupview.c @@ -276,6 +276,7 @@ groupview_add(Evas_Object *parent, Group2 *group) TODO("set the state for all parts to default 0.0") sd->group = group; evas_object_smart_member_add(sd->group->edit_object, obj); + edje_object_scale_set(sd->group->edit_object, edje_object_base_scale_get(sd->group->edit_object)); sd->box = elm_box_add(parent); elm_box_layout_set(sd->box, _parts_stack_layout, sd, NULL); --
[EGIT] [tools/eflete] master 02/02: reorder the calling expanded_set.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=5097b0c42f703ffed8f4780a35973ee5e3158d76 commit 5097b0c42f703ffed8f4780a35973ee5e3158d76 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Thu Dec 29 13:31:33 2016 +0900 reorder the calling expanded_set. Current genlist show or bring_in to the chilren items of last expanded item So sometimes the group content navigator bring_in to the last items. To fix this situation, reorder the calling expanded_set. As a result, the first expand item is called the last time. --- src/bin/ui/workspace/group_navigator.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/ui/workspace/group_navigator.c b/src/bin/ui/workspace/group_navigator.c index 5c800cc..818491d 100644 --- a/src/bin/ui/workspace/group_navigator.c +++ b/src/bin/ui/workspace/group_navigator.c @@ -2635,9 +2635,9 @@ group_navigator_add(Evas_Object *parent, Group2 *group) elm_object_disabled_set(pl->layout, true); else { -elm_genlist_item_expanded_set(pl->parts_caption_item, true); -elm_genlist_item_expanded_set(pl->programs_caption_item, true); elm_genlist_item_expanded_set(pl->data_caption_item, true); +elm_genlist_item_expanded_set(pl->programs_caption_item, true); +elm_genlist_item_expanded_set(pl->parts_caption_item, true); } evas_object_event_callback_add(pl->layout, EVAS_CALLBACK_DEL, _group_navigator_del, pl); --
[EGIT] [tools/eflete] master 01/02: fix build error.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=f769a7b08d449940bdf09994020ba2a33911af44 commit f769a7b08d449940bdf09994020ba2a33911af44 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Thu Dec 29 13:30:38 2016 +0900 fix build error. --- src/lib/ewe_ruler.eo | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/ewe_ruler.eo b/src/lib/ewe_ruler.eo index 2f5009d..5330afe 100644 --- a/src/lib/ewe_ruler.eo +++ b/src/lib/ewe_ruler.eo @@ -314,9 +314,9 @@ class Ewe.Ruler (Elm.Widget) implements { class.constructor; Efl.Object.constructor; - Efl.Gfx.size.set; - Efl.Gfx.position.set; - Efl.Gfx.visible.set; + Efl.Gfx.size { set; } + Efl.Gfx.position { set; } + Efl.Gfx.visible { set; } Efl.Canvas.Group.group_add; Efl.Canvas.Group.group_del; Efl.Canvas.Group.group_calculate; --
[EGIT] [tools/eflete] master 01/01: property_sound: fix the range of frequency.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=1df2213b7af199b56af6393db299063ee310c841 commit 1df2213b7af199b56af6393db299063ee310c841 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Tue Dec 27 13:01:52 2016 +0900 property_sound: fix the range of frequency. The range should be 20-2. @fix --- src/bin/ui/property/property_sound.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/ui/property/property_sound.c b/src/bin/ui/property/property_sound.c index b383ab1..160030e 100644 --- a/src/bin/ui/property/property_sound.c +++ b/src/bin/ui/property/property_sound.c @@ -93,7 +93,7 @@ _init_cb(Property_Attribute *pa, Property_Action *action) elm_spinner_label_format_set(action->control, "%.2f"); break; case PROPERTY_SOUND_ITEM_FREQ: - elm_spinner_min_max_set(action->control, 200, 2); + elm_spinner_min_max_set(action->control, 20, 2); elm_object_disabled_set(action->control, true); break; #ifdef HAVE_AUDIO --
[EGIT] [core/efl] master 01/02: edje_pick: add vector resources into the output file.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=65b7ab95bc5eb0da3a982dc44d2dbce2f092b097 commit 65b7ab95bc5eb0da3a982dc44d2dbce2f092b097 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Fri Dec 23 13:10:14 2016 +0900 edje_pick: add vector resources into the output file. --- src/bin/edje/edje_pick.c | 130 ++- 1 file changed, 129 insertions(+), 1 deletion(-) diff --git a/src/bin/edje/edje_pick.c b/src/bin/edje/edje_pick.c index b856115..c7d41f6 100644 --- a/src/bin/edje/edje_pick.c +++ b/src/bin/edje/edje_pick.c @@ -64,6 +64,7 @@ struct _Edje_Pick_File_Params Eina_List *luascriptlist; Eina_List *imagelist; Eina_List *imagesetlist; /* List of IDs (Edje_Pick_Data) for image sets */ + Eina_List *vectorlist; Eina_List *samplelist; Eina_List *tonelist; Eina_List *vibrationlist; @@ -238,6 +239,9 @@ _edje_pick_cleanup(Eina_List *ifs, Edje_File *out_file, Edje_Pick_Status s) _edje_pick_data_free(p->imagelist); p->imagelist = NULL; +_edje_pick_data_free(p->vectorlist); +p->vectorlist = NULL; + _edje_pick_data_free(p->imagesetlist); p->imagesetlist = NULL; @@ -861,7 +865,7 @@ _edje_pick_images_copy(Edje_File *edf, Edje_File *o) int old_id; Eina_Bool status = EDJE_PICK_NO_ERROR; Eina_List *l, *l1; - Edje_Pick_Data *image, *set; + Edje_Pick_Data *image, *set, *vector; if (edf->image_dir) { @@ -934,6 +938,38 @@ _edje_pick_images_copy(Edje_File *edf, Edje_File *o) } } } + +if (edf->image_dir->vectors) + { /* Copy vector dir entries of current file */ + Edje_Vector_Directory_Entry *vectors = NULL; + + EINA_LIST_FOREACH(context.current_file->vectorlist, l, vector) + { + if (vector->id.used) +{ + o->image_dir->vectors_count += 1; + + /* alloc mem first time or re-allocate again (bigger array) */ + vectors = realloc(o->image_dir->vectors, + o->image_dir->vectors_count * + sizeof(Edje_Vector_Directory_Entry)); + if (!vectors) + { +EINA_LOG_ERR("Out of memory in realloc()"); +return EDJE_PICK_IMAGE_NOT_FOUND; + } + o->image_dir->vectors = vectors; + + old_id = _edje_pick_image_old_id_get( + context.current_file->vectorlist, o->image_dir->vectors_count - 1); + /* Concatinate current file vectors to re-allocaed array */ + memcpy(>image_dir->vectors[o->image_dir->vectors_count - 1], + >image_dir->vectors[old_id], + sizeof(Edje_Vector_Directory_Entry)); + o->image_dir->vectors[o->image_dir->vectors_count - 1].id = vector->id.new_id; +} + } + } } return status; @@ -1267,6 +1303,68 @@ _edje_pick_image_set_add(int id, Edje_File *edf, Edje_File *o) return current_set_id; } +static int +_edje_pick_vector_entry_add(int id, Edje_File *edf, Edje_File *o) +{ + char buf[1024]; + int size; + void *data; + static int current_vg_id = -1; + + int new_id = _edje_pick_image_new_id_get(context.current_file->vectorlist, id); + if (new_id >= 0) return new_id; + + if (edf->image_dir) + { +if (!o->image_dir) /* First time only */ + o->image_dir = calloc(1, sizeof(*(o->image_dir))); + +if (edf->image_dir->vectors) + { /* Copy Vectors */ + Edje_Vector_Directory_Entry *vg = >image_dir->vectors[id]; + + snprintf(buf, sizeof(buf), "edje/vectors/%i", vg->id); + VERBOSE(EINA_LOG_INFO("Trying to read <%s>\n", vg->entry)); + data = eet_read(edf->ef, buf, ); + if (size) + { /* Advance vector ID and register this in vectorlist */ + current_vg_id++; + Edje_Pick_Data *vector = malloc(sizeof(*vector)); + + vector->filename = eina_stringshare_add(vg->entry); + vector->data = data; + vector->size = size; + vector->entry = (void *) vg; /* for output file vector dir */ + vector->id.old_id = vg->id; + vg->id = vector->id.new_id = current_vg_id; + vector->id.used = EINA_TRUE; + + VERBO
[EGIT] [core/efl] master 02/02: edje_data: add the missed vector data.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=05521763ed66bdbf563ce95bfe0944556c6aede9 commit 05521763ed66bdbf563ce95bfe0944556c6aede9 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Fri Dec 23 13:11:14 2016 +0900 edje_data: add the missed vector data. --- src/lib/edje/edje_data.c | 10 ++ 1 file changed, 10 insertions(+) diff --git a/src/lib/edje/edje_data.c b/src/lib/edje/edje_data.c index 0af3b13..df21571 100644 --- a/src/lib/edje/edje_data.c +++ b/src/lib/edje/edje_data.c @@ -17,6 +17,7 @@ Eet_Data_Descriptor *_edje_edd_edje_image_directory = NULL; Eet_Data_Descriptor *_edje_edd_edje_image_directory_entry = NULL; Eet_Data_Descriptor *_edje_edd_edje_image_directory_set = NULL; Eet_Data_Descriptor *_edje_edd_edje_image_directory_set_entry = NULL; +Eet_Data_Descriptor *_edje_edd_edje_vector_directory_entry = NULL; Eet_Data_Descriptor *_edje_edd_edje_model_directory = NULL; Eet_Data_Descriptor *_edje_edd_edje_model_directory_entry = NULL; Eet_Data_Descriptor *_edje_edd_edje_limit = NULL; @@ -670,6 +671,7 @@ _edje_edd_shutdown(void) FREED(_edje_edd_edje_image_directory_entry); FREED(_edje_edd_edje_image_directory_set); FREED(_edje_edd_edje_image_directory_set_entry); + FREED(_edje_edd_edje_vector_directory_entry); FREED(_edje_edd_edje_model_directory); FREED(_edje_edd_edje_model_directory_entry); FREED(_edje_edd_edje_limit); @@ -818,11 +820,19 @@ _edje_edd_init(void) EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_set, Edje_Image_Directory_Set, "id", id, EET_T_INT); EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_edje_image_directory_set, Edje_Image_Directory_Set, "entries", entries, _edje_edd_edje_image_directory_set_entry); + /* vector directory */ + EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(, Edje_Vector_Directory_Entry); + _edje_edd_edje_vector_directory_entry = + eet_data_descriptor_file_new(); + EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_vector_directory_entry, Edje_Vector_Directory_Entry, "entry", entry, EET_T_STRING); + EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_vector_directory_entry, Edje_Vector_Directory_Entry, "id", id, EET_T_INT); + EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(, Edje_Image_Directory); _edje_edd_edje_image_directory = eet_data_descriptor_file_new(); EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_image_directory, Edje_Image_Directory, "entries", entries, _edje_edd_edje_image_directory_entry); EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_image_directory, Edje_Image_Directory, "sets", sets, _edje_edd_edje_image_directory_set); + EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_image_directory, Edje_Image_Directory, "vectors", vectors, _edje_edd_edje_vector_directory_entry); /*MO*/ --
[EGIT] [tools/eflete] master 01/01: icon: add vector icon.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=e4f4aafa6ef5c04d77ee8d99a094088bfb11da83 commit e4f4aafa6ef5c04d77ee8d99a094088bfb11da83 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Thu Dec 22 14:31:07 2016 +0900 icon: add vector icon. --- .../images/Group contents navigator/group_vector_mv.png | Bin 0 -> 1007 bytes .../images/Group contents navigator/group_vector_nor.png | Bin 0 -> 995 bytes .../images/Group contents navigator/group_vector_sel.png | Bin 0 -> 993 bytes data/themes/tizen/widgets/image.edc | 4 4 files changed, 4 insertions(+) diff --git a/data/themes/tizen/images/Group contents navigator/group_vector_mv.png b/data/themes/tizen/images/Group contents navigator/group_vector_mv.png new file mode 100755 index 000..8153c32 Binary files /dev/null and b/data/themes/tizen/images/Group contents navigator/group_vector_mv.png differ diff --git a/data/themes/tizen/images/Group contents navigator/group_vector_nor.png b/data/themes/tizen/images/Group contents navigator/group_vector_nor.png new file mode 100755 index 000..99f7de8 Binary files /dev/null and b/data/themes/tizen/images/Group contents navigator/group_vector_nor.png differ diff --git a/data/themes/tizen/images/Group contents navigator/group_vector_sel.png b/data/themes/tizen/images/Group contents navigator/group_vector_sel.png new file mode 100755 index 000..3a1ec1b Binary files /dev/null and b/data/themes/tizen/images/Group contents navigator/group_vector_sel.png differ diff --git a/data/themes/tizen/widgets/image.edc b/data/themes/tizen/widgets/image.edc index 6b31a8b..3f1fc84 100644 --- a/data/themes/tizen/widgets/image.edc +++ b/data/themes/tizen/widgets/image.edc @@ -58,6 +58,10 @@ IM("icon", "box","Group contents navigator/group_box_nor.png", IM("icon", "box1", "Group contents navigator/group_box_sel.png", 16 16, 0 0 0 0,SCALE, SOLID) IM("icon", "box2", "Group contents navigator/group_box_mv.png", 16 16, 0 0 0 0,SCALE, SOLID) +IM("icon", "vector", "Group contents navigator/group_vector_nor.png", 16 16, 0 0 0 0,SCALE, SOLID) +IM("icon", "vector1", "Group contents navigator/group_vector_sel.png", 16 16, 0 0 0 0,SCALE, SOLID) +IM("icon", "vector2", "Group contents navigator/group_vector_mv.png", 16 16, 0 0 0 0,SCALE, SOLID) + IM("icon", "folder", "Group navigator/view_s_folder_nor.png", 16 16, 0 0 0 0,SCALE, SOLID) IM("icon", "folder1","Group navigator/view_s_folder_sel.png", 16 16, 0 0 0 0,SCALE, SOLID) IM("icon", "folder2","Group navigator/view_s_folder_mv.png", 16 16, 0 0 0 0,SCALE, SOLID) --
[EGIT] [core/efl] master 01/01: edje_pick: include the resources that is only used.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=5f95a15bc1c277df81e9f801ad3f27973b8af79e commit 5f95a15bc1c277df81e9f801ad3f27973b8af79e Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Thu Dec 22 10:16:32 2016 +0900 edje_pick: include the resources that is only used. When it pick any groups, it just includes the resources that is used in those groups. --- src/bin/edje/edje_pick.c | 100 ++- 1 file changed, 64 insertions(+), 36 deletions(-) diff --git a/src/bin/edje/edje_pick.c b/src/bin/edje/edje_pick.c index 79a361c..d02e5c7 100644 --- a/src/bin/edje/edje_pick.c +++ b/src/bin/edje/edje_pick.c @@ -1174,28 +1174,6 @@ _edje_pick_lua_scripts_add(Edje_File *edf, int id, int new_id) return EDJE_PICK_NO_ERROR; } -static void -_edje_pick_styles_update(Edje_File *o, Edje_File *edf) -{ - /* Styles in Edje_File */ - Eina_List *l; - Edje_Style *stl; - - EINA_LIST_FOREACH(edf->styles, l, stl) - o->styles = eina_list_append(o->styles, stl); -} - -static void -_edje_pick_color_class_update(Edje_File *o, Edje_File *edf) -{ - /* Color Class in Edje_File */ - Eina_List *l; - Edje_Color_Class *cc; - - EINA_LIST_FOREACH(edf->color_classes, l, cc) - o->color_classes = eina_list_append(o->color_classes, cc); -} - static int _edje_pick_image_entry_add(int id, Edje_File *edf, Edje_File *o) { @@ -1302,16 +1280,16 @@ _edje_pick_images_desc_update(Edje_Part_Description_Image *desc, Edje_File *edf, { unsigned int k; int new_id = (desc->image.set) ? - _edje_pick_image_set_add(desc->image.id, edf, o) : - _edje_pick_image_entry_add(desc->image.id, edf, o); + _edje_pick_image_set_add(desc->image.id, edf, o) : + _edje_pick_image_entry_add(desc->image.id, edf, o); desc->image.id = new_id; for (k = 0; k < desc->image.tweens_count; k++) { new_id = (desc->image.set) ? -_edje_pick_image_set_add(desc->image.tweens[k]->id, edf, o) : -_edje_pick_image_entry_add(desc->image.tweens[k]->id, edf, o); + _edje_pick_image_set_add(desc->image.tweens[k]->id, edf, o) : + _edje_pick_image_entry_add(desc->image.tweens[k]->id, edf, o); desc->image.tweens[k]->id = new_id; } @@ -1319,26 +1297,79 @@ _edje_pick_images_desc_update(Edje_Part_Description_Image *desc, Edje_File *edf, } static void -_edje_pick_images_process(Edje_Part_Collection *edc, Edje_File *edf, Edje_File *o) +_edje_pick_styles_desc_update(Edje_Part_Description_Text *desc, Edje_File *edf, Edje_File *o) { - /* Find what images are used, update IDs, mark as USED */ - unsigned int i; + Eina_List *l; + Edje_Style *stl; + const char *style; + + if (desc) + { +style = desc->text.style.str; + +if (style) + { + EINA_LIST_FOREACH(edf->styles, l, stl) + if ((stl->name) && (!strcmp(stl->name, style))) + o->styles = eina_list_append(o->styles, stl); + } + } +} + +static void +_edje_pick_color_class_desc_update(Edje_Part_Description_Common *desc, Edje_File *edf, Edje_File *o) +{ + Eina_List *l; + Edje_Color_Class *cc; + const char *color_class; + + if (desc) + { +color_class = desc->color_class; + +if (color_class) + { + EINA_LIST_FOREACH(edf->color_classes, l, cc) + if ((cc->name) && (!strcmp(cc->name, color_class))) + o->color_classes = eina_list_append(o->color_classes, cc); + } + } +} + +static void +_edje_pick_resources_process(Edje_Part_Collection *edc, Edje_File *edf, Edje_File *o) +{ + /* Find what imagees are used, update IDs, mark as USED */ + /* Find what styles and color classes are used */ + unsigned int i, k; for (i = 0; i < edc->parts_count; i++) { -/* Scan all parts, locate what images used */ +/* Scan all parts, locate what resources used */ Edje_Part *part = edc->parts[i]; +/* Update all color class in ALL descs of this part */ +_edje_pick_color_class_desc_update((Edje_Part_Description_Common *) part->default_desc, edf, o); + +for (k = 0; k < part->other.desc_count; k++) + _edje_pick_color_class_desc_update((Edje_Part_Description_Common *) part->other.desc[k], edf, o); + if (part->type == EDJE_PART_TYPE_IMAGE) { /* Update IDs of all images in ALL descs of this part */ - unsigned int k; - _edje_pick_images_desc_update((Edje_Part_Description_Image *) part->default_desc, edf, o); for (k = 0; k < part->other.desc_count; k++)
[EGIT] [tools/eflete] master 01/01: image manager: update gengrid when the image manager is shown.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=e16eb1be84d9cc58a798dfe1a335c41be02afaff commit e16eb1be84d9cc58a798dfe1a335c41be02afaff Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Mon Dec 19 10:22:44 2016 +0900 image manager: update gengrid when the image manager is shown. --- src/bin/ui/image_manager.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bin/ui/image_manager.c b/src/bin/ui/image_manager.c index 5099f5d..e824cd7 100644 --- a/src/bin/ui/image_manager.c +++ b/src/bin/ui/image_manager.c @@ -615,6 +615,8 @@ done: * first time or projectwas reopened */ if (!elm_gengrid_realized_items_get(mng.gengrid)) _image_manager_init(); + else + elm_gengrid_realized_items_update(mng.gengrid); elm_object_content_set(mng.win, mng.panes); evas_object_show(mng.win); --
[EGIT] [tools/eflete] master 01/01: modal window: add the done/cancel callback on modal window.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=3ea1b0a8dabb761b948eaa9868062addc8563abf commit 3ea1b0a8dabb761b948eaa9868062addc8563abf Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Wed Dec 14 16:26:41 2016 +0900 modal window: add the done/cancel callback on modal window. --- src/bin/ui/modal_window/modal_window.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/bin/ui/modal_window/modal_window.c b/src/bin/ui/modal_window/modal_window.c index 5871243..918 100644 --- a/src/bin/ui/modal_window/modal_window.c +++ b/src/bin/ui/modal_window/modal_window.c @@ -207,6 +207,9 @@ mw_add(void) BUTTON_ADD(mw, btn, _("Ok")) evas_object_smart_callback_add(btn, signals.elm.button.clicked, _mw_done, mw); elm_object_part_content_set(mw, "eflete.swallow.btn_ok", btn); + +evas_object_smart_callback_add(mw, signals.shortcut.popup.cancel, _mw_close, mw); +evas_object_smart_callback_add(mw, signals.shortcut.popup.done, _mw_done, mw); } shortcuts_object_push(mw); --
[EGIT] [tools/eflete] master 01/01: project_manager: add mutex lock feature in Window.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=0d7694e492b457f766243b545bde2bcdad2d3bb8 commit 0d7694e492b457f766243b545bde2bcdad2d3bb8 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Wed Dec 14 11:22:25 2016 +0900 project_manager: add mutex lock feature in Window. --- src/bin/project_manager/project_manager2.c | 32 -- 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/src/bin/project_manager/project_manager2.c b/src/bin/project_manager/project_manager2.c index 0c56ffd..fce3b2b 100644 --- a/src/bin/project_manager/project_manager2.c +++ b/src/bin/project_manager/project_manager2.c @@ -26,6 +26,8 @@ #include #else #include +#include +static HANDLE hMutex = NULL; #endif #define PROJECT_FILE_KEY "project" @@ -429,7 +431,17 @@ _project_lock(Project *project) return false; } -#ifndef _WIN32 +#ifdef _WIN32 + hMutex = CreateMutex(NULL, FALSE, PACKAGE_NAME); + + HANDLE handle = CreateFile(path, GENERIC_READ, NULL, NULL, CREATE_NEW, + FILE_FLAG_DELETE_ON_CLOSE, 0); + if (INVALID_HANDLE_VALUE == handle) + { +ERR("Failed to open file \"%s\"", path); +return false; + } +#else struct flock fl; fl.l_type = F_WRLCK; fl.l_whence = SEEK_SET; @@ -442,7 +454,6 @@ _project_lock(Project *project) close(project->fd_lock); return false; } -#endif /* _WIN32 */ snprintf(buf, sizeof(buf), "%d\n", pid); if (!write(project->fd_lock, buf, strlen(buf))) @@ -450,6 +461,7 @@ _project_lock(Project *project) close(project->fd_lock); return false; } +#endif /* _WIN32 */ return true; } @@ -462,12 +474,17 @@ _project_unlock(Project *project) assert(project != NULL); - dir = ecore_file_dir_get(project->pro_path); snprintf(path, sizeof(path), "%s/"LOCK_FILE, dir); free(dir); -#ifndef _WIN32 +#ifdef _WIN32 + if (hMutex) + { +CloseHandle(hMutex); +hMutex = NULL; + } +#else struct flock fl; fl.l_type = F_UNLCK; fl.l_whence = SEEK_SET; @@ -504,7 +521,6 @@ _project_trylock(const char *pro_path) if (!ecore_file_exists(path)) return true; - fd = open(path, O_RDWR); if (fd < 1) { @@ -512,7 +528,11 @@ _project_trylock(const char *pro_path) return false; } -#ifndef _WIN32 +#ifdef _WIN32 + hMutex = OpenMutex(MUTEX_ALL_ACCESS, 0, PACKAGE_NAME); + if (hMutex) + return false; +#else struct flock fl; fl.l_type = F_UNLCK; fl.l_whence = SEEK_SET; --
[EGIT] [tools/eflete] master 01/01: main: allow only one application launch in Tizen.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=c089fc0c4febd288a09a141d1b140321ebe61da6 commit c089fc0c4febd288a09a141d1b140321ebe61da6 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Sat Dec 10 14:45:46 2016 +0900 main: allow only one application launch in Tizen. --- src/bin/main.c | 25 + 1 file changed, 25 insertions(+) diff --git a/src/bin/main.c b/src/bin/main.c index 539a1fe..1a4ef3f 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -137,8 +137,12 @@ _import_edj(void *data __UNUSED__) } else { +#ifndef HAVE_TIZEN name = ecore_file_file_get(file); proj_name = eina_tmpstr_add_length(name, strlen(name) - 4); +#else +proj_name = eina_tmpstr_add("Component_Designer"); +#endif tabs_menu_import_edj_data_set(proj_name, pro_path, file, widgets); eina_tmpstr_del(proj_name); } @@ -234,6 +238,27 @@ elm_main(int argc, char **argv) #endif config_load(); + +#ifdef HAVE_TIZEN +Eina_Strbuf *buf; +const char *path, *name; + +if (pro_path) path = pro_path; +else path = profile_get()->general.projects_folder; +if (pro_name) name = pro_name; +else name = "Component_Designer"; + +buf = eina_strbuf_new(); +eina_strbuf_append_printf(buf, "%s/%s/%s.pro", + path, name, name); +if (!pm_lock_check(eina_strbuf_string_get(buf))) + { + eina_strbuf_free(buf); + goto exit; + } +eina_strbuf_free(buf); +#endif /* HAVE_TIZEN */ + if (!ui_main_window_add()) { app_shutdown(); --
[EGIT] [tools/eflete] master 01/02: string: fix the allocation error.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=4c7526dbc4f8de87ed86a003da7c9aa65d24a679 commit 4c7526dbc4f8de87ed86a003da7c9aa65d24a679 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Fri Dec 9 17:47:35 2016 +0900 string: fix the allocation error. --- src/bin/common/string_common.c | 12 +++- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/bin/common/string_common.c b/src/bin/common/string_common.c index 712a0c9..1c4cb51 100644 --- a/src/bin/common/string_common.c +++ b/src/bin/common/string_common.c @@ -103,19 +103,21 @@ string_backslash_insert(const char *str, char src) { assert(str != NULL); char *dst; - int i = 0; - int count = 1; + int i = 0, count = 1; - dst = mem_malloc((strlen(str) + count) * sizeof(char)); + for (i = 0; i < strlen(str); i++) + if (str[i] == src) + count++; + dst = mem_calloc(strlen(str) + count, sizeof(char)); + + i = 0; while (*str != '\0') { if (*str != src) dst[i] = *str; else { - count++; - dst = mem_malloc((strlen(str) + count) * sizeof(char)); dst[i++] = '\\'; dst[i] = src; } --
[EGIT] [tools/eflete] master 02/02: project_manager: don't add the backslash in Window environment.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=42381337f1529586d0e69fae9cc25918d74cd8ee commit 42381337f1529586d0e69fae9cc25918d74cd8ee Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Fri Dec 9 18:32:37 2016 +0900 project_manager: don't add the backslash in Window environment. --- src/bin/project_manager/project_manager2.c | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/bin/project_manager/project_manager2.c b/src/bin/project_manager/project_manager2.c index 90b1eef..c243670 100644 --- a/src/bin/project_manager/project_manager2.c +++ b/src/bin/project_manager/project_manager2.c @@ -820,7 +820,6 @@ _project_import_edj(Project_Process_Data *ppd) Evas_Object *obj = NULL; Eina_Strbuf *strbuf; char buf[PATH_MAX]; - char *str; unsigned int count; //Eina_Stringshare *msg = eina_stringshare_printf(_("Start import '%s' file as new project"), ptd->edj); @@ -892,11 +891,14 @@ _project_import_edj(Project_Process_Data *ppd) eina_stringshare_del(ppd->edj); ppd->edj = eina_stringshare_ref(edj_out); ppd->source_edj = eina_stringshare_ref(edj_in); - -str = string_backslash_insert(eina_strbuf_string_get(strbuf), '&'); +#ifndef _WIN32 +char *str = string_backslash_insert(eina_strbuf_string_get(strbuf), '&'); ecore_exe_pipe_run(str, FLAGS, NULL); -eina_strbuf_free(strbuf); free(str); +#else +ecore_exe_pipe_run(eina_strbuf_string_get(strbuf), FLAGS, NULL); +eina_strbuf_free(strbuf); +#endif /* _WIN32 */ ppd->data_handler = ecore_event_handler_add(ECORE_EXE_EVENT_DATA, _exe_output_handler, ppd); ppd->del_handler = ecore_event_handler_add(ECORE_EXE_EVENT_DEL, _edje_pick_finish_handler, ppd); --
[EGIT] [tools/eflete] master 01/01: string: allocate the string memory dynamically.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=aee2f39e4493721a9e2eff59012c021a26158c72 commit aee2f39e4493721a9e2eff59012c021a26158c72 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Thu Dec 8 17:44:18 2016 +0900 string: allocate the string memory dynamically. --- src/bin/common/string_common.c | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/bin/common/string_common.c b/src/bin/common/string_common.c index a11e825..712a0c9 100644 --- a/src/bin/common/string_common.c +++ b/src/bin/common/string_common.c @@ -102,8 +102,11 @@ char * string_backslash_insert(const char *str, char src) { assert(str != NULL); - char dst[256]; + char *dst; int i = 0; + int count = 1; + + dst = mem_malloc((strlen(str) + count) * sizeof(char)); while (*str != '\0') { @@ -111,6 +114,8 @@ string_backslash_insert(const char *str, char src) dst[i] = *str; else { + count++; + dst = mem_malloc((strlen(str) + count) * sizeof(char)); dst[i++] = '\\'; dst[i] = src; } @@ -119,7 +124,7 @@ string_backslash_insert(const char *str, char src) } dst[i] = '\0'; - return strdup(dst); + return dst; } /** --
[EGIT] [tools/eflete] master 03/03: project_manager: add backslash in the edje_pick command line.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=f2c943d6344565ac73d64c4de471902c80109cd2 commit f2c943d6344565ac73d64c4de471902c80109cd2 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Thu Dec 8 14:39:01 2016 +0900 project_manager: add backslash in the edje_pick command line. Some group has a '&' in the style name like "on". --- src/bin/common/string_common.c | 24 src/bin/common/string_common.h | 3 +++ src/bin/project_manager/project_manager2.c | 5 - 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/src/bin/common/string_common.c b/src/bin/common/string_common.c index 5fd8cf4..a11e825 100644 --- a/src/bin/common/string_common.c +++ b/src/bin/common/string_common.c @@ -98,6 +98,30 @@ string_rstr(const char *str1, const char *str2) return NULL; } +char * +string_backslash_insert(const char *str, char src) +{ + assert(str != NULL); + char dst[256]; + int i = 0; + + while (*str != '\0') + { +if (*str != src) + dst[i] = *str; +else + { + dst[i++] = '\\'; + dst[i] = src; + } +str++; +i++; + } + dst[i] = '\0'; + + return strdup(dst); +} + /** * ref http://docs.enlightenment.org/auto/edje/group__Edje__Object__Part.html */ diff --git a/src/bin/common/string_common.h b/src/bin/common/string_common.h index 1cf6751..d4cb837 100644 --- a/src/bin/common/string_common.h +++ b/src/bin/common/string_common.h @@ -66,6 +66,9 @@ string_cat(const char *str1, const char *str2); const char * string_rstr(const char *str1, const char *str2); +char * +string_backslash_insert(const char *str, char src); + const char * part_type_text_get(Edje_Part_Type part_type); diff --git a/src/bin/project_manager/project_manager2.c b/src/bin/project_manager/project_manager2.c index d13d8b2..90b1eef 100644 --- a/src/bin/project_manager/project_manager2.c +++ b/src/bin/project_manager/project_manager2.c @@ -820,6 +820,7 @@ _project_import_edj(Project_Process_Data *ppd) Evas_Object *obj = NULL; Eina_Strbuf *strbuf; char buf[PATH_MAX]; + char *str; unsigned int count; //Eina_Stringshare *msg = eina_stringshare_printf(_("Start import '%s' file as new project"), ptd->edj); @@ -892,8 +893,10 @@ _project_import_edj(Project_Process_Data *ppd) ppd->edj = eina_stringshare_ref(edj_out); ppd->source_edj = eina_stringshare_ref(edj_in); -ecore_exe_pipe_run(eina_strbuf_string_get(strbuf), FLAGS, NULL); +str = string_backslash_insert(eina_strbuf_string_get(strbuf), '&'); +ecore_exe_pipe_run(str, FLAGS, NULL); eina_strbuf_free(strbuf); +free(str); ppd->data_handler = ecore_event_handler_add(ECORE_EXE_EVENT_DATA, _exe_output_handler, ppd); ppd->del_handler = ecore_event_handler_add(ECORE_EXE_EVENT_DEL, _edje_pick_finish_handler, ppd); --
[EGIT] [tools/eflete] master 02/03: layout: remove the release note in about.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=0ef8e77d826d777b6f3d7b570be5162038de9ba4 commit 0ef8e77d826d777b6f3d7b570be5162038de9ba4 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Thu Dec 8 14:33:55 2016 +0900 layout: remove the release note in about. --- data/themes/tizen/widgets/layout.edc | 47 1 file changed, 47 deletions(-) diff --git a/data/themes/tizen/widgets/layout.edc b/data/themes/tizen/widgets/layout.edc index c6858f6..437aae8 100644 --- a/data/themes/tizen/widgets/layout.edc +++ b/data/themes/tizen/widgets/layout.edc @@ -2239,53 +2239,6 @@ group { name: "elm/layout/about/default"; } } } - part { name: "note.label"; - type: TEXT; - description { state: "default" 0.0; -align: 0.0 0.0; -min: 104 13; -max: 104 13; -color_class: "genlist_text_tree"; -text { - text: "Release Note"; - font: FN_B; - size: 10; - align: 0.0 0.5; -} -rel1 { - relative: 0.0 1.0; - offset: 28 14; - to_x: "bg"; - to_y: "site.label"; -} -rel2.to: "bg"; - } - } - part { name: "note.text"; - type: TEXT; - description { state: "default" 0.0; -fixed: 1 0; -min: 0 13; -max: -1 13; -color_class: "popup_helper_border"; -text { - text: "http://xx.xx.xx;; - font: FN; - size: 10; - align: 0.0 0.5; -} -rel1 { - relative: 1.0 0.0; - offset: 47 0; - to: "note.label"; -} -rel2 { - offset: -54 0; - to_x: "bg"; - to_y: "note.label"; -} - } - } } } --
[EGIT] [tools/eflete] master 01/03: project_navigator: fix typing-error
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=7dcbe9c01b713d4ad2a2db6257677e6549e5d2d0 commit 7dcbe9c01b713d4ad2a2db6257677e6549e5d2d0 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Thu Dec 8 14:32:57 2016 +0900 project_navigator: fix typing-error --- src/bin/ui/project_navigator.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/ui/project_navigator.c b/src/bin/ui/project_navigator.c index fcfb8a1..b6af159 100644 --- a/src/bin/ui/project_navigator.c +++ b/src/bin/ui/project_navigator.c @@ -698,7 +698,7 @@ _btn_del_group_cb(void *data __UNUSED__, if (!_folder_check(prefix, true)) { popup_add(_("Warning: Delete layout"), - _("Cann't delete one of those opened layouts. Please, " + _("Can't delete one of those opened layouts. Please, " "close the layout tab before delete it."), BTN_CANCEL, NULL, NULL); return; @@ -720,7 +720,7 @@ _btn_del_group_cb(void *data __UNUSED__, if (group->edit_object) { popup_add(_("Warning: Delete layout"), - _("Cann't delete the opened layout. Please, " + _("Can't delete the opened layout. Please, " "close the layout tab before delete it."), BTN_CANCEL, NULL, NULL); return; --
[EGIT] [tools/eflete] master 01/01: inwin, popup: change the red warning to dim background in Tizen.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=448109b67c327f5f85b3aaa3d97fc0323e1c5c52 commit 448109b67c327f5f85b3aaa3d97fc0323e1c5c52 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Mon Dec 5 17:23:45 2016 +0900 inwin, popup: change the red warning to dim background in Tizen. --- data/themes/tizen/widgets/inwin.edc | 18 +- data/themes/tizen/widgets/popup.edc | 19 +-- 2 files changed, 2 insertions(+), 35 deletions(-) diff --git a/data/themes/tizen/widgets/inwin.edc b/data/themes/tizen/widgets/inwin.edc index 7b62625..8825fb3 100644 --- a/data/themes/tizen/widgets/inwin.edc +++ b/data/themes/tizen/widgets/inwin.edc @@ -324,11 +324,7 @@ group { name: "elm/win/inwin/splash"; part { name: "block_events"; type: RECT; description { state: "default" 0.0; -color: 255 0 0 0; - } - description { state: "clicked" 0.0; -inherit: "default" 0.00; -color: 255 0 0 50; +color: 0 0 0 50; } } part { name: "area.info"; @@ -490,7 +486,6 @@ group { name: "elm/win/inwin/splash"; signal: "mouse,clicked,*"; source: "block_events"; action: SIGNAL_EMIT "elm,action,click" "elm"; - after: "deeper_block_color"; } program { name: "teardown"; signal: "end"; @@ -507,17 +502,6 @@ group { name: "elm/win/inwin/splash"; program { name: "emit_teardown"; action: SIGNAL_EMIT "teardown" "eflete"; } - program { name: "deeper_block_color"; - action: STATE_SET "clicked" 0.00; - transition: LINEAR 0.2; - target: "block_events"; - after: "default_block_color"; - } - program { name: "default_block_color"; - action: STATE_SET "default" 0.00; - transition: LINEAR 0.2; - target: "block_events"; - } program { name: "load_anim"; signal: "load"; action: STATE_SET "default" 0.00; diff --git a/data/themes/tizen/widgets/popup.edc b/data/themes/tizen/widgets/popup.edc index 6d726f5..29c1522 100644 --- a/data/themes/tizen/widgets/popup.edc +++ b/data/themes/tizen/widgets/popup.edc @@ -9,10 +9,7 @@ group { name: "elm/notify/block_events/popup/default"; part { name: "block_events"; type: RECT; description { state: "default" 0.0; -color: 0 0 0 0; - } - description { state: "clicked" 0.0; -color: 255 0 0 50; +color: 0 0 0 50; } } } @@ -21,20 +18,6 @@ group { name: "elm/notify/block_events/popup/default"; signal: "mouse,clicked,*"; source: "block_events"; action: SIGNAL_EMIT "elm,action,click" "elm"; - after: "deeper_block_color"; - } - program { - name: "deeper_block_color"; - action: STATE_SET "clicked" 0.0; - target: "block_events"; - transition: LINEAR 0.2; - after: "default_block_color"; - } - program { - name: "default_block_color"; - action: STATE_SET "default" 0.0; - target: "block_events"; - transition: LINEAR 0.2; } } } --
[EGIT] [tools/eflete] master 01/01: inwin: change the red warning to dim background in Tizen.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=c1dbd09ae954aeb649a5628b396f1ab8ae276ae5 commit c1dbd09ae954aeb649a5628b396f1ab8ae276ae5 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Mon Dec 5 14:50:15 2016 +0900 inwin: change the red warning to dim background in Tizen. --- data/themes/tizen/widgets/inwin.edc | 17 + 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/data/themes/tizen/widgets/inwin.edc b/data/themes/tizen/widgets/inwin.edc index 4e94c20..7b62625 100644 --- a/data/themes/tizen/widgets/inwin.edc +++ b/data/themes/tizen/widgets/inwin.edc @@ -4,11 +4,7 @@ group { name: "elm/win/inwin/modal_window"; part { name: "block_events"; type: RECT; description { state: "default" 0.0; -color: 0 0 0 0; - } - description { state: "clicked" 0.0; -inherit: "default" 0.00; -color: 255 0 0 50; +color: 0 0 0 50; } } part { name: "shadow"; @@ -232,17 +228,6 @@ group { name: "elm/win/inwin/modal_window"; signal: "mouse,clicked,*"; source: "block_events"; action: SIGNAL_EMIT "elm,action,click" "elm"; - after: "deeper_block_color"; - } - program { name: "deeper_block_color"; - action: STATE_SET "clicked" 0.00; - target: "block_events"; - after: "default_block_color"; - } - program { name: "default_block_color"; - action: STATE_SET "default" 0.00; - transition: LINEAR 0.2; - target: "block_events"; } } } --
[EGIT] [tools/eflete] master 02/02: shortcut: assign the keyname by using strdup.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=ecd7385ab3c7b19eb5d542763364f5e1cd7e4a59 commit ecd7385ab3c7b19eb5d542763364f5e1cd7e4a59 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Mon Dec 5 10:42:05 2016 +0900 shortcut: assign the keyname by using strdup. By this bug, the changed key doesn't work. @fix --- src/bin/ui/shortcuts/shortcuts.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/ui/shortcuts/shortcuts.c b/src/bin/ui/shortcuts/shortcuts.c index 9b1b11c..6e2ff00 100644 --- a/src/bin/ui/shortcuts/shortcuts.c +++ b/src/bin/ui/shortcuts/shortcuts.c @@ -669,7 +669,7 @@ shortcuts_shortcut_new_set(Shortcut_Type type, Evas_Event_Key_Up *ev) { shortcut->modifiers = sc.modifiers; shortcut->keycode = sc.keycode; -shortcut->keyname = sc.keyname; +shortcut->keyname = strdup(sc.keyname); shortcut->combination = _combination_string_get(shortcut); ap.shortcuts->shortcuts = eina_list_sorted_insert(ap.shortcuts->shortcuts, (Eina_Compare_Cb) _shortcut_cmp, shortcut); --
[EGIT] [tools/eflete] master 01/02: shortcut: save the shortcut after change the key.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=5b4f1d25da013024f510d2cfbf6b8c322420eb04 commit 5b4f1d25da013024f510d2cfbf6b8c322420eb04 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Mon Dec 5 10:40:18 2016 +0900 shortcut: save the shortcut after change the key. By this bug, the changed shortcut become empty after re-executing. @fix --- src/bin/ui/shortcuts/shortcuts.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bin/ui/shortcuts/shortcuts.c b/src/bin/ui/shortcuts/shortcuts.c index 1e227a0..9b1b11c 100644 --- a/src/bin/ui/shortcuts/shortcuts.c +++ b/src/bin/ui/shortcuts/shortcuts.c @@ -673,6 +673,7 @@ shortcuts_shortcut_new_set(Shortcut_Type type, Evas_Event_Key_Up *ev) shortcut->combination = _combination_string_get(shortcut); ap.shortcuts->shortcuts = eina_list_sorted_insert(ap.shortcuts->shortcuts, (Eina_Compare_Cb) _shortcut_cmp, shortcut); +((Profile *)profile_get())->shortcuts = ap.shortcuts->shortcuts; } else return false; --
[EGIT] [tools/eflete] master 03/03: menu: disable state and item as a status.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=47859cc46e89dfef3879b7363cafc965f7af81dc commit 47859cc46e89dfef3879b7363cafc965f7af81dc Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Sat Dec 3 13:13:27 2016 +0900 menu: disable state and item as a status. --- src/bin/ui/tabs.c | 6 +- src/bin/ui/workspace/group_navigator.c | 10 +- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/bin/ui/tabs.c b/src/bin/ui/tabs.c index 5695f28..2c53632 100644 --- a/src/bin/ui/tabs.c +++ b/src/bin/ui/tabs.c @@ -112,7 +112,11 @@ _content_set(void *data, tabs.current_workspace = item->content; tabs.current_group = item->group; if (ap.project) - ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_STYLE_ONLY, false); + { + ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_STYLE_ONLY, false); + ui_menu_disable_set(ap.menu, MENU_EDIT_STATE_ADD, true); + ui_menu_disable_set(ap.menu, MENU_EDIT_ITEM_ADD, true); + } if (item->need_recalc) { workspace_groupview_hard_update(tabs.current_workspace); diff --git a/src/bin/ui/workspace/group_navigator.c b/src/bin/ui/workspace/group_navigator.c index b6e229f..5c800cc 100644 --- a/src/bin/ui/workspace/group_navigator.c +++ b/src/bin/ui/workspace/group_navigator.c @@ -674,7 +674,9 @@ _unselect_internal(Part_List *pl) pl->group->current_selected = NULL; elm_object_item_disabled_set(pl->add_state_menu_item, true); + ui_menu_disable_set(ap.menu, MENU_EDIT_STATE_ADD, true); elm_object_item_disabled_set(pl->add_part_item_menu_item, true); + ui_menu_disable_set(ap.menu, MENU_EDIT_ITEM_ADD, true); elm_object_disabled_set(pl->btn_del, true); elm_object_disabled_set(pl->btn_down, true); @@ -691,10 +693,14 @@ _enable_buttons(Part_List *pl, Elm_Object_Item *glit) if (pl->part) { elm_object_item_disabled_set(pl->add_state_menu_item, false); +ui_menu_disable_set(ap.menu, MENU_EDIT_STATE_ADD, false); if ((pl->part->type == EDJE_PART_TYPE_BOX) || (pl->part->type == EDJE_PART_TYPE_TABLE)) - elm_object_item_disabled_set(pl->add_part_item_menu_item, false); + { + elm_object_item_disabled_set(pl->add_part_item_menu_item, false); + ui_menu_disable_set(ap.menu, MENU_EDIT_ITEM_ADD, false); + } } if (pl->group->current_selected) { @@ -2602,9 +2608,11 @@ group_navigator_add(Evas_Object *parent, Group2 *group) pl->add_state_menu_item = elm_menu_item_add(pl->menu, NULL, NULL, _("State"), _on_menu_add_state_clicked, NULL); elm_object_part_text_set(elm_menu_item_object_get(pl->add_state_menu_item), "elm.shortcut", "w"); elm_object_item_disabled_set(pl->add_state_menu_item, true); + ui_menu_disable_set(ap.menu, MENU_EDIT_STATE_ADD, true); pl->add_part_item_menu_item = elm_menu_item_add(pl->menu, NULL, NULL, _("Item"), _on_menu_add_item_clicked, NULL); elm_object_part_text_set(elm_menu_item_object_get(pl->add_part_item_menu_item), "elm.shortcut", "e"); elm_object_item_disabled_set(pl->add_part_item_menu_item, true); + ui_menu_disable_set(ap.menu, MENU_EDIT_ITEM_ADD, true); #if !HAVE_TIZEN elm_menu_item_separator_add(pl->menu, NULL); #endif --
[EGIT] [tools/eflete] master 02/03: shortcut: add shortcut about resource manager.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=e6d8f0f2c8cd9cea8d44520563d68b45637e79ef commit e6d8f0f2c8cd9cea8d44520563d68b45637e79ef Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Sat Dec 3 11:35:54 2016 +0900 shortcut: add shortcut about resource manager. --- src/bin/ui/menu.c | 12 ++-- src/bin/ui/tabs.c | 36 2 files changed, 42 insertions(+), 6 deletions(-) diff --git a/src/bin/ui/menu.c b/src/bin/ui/menu.c index 0021e29..52ba9fb 100644 --- a/src/bin/ui/menu.c +++ b/src/bin/ui/menu.c @@ -183,16 +183,16 @@ _menu_cb(void *data __UNUSED__, tabs_home_tab_add(TAB_HOME_OPEN_PROJECT); break; case MENU_WINDOW_MANAGER_IMAGE: - image_manager_add(); + shortcuts_shortcut_send(SHORTCUT_TYPE_TAB_IMAGE_MANAGER); break; case MENU_WINDOW_MANAGER_SOUND: - sound_manager_add(); - break; - case MENU_WINDOW_MANAGER_COLORCLASS: - colorclass_manager_add(); + shortcuts_shortcut_send(SHORTCUT_TYPE_TAB_SOUND_MANAGER); break; case MENU_WINDOW_MANAGER_TEXT_STYLE: - style_manager_add(); + shortcuts_shortcut_send(SHORTCUT_TYPE_TAB_STYLE_MANAGER); + break; + case MENU_WINDOW_MANAGER_COLORCLASS: + shortcuts_shortcut_send(SHORTCUT_TYPE_TAB_COLOR_CLASS_MANAGER); break; case MENU_HELP_ABOUT: about_window_add(); diff --git a/src/bin/ui/tabs.c b/src/bin/ui/tabs.c index 1d3c804..5695f28 100644 --- a/src/bin/ui/tabs.c +++ b/src/bin/ui/tabs.c @@ -831,6 +831,38 @@ _shortcut_tab_close_cb(void *data __UNUSED__, } static void +_shortcut_image_manager_cb(void *data __UNUSED__, + Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) +{ + image_manager_add(); +} + +static void +_shortcut_sound_manager_cb(void *data __UNUSED__, + Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) +{ + sound_manager_add(); +} + +static void +_shortcut_style_manager_cb(void *data __UNUSED__, + Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) +{ + style_manager_add(); +} + +static void +_shortcut_color_class_manager_cb(void *data __UNUSED__, +Evas_Object *obj __UNUSED__, +void *event_info __UNUSED__) +{ + colorclass_manager_add(); +} + +static void _shortcut_mode_normal_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) @@ -1051,6 +1083,10 @@ tabs_add(void) evas_object_smart_callback_add(ap.win, signals.shortcut.tab.prev, _shortcut_tab_prev_cb, NULL); evas_object_smart_callback_add(ap.win, signals.shortcut.tab.num, _shortcut_tab_num_cb, NULL); evas_object_smart_callback_add(ap.win, signals.shortcut.tab.close, _shortcut_tab_close_cb, NULL); + evas_object_smart_callback_add(ap.win, signals.shortcut.manager.image, _shortcut_image_manager_cb, NULL); + evas_object_smart_callback_add(ap.win, signals.shortcut.manager.sound, _shortcut_sound_manager_cb, NULL); + evas_object_smart_callback_add(ap.win, signals.shortcut.manager.style, _shortcut_style_manager_cb, NULL); + evas_object_smart_callback_add(ap.win, signals.shortcut.manager.color_class, _shortcut_color_class_manager_cb, NULL); evas_object_smart_callback_add(ap.win, signals.shortcut.workspace.mode.normal, _shortcut_mode_normal_cb, NULL); #if !HAVE_TIZEN evas_object_smart_callback_add(ap.win, signals.shortcut.workspace.mode.code, _shortcut_mode_code_cb, NULL); --
[EGIT] [tools/eflete] master 01/03: project_navigator: add the option to open the first group automatically.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=220c58eb8f650cada6dc45f10f152265add2c411 commit 220c58eb8f650cada6dc45f10f152265add2c411 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Sat Dec 3 10:52:54 2016 +0900 project_navigator: add the option to open the first group automatically. The user want to the widget more quickly. So they can use --open-group option to open the first group automatically. If the user open only one group, this option is more useful. --- src/bin/eflete.h | 1 + src/bin/main.c | 5 - src/bin/ui/project_navigator.c | 16 ++-- src/bin/ui/tabs.c | 2 +- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/bin/eflete.h b/src/bin/eflete.h index 768eb33..f39bbce 100644 --- a/src/bin/eflete.h +++ b/src/bin/eflete.h @@ -145,6 +145,7 @@ struct _App_Data This is needed to continue closing application after clicking in save/don't save buttons in project close popup */ + Eina_Bool open_group : 1; #ifdef HAVE_ENVENTOR Evas_Object *enventor; Eina_Bool enventor_mode : 1; diff --git a/src/bin/main.c b/src/bin/main.c index b100aaa..539a1fe 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -71,6 +71,7 @@ static const Ecore_Getopt options = { ECORE_GETOPT_APPEND_METAVAR('d', "dd", "Add data directory for edc compilation", "DIR_NAME", ECORE_GETOPT_TYPE_STR), ECORE_GETOPT_APPEND_METAVAR('w', "widget", "Add widget to new project or import edj-file. Add its styles if the style names are added. Copy its styles if the copy style names are added. **rule = WIDGET:STYLE[COPY_STYLE,..]{ITEM_STYLE,..[COPY_ITEM_STYLE,..]},..", "(Follow the below rule)", ECORE_GETOPT_TYPE_STR), ECORE_GETOPT_STORE_TRUE('r', "reopen", "reopen last project"), + ECORE_GETOPT_STORE_TRUE('o', "open-group", "open the first group automatically"), ECORE_GETOPT_VERSION ('v', "version"), ECORE_GETOPT_COPYRIGHT('c', "copyright"), ECORE_GETOPT_LICENSE ('l', "license"), @@ -185,7 +186,7 @@ _new_project(void *data __UNUSED__) EAPI_MAIN int elm_main(int argc, char **argv) { - Eina_Bool info_only = false, reopen = false; + Eina_Bool info_only = false, reopen = false, open_group = false; Config *config; Recent *r; int pos; @@ -201,6 +202,7 @@ elm_main(int argc, char **argv) ECORE_GETOPT_VALUE_LIST(data_dirs), ECORE_GETOPT_VALUE_LIST(widgets), ECORE_GETOPT_VALUE_BOOL(reopen), + ECORE_GETOPT_VALUE_BOOL(open_group), ECORE_GETOPT_VALUE_BOOL(info_only), ECORE_GETOPT_VALUE_BOOL(info_only), ECORE_GETOPT_VALUE_BOOL(info_only), @@ -359,6 +361,7 @@ run: ecore_file_mkpath(export_edc); ap.path.export_edc = eina_stringshare_add(export_edc); } +ap.open_group = open_group; evas_object_show(ap.win); elm_run(); exit: diff --git a/src/bin/ui/project_navigator.c b/src/bin/ui/project_navigator.c index dc89760..fcfb8a1 100644 --- a/src/bin/ui/project_navigator.c +++ b/src/bin/ui/project_navigator.c @@ -57,6 +57,7 @@ typedef struct static Project_Navigator project_navigator; static Layout_Popup layout_p; static Resource_Name_Validator *validator = NULL; +static Eina_Bool first_group_open = EINA_FALSE; static char * _group_item_label_get(void *data, @@ -196,6 +197,7 @@ _expanded_cb(void *data __UNUSED__, Eina_List *folders = NULL, *groups = NULL; Elm_Object_Item *glit = event_info; Eina_Stringshare *prefix = elm_object_item_data_get(glit); + Elm_Object_Item *it; if (glit == project_navigator.item_top) widget_tree_items_get(ap.project->RM.groups, "", , ); @@ -204,23 +206,33 @@ _expanded_cb(void *data __UNUSED__, EINA_LIST_FREE(folders, prefix) { -elm_genlist_item_append(project_navigator.genlist, +it = elm_genlist_item_append(project_navigator.genlist, project_navigator.itc_folder, prefix, glit, ELM_GENLIST_ITEM_TREE, NULL, NULL); +if (ap.open_group && !first_group_open) + elm_genlist_item_expanded_set(it, true); } EINA_LIST_FREE(groups, group) { -elm_genlist_item_append(project_navigator.genlist, +it = elm_genlist_item_append(project_navigator.genlist, project_navigator.itc_group, group, glit,
[EGIT] [core/efl] master 01/01: edje_calc: round the scaled value when it is casted to int type.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7cce8ae40d7b9d607448135f0384605395537c32 commit 7cce8ae40d7b9d607448135f0384605395537c32 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Tue Nov 29 14:03:20 2016 +0900 edje_calc: round the scaled value when it is casted to int type. It rounds the value for the more precious calculation when the scaled value is casted to int type. --- src/lib/edje/edje_calc.c| 16 src/lib/edje/edje_private.h | 2 ++ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c index 1d97be9..251dad5 100644 --- a/src/lib/edje/edje_calc.c +++ b/src/lib/edje/edje_calc.c @@ -2266,7 +2266,7 @@ _edje_part_recalc_single_min_max(FLOAT_T sc, } *minw = mnw; - if (ep->part->scale) *minw = TO_INT(SCALE(sc, *minw)); + if (ep->part->scale) *minw = TO_INT_ROUND(SCALE(sc, *minw)); if ((ep->type == EDJE_RP_TYPE_SWALLOW) && (ep->typedata.swallow)) { @@ -2293,7 +2293,7 @@ _edje_part_recalc_single_min_max(FLOAT_T sc, *maxw = mxw; if (*maxw > 0) { - if (ep->part->scale) *maxw = TO_INT(SCALE(sc, *maxw)); + if (ep->part->scale) *maxw = TO_INT_ROUND(SCALE(sc, *maxw)); if (*maxw < 1) *maxw = 1; } } @@ -2306,7 +2306,7 @@ _edje_part_recalc_single_min_max(FLOAT_T sc, *maxw = mxw; if (*maxw > 0) { - if (ep->part->scale) *maxw = TO_INT(SCALE(sc, *maxw)); + if (ep->part->scale) *maxw = TO_INT_ROUND(SCALE(sc, *maxw)); if (*maxw < 1) *maxw = 1; } if (ep->typedata.swallow->swallow_params.max.w < *maxw) @@ -2319,7 +2319,7 @@ _edje_part_recalc_single_min_max(FLOAT_T sc, *maxw = mxw; if (*maxw > 0) { - if (ep->part->scale) *maxw = TO_INT(SCALE(sc, *maxw)); + if (ep->part->scale) *maxw = TO_INT_ROUND(SCALE(sc, *maxw)); if (*maxw < 1) *maxw = 1; } } @@ -2331,7 +2331,7 @@ _edje_part_recalc_single_min_max(FLOAT_T sc, } *minh = mnh; - if (ep->part->scale) *minh = TO_INT(SCALE(sc, *minh)); + if (ep->part->scale) *minh = TO_INT_ROUND(SCALE(sc, *minh)); if ((ep->type == EDJE_RP_TYPE_SWALLOW) && (ep->typedata.swallow)) { @@ -2358,7 +2358,7 @@ _edje_part_recalc_single_min_max(FLOAT_T sc, *maxh = mxh; if (*maxh > 0) { - if (ep->part->scale) *maxh = TO_INT(SCALE(sc, *maxh)); + if (ep->part->scale) *maxh = TO_INT_ROUND(SCALE(sc, *maxh)); if (*maxh < 1) *maxh = 1; } } @@ -2371,7 +2371,7 @@ _edje_part_recalc_single_min_max(FLOAT_T sc, *maxh = mxh; if (*maxh > 0) { - if (ep->part->scale) *maxh = TO_INT(SCALE(sc, *maxh)); + if (ep->part->scale) *maxh = TO_INT_ROUND(SCALE(sc, *maxh)); if (*maxh < 1) *maxh = 1; } if (ep->typedata.swallow->swallow_params.max.h < *maxh) @@ -2384,7 +2384,7 @@ _edje_part_recalc_single_min_max(FLOAT_T sc, *maxh = mxh; if (*maxh > 0) { - if (ep->part->scale) *maxh = TO_INT(SCALE(sc, *maxh)); + if (ep->part->scale) *maxh = TO_INT_ROUND(SCALE(sc, *maxh)); if (*maxh < 1) *maxh = 1; } } diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h index 3e610d2..9a0fd21 100644 --- a/src/lib/edje/edje_private.h +++ b/src/lib/edje/edje_private.h @@ -148,6 +148,7 @@ EAPI extern int _edje_default_log_dom ; #define FROM_DOUBLE(a) eina_f32p32_double_from(a) #define FROM_INT(a) eina_f32p32_int_from(a) #define TO_INT(a) eina_f32p32_int_to(a) +#define TO_INT_ROUND(a) eina_f32p32_int_to(ADD(a, FROM_DOUBLE(0.5))) #define ZERO 0 #define COS(a) eina_f32p32_cos(a) #define SIN(a) eina_f32p32_sin(a) @@ -168,6 +169,7 @@ EAPI extern int _edje_default_log_dom ; #define FROM_DOUBLE(a) (a) #define FROM_INT(a) (double)(a) #define TO_INT(a) (int)(a) +#define TO_INT_ROUND(a) (int)(a + 0.5) #define ZERO 0.0 #define COS(a) cos(a) #define SIN(a) sin(a) --
[EGIT] [core/efl] master 01/01: edje_pick: add base_scale value to target edj from origin edj
jaehwan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b5e9818c02d39fab68e47e54ea41b3e14537fd2a commit b5e9818c02d39fab68e47e54ea41b3e14537fd2a Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Fri Nov 25 13:17:56 2016 +0900 edje_pick: add base_scale value to target edj from origin edj --- src/bin/edje/edje_pick.c | 13 + 1 file changed, 13 insertions(+) diff --git a/src/bin/edje/edje_pick.c b/src/bin/edje/edje_pick.c index 744fc04..12b8964 100644 --- a/src/bin/edje/edje_pick.c +++ b/src/bin/edje/edje_pick.c @@ -529,6 +529,7 @@ _edje_pick_output_prepare(Edje_File *o, Edje_File *edf, char *name) o->version = edf->version; o->minor = edf->minor; o->feature_ver = edf->feature_ver; +o->base_scale = edf->base_scale; o->collection = eina_hash_string_small_new(NULL); o->data = eina_hash_string_small_new(NULL); @@ -557,6 +558,12 @@ _edje_pick_output_prepare(Edje_File *o, Edje_File *edf, char *name) if (o->feature_ver < edf->feature_ver) o->feature_ver = edf->feature_ver; } +if (o->base_scale != edf->base_scale) + { + EINA_LOG_ERR("Error: Merging files of various base scale. Base scale of the files should be same.\n"); + free(o); + return NULL; + } } _edje_pick_external_dir_update(o, edf); @@ -1499,6 +1506,12 @@ main(int argc, char **argv) edf->ef = ef; out_file = _edje_pick_output_prepare(out_file, edf, output_filename); +if (!out_file) + { + _edje_cache_file_unref(edf); + eet_close(ef); + return _edje_pick_cleanup(inp_files, out_file, k); + } k = _edje_pick_header_make(out_file, edf, inp_files); if (k != EDJE_PICK_NO_ERROR) --
[EGIT] [tools/eflete] master 01/01: project_common: don't show project-save popup in Tizen
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=22b9ef6410cfb411a6a14c2aca011dad600c10af commit 22b9ef6410cfb411a6a14c2aca011dad600c10af Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Thu Nov 24 14:28:14 2016 +0900 project_common: don't show project-save popup in Tizen --- src/bin/ui/main_window.h | 7 +++ src/bin/ui/project_common.c | 19 +++ src/bin/ui/project_common.h | 2 +- src/bin/ui/project_export.c | 8 src/bin/ui/tab_home_import_edc.c | 2 +- src/bin/ui/tab_home_import_edj.c | 7 ++- src/bin/ui/tab_home_new.c| 2 +- 7 files changed, 35 insertions(+), 12 deletions(-) diff --git a/src/bin/ui/main_window.h b/src/bin/ui/main_window.h index c817e2b..9c2edfe 100644 --- a/src/bin/ui/main_window.h +++ b/src/bin/ui/main_window.h @@ -104,6 +104,13 @@ typedef enum BG_PREVIEW_BLACK } Bg_Preview; +typedef enum +{ + FILE_SAVE_ASK = 1, + FILE_SAVE_REPLACE, + FILE_SAVE_APPEND +} File_Save; + /** * The validation func for popup action. * diff --git a/src/bin/ui/project_common.c b/src/bin/ui/project_common.c index b1c5b95..00cabd2 100644 --- a/src/bin/ui/project_common.c +++ b/src/bin/ui/project_common.c @@ -69,7 +69,7 @@ end: Eina_Bool exist_permission_check(const char *path, const char *name, - const char *title, const char *msg, Eina_Bool append, + const char *title, const char *msg, File_Save option, Ecore_Cb func, const void *data) { @@ -108,15 +108,26 @@ exist_permission_check(const char *path, const char *name, eina_strbuf_free(pcd->buf); goto exit; } - if (!append) + + if (option == FILE_SAVE_ASK) { popup = popup_add(title, msg, BTN_REPLACE | BTN_CANCEL, NULL, NULL); evas_object_smart_callback_add(popup, POPUP_CLOSE_CB, _exist_permission_popup_close_cb, pcd); return ret; } - else if (pcd->func) + else { -pcd->func((void *)pcd->data); +if (!ecore_file_can_write(eina_strbuf_string_get(pcd->buf))) + { + ecore_job_add(_permision_popup_job, pcd); + ret = false; + goto exit; + } + +if (option == FILE_SAVE_REPLACE) + ecore_file_recursive_rm(eina_strbuf_string_get(pcd->buf)); +if (pcd->func) + pcd->func((void *)pcd->data); } exit: diff --git a/src/bin/ui/project_common.h b/src/bin/ui/project_common.h index a5a115a..bc127c1 100644 --- a/src/bin/ui/project_common.h +++ b/src/bin/ui/project_common.h @@ -21,7 +21,7 @@ #define PROJECT_COMMON_H Eina_Bool -exist_permission_check(const char *path, const char *name, const char *title, const char *msg, Eina_Bool append, Ecore_Cb func, const void *data); +exist_permission_check(const char *path, const char *name, const char *title, const char *msg, File_Save option, Ecore_Cb func, const void *data); Eina_Bool progress_print(void *data, Eina_Stringshare *progress_string); diff --git a/src/bin/ui/project_export.c b/src/bin/ui/project_export.c index 47e0355..d558aef 100644 --- a/src/bin/ui/project_export.c +++ b/src/bin/ui/project_export.c @@ -107,7 +107,7 @@ _export_dev(void *data __UNUSED__, exist_permission_check(dir, name, _("Export to develop edj-file"), - eina_strbuf_string_get(buf), EINA_TRUE, /* check this true on upstream I have doubts about that */ + eina_strbuf_string_get(buf), FILE_SAVE_APPEND, _after_export_dev_check, (void *)eina_stringshare_add(path)); free(dir); eina_strbuf_free(buf); @@ -185,7 +185,7 @@ _export_release(void *data __UNUSED__, exist_permission_check(elm_fileselector_path_get(obj), elm_fileselector_current_name_get(obj), _("Export to release edj-file"), - eina_strbuf_string_get(buf), EINA_FALSE, + eina_strbuf_string_get(buf), FILE_SAVE_ASK, _after_export_release_check, (void *)eina_stringshare_add(path)); eina_strbuf_free(buf); @@ -264,7 +264,7 @@ _export_source_code(void *data, exist_permission_check(exdata->path, ap.project->name, _("Export to develop edj-file"), - eina_strbuf_string_get(buf), EINA_FALSE, + eina_strbuf_string_get(buf), FILE_SAVE_ASK, _after_export_source_code_check, exdata); eina_strbuf_free(buf); @@ -338,7 +338,7 @@ _export_group_source_code(void *data __UNUSED__, path, name); exist_permission_check(path, name, _("Export
[EGIT] [tools/eflete] master 01/01: group_navigator: fix the segmentation fault about vector
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=defc4cd852d3ee0d924eb4a7f228fa70328f3d2b commit defc4cd852d3ee0d924eb4a7f228fa70328f3d2b Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Wed Nov 23 11:27:52 2016 +0900 group_navigator: fix the segmentation fault about vector --- src/bin/common/string_common.c | 5 +++-- src/bin/ui/workspace/group_navigator.c | 10 ++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/bin/common/string_common.c b/src/bin/common/string_common.c index 26fb06f..5fd8cf4 100644 --- a/src/bin/common/string_common.c +++ b/src/bin/common/string_common.c @@ -118,9 +118,10 @@ static char *part_types[] = { "Mesh node", "Light", "Camera", - "Snapshot" + "Snapshot", + "Vector" }; -static unsigned int part_types_count = 16; +static unsigned int part_types_count = 17; const char * part_type_text_get(Edje_Part_Type part_type) diff --git a/src/bin/ui/workspace/group_navigator.c b/src/bin/ui/workspace/group_navigator.c index 2b7337b..b6e229f 100644 --- a/src/bin/ui/workspace/group_navigator.c +++ b/src/bin/ui/workspace/group_navigator.c @@ -98,6 +98,7 @@ static Edje_Part_Type part_types[] = { EDJE_PART_TYPE_TABLE, EDJE_PART_TYPE_PROXY, EDJE_PART_TYPE_SPACER, + EDJE_PART_TYPE_VECTOR, EDJE_PART_TYPE_NONE }; static const char *program_actions[] = { @@ -371,6 +372,9 @@ _part_content_get(void *data, case EDJE_PART_TYPE_EXTERNAL: IMAGE_ADD_NEW(obj, content, "icon", "external"); break; + case EDJE_PART_TYPE_VECTOR: + IMAGE_ADD_NEW(obj, content, "icon", "vector"); + break; default: ERR("Unhandled part type"); abort(); @@ -414,6 +418,9 @@ _part_content_get(void *data, case EDJE_PART_TYPE_EXTERNAL: IMAGE_ADD_NEW(obj, content, "icon", "external"); break; + case EDJE_PART_TYPE_VECTOR: + IMAGE_ADD_NEW(obj, content, "icon", "vector1"); + break; default: ERR("Unhandled part type"); abort(); @@ -456,6 +463,9 @@ _part_content_get(void *data, case EDJE_PART_TYPE_EXTERNAL: IMAGE_ADD_NEW(obj, content, "icon", "external"); break; + case EDJE_PART_TYPE_VECTOR: + IMAGE_ADD_NEW(obj, content, "icon", "vector2"); + break; default: ERR("Unhandled part type"); abort(); --
[EGIT] [tools/eflete] master 01/01: fix the bin path dynamically to execute eflete_exporter
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=19332bdd382f91e600cac03e1b6e366b2b1dfbb6 commit 19332bdd382f91e600cac03e1b6e366b2b1dfbb6 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Thu Oct 6 10:15:27 2016 +0900 fix the bin path dynamically to execute eflete_exporter @fix --- configure.ac | 2 -- src/bin/project_manager/project_manager2.c | 8 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/configure.ac b/configure.ac index 05e9288..fd3b731 100644 --- a/configure.ac +++ b/configure.ac @@ -197,10 +197,8 @@ EFLETE_DEFINE="" #=== if test "x${prefix}" = "xNONE"; then LOCALE_DIR="${ac_default_prefix}/share/locale" - EFLETE_DEFINE+=" -DEFLETE_BIN_PATH=\\\"\\\" " else LOCALE_DIR="${prefix}/share/locale" - EFLETE_DEFINE+=" -DEFLETE_BIN_PATH=\\\"${prefix}/bin/\\\" " fi AC_SUBST(LOCALE_DIR) #=== diff --git a/src/bin/project_manager/project_manager2.c b/src/bin/project_manager/project_manager2.c index e022a76..92577a6 100644 --- a/src/bin/project_manager/project_manager2.c +++ b/src/bin/project_manager/project_manager2.c @@ -730,7 +730,7 @@ _project_open_internal(Project_Process_Data *ppd) /**/ file_dir = ecore_file_dir_get(ppd->path); snprintf(cmd, sizeof(cmd), -EFLETE_BIN_PATH"eflete_exporter --edj %s --path %s/develop", ppd->project->saved_edj, file_dir); +"%s/eflete_exporter --edj %s --path %s/develop", elm_app_bin_dir_get(), ppd->project->saved_edj, file_dir); ecore_exe_pipe_run(cmd, FLAGS, NULL); @@ -1225,7 +1225,7 @@ pm_group_source_code_export(Project *project, ppd->data = (void *)data; snprintf(buf, sizeof(buf), -EFLETE_BIN_PATH"eflete_exporter --edj %s --path %s -g %s -s", project->saved_edj, path, group->common.name); +"%s/eflete_exporter --edj %s --path %s -g %s -s", elm_app_bin_dir_get(), project->saved_edj, path, group->common.name); ecore_exe_pipe_run(buf, FLAGS, NULL); @@ -1255,7 +1255,7 @@ pm_project_source_code_export(Project *project, ppd->data = (void *)data; snprintf(buf, sizeof(buf), -EFLETE_BIN_PATH"eflete_exporter --edj %s --path %s -s", project->saved_edj, path); +"%s/eflete_exporter --edj %s --path %s -s", elm_app_bin_dir_get(), project->saved_edj, path); ecore_exe_pipe_run(buf, FLAGS, NULL); @@ -1418,7 +1418,7 @@ pm_project_release_export(Project *project, eina_file_mkdtemp("eflete_export_XX", >tmp_dirname); snprintf(buf, sizeof(buf), -EFLETE_BIN_PATH"eflete_exporter --edj %s --path %s -s", ppd->project->saved_edj, ppd->tmp_dirname); +"%s/eflete_exporter --edj %s --path %s -s", elm_app_bin_dir_get(), ppd->project->saved_edj, ppd->tmp_dirname); ppd->edc = eina_stringshare_printf("%s/generated.edc", ppd->tmp_dirname); ecore_exe_pipe_run(buf, FLAGS, NULL); --
[EGIT] [tools/eflete] master 01/01: Project manager: fix build break in window.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=3fa4b5d75318f4f1a56a5357dcb3dd73e98e2021 commit 3fa4b5d75318f4f1a56a5357dcb3dd73e98e2021 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Fri Sep 30 16:44:38 2016 +0900 Project manager: fix build break in window. @fix --- src/bin/project_manager/project_manager2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/project_manager/project_manager2.c b/src/bin/project_manager/project_manager2.c index 0f7dd7a..7482a32 100644 --- a/src/bin/project_manager/project_manager2.c +++ b/src/bin/project_manager/project_manager2.c @@ -627,7 +627,7 @@ _project_open_internal(Project_Process_Data *ppd) /* really this case is unlickly, but we need handle it */ ERR("Project file already locked by another application"); #ifdef _WIN32 -CloseHandle(fd); +CloseHandle(pro_fd); #else if (pro_fd != -1) close(pro_fd); --
[EGIT] [tools/eflete] master 01/01: Resource manager: add NULL checking.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=a37124b9548def37f4790a1ca7b09dd88918542f commit a37124b9548def37f4790a1ca7b09dd88918542f Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Fri Sep 30 14:36:23 2016 +0900 Resource manager: add NULL checking. @fix --- src/bin/resource_manager/resource_manager_build.c | 9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/bin/resource_manager/resource_manager_build.c b/src/bin/resource_manager/resource_manager_build.c index 19abc66..4753249 100644 --- a/src/bin/resource_manager/resource_manager_build.c +++ b/src/bin/resource_manager/resource_manager_build.c @@ -105,7 +105,8 @@ _state_dependency_load(Project *pro, Group2 *group, Part2 *part, State2 *state) res = resource_manager_find(pro->RM.image_sets, state->normal); else res = resource_manager_find(pro->RM.images, state->normal); - _resource_usage_resource_add((Resource2 *)state, res); + if (res) + _resource_usage_resource_add((Resource2 *)state, res); } EINA_LIST_FOREACH(state->tweens, l2, res) @@ -292,7 +293,8 @@ _group_dependency_load(Project *pro, Group2 *group) { main_group_name = edje_edit_group_aliased_get(group->edit_object, group->common.name); used = resource_manager_find(pro->RM.groups, main_group_name); -_resource_usage_resource_add((Resource2 *)group, used); +if (used) + _resource_usage_resource_add((Resource2 *)group, used); edje_edit_string_free(main_group_name); @@ -349,7 +351,8 @@ _resource_dependency_load(Project *pro) EINA_LIST_FOREACH(set_images, l2, set_image_name) { used = resource_manager_find(pro->RM.images, set_image_name); - _resource_usage_resource_add(res, used); + if (used) + _resource_usage_resource_add(res, used); } edje_edit_string_list_free(set_images); } --
[EGIT] [tools/eflete] master 01/01: validate: fix NAME_REGEX about the file name.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=89e5d7e468f387188a6a74eda8134499e78e2779 commit 89e5d7e468f387188a6a74eda8134499e78e2779 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Thu Sep 29 11:05:11 2016 +0900 validate: fix NAME_REGEX about the file name. --- src/bin/common/string_common.h | 1 + src/bin/ui/tab_home_import_edc.c | 2 +- src/bin/ui/tab_home_import_edj.c | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/bin/common/string_common.h b/src/bin/common/string_common.h index 3a4d62e..1cf6751 100644 --- a/src/bin/common/string_common.h +++ b/src/bin/common/string_common.h @@ -33,6 +33,7 @@ #define LAYOUT_NAME_REGEX "^[a-zA-Z0-9_\\.\\/-]+$" #define NAME_REGEX "^[a-zA-Z0-9_]+$" +#define FILE_NAME_REGEX "^[a-zA-Z0-9_\\.-]+$" #define STATE_VALUE_REGEX "^((0?(\\.[0-9]+)?|1(\\.0+)?))?$" #define PART_NAME_REGEX "^[a-zA-Z0-9_\\.]+$" #define DATA_NAME_REGEX ".*" diff --git a/src/bin/ui/tab_home_import_edc.c b/src/bin/ui/tab_home_import_edc.c index 2c69db6..9817e9a 100644 --- a/src/bin/ui/tab_home_import_edc.c +++ b/src/bin/ui/tab_home_import_edc.c @@ -479,7 +479,7 @@ _tab_import_edc_add(void) Evas_Object *sc, *item, *separ; Dir_Data *dir_data; - tab_edc.name_validator = elm_validator_regexp_new(NAME_REGEX, NULL); + tab_edc.name_validator = elm_validator_regexp_new(FILE_NAME_REGEX, NULL); tab_edc.layout = elm_layout_add(ap.win); elm_layout_theme_set(tab_edc.layout, "layout", "tab_home", "import_edc"); diff --git a/src/bin/ui/tab_home_import_edj.c b/src/bin/ui/tab_home_import_edj.c index 354dcc8..8e80934 100644 --- a/src/bin/ui/tab_home_import_edj.c +++ b/src/bin/ui/tab_home_import_edj.c @@ -553,7 +553,7 @@ _tab_import_edj_del(void *data __UNUSED__, Evas_Object * _tab_import_edj_add(void) { - tab_edj.name_validator = elm_validator_regexp_new(NAME_REGEX, NULL); + tab_edj.name_validator = elm_validator_regexp_new(FILE_NAME_REGEX, NULL); tab_edj.layout = elm_layout_add(ap.win); elm_layout_theme_set(tab_edj.layout, "layout", "tab_home", "import_edj"); --
[EGIT] [tools/eflete] master 02/02: import_edj: add specific item loading option.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=24774dc71fe9d2cbf07724b2720e4b3f644bf533 commit 24774dc71fe9d2cbf07724b2720e4b3f644bf533 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Tue Sep 27 15:34:52 2016 +0900 import_edj: add specific item loading option. It can make to load specific item style of widget by command. @feature --- src/bin/common/widget_list.c | 146 ++- src/bin/common/widget_list.h | 4 +- src/bin/main.c | 2 +- src/bin/ui/tab_home_import_edj.c | 90 +++- 4 files changed, 221 insertions(+), 21 deletions(-) diff --git a/src/bin/common/widget_list.c b/src/bin/common/widget_list.c index b84c45b..2d6f3d4 100644 --- a/src/bin/common/widget_list.c +++ b/src/bin/common/widget_list.c @@ -41,7 +41,6 @@ static const char *exception[] = "elm/colorselector/image/colorbar_1/", "elm/colorselector/image/colorbar_2/", "elm/colorselector/image/colorbar_3/", - "elm/gengrid/item/default/", "elm/entry/handler/start/", "elm/entry/handler/end/", "elm/entry/emoticon/wtf/", @@ -120,7 +119,8 @@ style_name_get(const Eina_Stringshare *group_name) } class[i - first] = '\0'; -if (!strcmp(widget, "genlist") && strcmp(class, "base")) return NULL; +if ((!strcmp(widget, "genlist") || !strcmp(widget, "gengrid")) && +strcmp(class, "base")) return NULL; first = i + 1; for (i = first; i < len; i++) @@ -134,6 +134,61 @@ style_name_get(const Eina_Stringshare *group_name) } Eina_Stringshare * +item_style_name_get(const Eina_Stringshare *group_name, Eina_Stringshare *style_name) +{ + int len = strlen(group_name); + int first, i; + Eina_List *l; + Eina_Stringshare *style_item; + char widget[32], class[32], style[256]; + const char *str; + + if (group_name[0] != 'e') return NULL; + if (group_name[1] != 'l') return NULL; + if (group_name[2] != 'm') return NULL; + if (group_name[3] != '/') return NULL; + + for (i = 4; i < len; i++) + { +if (group_name[i] == '/') break; + } + + first = 4; + for (i = first; i < len; i++) + { +if (group_name[i] == '/') break; +widget[i - first] = group_name[i]; + } + widget[i - first] = '\0'; + + first = i + 1; + for (i = first; i < len; i++) + { +if (group_name[i] == '/') break; +class[i - first] = group_name[i]; + } + class[i - first] = '\0'; + + if ((strcmp(widget, "genlist") && strcmp(widget, "gengrid")) || + !strcmp(class, "base")) return NULL; + + first = i + 1; + for (i = first; i < len; i++) + { +style[i - first] = group_name[i]; + } + style[i - first] = '\0'; + + str = string_rstr(style, style_name); + if (str) + { +style[strlen(style) - strlen(str) - 1] = '\0'; + } + + return eina_stringshare_add(style); +} + +Eina_Stringshare * option_widget_name_get(const char *str, Eina_List **style_list) { int len = strlen(str); @@ -188,7 +243,92 @@ option_widget_name_get(const char *str, Eina_List **style_list) } Eina_Stringshare * -option_style_name_get(const char *str, Eina_List **cp_style_list) +option_style_name_get(const char *str, Eina_List **item_style_list, Eina_List **cp_style_list) +{ + int len = strlen(str); + char style[32], cp_style[256], item_style[256]; + Eina_List *list = NULL; + int i, first = 0; + Eina_Bool is_cp_style = EINA_FALSE; + Eina_Bool is_item_style = EINA_FALSE; + + *item_style_list = NULL; + *cp_style_list = NULL; + + for (i = 0; i < len; i++) + { +if (str[i] == '{') + { + is_item_style = EINA_TRUE; + style[i] = '\0'; + first = i + 1; + continue; + } +else if (str[i] == '}') + break; + +if (!is_item_style) + { + if (str[i] == '[') + { + is_cp_style = EINA_TRUE; + style[i] = '\0'; + first = i + 1; + continue; + } + else if (str[i] == ']') + { + cp_style[i - first] = '\0'; + *cp_style_list = eina_list_append(*cp_style_list, eina_stringshare_add(cp_style)); + if (i + 1 < len && str[i + 1] != '{') break; + } + } + +if (!is_item_style) + { + if (!is_cp_style) + { + style[i] = str[i]; + } + else + { + if (str[i] == ',') +{ +
[EGIT] [tools/eflete] master 01/02: widget_list: fix the return type
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=02643e9156face98e0e6d97f8d8312578da38908 commit 02643e9156face98e0e6d97f8d8312578da38908 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Thu Sep 22 11:27:48 2016 +0900 widget_list: fix the return type --- src/bin/common/widget_list.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/bin/common/widget_list.h b/src/bin/common/widget_list.h index b3f93e0..944bfea 100644 --- a/src/bin/common/widget_list.h +++ b/src/bin/common/widget_list.h @@ -36,10 +36,10 @@ struct _End_Item_Data }; typedef struct _End_Item_Data End_Item_Data; -const char *widget_name_get(const Eina_Stringshare *group_name); -const char *style_name_get(const Eina_Stringshare *group_name); +Eina_Stringshare *widget_name_get(const Eina_Stringshare *group_name); +Eina_Stringshare *style_name_get(const Eina_Stringshare *group_name); Eina_Stringshare *option_widget_name_get(const char *str, Eina_List **style_list); -const char *option_style_name_get(const char *str, Eina_List **cp_style_list); +Eina_Stringshare *option_style_name_get(const char *str, Eina_List **cp_style_list); Eina_List *widget_prefix_list_get(Eina_List *collections, const char *widget_name, const char *style_name); /* --
[EGIT] [core/efl] master 01/01: edje_program: add NULL checking
jaehwan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e811484ba599b1de885d221efbec7e33ef9da0ae commit e811484ba599b1de885d221efbec7e33ef9da0ae Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Wed Sep 28 14:47:26 2016 +0900 edje_program: add NULL checking --- src/lib/edje/edje_program.c | 9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/lib/edje/edje_program.c b/src/lib/edje/edje_program.c index bb3675d..30cfe44 100644 --- a/src/lib/edje/edje_program.c +++ b/src/lib/edje/edje_program.c @@ -231,10 +231,11 @@ edje_object_propagate_callback_add(Evas_Object *obj, void (*func)(void *data, Ev sig = eina_stringshare_add("*"); src = eina_stringshare_add("*"); - _edje_signal_callback_push(ed->callbacks, - sig, src, - func, data, - EINA_TRUE); + if (ed->callbacks) + _edje_signal_callback_push(ed->callbacks, +sig, src, +func, data, +EINA_TRUE); eina_stringshare_del(sig); eina_stringshare_del(src); --
[EGIT] [tools/eflete] master 01/01: tab_home: fix a segment fault
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=c4b141feff6625c2750ff8943f26b1e42e6c0be6 commit c4b141feff6625c2750ff8943f26b1e42e6c0be6 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Wed Sep 21 17:07:29 2016 +0900 tab_home: fix a segment fault --- src/bin/ui/tab_home_import_edj.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/bin/ui/tab_home_import_edj.c b/src/bin/ui/tab_home_import_edj.c index edb5101..4e299fd 100644 --- a/src/bin/ui/tab_home_import_edj.c +++ b/src/bin/ui/tab_home_import_edj.c @@ -708,16 +708,15 @@ _tab_import_edj_data_set(const char *name, const char *path, const char *edj, co if (!item) { item = elm_genlist_first_item_get(tab_edj.genlist); - do + while (item) { node = elm_object_item_data_get(item); if (!strcmp(node->name, "elm/")) break; item = elm_genlist_item_next_get(item); } - while (item); } -if (node->list) +if (node && node->list) { EINA_LIST_FOREACH(node->list, l1, sub) { --
[EGIT] [core/efl] master 02/02: edje_edit: add null checking
jaehwan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3efdd5df54b3fb26b5aaaf7252865d748411188f commit 3efdd5df54b3fb26b5aaaf7252865d748411188f Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Tue Sep 20 13:46:29 2016 +0900 edje_edit: add null checking --- src/lib/edje/edje_edit.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c index edbe5cd..f3381fa 100644 --- a/src/lib/edje/edje_edit.c +++ b/src/lib/edje/edje_edit.c @@ -2905,6 +2905,7 @@ edje_edit_external_add(Evas_Object *obj, const char *external) if (!ed->file->external_dir) ed->file->external_dir = _alloc(sizeof(Edje_External_Directory)); + if (!ed->file->external_dir) return EINA_FALSE; for (i = 0; i < ed->file->external_dir->entries_count; ++i) if (!ed->file->external_dir->entries[i].entry) @@ -12555,6 +12556,7 @@ edje_edit_source_generate(Evas_Object *obj) { es = eina_hash_find(ed->file->data, entry); str = edje_string_get(es); + if (!str) break; data_len = strlen(str); /* In case when data ends with '\n' character, this item recognize * as data.file. This data will not generated into the source code --
[EGIT] [core/efl] master 01/02: ecore: fix the parameter of strerror
jaehwan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1bfb19b457e6b9eb63064903c853c4a4e823a857 commit 1bfb19b457e6b9eb63064903c853c4a4e823a857 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Tue Sep 20 13:45:36 2016 +0900 ecore: fix the parameter of strerror --- src/lib/ecore/ecore_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/ecore/ecore_main.c b/src/lib/ecore/ecore_main.c index 19c72a4..6b1ac3e 100644 --- a/src/lib/ecore/ecore_main.c +++ b/src/lib/ecore/ecore_main.c @@ -1591,7 +1591,7 @@ ecore_main_fd_handler_active_set(Ecore_Fd_Handler *fd_handler, ret = _ecore_main_fdh_poll_modify(fd_handler); if (ret < 0) { -ERR("Failed to mod epoll fd %d: %s!", fd_handler->fd, strerror(ret)); +ERR("Failed to mod epoll fd %d: %s!", fd_handler->fd, strerror(errno)); } } --
[EGIT] [tools/eflete] master 01/02: export: fix to call the popup dismiss.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=9b71b0c064d086f8678bb5229eeaa1aff8443b8b commit 9b71b0c064d086f8678bb5229eeaa1aff8443b8b Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Mon Sep 19 17:04:14 2016 +0900 export: fix to call the popup dismiss. If the export is executed by command option, don't call the function that is related to popup. --- src/bin/ui/project_export.c | 9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/bin/ui/project_export.c b/src/bin/ui/project_export.c index 1e44af2..5c9e184 100644 --- a/src/bin/ui/project_export.c +++ b/src/bin/ui/project_export.c @@ -46,7 +46,8 @@ _after_export_dev_check(void *data) ap.splash = splash_add(ap.win, _export_develop_setup, _export_teardown, NULL, data); evas_object_focus_set(ap.splash, true); evas_object_show(ap.splash); - popup_fileselector_helper_dismiss(); + if (!ap.path.export_edj) + popup_fileselector_helper_dismiss(); } static Eina_Bool @@ -122,7 +123,8 @@ _after_export_release_check(void *data) NULL, data); evas_object_focus_set(ap.splash, true); evas_object_show(ap.splash); - popup_fileselector_helper_dismiss(); + if (!ap.path.export_edj) + popup_fileselector_helper_dismiss(); } static Eina_Bool @@ -202,7 +204,8 @@ _after_export_source_code_check(void *data) ap.splash = splash_add(ap.win, _export_source_code_setup, _export_teardown, NULL, data); evas_object_focus_set(ap.splash, true); evas_object_show(ap.splash); - popup_fileselector_helper_dismiss(); + if (!ap.path.export_edc.path) + popup_fileselector_helper_dismiss(); } static Eina_Bool --
[EGIT] [tools/eflete] master 02/02: project_close: don't make a project close popup in Tizen
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=7e35bd40a8fa31bfa361ddecec1658b90f69d83a commit 7e35bd40a8fa31bfa361ddecec1658b90f69d83a Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Mon Sep 19 17:49:32 2016 +0900 project_close: don't make a project close popup in Tizen --- src/bin/ui/project_close.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bin/ui/project_close.c b/src/bin/ui/project_close.c index 1339e6d..cc83d8e 100644 --- a/src/bin/ui/project_close.c +++ b/src/bin/ui/project_close.c @@ -177,6 +177,7 @@ project_close(void) assert(ap.project != NULL); +#ifndef HAVE_TIZEN if (ap.project->changed) { title = eina_stringshare_printf(_("Close project %s"), ap.project->name); @@ -189,6 +190,7 @@ project_close(void) eina_stringshare_del(title); return false; } +#endif ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_BASE, true); ui_menu_items_list_disable_set(ap.menu, MENU_ITEMS_LIST_STYLE_ONLY, true); --
[EGIT] [tools/eflete] master 01/01: Tizen : fix the usage of the spinner in tizen
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=c339fb1016af6705e540190e9afc7a6239dc008f commit c339fb1016af6705e540190e9afc7a6239dc008f Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Tue Sep 13 13:25:18 2016 +0900 Tizen : fix the usage of the spinner in tizen The work of spinner is different in upstream and tizen. If the "changed" callback of the spinner is called by api, just return. --- src/bin/ui/property/property_common.c | 4 + src/bin/ui/property/property_group.c | 197 ++ 2 files changed, 108 insertions(+), 93 deletions(-) diff --git a/src/bin/ui/property/property_common.c b/src/bin/ui/property/property_common.c index 54a97a5..3d45a7e 100644 --- a/src/bin/ui/property/property_common.c +++ b/src/bin/ui/property/property_common.c @@ -168,6 +168,10 @@ _start_change_stop_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) { +#ifdef HAVE_TIZEN + Eina_Bool by_api = evas_object_data_get(obj, "by_api"); + if (by_api) return; +#endif PROPERTY_DATA_GET(obj); Property_Attribute *pa = data; diff --git a/src/bin/ui/property/property_group.c b/src/bin/ui/property/property_group.c index f43bfab..f9f2a87 100644 --- a/src/bin/ui/property/property_group.c +++ b/src/bin/ui/property/property_group.c @@ -205,6 +205,17 @@ static const char *image_border_fill_strings[] = { STR_NONE, "Default", "Solid", NULL}; +_spinner_value_set(Evas_Object *obj, double val) +{ +#ifdef HAVE_TIZEN + evas_object_data_set(obj, "by_api", EINA_TRUE); +#endif + elm_spinner_value_set(obj, val); +#ifdef HAVE_TIZEN + evas_object_data_set(obj, "by_api", EINA_FALSE); +#endif +} + /* defines for args */ static inline const char * _part_name_get(void) @@ -1770,19 +1781,19 @@ _update_cb(Property_Attribute *pa, Property_Action *action) return images_list == NULL; case ATTRIBUTE_GROUP_MIN_W: int_val1 = edje_edit_group_min_w_get(EDIT_OBJ); - elm_spinner_value_set(action->control, int_val1); + _spinner_value_set(action->control, int_val1); return !int_val1; case ATTRIBUTE_GROUP_MIN_H: int_val1 = edje_edit_group_min_h_get(EDIT_OBJ); - elm_spinner_value_set(action->control, int_val1); + _spinner_value_set(action->control, int_val1); return !int_val1; case ATTRIBUTE_GROUP_MAX_W: int_val1 = edje_edit_group_max_w_get(EDIT_OBJ); - elm_spinner_value_set(action->control, int_val1); + _spinner_value_set(action->control, int_val1); return !int_val1; case ATTRIBUTE_GROUP_MAX_H: int_val1 = edje_edit_group_max_h_get(EDIT_OBJ); - elm_spinner_value_set(action->control, int_val1); + _spinner_value_set(action->control, int_val1); return !int_val1; case ATTRIBUTE_PART_NAME: property_entry_set(action->control, PART_ARGS); @@ -1854,27 +1865,27 @@ _update_cb(Property_Attribute *pa, Property_Action *action) return editor_part_text_shadow_direction_default_is(EDIT_OBJ, PART_ARGS); case ATTRIBUTE_PART_DRAG_X: int_val1 = edje_edit_part_drag_x_get(EDIT_OBJ, PART_ARGS); - elm_spinner_value_set(action->control, int_val1); + _spinner_value_set(action->control, int_val1); return editor_part_drag_x_default_is(EDIT_OBJ, PART_ARGS); case ATTRIBUTE_PART_DRAG_Y: int_val1 = edje_edit_part_drag_y_get(EDIT_OBJ, PART_ARGS); - elm_spinner_value_set(action->control, int_val1); + _spinner_value_set(action->control, int_val1); return editor_part_drag_y_default_is(EDIT_OBJ, PART_ARGS); case ATTRIBUTE_PART_DRAG_STEP_X: int_val1 = edje_edit_part_drag_step_x_get(EDIT_OBJ, PART_ARGS); - elm_spinner_value_set(action->control, int_val1); + _spinner_value_set(action->control, int_val1); return editor_part_drag_step_x_default_is(EDIT_OBJ, PART_ARGS); case ATTRIBUTE_PART_DRAG_STEP_Y: int_val1 = edje_edit_part_drag_step_y_get(EDIT_OBJ, PART_ARGS); - elm_spinner_value_set(action->control, int_val1); + _spinner_value_set(action->control, int_val1); return editor_part_drag_step_y_default_is(EDIT_OBJ, PART_ARGS); case ATTRIBUTE_PART_DRAG_COUNT_X: int_val1 = edje_edit_part_drag_count_x_get(EDIT_OBJ, PART_ARGS); - elm_spinner_value_set(action->control, int_val1); + _spinner_value_set(action->control, int_val1); return editor_part_drag_count_x_default_is(EDIT_OBJ, PART_ARGS); case ATTRIBUTE_PART_DRAG_COUNT_Y:
[EGIT] [core/efl] master 01/01: edje: add missed break in the switch construction.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=59bdf3461ce18f48bba0d315392a536b3778c368 commit 59bdf3461ce18f48bba0d315392a536b3778c368 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Wed Sep 7 14:01:51 2016 +0900 edje: add missed break in the switch construction. --- src/bin/edje/edje_cc_handlers.c | 1 + src/bin/edje/edje_svg_loader.c | 1 + 2 files changed, 2 insertions(+) diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c index 4c8b26b..1eeb847 100644 --- a/src/bin/edje/edje_cc_handlers.c +++ b/src/bin/edje/edje_cc_handlers.c @@ -11279,6 +11279,7 @@ st_collections_group_parts_part_description_properties_specular(void) ed->light.properties.specular.g = parse_int_range(1, 0, 255); ed->light.properties.specular.b = parse_int_range(2, 0, 255); ed->light.properties.specular.a = parse_int_range(3, 0, 255); + break; } case EDJE_PART_TYPE_MESH_NODE: { diff --git a/src/bin/edje/edje_svg_loader.c b/src/bin/edje/edje_svg_loader.c index bf9c37d..63aa4ef 100644 --- a/src/bin/edje/edje_svg_loader.c +++ b/src/bin/edje/edje_svg_loader.c @@ -1853,6 +1853,7 @@ _evas_svg_loader_parser(void *data, Eina_Simple_XML_Type type, break; case EINA_SIMPLE_XML_OPEN_EMPTY: _evas_svg_loader_xml_open_parser(loader, content, length); + break; case EINA_SIMPLE_XML_CLOSE: _evas_svg_loader_xml_close_parser(loader, content, length); break; --
[EGIT] [tools/eflete] master 01/01: export-edc: fix segment fault.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=048844eb8c9a705c8cecb59062f8e4a2fbb6aa85 commit 048844eb8c9a705c8cecb59062f8e4a2fbb6aa85 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Thu Sep 1 18:09:22 2016 +0900 export-edc: fix segment fault. --- src/bin/main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/bin/main.c b/src/bin/main.c index c176219..093043e 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -349,7 +349,8 @@ elm_main(int argc, char **argv) run: ap.path.export_edj = export_edj; -_export_edc_path_set(export_edc); +if (export_edc) + _export_edc_path_set(export_edc); if (!ui_main_window_add()) { app_shutdown(); --
[EGIT] [tools/eflete] master 01/01: export-edc: add the command option to set the export-edc path.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=55d19e1e8cf9a07e9e1c0464284b82fe52b43b5f commit 55d19e1e8cf9a07e9e1c0464284b82fe52b43b5f Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Thu Sep 1 14:15:33 2016 +0900 export-edc: add the command option to set the export-edc path. It should set PATH/FOLDER/FILE. If this option is enabled the file browser is not shown and the edc file is exported in the previously set path. @feature --- src/bin/eflete.c | 8 +++ src/bin/eflete.h | 5 src/bin/main.c | 28 +- .../project_manager/project_manager_export_edc.c | 11 +++-- src/bin/ui/menu.c | 5 +++- src/bin/ui/project_export.c| 21 6 files changed, 70 insertions(+), 8 deletions(-) diff --git a/src/bin/eflete.c b/src/bin/eflete.c index fab8db6..9f79e76 100644 --- a/src/bin/eflete.c +++ b/src/bin/eflete.c @@ -132,6 +132,14 @@ app_shutdown() eina_stringshare_del(ap.path.edj_path); if (ap.path.image_path) eina_stringshare_del(ap.path.image_path); + if (ap.path.export_edj) + eina_stringshare_del(ap.path.export_edj); + if (ap.path.export_edc.path) + eina_stringshare_del(ap.path.export_edc.path); + if (ap.path.export_edc.folder) + eina_stringshare_del(ap.path.export_edc.folder); + if (ap.path.export_edc.file) + eina_stringshare_del(ap.path.export_edc.file); config_shutdown(); elm_theme_free(ap.theme); diff --git a/src/bin/eflete.h b/src/bin/eflete.h index dcaea44..6ada2be 100644 --- a/src/bin/eflete.h +++ b/src/bin/eflete.h @@ -135,6 +135,11 @@ struct _App_Data Eina_Stringshare *image_path; Eina_Stringshare *sound_path; Eina_Stringshare *export_edj; + struct { + Eina_Stringshare *path; + Eina_Stringshare *folder; + Eina_Stringshare *file; + } export_edc; } path; Project *project; Shortcut_Module *shortcuts; /**< Structure with data from shortcuts module */ diff --git a/src/bin/main.c b/src/bin/main.c index 479cd17..c176219 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -32,6 +32,7 @@ static char *file = NULL; static char *pro_name = NULL; static char *pro_path = NULL; static char *export_edj = NULL; +static char *export_edc = NULL; static Eina_List *img_dirs = NULL; static Eina_List *snd_dirs = NULL; static Eina_List *fnt_dirs = NULL; @@ -62,7 +63,8 @@ static const Ecore_Getopt options = { { ECORE_GETOPT_STORE_STR(0, "name", N_("Name for new project")), ECORE_GETOPT_STORE_STR(0, "path", N_("Path to project directory")), - ECORE_GETOPT_STORE_STR(0, "export-edj", N_("Export file path")), + ECORE_GETOPT_STORE_STR(0, "export-edj", N_("Export edj file path")), + ECORE_GETOPT_STORE_STR(0, "export-edc", N_("Export edc file path. This should include the path, folder and edc file name.(PATH/FOLDER/FILE)")), ECORE_GETOPT_APPEND_METAVAR('i', "id", "Add image directory for edc compilation", "DIR_NAME", ECORE_GETOPT_TYPE_STR), ECORE_GETOPT_APPEND_METAVAR('s', "sd", "Add sound directory for edc compilation", "DIR_NAME", ECORE_GETOPT_TYPE_STR), ECORE_GETOPT_APPEND_METAVAR('f', "fd", "Add font directory for edc compilation", "DIR_NAME", ECORE_GETOPT_TYPE_STR), @@ -171,6 +173,28 @@ _new_project(void *data __UNUSED__) tabs_home_tab_add(TAB_HOME_NEW_PROJECT); } +static void +_export_edc_path_set(char *export_edc) +{ + char tmp[256]; + int len = 0, rlen = 0; + + strcpy(tmp, export_edc); + len = strlen(tmp); + rlen = strlen(strrchr(tmp, '/')); + if (!rlen) return; + ap.path.export_edc.file = eina_stringshare_add(tmp + (len - rlen + 1)); + tmp[len - rlen] = '\0'; + + len = strlen(tmp); + rlen = strlen(strrchr(tmp, '/')); + if (!rlen) return; + ap.path.export_edc.folder = eina_stringshare_add(tmp + (len - rlen + 1)); + tmp[len - rlen] = '\0'; + + ap.path.export_edc.path = eina_stringshare_add(tmp); +} + EAPI_MAIN int elm_main(int argc, char **argv) { @@ -183,6 +207,7 @@ elm_main(int argc, char **argv) ECORE_GETOPT_VALUE_STR(pro_name), ECORE_GETOPT_VALUE_STR(pro_path), ECORE_GETOPT_VALUE_STR(export_edj), + ECORE_GETOPT_VALUE_STR(export_edc), ECORE_GETOPT_VALUE_LIST(img_dirs), ECORE_GETOPT_VALUE_LIST(snd_dirs), ECORE_GETOPT_VALUE_LIST(fnt_dirs), @@ -324,6 +349,7 @@ elm_main(int argc, char **argv) run: ap.path.export_edj = export_edj; +_export_edc_path_set(export_edc); if (!ui_main_window_add()) { app_shutdown(); diff --git a/src/bin/
[EGIT] [tools/eflete] master 03/04: update according the change in efl about eo naming.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=d1ce5fa0e2f46fe54d9bbd200289f0341192707e commit d1ce5fa0e2f46fe54d9bbd200289f0341192707e Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Thu Aug 18 15:59:54 2016 +0900 update according the change in efl about eo naming. --- src/bin/ui/editors/animator.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/ui/editors/animator.c b/src/bin/ui/editors/animator.c index 26fd9a5..7670126 100644 --- a/src/bin/ui/editors/animator.c +++ b/src/bin/ui/editors/animator.c @@ -364,7 +364,7 @@ _on_bt_prog_add(void *data, animator->popup.name_validator = elm_validator_regexp_new(NAME_REGEX, NULL); LAYOUT_PROP_ADD(animator->popup.popup, _("Frequency:"), "property", "1swallow") ENTRY_ADD(item, animator->popup.entry, true) - eo_event_callback_add(animator->popup.entry, ELM_ENTRY_EVENT_VALIDATE, elm_validator_regexp_helper, animator->popup.name_validator); + efl_event_callback_add(animator->popup.entry, ELM_ENTRY_EVENT_VALIDATE, elm_validator_regexp_helper, animator->popup.name_validator); evas_object_smart_callback_add(animator->popup.entry, "changed", _validation, animator); elm_object_part_content_set(item, "elm.swallow.content", animator->popup.entry); --
[EGIT] [tools/eflete] master 01/01: update according the change in efl about eo naming.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=4f52979de219a77ccc2a07fcf273c1e19819e73e commit 4f52979de219a77ccc2a07fcf273c1e19819e73e Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Thu Aug 18 15:59:54 2016 +0900 update according the change in efl about eo naming. --- src/bin/common/validator.c | 2 +- src/bin/ui/colorclass_manager.c| 2 +- src/bin/ui/editors/animator.c | 2 +- src/bin/ui/project_navigator.c | 2 +- src/bin/ui/property/property_group.c | 4 ++-- src/bin/ui/sound_manager.c | 4 ++-- src/bin/ui/sound_player/sound_player.c | 28 ++-- src/bin/ui/style_manager.c | 4 ++-- src/bin/ui/tab_home_import_edc.c | 2 +- src/bin/ui/tab_home_import_edj.c | 2 +- src/bin/ui/tab_home_new.c | 2 +- src/bin/ui/workspace/group_navigator.c | 10 +- src/lib/ewe_ruler.c| 20 ++-- src/lib/ewe_ruler.eo | 2 +- 14 files changed, 43 insertions(+), 43 deletions(-) diff --git a/src/bin/common/validator.c b/src/bin/common/validator.c index 0b95702..eae52b9 100644 --- a/src/bin/common/validator.c +++ b/src/bin/common/validator.c @@ -112,5 +112,5 @@ resource_name_validator_helper(void *data, const Eo_Event *event) } vc->signal = validator->signal; if (validator->status) - eo_event_callback_stop(event->object); + efl_event_callback_stop(event->object); } diff --git a/src/bin/ui/colorclass_manager.c b/src/bin/ui/colorclass_manager.c index 55bf7fd..ac0721b 100644 --- a/src/bin/ui/colorclass_manager.c +++ b/src/bin/ui/colorclass_manager.c @@ -82,7 +82,7 @@ _add_colorclass_content_get(void *data __UNUSED__, Evas_Object **to_focus) LAYOUT_PROP_ADD(ap.win, _("Color class name: "), "property", "1swallow") ENTRY_ADD(item, mng.entry, true); - eo_event_callback_add(mng.entry, ELM_ENTRY_EVENT_VALIDATE, resource_name_validator_helper, mng.name_validator); + efl_event_callback_add(mng.entry, ELM_ENTRY_EVENT_VALIDATE, resource_name_validator_helper, mng.name_validator); evas_object_smart_callback_add(mng.entry, "changed", _validation, NULL); elm_object_part_text_set(mng.entry, "guide", _("Type new color class name here")); elm_object_part_content_set(item, "elm.swallow.content", mng.entry); diff --git a/src/bin/ui/editors/animator.c b/src/bin/ui/editors/animator.c index 26fd9a5..7670126 100644 --- a/src/bin/ui/editors/animator.c +++ b/src/bin/ui/editors/animator.c @@ -364,7 +364,7 @@ _on_bt_prog_add(void *data, animator->popup.name_validator = elm_validator_regexp_new(NAME_REGEX, NULL); LAYOUT_PROP_ADD(animator->popup.popup, _("Frequency:"), "property", "1swallow") ENTRY_ADD(item, animator->popup.entry, true) - eo_event_callback_add(animator->popup.entry, ELM_ENTRY_EVENT_VALIDATE, elm_validator_regexp_helper, animator->popup.name_validator); + efl_event_callback_add(animator->popup.entry, ELM_ENTRY_EVENT_VALIDATE, elm_validator_regexp_helper, animator->popup.name_validator); evas_object_smart_callback_add(animator->popup.entry, "changed", _validation, animator); elm_object_part_content_set(item, "elm.swallow.content", animator->popup.entry); diff --git a/src/bin/ui/project_navigator.c b/src/bin/ui/project_navigator.c index 2ae3320..71a97c3 100644 --- a/src/bin/ui/project_navigator.c +++ b/src/bin/ui/project_navigator.c @@ -400,7 +400,7 @@ _add_group_content_get(void *data __UNUSED__, Evas_Object **to_focus) LAYOUT_PROP_ADD(layout_p.box, _("Name"), "popup", "1swallow") ENTRY_ADD(layout_p.box, layout_p.entry, true) evas_object_smart_callback_add(layout_p.entry, "changed", _group_validate, NULL); - eo_event_callback_add(layout_p.entry, ELM_ENTRY_EVENT_VALIDATE, resource_name_validator_helper, validator); + efl_event_callback_add(layout_p.entry, ELM_ENTRY_EVENT_VALIDATE, resource_name_validator_helper, validator); elm_layout_content_set(item, NULL, layout_p.entry); elm_box_pack_end(layout_p.box, item); glit = elm_genlist_selected_item_get(project_navigator.genlist); diff --git a/src/bin/ui/property/property_group.c b/src/bin/ui/property/property_group.c index 983d12c..7d97c22 100644 --- a/src/bin/ui/property/property_group.c +++ b/src/bin/ui/property/property_group.c @@ -792,10 +792,10 @@ _init_cb(Property_Attribute *pa, Property_Action *action) elm_object_disabled_set(action->control, true); break; case ATTRIBUTE_PART_NAME: - eo_event_callback_add(action->control, ELM_ENTRY_EVENT_VALIDATE, resource_name_validator_helper, group_pd.part_name_validator); + efl_event_callback_add(action->control, EL
[EGIT] [tools/eflete] master 01/01: import_edj: fix the style loading method.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=219be7b55cc698af11c3e1a55d50fd4471ea584d commit 219be7b55cc698af11c3e1a55d50fd4471ea584d Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Wed Aug 17 19:06:39 2016 +0900 import_edj: fix the style loading method. 1. The all group that includes style name is loaded. 2. The style name should be same exactly. 3. When the group is copied, the origin group isn't loaded. @fix Fixes T4346 --- .../project_manager/project_manager_import_edj.c | 20 +-- src/bin/ui/tab_home_import_edj.c | 23 +++--- 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/src/bin/project_manager/project_manager_import_edj.c b/src/bin/project_manager/project_manager_import_edj.c index cd39d81..1356063 100644 --- a/src/bin/project_manager/project_manager_import_edj.c +++ b/src/bin/project_manager/project_manager_import_edj.c @@ -187,22 +187,22 @@ _project_import_edj(void *data) strbuf = eina_strbuf_new(); eina_strbuf_append_printf(strbuf, "edje_pick -o %s -i %s", edj_out, edj_in); -/* load any group for coping */ -if (ptd->widgets) - { - obj = edje_edit_object_add(evas_object_evas_get(ap.win)); - if (!edje_object_file_set(obj, edj_in, eina_list_data_get(ptd->widgets))) - { - CRIT("Can't load object"); - abort(); - } - } EINA_LIST_FOREACH(ptd->widgets, l, group) { if ((group[0] == 'c') && (group[1] == 'p') && (group[2] == '*') && (group[3] == '*') && (group[4] == '*')) { char **arr = eina_str_split(group, "***", 0); you_shall_not_pass_editor_signals(NULL); + /* load any group for coping */ + if (!obj) +{ + obj = edje_edit_object_add(evas_object_evas_get(ap.win)); + if (!edje_object_file_set(obj, edj_in, arr[1])) + { +CRIT("Can't load object"); +abort(); + } +} if (!editor_group_copy(obj, arr[1], arr[2])) { CRIT("Can not copy group %s, to %s", arr[1], arr[2]); diff --git a/src/bin/ui/tab_home_import_edj.c b/src/bin/ui/tab_home_import_edj.c index e2c1e27..87a0bd5 100644 --- a/src/bin/ui/tab_home_import_edj.c +++ b/src/bin/ui/tab_home_import_edj.c @@ -620,9 +620,9 @@ _genlist_style_selected_set(Node *item, Eina_List *styles, Eina_Bool selected) { Eina_List *l, *l1, *cp_style_list; Node *node; - Eina_Stringshare *name, *name1, *style_name, *tmp; - const char *pos; + Eina_Stringshare *name, *name1, *sname, *style_name, *tmp; char cp_style[256]; + int len; assert (item != NULL); @@ -640,22 +640,21 @@ _genlist_style_selected_set(Node *item, Eina_List *styles, Eina_Bool selected) EINA_LIST_FOREACH(styles, l, name) { style_name = option_style_name_get(name, _style_list); - if (!strcmp(style_name, "default")) -{ - pos = string_rstr(item->name, "base/default"); - if (pos) tab_edj.widget_list = eina_list_append(tab_edj.widget_list, item->name); -} - else + sname = style_name_get(item->name); + if (!strcmp(sname, style_name)) { - pos = string_rstr(item->name, style_name); - if (pos) + if (!cp_style_list) { item->check = selected; tab_edj.widget_list = eina_list_append(tab_edj.widget_list, item->name); + } + else + { EINA_LIST_FOREACH(cp_style_list, l1, name1) { - strncpy(cp_style, item->name, pos - item->name - 1); - cp_style[pos - item->name] = '\0'; + len = strlen(item->name) - strlen(sname); + strncpy(cp_style, item->name, len - 1); + cp_style[len - 1] = '\0'; tmp = eina_stringshare_printf("cp***%s***%s/%s", item->name, cp_style, name1); tab_edj.widget_list = eina_list_append(tab_edj.widget_list, tmp); } --
[EGIT] [tools/eflete] master 02/02: import_edj: compare the widget name exactly.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=ef3d96ec2b967e936f16e019cf267ab172549223 commit ef3d96ec2b967e936f16e019cf267ab172549223 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Wed Aug 3 16:55:13 2016 +0900 import_edj: compare the widget name exactly. If not, when we want to load button the multibuttonentry is loaded with button. @fix --- src/bin/ui/tab_home_import_edj.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/bin/ui/tab_home_import_edj.c b/src/bin/ui/tab_home_import_edj.c index db76b1a..09a5833 100644 --- a/src/bin/ui/tab_home_import_edj.c +++ b/src/bin/ui/tab_home_import_edj.c @@ -713,8 +713,11 @@ _tab_import_edj_data_set(const char *name, const char *path, const char *edj, co { EINA_LIST_FOREACH(node->list, l1, sub) { -if (strstr(sub->name, widget_name)) +Eina_Stringshare *wname = widget_name_get(sub->name); + +if (!strcmp(wname, widget_name)) _genlist_style_selected_set(sub, style_list, true); +eina_stringshare_del(wname); } } else --
[EGIT] [tools/eflete] master 01/02: widget_list: fix the memory leak.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=b827975f8c3e67697279799422759d8edf5dcaf3 commit b827975f8c3e67697279799422759d8edf5dcaf3 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Wed Aug 3 16:54:16 2016 +0900 widget_list: fix the memory leak. @fix --- src/bin/common/widget_list.c | 16 +--- src/bin/ui/tab_home_common.c | 2 ++ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/bin/common/widget_list.c b/src/bin/common/widget_list.c index e20bbda..b29018a 100644 --- a/src/bin/common/widget_list.c +++ b/src/bin/common/widget_list.c @@ -53,7 +53,7 @@ static const char *exception[] = NULL }; -const char * +Eina_Stringshare * widget_name_get(const Eina_Stringshare *group_name) { int len = strlen(group_name); @@ -72,10 +72,10 @@ widget_name_get(const Eina_Stringshare *group_name) } str[i - 4] = '\0'; - return strdup(str); + return eina_stringshare_add(str); } -const char * +Eina_Stringshare * style_name_get(const Eina_Stringshare *group_name) { int len = strlen(group_name); @@ -130,7 +130,7 @@ style_name_get(const Eina_Stringshare *group_name) style[i - first] = '\0'; } - return strdup(style); + return eina_stringshare_add(style); } Eina_Stringshare * @@ -244,8 +244,8 @@ widget_prefix_list_get(Eina_List *collections, const char *widget_name, const ch Eina_List *l, *list = NULL; Eina_Stringshare *group_name; char prefix[1024]; - const char *widget = NULL; - const char *style = NULL; + Eina_Stringshare *widget = NULL; + Eina_Stringshare *style = NULL; int i, end = 0; EINA_LIST_FOREACH(collections, l, group_name) @@ -262,9 +262,11 @@ widget_prefix_list_get(Eina_List *collections, const char *widget_name, const ch prefix[i] = group_name[i]; prefix[i] = '\0'; - list = eina_list_append(list, strdup(prefix)); + list = eina_list_append(list, eina_stringshare_add(prefix)); } + eina_stringshare_del(style); } +eina_stringshare_del(widget); } return list; } diff --git a/src/bin/ui/tab_home_common.c b/src/bin/ui/tab_home_common.c index 01bf161..d5001d8 100644 --- a/src/bin/ui/tab_home_common.c +++ b/src/bin/ui/tab_home_common.c @@ -120,6 +120,8 @@ _group_copy(Project *pro, Eina_List *widgets) gm_group_add(ap.project, cp_group_name, true); } } + EINA_LIST_FREE(prefixs, prefix) +eina_stringshare_del(prefix); } } } --
[EGIT] [tools/eflete] master 01/02: Tizen menu: set only save and quit in file menu
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=36b3835097fa2470d5041b4a7e5a2725aff2287a commit 36b3835097fa2470d5041b4a7e5a2725aff2287a Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Wed Jul 27 10:24:30 2016 +0900 Tizen menu: set only save and quit in file menu To simplify more, set only save and quit. If user uses save, it will export edj and edc automatically in Tizen. --- src/bin/ui/menu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/ui/menu.c b/src/bin/ui/menu.c index 0824bc9..8eeb0f7 100644 --- a/src/bin/ui/menu.c +++ b/src/bin/ui/menu.c @@ -280,16 +280,16 @@ ui_menu_add(void) ITEM_MENU_ADD(MENU_FILE, MENU_FILE_IMPORT_EDJ, NULL, _("Import edj-file"), NULL) ITEM_MENU_ADD(MENU_FILE, MENU_FILE_IMPORT_EDC, NULL, _("Import edc-file"), NULL) ___(MENU_FILE); +#endif /* if !HAVE_TIZEN */ ITEM_MENU_ADD(MENU_FILE, MENU_FILE_SAVE, buf, _("Save"), "Ctrl-S") +#if !HAVE_TIZEN ITEM_MENU_ADD(MENU_FILE, MENU_FILE_EXPORT_EDC, NULL, _("Export as edc"), NULL) ITEM_MENU_ADD(MENU_FILE_EXPORT_EDC, MENU_FILE_EXPORT_EDC_GROUP, NULL, _("Group"), NULL) ITEM_MENU_ADD(MENU_FILE_EXPORT_EDC, MENU_FILE_EXPORT_EDC_PROJECT, NULL, _("Project"), NULL) -#endif /* if !HAVE_TIZEN */ ITEM_MENU_ADD(MENU_FILE, MENU_FILE_EXPORT, NULL, _("Export as edj"), NULL) ITEM_MENU_ADD(MENU_FILE_EXPORT, MENU_FILE_EXPORT_DEVELOP, NULL, _("Develop"), NULL) ITEM_MENU_ADD(MENU_FILE_EXPORT, MENU_FILE_EXPORT_RELEASE, NULL, _("Release"), NULL) ___(MENU_FILE); -#if !HAVE_TIZEN ITEM_MENU_ADD(MENU_FILE, MENU_FILE_CLOSE_PROJECT, NULL, _("Close project"), NULL) ___(MENU_FILE); #endif /* if !HAVE_TIZEN */ --
[EGIT] [tools/eflete] master 02/02: main: Add export-edj option in command line support
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=8e03989d2c511691ce2ec961b7dc21fe507f1a62 commit 8e03989d2c511691ce2ec961b7dc21fe507f1a62 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Wed Jul 27 15:41:19 2016 +0900 main: Add export-edj option in command line support --- src/bin/eflete.h| 1 + src/bin/main.c | 4 src/bin/ui/menu.c | 4 src/bin/ui/project_export.c | 13 +++-- 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/bin/eflete.h b/src/bin/eflete.h index 5516daf..ced6d0f 100644 --- a/src/bin/eflete.h +++ b/src/bin/eflete.h @@ -128,6 +128,7 @@ struct _App_Data Eina_Stringshare *layout_edj; Eina_Stringshare *edj_path; Eina_Stringshare *image_path; + Eina_Stringshare *export_edj; } path; Project *project; Shortcut_Module *shortcuts; /**< Structure with data from shortcuts module */ diff --git a/src/bin/main.c b/src/bin/main.c index b5942f9..fac4a4f 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -31,6 +31,7 @@ static char *file = NULL; static char *pro_name = NULL; static char *pro_path = NULL; +static char *export_edj = NULL; static Eina_List *img_dirs = NULL; static Eina_List *snd_dirs = NULL; static Eina_List *fnt_dirs = NULL; @@ -61,6 +62,7 @@ static const Ecore_Getopt options = { { ECORE_GETOPT_STORE_STR(0, "name", N_("Name for new project")), ECORE_GETOPT_STORE_STR(0, "path", N_("Path to project directory")), + ECORE_GETOPT_STORE_STR(0, "export-edj", N_("Export file path")), ECORE_GETOPT_APPEND_METAVAR('i', "id", "Add image directory for edc compilation", "DIR_NAME", ECORE_GETOPT_TYPE_STR), ECORE_GETOPT_APPEND_METAVAR('s', "sd", "Add sound directory for edc compilation", "DIR_NAME", ECORE_GETOPT_TYPE_STR), ECORE_GETOPT_APPEND_METAVAR('f', "fd", "Add font directory for edc compilation", "DIR_NAME", ECORE_GETOPT_TYPE_STR), @@ -181,6 +183,7 @@ elm_main(int argc, char **argv) Ecore_Getopt_Value values[] = { ECORE_GETOPT_VALUE_STR(pro_name), ECORE_GETOPT_VALUE_STR(pro_path), + ECORE_GETOPT_VALUE_STR(export_edj), ECORE_GETOPT_VALUE_LIST(img_dirs), ECORE_GETOPT_VALUE_LIST(snd_dirs), ECORE_GETOPT_VALUE_LIST(fnt_dirs), @@ -321,6 +324,7 @@ elm_main(int argc, char **argv) } run: +ap.path.export_edj = export_edj; if (!ui_main_window_add()) { app_shutdown(); diff --git a/src/bin/ui/menu.c b/src/bin/ui/menu.c index 8eeb0f7..9bc340b 100644 --- a/src/bin/ui/menu.c +++ b/src/bin/ui/menu.c @@ -109,6 +109,10 @@ _menu_cb(void *data __UNUSED__, break; case MENU_FILE_SAVE: project_save(); +#if HAVE_TIZEN + if (ap.path.export_edj) + project_export_develop(); +#endif break; case MENU_FILE_EXPORT_EDC_GROUP: project_export_edc_group(); diff --git a/src/bin/ui/project_export.c b/src/bin/ui/project_export.c index 8d57cf6..08baa03 100644 --- a/src/bin/ui/project_export.c +++ b/src/bin/ui/project_export.c @@ -65,7 +65,7 @@ _export_dev(void *data __UNUSED__, eina_strbuf_append_printf(buf, _("
[EGIT] [tools/eflete] master 01/01: theme: set the edj file path dynamically.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=3a4a7d5cba1f41f20e2a25f7ea0fded665148f85 commit 3a4a7d5cba1f41f20e2a25f7ea0fded665148f85 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Wed Jul 20 20:26:29 2016 +0900 theme: set the edj file path dynamically. If it is re-located after compilation, the paths should be changed. --- configure.ac | 9 + src/bin/common/widget_macro.h| 2 +- src/bin/eflete.c | 19 +-- src/bin/eflete.h | 6 ++ src/bin/external/syntax_color.c | 2 +- src/bin/project_manager/project_manager.c| 4 +++- src/bin/ui/colorclass_manager.c | 2 +- src/bin/ui/cursor.c | 2 +- src/bin/ui/editors/animator_program_editor.c | 2 +- src/bin/ui/image_manager.c | 10 ++ src/bin/ui/menu.c| 5 - src/bin/ui/popup.c | 2 +- src/bin/ui/preference/preference.c | 2 +- src/bin/ui/property/property_common.c| 6 +++--- src/bin/ui/property/property_group.c | 12 ++-- src/bin/ui/tab_home_import_edj.c | 6 -- src/bin/ui/tab_home_new.c| 7 +++ src/bin/ui/workspace/container.c | 8 src/bin/ui/workspace/highlight.c | 4 ++-- 19 files changed, 66 insertions(+), 44 deletions(-) diff --git a/configure.ac b/configure.ac index 05dfad8..7aa2aad 100644 --- a/configure.ac +++ b/configure.ac @@ -205,14 +205,7 @@ AC_SUBST(LOCALE_DIR) DEPS_EOLIAN_FLAGS=`${PKG_CONFIG} --variable=eolian_flags eo efl evas edje ecore elementary` AC_SUBST([DEPS_EOLIAN_FLAGS]) -EFLETE_DEFINE=" -DEFLETE_EDJ=\\\"${datadir}/eflete/layouts/eflete.edj\\\" " -EFLETE_DEFINE+=" -DEFLETE_THEME=\\\"${datadir}/eflete/themes/default/eflete_elm.edj\\\" " -EFLETE_DEFINE+=" -DEFLETE_EDJ_PATH=\\\"${datadir}/eflete/themes/default/\\\" " -EFLETE_DEFINE+=" -DEFLETE_IMG_PATH=\\\"${datadir}/eflete/images/\\\" " -EFLETE_DEFINE+=" -DEFLETE_TEMPLATE_EDJ_PATH=\\\"${datadir}/eflete/themes/default/template/edj\\\" " -EFLETE_DEFINE+=" -DEFLETE_TEMPLATE_EDC_PATH=\\\"${datadir}/eflete/themes/default/template/edc\\\" " -EFLETE_DEFINE+=" -DEFLETE_TEMPLATE_IMAGES_PATH=\\\"${datadir}/eflete/themes/default/template/images\\\" " -EFLETE_DEFINE+=" -DEFLETE_TEMPLATE_SOUNDS_PATH=\\\"${datadir}/eflete/themes/default/template/sounds\\\" " +EFLETE_DEFINE=" -DEFLETE_EDJ_PATH=\\\"${datadir}/eflete/themes/default/\\\" " AC_SUBST([EFLETE_DEFINE]) AM_PROG_CC_C_O diff --git a/src/bin/common/widget_macro.h b/src/bin/common/widget_macro.h index 5c121ce..5e1933c 100644 --- a/src/bin/common/widget_macro.h +++ b/src/bin/common/widget_macro.h @@ -122,7 +122,7 @@ TODO("see large comment below") #define IMAGE_ADD_NEW(PARENT, IMAGE, NAME, STYLE) \ IMAGE = elm_image_add(PARENT); \ - elm_image_file_set(IMAGE, EFLETE_THEME, "elm/image/"NAME"/"STYLE); + elm_image_file_set(IMAGE, ap.path.theme_edj, "elm/image/"NAME"/"STYLE); #define HOVERSEL_ADD(PARENT, HOVERSEL, ISHORIZONTAL) \ HOVERSEL = elm_hoversel_add(PARENT); \ diff --git a/src/bin/eflete.c b/src/bin/eflete.c index 3dfae53..f498195 100644 --- a/src/bin/eflete.c +++ b/src/bin/eflete.c @@ -93,12 +93,19 @@ app_init() CRIT("Can't initialize the Ewe library"); return false; } + elm_app_info_set(NULL, "eflete", NULL); + + ap.path.theme_edj = eina_stringshare_printf("%s/themes/default/eflete_elm.edj", elm_app_data_dir_get()); + ap.path.layout_edj = eina_stringshare_printf("%s/layouts/eflete.edj", elm_app_data_dir_get()); + ap.path.edj_path = eina_stringshare_printf("%s/themes/default/", elm_app_data_dir_get()); + ap.path.image_path = eina_stringshare_printf("%s/images/", elm_app_data_dir_get()); ap.theme = elm_theme_new(); + #ifndef _WIN32 - char *theme = strdup(EFLETE_THEME); + char *theme = strdup(ap.path.theme_edj); #else - char *theme = escape_colons(EFLETE_THEME); + char *theme = escape_colons(ap.path.theme_edj); #endif elm_theme_set(ap.theme, theme); free(theme); @@ -116,6 +123,14 @@ app_shutdown() { if (ap.last_path) eina_stringshare_del(ap.last_path); + if (ap.path.theme_edj) + eina_stringshare_del(ap.path.theme_edj); + if (ap.path.layout_edj) + eina_stringshare_del(ap.path.layout_edj); + if (ap.path.edj_path) + eina_stringshare_del(ap.path.edj_path); + if (ap.path.image_path) + eina_stringshare_del(ap.path.image_path); config_shutdown();
[EGIT] [tools/eflete] master 01/01: widget_list: fix the function name
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=9c53a1b0507e81a1f37de082fbf000ce305884ff commit 9c53a1b0507e81a1f37de082fbf000ce305884ff Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Mon Jul 18 11:06:06 2016 +0900 widget_list: fix the function name Window System uses same function name. @fix --- src/bin/common/widget_list.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/common/widget_list.c b/src/bin/common/widget_list.c index 46330f4..7eeb548 100644 --- a/src/bin/common/widget_list.c +++ b/src/bin/common/widget_list.c @@ -143,7 +143,7 @@ style_name_check(const Eina_Stringshare *group_name, const char *style_name) return !strcmp(style_name, style); } -char* strrstr(char* str, const char* ptn) +char* _strrstr(char* str, const char* ptn) { unsigned int ptnlen = 0; unsigned int i = 0, j = 0; @@ -223,7 +223,7 @@ item_style_name_get(const Eina_Stringshare *group_name, Eina_List *style_list) { char *str; -str = strrstr(style, style_item->name); +str = _strrstr(style, style_item->name); if (str) { style[strlen(style) - strlen(str) - 1] = '\0'; --
[EGIT] [tools/eflete] master 14/14: export: export edj with only used groups and add append feature.
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=fb6e187bfd79587eb6fa789d71102aeba5ce58f9 commit fb6e187bfd79587eb6fa789d71102aeba5ce58f9 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Thu Jul 7 17:36:01 2016 +0900 export: export edj with only used groups and add append feature. export edj file with only used groups. If any group is not used in current project, it isn't included in saved edj. And if we set the exist file name to export, it is possible that current groups are appended into the edj file. @feature --- src/bin/ui/popup.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bin/ui/popup.c b/src/bin/ui/popup.c index 48a1ca2..aa25bc3 100644 --- a/src/bin/ui/popup.c +++ b/src/bin/ui/popup.c @@ -137,6 +137,8 @@ popup_want_action(const char *title, BTN_ADD(_("Cancel"), "button3", &_btn_cancel); evas_object_smart_callback_add(ap.popup, SIGNAL_SHORTCUT_CANCEL, _btn_cb, &_btn_cancel); } + else if ((popup_btns & BTN_CANCEL) && (popup_btns & BTN_APPEND)) + BTN_ADD(_("Cancel"), "button3", &_btn_cancel) else if (popup_btns & BTN_CANCEL) { BTN_ADD(_("Cancel"), "button2", &_btn_cancel); --
[EGIT] [tools/eflete] master 01/02: menu: change the menu to be shown in Tizen
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=c4361ed1ca405e4af907d88533ddd39d2d44bd95 commit c4361ed1ca405e4af907d88533ddd39d2d44bd95 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Thu Jul 7 17:34:10 2016 +0900 menu: change the menu to be shown in Tizen --- src/bin/ui/menu.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/bin/ui/menu.c b/src/bin/ui/menu.c index c99f0b4..820b638 100644 --- a/src/bin/ui/menu.c +++ b/src/bin/ui/menu.c @@ -274,19 +274,19 @@ ui_menu_add(void) ITEM_MENU_ADD(MENU_FILE, MENU_FILE_IMPORT_EDJ, NULL, _("Import edj-file"), NULL) ITEM_MENU_ADD(MENU_FILE, MENU_FILE_IMPORT_EDC, NULL, _("Import edc-file"), NULL) ___(MENU_FILE); -#endif /* if !HAVE_TIZEN */ ITEM_MENU_ADD(MENU_FILE, MENU_FILE_SAVE, EFLETE_IMG_PATH"icon-save.png", _("Save"), "Ctrl-S") ITEM_MENU_ADD(MENU_FILE, MENU_FILE_EXPORT_EDC, NULL, _("Export as edc"), NULL) ITEM_MENU_ADD(MENU_FILE_EXPORT_EDC, MENU_FILE_EXPORT_EDC_GROUP, NULL, _("Group"), NULL) ITEM_MENU_ADD(MENU_FILE_EXPORT_EDC, MENU_FILE_EXPORT_EDC_PROJECT, NULL, _("Project"), NULL) -#if !HAVE_TIZEN +#endif /* if !HAVE_TIZEN */ ITEM_MENU_ADD(MENU_FILE, MENU_FILE_EXPORT, NULL, _("Export as edj"), NULL) ITEM_MENU_ADD(MENU_FILE_EXPORT, MENU_FILE_EXPORT_DEVELOP, NULL, _("Develop"), NULL) ITEM_MENU_ADD(MENU_FILE_EXPORT, MENU_FILE_EXPORT_RELEASE, NULL, _("Release"), NULL) -#endif /* if !HAVE_TIZEN */ ___(MENU_FILE); +#if !HAVE_TIZEN ITEM_MENU_ADD(MENU_FILE, MENU_FILE_CLOSE_PROJECT, NULL, _("Close project"), NULL) ___(MENU_FILE); +#endif /* if !HAVE_TIZEN */ ITEM_MENU_ADD(MENU_FILE, MENU_FILE_EXIT, NULL, _("Quit"), "Ctrl-Q") ITEM_MENU_ADD(MENU_NULL, MENU_EDIT, NULL, _("Edit"), NULL) --
[EGIT] [tools/eflete] master 02/02: export: export edj with only used groups and add append feature.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=d67c52be9a51d0736f5f02dd97332b57a15a06ea commit d67c52be9a51d0736f5f02dd97332b57a15a06ea Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Thu Jul 7 17:36:01 2016 +0900 export: export edj with only used groups and add append feature. export edj file with only used groups. If any group is not used in current project, it isn't included in saved edj. And if we set the exist file name to export, it is possible that current groups are appended into the edj file. @feature --- src/bin/project_manager/project_manager.c | 64 +-- src/bin/ui/main_window.h | 3 +- src/bin/ui/popup.c| 13 ++- src/bin/ui/project_common.c | 13 +-- src/bin/ui/project_common.h | 2 +- src/bin/ui/project_export.c | 8 ++-- src/bin/ui/tab_home_import_edc.c | 2 +- src/bin/ui/tab_home_import_edj.c | 2 +- src/bin/ui/tab_home_new.c | 2 +- 9 files changed, 91 insertions(+), 18 deletions(-) diff --git a/src/bin/project_manager/project_manager.c b/src/bin/project_manager/project_manager.c index ab86e0d..48d9bfd 100644 --- a/src/bin/project_manager/project_manager.c +++ b/src/bin/project_manager/project_manager.c @@ -374,6 +374,7 @@ _project_edj_file_copy(void) src = eina_stringshare_ref(worker.edj); dst = eina_stringshare_ref(worker.project->saved_edj); result = ecore_file_cp(src, dst); + DBG("Copy the .edj file to project folder."); eina_stringshare_del(src); eina_stringshare_del(dst); @@ -1658,12 +1659,69 @@ 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)); - eina_file_copy(worker.project->dev, worker.edj, - EINA_FILE_COPY_PERMISSION | EINA_FILE_COPY_XATTR, - NULL, NULL); + + 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); diff --git a/src/bin/ui/main_window.h b/src/bin/ui/main_window.h index 2c56780..6de173a 100644 --- a/src/bin/ui/main_window.h +++ b/src/bin/ui/main_window.h @@ -143,7 +143,8 @@ typedef enum _Popup_Button BTN_CANCEL = (1 << 1), BTN_SAVE = (1 << 2), BTN_DONT_SAVE = (1 << 3), - BTN_REPLACE= (1 << 4) + BTN_REPLACE= (1 << 4), + BTN_APPEND = (1 << 5) } Popup_Button; /** diff --git a/src/bin/ui/popup.c b/src/bin/ui/popup.c index 39b5ce2..0f8cf8d 100644 --- a/src/bin/ui/popup.c +++ b/src/bin/ui/popup.c @@ -31,6 +31,7 @@ static void* func_data; static const
[EGIT] [core/efl] master 01/01: edje_pick: realloc bug fix
jaehwan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=0906506470a8f1058dd5840e874f515b8ee8ffc2 commit 0906506470a8f1058dd5840e874f515b8ee8ffc2 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Thu Jul 7 14:30:17 2016 +0900 edje_pick: realloc bug fix @fix --- src/bin/edje/edje_pick.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/edje/edje_pick.c b/src/bin/edje/edje_pick.c index 05528e1..7b5d73d 100644 --- a/src/bin/edje/edje_pick.c +++ b/src/bin/edje/edje_pick.c @@ -745,7 +745,7 @@ _edje_pick_images_copy(Edje_File *edf, Edje_File *o) o->image_dir->entries_count += 1; /* alloc mem first time or re-allocate again (bigger array) */ - entries = realloc(entries, + entries = realloc(o->image_dir->entries, o->image_dir->entries_count * sizeof(Edje_Image_Directory_Entry)); if (!entries) --
[EGIT] [core/efl] master 01/01: edje_pick: load just used images.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3b349e9d71a51286e9793ec6e1fd3e1f65c38e2e commit 3b349e9d71a51286e9793ec6e1fd3e1f65c38e2e Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Fri Jul 1 11:18:27 2016 +0900 edje_pick: load just used images. If the edj is made by partial groups, the images that groups use should be included. @fix --- src/bin/edje/edje_pick.c | 327 +-- 1 file changed, 201 insertions(+), 126 deletions(-) diff --git a/src/bin/edje/edje_pick.c b/src/bin/edje/edje_pick.c index 2c2e6df..dc1a761 100644 --- a/src/bin/edje/edje_pick.c +++ b/src/bin/edje/edje_pick.c @@ -661,19 +661,26 @@ _edje_pick_header_make(Edje_File *out_file , Edje_File *edf, Eina_List *ifs) } static int -_id_cmp(const void *d1, const void *d2) +_old_id_cmp(const void *d1, const void *d2) { /* Find currect ID struct */ return (((Edje_Pick_Data *) d1)->id.old_id - ((intptr_t) d2)); } static int +_new_id_cmp(const void *d1, const void *d2) +{ + /* Find currect ID struct */ + return (((Edje_Pick_Data *) d1)->id.new_id - ((intptr_t) d2)); +} + +static int _edje_pick_new_id_get(Eina_List *id_list, int id, Eina_Bool set_used) { if (id >= 0) { Edje_Pick_Data *p_id = eina_list_search_unsorted(id_list, - _id_cmp, + _old_id_cmp, (void *) (intptr_t) id); @@ -690,127 +697,111 @@ _edje_pick_new_id_get(Eina_List *id_list, int id, Eina_Bool set_used) } static int -_edje_pick_images_add(Edje_File *edf, Edje_File *o) +_edje_pick_image_new_id_get(Eina_List *id_list, int id) { - char buf[1024]; - int size; - unsigned int k; - void *data; - Eina_Bool status = EDJE_PICK_NO_ERROR; - static int current_img_id = 0; - - if (edf->image_dir) + if (id >= 0) { -if (!o->image_dir) /* First time only */ - o->image_dir = calloc(1, sizeof(*(o->image_dir))); - -for (k = 0; k < edf->image_dir->entries_count; k++) - { /* Copy Images */ - Edje_Image_Directory_Entry *img = >image_dir->entries[k]; +Edje_Pick_Data *p_id = eina_list_search_unsorted(id_list, + _old_id_cmp, + (void *) (intptr_t) id); +if (p_id) return p_id->id.new_id; + } - snprintf(buf, sizeof(buf), "edje/images/%i", img->id); - VERBOSE(EINA_LOG_INFO("Trying to read <%s>\n", img->entry)); - data = eet_read(edf->ef, buf, ); - if (size) - { /* Advance image ID and register this in imagelist */ - Edje_Pick_Data *image = malloc(sizeof(*image)); + return -1; +} - image->filename = eina_stringshare_add(img->entry); - image->data = data; - image->size = size; - image->entry = (void *) img; /* for output file image dir */ - image->id.old_id = img->id; - img->id = image->id.new_id = current_img_id; - image->id.used = EINA_FALSE; +static int +_edje_pick_image_old_id_get(Eina_List *id_list, int id) +{ + if (id >= 0) + { +Edje_Pick_Data *p_id = eina_list_search_unsorted(id_list, + _new_id_cmp, + (void *) (intptr_t) id); +if (p_id) return p_id->id.old_id; + } - VERBOSE(EINA_LOG_INFO("Read image <%s> data <%p> size <%d>\n", - buf, image->data, image->size)); + return -1; +} - current_img_id++; - context.current_file->imagelist = eina_list_append( -context.current_file->imagelist, image); - } - else - { - if (img->entry) -{ - EINA_LOG_ERR("Image <%s> was not found in <%s> file.\n", - img->entry , context.current_file->name); - status = EDJE_PICK_IMAGE_NOT_FOUND; -} - else -{ - EINA_LOG_ERR("Image entry <%s> was not found in <%s> file.\n", buf , context.current_file->name); - status = EDJE_PICK_IMAGE_NOT_FOUND; -} - /* Should that really be freed? Or is some other handling needed? */ - free(data); -
[EGIT] [tools/eflete] master 01/01: group_navigator: copy the style by command
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=5435b55e0e13c64afc0764cd874e88b72a244953 commit 5435b55e0e13c64afc0764cd874e88b72a244953 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Thu Jun 16 15:55:32 2016 +0900 group_navigator: copy the style by command Use like eflete -w button:default[default2] ~/default.edj It will copy the default style to default2 style. group navigator show "default2" that is copied "default" style --- src/bin/common/widget_list.c | 91 ++- src/bin/common/widget_list.h | 3 + src/bin/main.c| 2 +- src/bin/project_manager/group_manager.c | 1 + src/bin/project_manager/project_manager.c | 4 +- src/bin/project_manager/project_manager.h | 2 +- src/bin/ui/tab_home_common.c | 38 - src/bin/ui/tab_home_import_edc.c | 4 +- src/bin/ui/tab_home_import_edj.c | 17 -- src/bin/ui/tab_home_new.c | 4 +- src/bin/ui/tabs_private.h | 2 +- 11 files changed, 152 insertions(+), 16 deletions(-) diff --git a/src/bin/common/widget_list.c b/src/bin/common/widget_list.c index 0e3231f..46330f4 100644 --- a/src/bin/common/widget_list.c +++ b/src/bin/common/widget_list.c @@ -250,7 +250,7 @@ option_widget_name_get(const char *str, Eina_List **style_list) char widget[32], style[256]; Eina_List *list = NULL; int i, first = 0; - Eina_Bool is_style = EINA_FALSE; + Eina_Bool is_style = EINA_FALSE, copying = EINA_FALSE; for (i = 0; i < len; i++) { @@ -268,7 +268,12 @@ option_widget_name_get(const char *str, Eina_List **style_list) } else { - if (str[i] == ',') + if (str[i] == '[') + copying = EINA_TRUE; + else if (str[i] == ']') + copying = EINA_FALSE; + + if (!copying && str[i] == ',') { style[i - first] = '\0'; list = eina_list_append(list, strdup(style)); @@ -291,3 +296,85 @@ option_widget_name_get(const char *str, Eina_List **style_list) return strdup(widget); } + +const char * +option_style_name_get(const char *str, Eina_List **cp_style_list) +{ + int len = strlen(str); + char style[32], cp_style[256]; + Eina_List *list = NULL; + int i, first = 0; + Eina_Bool is_cp_style = EINA_FALSE; + + for (i = 0; i < len; i++) + { +if (str[i] == '[') + { + is_cp_style = EINA_TRUE; + style[i] = '\0'; + first = i + 1; + continue; + } +else if (str[i] == ']') + break; + +if (!is_cp_style) + { + style[i] = str[i]; + } +else + { + if (str[i] == ',') + { + cp_style[i - first] = '\0'; + list = eina_list_append(list, strdup(cp_style)); + first = i + 1; + continue; + } + cp_style[i - first] = str[i]; + } + } + + if (!is_cp_style) + style[i] = '\0'; + else + { +cp_style[i - first] = '\0'; +list = eina_list_append(list, strdup(cp_style)); + } + + *cp_style_list = list; + + return strdup(style); +} + +Eina_List * +widget_prefix_list_get(Eina_List *collections, const char *widget_name, const char *style_name) +{ + Eina_List *l, *list = NULL; + Eina_Stringshare *group_name; + char prefix[1024]; + const char *widget = NULL; + const char *style = NULL; + int i, end = 0; + + EINA_LIST_FOREACH(collections, l, group_name) + { +widget = widget_name_get(group_name); + +if (widget && !strcmp(widget, widget_name)) + { + style = style_name_get(group_name); + if (style && !strcmp(style, style_name)) + { + end = strlen(group_name) - strlen(strrchr(group_name, '/')) + 1; + for (i = 0; i < end; i++) +prefix[i] = group_name[i]; + prefix[i] = '\0'; + + list = eina_list_append(list, strdup(prefix)); + } + } + } + return list; +} diff --git a/src/bin/common/widget_list.h b/src/bin/common/widget_list.h index 35683a4..1a40b87 100644 --- a/src/bin/common/widget_list.h +++ b/src/bin/common/widget_list.h @@ -25,6 +25,7 @@ struct _Tree_Item_Data const char *name; Eina_Bool check; Eina_List *list; + Eina_List *copy; }; typedef struct _Tree_Item_Data Tree_Item_Data; @@ -41,5 +42,7 @@ const char *item_style_name_get(const Eina_Stringshare *group_name, Eina_List *s Eina_Bool style_name_check(const Eina_Stringshare *group_name, const char *style_name); Eina_Bool item_style_name_check(const Eina_Stringshare
[EGIT] [tools/eflete] master 01/01: Project navigator: change the method to get the text
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=f5547763e6689cf60868a1085113f8af2cfedb4c commit f5547763e6689cf60868a1085113f8af2cfedb4c Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Wed Jun 8 18:25:53 2016 +0900 Project navigator: change the method to get the text If the genlist item is not realized, it occurs the segfault since the item can not return the text. So in that case, genlist should call the get_text function directly. @fix --- src/bin/ui/project_navigator.c | 15 ++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/bin/ui/project_navigator.c b/src/bin/ui/project_navigator.c index 0ff96db..e7f1e18 100644 --- a/src/bin/ui/project_navigator.c +++ b/src/bin/ui/project_navigator.c @@ -324,9 +324,22 @@ _on_clicked_double(void *data __UNUSED__, static Elm_Object_Item * _find_item(Elm_Object_Item *item, const char *name) { + char *item_text = NULL; + while (item) { -if (!strcmp(elm_object_item_text_get(item), name)) break; +if (elm_genlist_item_item_class_get(item) == project_navigator.itc_folder) + item_text = _folder_item_label_get(elm_object_item_data_get(item), NULL, NULL); +else if (elm_genlist_item_item_class_get(item) == project_navigator.itc_group) + item_text = _group_item_label_get(elm_object_item_data_get(item), NULL, NULL); + +if (item_text && !strcmp(item_text, name)) + { + free(item_text); + break; + } +if (item_text) free(item_text); + item = elm_genlist_item_next_get(item); } return item; --
[EGIT] [core/efl] master 01/01: examples: elementary: fix the wrong spell in comment.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=2f75c8b6d9a6d93d6a0940c26dc0808331fb7e3c commit 2f75c8b6d9a6d93d6a0940c26dc0808331fb7e3c Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Wed Jun 1 13:22:14 2016 +0900 examples: elementary: fix the wrong spell in comment. --- src/examples/elementary/theme_example_02.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/examples/elementary/theme_example_02.c b/src/examples/elementary/theme_example_02.c index 871d23f..4269fb0 100644 --- a/src/examples/elementary/theme_example_02.c +++ b/src/examples/elementary/theme_example_02.c @@ -1,5 +1,5 @@ /* - * gcc -o theme_example_02 theme_example_02.c `pkg-config --cflags --libs elememntaru` + * gcc -o theme_example_02 theme_example_02.c `pkg-config --cflags --libs elementary` */ #include --
Re: [E-devel] [EGIT] [core/efl] master 01/01: elm fileselector - make ok/cancel in selector configurable per os
Thanks for this commit I just need this feature. I have one qeustion. why the default is not cancel/ok? Ubuntu and Mac use cancel/ok I just wonder why don't apply ubuntu rule. 2016. 6. 2. 오후 6:39에 "Carsten Haitzler"님이 작성: > raster pushed a commit to branch master. > > > http://git.enlightenment.org/core/efl.git/commit/?id=aec0cb9a67c4f203d70cb0886f859470b7fbdbf3 > > commit aec0cb9a67c4f203d70cb0886f859470b7fbdbf3 > Author: Carsten Haitzler (Rasterman) > Date: Thu Jun 2 18:37:06 2016 +0900 > > elm fileselector - make ok/cancel in selector configurable per os > > so the theme build can order ok/cancel based on preference for an os, > so make configure have an option for this and build the theme > specifically based on that option. enable the option if you want mac > style cancel, ok or default ok, cancel as is common elsewhere. > > --enable-cancel-ok > > is the option > > @feature > --- > configure.ac| 11 +++ > data/elementary/themes/Makefile.am | 1 + > data/elementary/themes/edc/elm/fileselector.edc | 18 +- > 3 files changed, 29 insertions(+), 1 deletion(-) > > diff --git a/configure.ac b/configure.ac > index 3eef79c..875968d 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -5516,6 +5516,17 @@ AC_SUBST([ELEMENTARYJS_CXXFLAGS]) > EFL_LIB_END_OPTIONAL([ELEMENTARY_JS]) > End of Efl_Js > > +ELM_EDJE_DEFINES="" > +AC_ARG_ENABLE([cancel-ok], > + [AS_HELP_STRING([--enable-cancel-ok],[Enable ordering of > cancel and ok buttons to be cancel first, then ok instead of ok then > cancel. @<:@default=disabled@:>@])], > + [ > +if test "x${enableval}" = "xyes" ; then > +ELM_EDJE_DEFINES="$ELM_EDJE_DEFINES -DELM_CANCEL_OK=1" > +fi > + ],[]) > +AC_SUBST(ELM_EDJE_DEFINES) > + > + > ## Disable warning for OS that have a specifc configuration > case "$host_os" in > mingw*|cygwin*) > diff --git a/data/elementary/themes/Makefile.am > b/data/elementary/themes/Makefile.am > index 40a2000..662bce9 100644 > --- a/data/elementary/themes/Makefile.am > +++ b/data/elementary/themes/Makefile.am > @@ -1,4 +1,5 @@ > EDJE_CC_ELM_FLAGS = \ > +@ELM_EDJE_DEFINES@ \ > -id $(top_srcdir)/data/elementary/themes/img \ > -id $(top_srcdir)/data/elementary/themes/fdo \ > -fd $(top_srcdir)/data/elementary/themes/fnt \ > diff --git a/data/elementary/themes/edc/elm/fileselector.edc > b/data/elementary/themes/edc/elm/fileselector.edc > index be2eb00..ac7208b 100644 > --- a/data/elementary/themes/edc/elm/fileselector.edc > +++ b/data/elementary/themes/edc/elm/fileselector.edc > @@ -54,8 +54,12 @@ group { name: "elm/fileselector/base/default"; > } > } >} > +#ifdef ELM_CANCEL_OK >swallow { "elm.swallow.ok"; > - description { state: "default" 0.0; > +#else > + swallow { "elm.swallow.cancel"; > +#endif > + desc { "default"; > align: 1.0 1.0; > fixed: 1 1; > rel1.relative: 1.0 1.0; > @@ -64,17 +68,29 @@ group { name: "elm/fileselector/base/default"; > rel2.offset: -4 -4; > } >} > +#ifdef ELM_CANCEL_OK >swallow { "elm.swallow.cancel"; > +#else > + swallow { "elm.swallow.ok"; > +#endif > desc { "default"; > align: 1.0 0.5; > fixed: 1 0; > rel1 { > +#ifdef ELM_CANCEL_OK > to: "elm.swallow.ok"; > +#else > + to: "elm.swallow.cancel"; > +#endif > relative: 0.0 0.0; > offset: -4 0; > } > rel2 { > +#ifdef ELM_CANCEL_OK > to: "elm.swallow.ok"; > +#else > + to: "elm.swallow.cancel"; > +#endif > relative: 0.0 1.0; > offset: -4 -1; > } > > -- > > > -- 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. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e ___ 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: elm fileselector - make ok/cancel in selector configurable per os
Thanks for this commit I just need this feature. I have one qeustion. why the default is not cancel/ok? Ubuntu and Mac use cancel/ok I just wonder why don't apply ubuntu rule. 2016. 6. 2. 오후 6:39에 "Carsten Haitzler"님이 작성: > raster pushed a commit to branch master. > > > http://git.enlightenment.org/core/efl.git/commit/?id=aec0cb9a67c4f203d70cb0886f859470b7fbdbf3 > > commit aec0cb9a67c4f203d70cb0886f859470b7fbdbf3 > Author: Carsten Haitzler (Rasterman) > Date: Thu Jun 2 18:37:06 2016 +0900 > > elm fileselector - make ok/cancel in selector configurable per os > > so the theme build can order ok/cancel based on preference for an os, > so make configure have an option for this and build the theme > specifically based on that option. enable the option if you want mac > style cancel, ok or default ok, cancel as is common elsewhere. > > --enable-cancel-ok > > is the option > > @feature > --- > configure.ac| 11 +++ > data/elementary/themes/Makefile.am | 1 + > data/elementary/themes/edc/elm/fileselector.edc | 18 +- > 3 files changed, 29 insertions(+), 1 deletion(-) > > diff --git a/configure.ac b/configure.ac > index 3eef79c..875968d 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -5516,6 +5516,17 @@ AC_SUBST([ELEMENTARYJS_CXXFLAGS]) > EFL_LIB_END_OPTIONAL([ELEMENTARY_JS]) > End of Efl_Js > > +ELM_EDJE_DEFINES="" > +AC_ARG_ENABLE([cancel-ok], > + [AS_HELP_STRING([--enable-cancel-ok],[Enable ordering of > cancel and ok buttons to be cancel first, then ok instead of ok then > cancel. @<:@default=disabled@:>@])], > + [ > +if test "x${enableval}" = "xyes" ; then > +ELM_EDJE_DEFINES="$ELM_EDJE_DEFINES -DELM_CANCEL_OK=1" > +fi > + ],[]) > +AC_SUBST(ELM_EDJE_DEFINES) > + > + > ## Disable warning for OS that have a specifc configuration > case "$host_os" in > mingw*|cygwin*) > diff --git a/data/elementary/themes/Makefile.am > b/data/elementary/themes/Makefile.am > index 40a2000..662bce9 100644 > --- a/data/elementary/themes/Makefile.am > +++ b/data/elementary/themes/Makefile.am > @@ -1,4 +1,5 @@ > EDJE_CC_ELM_FLAGS = \ > +@ELM_EDJE_DEFINES@ \ > -id $(top_srcdir)/data/elementary/themes/img \ > -id $(top_srcdir)/data/elementary/themes/fdo \ > -fd $(top_srcdir)/data/elementary/themes/fnt \ > diff --git a/data/elementary/themes/edc/elm/fileselector.edc > b/data/elementary/themes/edc/elm/fileselector.edc > index be2eb00..ac7208b 100644 > --- a/data/elementary/themes/edc/elm/fileselector.edc > +++ b/data/elementary/themes/edc/elm/fileselector.edc > @@ -54,8 +54,12 @@ group { name: "elm/fileselector/base/default"; > } > } >} > +#ifdef ELM_CANCEL_OK >swallow { "elm.swallow.ok"; > - description { state: "default" 0.0; > +#else > + swallow { "elm.swallow.cancel"; > +#endif > + desc { "default"; > align: 1.0 1.0; > fixed: 1 1; > rel1.relative: 1.0 1.0; > @@ -64,17 +68,29 @@ group { name: "elm/fileselector/base/default"; > rel2.offset: -4 -4; > } >} > +#ifdef ELM_CANCEL_OK >swallow { "elm.swallow.cancel"; > +#else > + swallow { "elm.swallow.ok"; > +#endif > desc { "default"; > align: 1.0 0.5; > fixed: 1 0; > rel1 { > +#ifdef ELM_CANCEL_OK > to: "elm.swallow.ok"; > +#else > + to: "elm.swallow.cancel"; > +#endif > relative: 0.0 0.0; > offset: -4 0; > } > rel2 { > +#ifdef ELM_CANCEL_OK > to: "elm.swallow.ok"; > +#else > + to: "elm.swallow.cancel"; > +#endif > relative: 0.0 1.0; > offset: -4 -1; > } > > -- > > > -- 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. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [tools/eflete] master 01/01: group_manager: add all groups if there's no checked widget
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=42b79b625658d1f76f050213d615af8ce954b0d2 commit 42b79b625658d1f76f050213d615af8ce954b0d2 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Wed Jun 1 20:18:46 2016 +0900 group_manager: add all groups if there's no checked widget @fix --- src/bin/project_manager/group_manager.c | 27 +-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/src/bin/project_manager/group_manager.c b/src/bin/project_manager/group_manager.c index 9179147..6174543 100644 --- a/src/bin/project_manager/group_manager.c +++ b/src/bin/project_manager/group_manager.c @@ -421,6 +421,27 @@ gm_group_del(Project *pro, Group *group) free(group); } +Eina_Bool +_is_checked(Eina_List *widgets) +{ + Eina_List *l, *ll, *lll; + Tree_Item_Data *widget, *style; + End_Item_Data *item_style; + + EINA_LIST_FOREACH(widgets, l, widget) + { +if (widget->check) return EINA_TRUE; +EINA_LIST_FOREACH(widget->list, ll, style) + { + if (style->check) return EINA_TRUE; + EINA_LIST_FOREACH(style->list, lll, item_style) + if (item_style->check) return EINA_TRUE; + } + } + + return EINA_FALSE; +} + void gm_groups_load(Project *pro) { @@ -430,7 +451,7 @@ gm_groups_load(Project *pro) Tree_Item_Data *widget, *style; End_Item_Data *item_style; Group *group; - Eina_Bool check; + Eina_Bool check, is_checked; assert(pro != NULL); assert(pro->dev != NULL); @@ -440,13 +461,15 @@ gm_groups_load(Project *pro) assert(collections != NULL); + is_checked = _is_checked(pro->widgets); + collections = eina_list_sort(collections, eina_list_count(collections), (Eina_Compare_Cb) strcmp); EINA_LIST_FOREACH(collections, l, group_name) { check = false; if (!strcmp(group_name, EFLETE_INTERNAL_GROUP_NAME)) continue; -if (pro->widgets) +if (pro->widgets && is_checked) { widget_name = widget_name_get(group_name); if (!widget_name) continue; --
[EGIT] [core/efl] master 01/01: Elementary: fix the indentation
jaehwan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=945932e1b1c66a2a19f0410c4f95c4449bf767d7 commit 945932e1b1c66a2a19f0410c4f95c4449bf767d7 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Mon May 30 11:36:49 2016 +0900 Elementary: fix the indentation --- src/lib/elementary/efl_ui_box.c | 2 +- src/lib/elementary/elm_box.c| 4 ++-- src/lib/elementary/elm_grid.c | 2 +- src/lib/elementary/elm_panel.c | 2 +- src/lib/elementary/elm_widget.h | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/lib/elementary/efl_ui_box.c b/src/lib/elementary/efl_ui_box.c index 0c1f793..9f8291f 100644 --- a/src/lib/elementary/efl_ui_box.c +++ b/src/lib/elementary/efl_ui_box.c @@ -310,7 +310,7 @@ _efl_ui_box_efl_pack_unpack_all(Eo *obj, Efl_Ui_Box_Data *pd) pd->delete_me = EINA_TRUE; bd = evas_object_smart_data_get(wd->resize_obj); EINA_LIST_FOREACH(bd->children, l, opt) - _elm_widget_sub_object_redirect_to_top(obj, opt->obj); + _elm_widget_sub_object_redirect_to_top(obj, opt->obj); pd->delete_me = EINA_FALSE; ret = evas_object_box_remove_all(wd->resize_obj, EINA_FALSE); diff --git a/src/lib/elementary/elm_box.c b/src/lib/elementary/elm_box.c index d7262a8..962ebfb 100644 --- a/src/lib/elementary/elm_box.c +++ b/src/lib/elementary/elm_box.c @@ -536,7 +536,7 @@ _elm_box_unpack(Eo *obj, Elm_Box_Data *_pd EINA_UNUSED, Evas_Object *subobj) ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); if (evas_object_box_remove(wd->resize_obj, subobj)) - _elm_widget_sub_object_redirect_to_top(obj, subobj); + _elm_widget_sub_object_redirect_to_top(obj, subobj); } EOLIAN static void @@ -551,7 +551,7 @@ _elm_box_unpack_all(Eo *obj, Elm_Box_Data *pd) pd->delete_me = EINA_TRUE; bd = evas_object_smart_data_get(wd->resize_obj); EINA_LIST_FOREACH (bd->children, l, opt) - _elm_widget_sub_object_redirect_to_top(obj, opt->obj); + _elm_widget_sub_object_redirect_to_top(obj, opt->obj); pd->delete_me = EINA_FALSE; /* EINA_FALSE means do not delete objects */ diff --git a/src/lib/elementary/elm_grid.c b/src/lib/elementary/elm_grid.c index 7ab8359..f28a161 100644 --- a/src/lib/elementary/elm_grid.c +++ b/src/lib/elementary/elm_grid.c @@ -221,7 +221,7 @@ _elm_grid_clear(Eo *obj, void *_pd EINA_UNUSED, Eina_Bool clear) { chld = evas_object_grid_children_get(wd->resize_obj); EINA_LIST_FREE(chld, o) - _elm_widget_sub_object_redirect_to_top(obj, o); + _elm_widget_sub_object_redirect_to_top(obj, o); } evas_object_grid_clear(wd->resize_obj, clear); diff --git a/src/lib/elementary/elm_panel.c b/src/lib/elementary/elm_panel.c index 406e7d3..5ccfbdd 100644 --- a/src/lib/elementary/elm_panel.c +++ b/src/lib/elementary/elm_panel.c @@ -994,7 +994,7 @@ _elm_panel_content_unset(Eo *obj, Elm_Panel_Data *sd, const char *part) evas_object_box_remove_all(sd->bx, EINA_FALSE); if (sd->scrollable) - _elm_widget_sub_object_redirect_to_top(sd->scr_ly, sd->content); + _elm_widget_sub_object_redirect_to_top(sd->scr_ly, sd->content); sd->content = NULL; return ret; diff --git a/src/lib/elementary/elm_widget.h b/src/lib/elementary/elm_widget.h index e99a643..b0544a5 100644 --- a/src/lib/elementary/elm_widget.h +++ b/src/lib/elementary/elm_widget.h @@ -840,7 +840,7 @@ _elm_widget_sub_object_redirect_to_top(Evas_Object *obj, Evas_Object *sobj) { Eina_Bool ret = elm_widget_sub_object_del(obj, sobj); if (ret) - ret = elm_widget_sub_object_add(elm_widget_top_get(obj), sobj); + ret = elm_widget_sub_object_add(elm_widget_top_get(obj), sobj); return ret; } --
[EGIT] [core/efl] master 01/01: widget: set the parent-child relation again, when the widget is unset
jaehwan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=62cf70034de38b17f2025e08f81b5758b3d6d6e3 commit 62cf70034de38b17f2025e08f81b5758b3d6d6e3 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Mon May 30 09:47:39 2016 +0900 widget: set the parent-child relation again, when the widget is unset Summary: When the widget is unset from any container, a parent of the widget doesn't exist. So we should set its parent to the top object. But if we just set sd->parent, the parent can not find the widget as a child. So the container widgets set the parent-child relation when sub object is unset. This commit is related to 0822ad2195d335d65208856e6e590ac47691d920. @fix Test Plan: Check this issue. https://phab.enlightenment.org/D3855 The unset widget don't added any widget as child. So when it set scale, the widget can not reload the thmeme. Reviewers: raster, cedric, Hermet, reutskiy.v.v Reviewed By: Hermet, reutskiy.v.v Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D3957 Conflicts: src/lib/elementary/elm_mapbuf.c --- src/lib/elementary/efl_ui_box.c | 4 ++-- src/lib/elementary/elc_popup.c| 2 +- src/lib/elementary/elm_box.c | 4 ++-- src/lib/elementary/elm_flip.c | 2 +- src/lib/elementary/elm_genlist.c | 2 +- src/lib/elementary/elm_grid.c | 4 ++-- src/lib/elementary/elm_layout.c | 24 src/lib/elementary/elm_mapbuf.c | 2 +- src/lib/elementary/elm_notify.c | 2 +- src/lib/elementary/elm_panel.c| 2 +- src/lib/elementary/elm_scroller.c | 4 ++-- src/lib/elementary/elm_table.c| 2 +- src/lib/elementary/elm_toolbar.c | 6 +++--- src/lib/elementary/elm_widget.c | 2 +- src/lib/elementary/elm_widget.h | 10 ++ 15 files changed, 41 insertions(+), 31 deletions(-) diff --git a/src/lib/elementary/efl_ui_box.c b/src/lib/elementary/efl_ui_box.c index 38c3b17..0c1f793 100644 --- a/src/lib/elementary/efl_ui_box.c +++ b/src/lib/elementary/efl_ui_box.c @@ -310,7 +310,7 @@ _efl_ui_box_efl_pack_unpack_all(Eo *obj, Efl_Ui_Box_Data *pd) pd->delete_me = EINA_TRUE; bd = evas_object_smart_data_get(wd->resize_obj); EINA_LIST_FOREACH(bd->children, l, opt) - elm_widget_sub_object_del(obj, opt->obj); + _elm_widget_sub_object_redirect_to_top(obj, opt->obj); pd->delete_me = EINA_FALSE; ret = evas_object_box_remove_all(wd->resize_obj, EINA_FALSE); @@ -327,7 +327,7 @@ _efl_ui_box_efl_pack_unpack(Eo *obj, Efl_Ui_Box_Data *pd, Efl_Gfx *subobj) if (evas_object_box_remove(wd->resize_obj, subobj)) { -ret = elm_widget_sub_object_del(obj, subobj); +ret = _elm_widget_sub_object_redirect_to_top(obj, subobj); _sizing_eval(obj, pd); } diff --git a/src/lib/elementary/elc_popup.c b/src/lib/elementary/elc_popup.c index 7eaf31c..51a6e68 100644 --- a/src/lib/elementary/elc_popup.c +++ b/src/lib/elementary/elc_popup.c @@ -834,7 +834,7 @@ _item_icon_unset(Elm_Popup_Item_Data *it) Evas_Object *icon = it->icon; if (!it->icon) return NULL; - elm_widget_sub_object_del(WIDGET(it), icon); + _elm_widget_sub_object_redirect_to_top(WIDGET(it), icon); evas_object_data_del(icon, "_popup_icon_parent_item"); efl_content_unset(efl_part(VIEW(it), CONTENT_PART)); elm_layout_signal_emit(VIEW(it), "elm,state,item,icon,hidden", "elm"); diff --git a/src/lib/elementary/elm_box.c b/src/lib/elementary/elm_box.c index 15a1a14..d7262a8 100644 --- a/src/lib/elementary/elm_box.c +++ b/src/lib/elementary/elm_box.c @@ -536,7 +536,7 @@ _elm_box_unpack(Eo *obj, Elm_Box_Data *_pd EINA_UNUSED, Evas_Object *subobj) ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); if (evas_object_box_remove(wd->resize_obj, subobj)) - elm_widget_sub_object_del(obj, subobj); + _elm_widget_sub_object_redirect_to_top(obj, subobj); } EOLIAN static void @@ -551,7 +551,7 @@ _elm_box_unpack_all(Eo *obj, Elm_Box_Data *pd) pd->delete_me = EINA_TRUE; bd = evas_object_smart_data_get(wd->resize_obj); EINA_LIST_FOREACH (bd->children, l, opt) - elm_widget_sub_object_del(obj, opt->obj); + _elm_widget_sub_object_redirect_to_top(obj, opt->obj); pd->delete_me = EINA_FALSE; /* EINA_FALSE means do not delete objects */ diff --git a/src/lib/elementary/elm_flip.c b/src/lib/elementary/elm_flip.c index e9b61a1..adeddd5 100644 --- a/src/lib/elementary/elm_flip.c +++ b/src/lib/elementary/elm_flip.c @@ -1768,7 +1768,7 @@ _flip_content_unset(Evas_Object *obj, if (!*cont) return NULL; content = *cont; - elm_widget_sub_object_del(obj, content); + _elm_widget_sub_object_redirect_to_top(obj, content); return content; } diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_ge
[EGIT] [tools/eflete] master 02/02: Revert "project_manager: do not try load not selected widget"
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=054bc7411232188955a82f0d4acd55106c9a60b1 commit 054bc7411232188955a82f0d4acd55106c9a60b1 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Fri May 27 13:54:32 2016 +0900 Revert "project_manager: do not try load not selected widget" This reverts commit ce5282f3c7a4e0e4eb1393fcdd10e740e802de2b. It should load only checked widget. But this commit initialize the routine. --- src/bin/project_manager/project_manager.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/bin/project_manager/project_manager.c b/src/bin/project_manager/project_manager.c index 9bdeabe..c54a0dc 100644 --- a/src/bin/project_manager/project_manager.c +++ b/src/bin/project_manager/project_manager.c @@ -389,9 +389,6 @@ _project_open_internal(Project *project) project->ecore_evas = ecore_evas_buffer_new(0, 0); project->global_object = edje_edit_object_add(ecore_evas_get(project->ecore_evas)); edje_object_mmap_set(project->global_object, project->mmap_file, EFLETE_INTERNAL_GROUP_NAME); - /* this member MUST be NULL for opened project. User cann't select the one -* or more widget from opened project */ - project->widgets = NULL; _image_resources_load(project); _sound_resources_load(project); --
[EGIT] [tools/eflete] master 01/02: main_window: change the name to Component Designer in case of tizen
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=207d958a11cb95a24de8de342dc30ec5f2ae3c1e commit 207d958a11cb95a24de8de342dc30ec5f2ae3c1e Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Fri May 27 13:46:10 2016 +0900 main_window: change the name to Component Designer in case of tizen --- src/bin/ui/main_window.c | 4 1 file changed, 4 insertions(+) diff --git a/src/bin/ui/main_window.c b/src/bin/ui/main_window.c index 6f6dff1..acfa6c6 100644 --- a/src/bin/ui/main_window.c +++ b/src/bin/ui/main_window.c @@ -84,7 +84,11 @@ ui_main_window_add(void) evas_object_resize(ap.win, config->window.w, config->window.h); evas_object_move(ap.win, config->window.x, config->window.y); +#ifdef HAVE_TIZEN + elm_win_title_set(ap.win, "Component Designer"); +#else elm_win_title_set(ap.win, "EFL Edje Theme Editor"); +#endif evas_object_smart_callback_add(ap.win, "delete,request", _close_request, NULL); evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_QUIT, _close_request, NULL); --
[EGIT] [admin/devs] master 01/01: jaehwan: remove pub key. It's too short.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/admin/devs.git/commit/?id=d4de0d10615e016f688d6574098d6eb96a807177 commit d4de0d10615e016f688d6574098d6eb96a807177 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Wed May 25 19:50:05 2016 +0900 jaehwan: remove pub key. It's too short. --- developers/jaehwan/id_rsa.pub | 1 - 1 file changed, 1 deletion(-) diff --git a/developers/jaehwan/id_rsa.pub b/developers/jaehwan/id_rsa.pub deleted file mode 100755 index b6e8a8a..000 --- a/developers/jaehwan/id_rsa.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa B3NzaC1yc2EBIwAAAIEAzBIkD+Z6GQu6zaabK7S8Vbev6NV3dDGN1WASrXliy6fZv1XjQJqal/SIeQcnbC+bU4GSQUqFc518OaZ4HNHYM6yzWTAPesMX8ug428/Okkahjbr9conjtBdMm353d8KxJS20YW54OHNRi9u8RNF28T2Ygpl5TKjNeL4uz7rmY/0= jae.hwan@samsung.com --
[EGIT] [core/efl] master 01/01: sclae : add the feature for rounding off
jaehwan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e0bbc2aceddce568be3d702cd6d8d25ac04a16ea commit e0bbc2aceddce568be3d702cd6d8d25ac04a16ea Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Thu May 19 11:13:04 2016 +0900 sclae : add the feature for rounding off Add the feature for rounding off to the nearest in ELM_SCALE_SIZE macro. It makes to be more close to calculated value. --- src/lib/elementary/elm_macros.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elementary/elm_macros.h b/src/lib/elementary/elm_macros.h index 61b3377..0ce9b6c 100644 --- a/src/lib/elementary/elm_macros.h +++ b/src/lib/elementary/elm_macros.h @@ -1,7 +1,7 @@ /* handy macros */ #define ELM_RECTS_INTERSECT(x, y, w, h, xx, yy, ww, hh) (((x) < ((xx) + (ww))) && ((y) < ((yy) + (hh))) && (((x) + (w)) > (xx)) && (((y) + (h)) > (yy))) #define ELM_PI 3.14159265358979323846 -#define ELM_SCALE_SIZE(x) (int)(((double)(x) * elm_config_scale_get()) / elm_app_base_scale_get()) +#define ELM_SCALE_SIZE(x) ((int)(((double)(x) * elm_config_scale_get()) / elm_app_base_scale_get() + 0.5)) // checks if the point(xx, yy) stays out of the rectangle(x, y, w, h) area. #define ELM_RECTS_POINT_OUT(x, y, w, h, xx, yy) (((xx) < (x)) || ((yy) < (y)) || ((xx) > ((x) + (w))) || ((yy) > ((y) + (h --
[EGIT] [tools/eflete] master 06/06: Fix build errors
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=08616d86527fb831ad5f1b5c2047efa4ba1d38af commit 08616d86527fb831ad5f1b5c2047efa4ba1d38af Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Fri May 13 16:55:38 2016 +0900 Fix build errors --- src/lib/ewe_combobox.eo | 1 + src/lib/ewe_ruler.eo| 1 + 2 files changed, 2 insertions(+) diff --git a/src/lib/ewe_combobox.eo b/src/lib/ewe_combobox.eo index 80a37b0..c20ba0e 100644 --- a/src/lib/ewe_combobox.eo +++ b/src/lib/ewe_combobox.eo @@ -2,6 +2,7 @@ type Ewe_Combobox_Item: __undefined_type; class Ewe.Combobox (Elm.Widget) { + legacy_prefix: ewe_combobox; eo_prefix: ewe_obj_combobox; legacy_prefix: ewe_combobox; data: Ewe_Combobox_Smart_Data; diff --git a/src/lib/ewe_ruler.eo b/src/lib/ewe_ruler.eo index bc9dd77..9781cd2 100644 --- a/src/lib/ewe_ruler.eo +++ b/src/lib/ewe_ruler.eo @@ -3,6 +3,7 @@ type Ewe_Ruler_Marker: __undefined_type; class Ewe.Ruler (Elm.Widget) { + legacy_prefix: ewe_ruler; eo_prefix: ewe_obj_ruler; legacy_prefix: ewe_ruler; data: Ewe_Ruler_Smart_Data; --
[EGIT] [tools/eflete] master 01/01: main: add the style option in widget option.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=0035f313733b0d209e7e6c1a472bfeb0209311cb commit 0035f313733b0d209e7e6c1a472bfeb0209311cb Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Mon May 16 17:35:10 2016 +0900 main: add the style option in widget option. When eflete is executed by command, it can use like eflete -w button:default,anchor ~/default.edj --- src/bin/common/widget_list.c | 49 +++ src/bin/common/widget_list.h | 1 + src/bin/main.c | 2 +- src/bin/ui/tab_home_import_edj.c | 50 +++- 4 files changed, 95 insertions(+), 7 deletions(-) diff --git a/src/bin/common/widget_list.c b/src/bin/common/widget_list.c index de8a8e8..d405907 100644 --- a/src/bin/common/widget_list.c +++ b/src/bin/common/widget_list.c @@ -242,3 +242,52 @@ item_style_name_check(const Eina_Stringshare *group_name, const char *style_name return !strcmp(style_name, style); } + +const char * +option_widget_name_get(const char *str, Eina_List **style_list) +{ + int len = strlen(str); + char widget[32], style[256]; + Eina_List *list = NULL; + int i, first = 0; + Eina_Bool is_style = EINA_FALSE; + + for (i = 0; i < len; i++) + { +if (str[i] == ':') + { + is_style = EINA_TRUE; + widget[i] = '\0'; + first = i + 1; + continue; + } + +if (!is_style) + { + widget[i] = str[i]; + } +else + { + if (str[i] == ',') + { + style[i - first] = '\0'; + list = eina_list_append(list, strdup(style)); + first = i + 1; + continue; + } + style[i - first] = str[i]; + } + } + + if (!is_style) + widget[i] = '\0'; + else + { +style[i - first] = '\0'; +list = eina_list_append(list, strdup(style)); + } + + *style_list = list; + + return strdup(widget); +} diff --git a/src/bin/common/widget_list.h b/src/bin/common/widget_list.h index b7db873..35683a4 100644 --- a/src/bin/common/widget_list.h +++ b/src/bin/common/widget_list.h @@ -40,5 +40,6 @@ const char *style_name_get(const Eina_Stringshare *group_name); const char *item_style_name_get(const Eina_Stringshare *group_name, Eina_List *style_list); Eina_Bool style_name_check(const Eina_Stringshare *group_name, const char *style_name); Eina_Bool item_style_name_check(const Eina_Stringshare *group_name, const char *style_name, Eina_List *style_list); +const char *option_widget_name_get(const char *str, Eina_List **style_list); #endif /* WIDGET_LIST_H */ diff --git a/src/bin/main.c b/src/bin/main.c index b32149b..07109c7 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -65,7 +65,7 @@ static const Ecore_Getopt options = { ECORE_GETOPT_APPEND_METAVAR('s', "sd", "Add sound directory for edc compilation", "DIR_NAME", ECORE_GETOPT_TYPE_STR), ECORE_GETOPT_APPEND_METAVAR('f', "fd", "Add font directory for edc compilation", "DIR_NAME", ECORE_GETOPT_TYPE_STR), ECORE_GETOPT_APPEND_METAVAR('d', "dd", "Add data directory for edc compilation", "DIR_NAME", ECORE_GETOPT_TYPE_STR), - ECORE_GETOPT_APPEND_METAVAR('w', "widget", "Add widget to new project", "WIDGET_NAME", ECORE_GETOPT_TYPE_STR), + ECORE_GETOPT_APPEND_METAVAR('w', "widget", "Add widget to new project or import edj-file. Add its styles if the style names are added", "WIDGET_NAME[:STYLE_NAME, ...]", ECORE_GETOPT_TYPE_STR), ECORE_GETOPT_STORE_TRUE('r', "reopen", "reopen last project"), ECORE_GETOPT_VERSION ('v', "version"), ECORE_GETOPT_COPYRIGHT('c', "copyright"), diff --git a/src/bin/ui/tab_home_import_edj.c b/src/bin/ui/tab_home_import_edj.c index 0099369..7c6abb7 100644 --- a/src/bin/ui/tab_home_import_edj.c +++ b/src/bin/ui/tab_home_import_edj.c @@ -645,11 +645,13 @@ _delayed_popup(void *data) void _tab_import_edj_data_set(const char *name, const char *path, const char *edj, const Eina_List *widgets) { - const Eina_List *l, *wl; - const char *str; + const Eina_List *l, *wl, *wll, *wlll, *w; + Eina_List *style_list = NULL; + const char *str, *widget_name, *style_name; Eina_Strbuf *buf = eina_strbuf_new(); Eina_Bool first_not_found = true; - Tree_Item_Data *widget = NULL; + Tree_Item_Data *widget = NULL, *style = NULL; + End_Item_Data *item_style = NULL; assert(tab_edj.layout != NULL); @@ -663,17 +665,53 @@ _tab_import_edj_data_set(const char *name, const char *path, const char *edj, co EINA_LIST_FOREACH(widgets, l, str) { +widget_name = opt
[EGIT] [tools/eflete] master 01/01: Fix build errors
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=45cea2a9830da21a332d28fbf04c07fee35c108a commit 45cea2a9830da21a332d28fbf04c07fee35c108a Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Fri May 13 16:55:38 2016 +0900 Fix build errors --- src/lib/ewe_combobox.eo | 13 +++-- src/lib/ewe_ruler.eo| 15 --- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/lib/ewe_combobox.eo b/src/lib/ewe_combobox.eo index d08f88e..b91a965 100644 --- a/src/lib/ewe_combobox.eo +++ b/src/lib/ewe_combobox.eo @@ -2,6 +2,7 @@ type Ewe_Combobox_Item: __undefined_type; class Ewe_Combobox (Elm.Widget) { + legacy_prefix: ewe_combobox; eo_prefix: ewe_obj_combobox; data: Ewe_Combobox_Smart_Data; methods { @@ -125,12 +126,12 @@ class Ewe_Combobox (Elm.Widget) implements { class.constructor; Eo.Base.constructor; - Evas.Object_Smart.del; - Evas.Object_Smart.add; - Evas.Object_Smart.resize; - Evas.Object_Smart.move; - Evas.Object_Smart.show; - Evas.Object_Smart.hide; + Evas.Object.Smart.del; + Evas.Object.Smart.add; + Evas.Object.Smart.resize; + Evas.Object.Smart.move; + Evas.Object.Smart.show; + Evas.Object.Smart.hide; Elm.Widget.disable; } events { diff --git a/src/lib/ewe_ruler.eo b/src/lib/ewe_ruler.eo index 8fc724e..35140f1 100644 --- a/src/lib/ewe_ruler.eo +++ b/src/lib/ewe_ruler.eo @@ -3,6 +3,7 @@ type Ewe_Ruler_Marker: __undefined_type; class Ewe_Ruler (Elm.Widget) { + legacy_prefix: ewe_ruler; eo_prefix: ewe_obj_ruler; data: Ewe_Ruler_Smart_Data; methods { @@ -264,13 +265,13 @@ class Ewe_Ruler (Elm.Widget) implements { class.constructor; Eo.Base.constructor; - Evas.Object_Smart.add; - Evas.Object_Smart.del; - Evas.Object_Smart.resize; - Evas.Object_Smart.calculate; - Evas.Object_Smart.move; - Evas.Object_Smart.show; - Evas.Object_Smart.hide; + Evas.Object.Smart.add; + Evas.Object.Smart.del; + Evas.Object.Smart.resize; + Evas.Object.Smart.calculate; + Evas.Object.Smart.move; + Evas.Object.Smart.show; + Evas.Object.Smart.hide; Elm.Widget.theme_apply; } events { --
[EGIT] [tools/eflete] master 01/01: tab_home_import_edj: add the style list to the widget list
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=b006b148b5aa6ccb55bac1aeba8d83112de03b21 commit b006b148b5aa6ccb55bac1aeba8d83112de03b21 Author: Jaehwan Kim <jae.hwan@samsung.com> Date: Wed May 11 14:29:13 2016 +0900 tab_home_import_edj: add the style list to the widget list It can load just specific style instead of whole widget. --- src/bin/Makefile.am | 2 + src/bin/common/string_common.c | 55 --- src/bin/common/string_common.h | 3 - src/bin/common/widget_list.c| 244 src/bin/common/widget_list.h| 44 + src/bin/project_manager/group_manager.c | 33 +++- src/bin/ui/tab_home_import_edj.c| 273 +--- 7 files changed, 566 insertions(+), 88 deletions(-) diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am index 3819702..51aa9e8 100644 --- a/src/bin/Makefile.am +++ b/src/bin/Makefile.am @@ -12,6 +12,7 @@ includesub_HEADERS = \ common/string_common.h \ common/validator.h \ common/widget_macro.h \ + common/widget_list.h \ common/win32.h \ config/config.h \ editor/banned_edje_edit_api.h \ @@ -57,6 +58,7 @@ libete_a_SOURCES = \ ../../src/bin/eflete.c \ ../../src/bin/common/string_common.c \ ../../src/bin/common/validator.c \ +../../src/bin/common/widget_list.c \ ../../src/bin/project_manager/group_manager.c \ ../../src/bin/project_manager/project_manager.c \ ../../src/bin/logger/logger.c \ diff --git a/src/bin/common/string_common.c b/src/bin/common/string_common.c index ea14527..eeaa0ae 100644 --- a/src/bin/common/string_common.c +++ b/src/bin/common/string_common.c @@ -21,6 +21,39 @@ #include #include +static const char *exception[] = +{ + "elm/map/marker/empty/", + "elm/map/marker/radio/", + "elm/map/circle/base/", + "elm/map/scale/base/", + "elm/scroller/panel/top/", + "elm/scroller/panel/bottom/", + "elm/scroller/panel/left/", + "elm/scroller/panel/right/", + "elm/index/base/vertical/", + "elm/index/item/vertical/", + "elm/index/item_odd/vertical/", + "elm/index/item/horizontal/", + "elm/index/item_odd/horizontal/", + "elm/colorselector/picker/base/", + "elm/colorselector/item/color/", + "elm/colorselector/image/colorbar_0/", + "elm/colorselector/image/colorbar_1/", + "elm/colorselector/image/colorbar_2/", + "elm/colorselector/image/colorbar_3/", + "elm/gengrid/item/default/", + "elm/entry/handler/start/", + "elm/entry/handler/end/", + "elm/entry/emoticon/wtf/", + "elm/popup/buttons1/popup/", + "elm/popup/buttons2/popup/", + "elm/popup/buttons3/popup/", + "elm/popup/content/popup/", + "elm/popup/item/popup/", + NULL +}; + int sort_cb(const void *data1, const void *data2) { @@ -59,25 +92,3 @@ string_char_replace(char *str, char src, char rep) str++; } } - -const char * -widget_name_get(const Eina_Stringshare *group_name) -{ -int len = strlen(group_name); -int i; -char str[32]; - -if (group_name[0] != 'e') return NULL; -if (group_name[1] != 'l') return NULL; -if (group_name[2] != 'm') return NULL; -if (group_name[3] != '/') return NULL; - -for (i = 4; i < len; i++) -{ -if (group_name[i] == '/') break; -str[i - 4] = group_name[i]; -} -str[i - 4] = '\0'; - -return strdup(str); -} diff --git a/src/bin/common/string_common.h b/src/bin/common/string_common.h index 47e2058..f49b20b 100644 --- a/src/bin/common/string_common.h +++ b/src/bin/common/string_common.h @@ -58,7 +58,4 @@ state_name_split(Eina_Stringshare *name, Eina_Stringshare **name_out, double *va void string_char_replace(char *str, char src, char rep); -const char * -widget_name_get(const Eina_Stringshare *group_name); - #endif /* STRING_MACRO_H */ diff --git a/src/bin/common/widget_list.c b/src/bin/common/widget_list.c new file mode 100644 index 000..de8a8e8 --- /dev/null +++ b/src/bin/common/widget_list.c @@ -0,0 +1,244 @@ +/* + * 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 useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU L
Re: [E-devel] [EGIT] [tools/eflete] master 05/06: UTC: fix test after API change
Thank you. I missed this tests. 2016. 4. 4. 오후 11:29에 "Vyacheslav Reutskiy"님이 작성: > rimmed pushed a commit to branch master. > > > http://git.enlightenment.org/tools/eflete.git/commit/?id=26fcd1e75b140c8d5f8e96f4e26d9abc74f185de > > commit 26fcd1e75b140c8d5f8e96f4e26d9abc74f185de > Author: Vyacheslav Reutskiy > Date: Mon Apr 4 16:53:38 2016 +0300 > > UTC: fix test after API change > > Tests was broken in 514ddf88cce7115b5514543da320b4d9be0d8ca8 > > Change-Id: I416a9935654366a161ce4a1d073ff1feba7edec6 > --- > tests/test_project_manager/pm_project_close.c | 2 +- > tests/test_project_manager/pm_project_import_edj.c| 6 +++--- > tests/test_project_manager/pm_project_meta_data_get.c | 2 +- > tests/test_project_manager/pm_project_meta_data_set.c | 2 +- > tests/test_project_manager/pm_project_open.c | 2 +- > tests/test_project_manager/pm_project_save.c | 2 +- > tests/test_project_manager/pm_project_thread_cancel.c | 2 +- > tests/test_project_manager/pm_project_thread_free.c | 2 +- > 8 files changed, 10 insertions(+), 10 deletions(-) > > diff --git a/tests/test_project_manager/pm_project_close.c > b/tests/test_project_manager/pm_project_close.c > index 8865d3e..0897fa3 100644 > --- a/tests/test_project_manager/pm_project_close.c > +++ b/tests/test_project_manager/pm_project_close.c > @@ -69,7 +69,7 @@ EFLETE_TEST (pm_project_close_test_p) > ecore_file_recursive_rm("./UTC"); > > pm_project_import_edj("UTC", ".", > "./edj_build/test_project_manager.edj", > - NULL, _test_end_cb, NULL); > + NULL, NULL, _test_end_cb, NULL); > ecore_main_loop_begin(); > > pro = pm_project_thread_project_get(); > diff --git a/tests/test_project_manager/pm_project_import_edj.c > b/tests/test_project_manager/pm_project_import_edj.c > index a678892..216a412 100644 > --- a/tests/test_project_manager/pm_project_import_edj.c > +++ b/tests/test_project_manager/pm_project_import_edj.c > @@ -70,7 +70,7 @@ EFLETE_TEST (pm_project_import_edj_test_p) > ecore_file_recursive_rm("./UTC"); > > pm_project_import_edj("UTC", ".", > "./edj_build/test_project_manager.edj", > - NULL, _end_cb, NULL); > + NULL, NULL, _end_cb, NULL); > ecore_main_loop_begin(); > > pro = pm_project_thread_project_get(); > @@ -123,7 +123,7 @@ EFLETE_TEST (pm_project_import_edj_test_p1) > > res = EINA_FALSE; > pm_project_import_edj("UTC", ".", > "./edj_build/test_project_manager.edj", > - _test_progress_cb, _end_cb, NULL); > + NULL, _test_progress_cb, _end_cb, NULL); > ecore_main_loop_begin(); > ck_assert_msg(res, "Progress callback did't called!"); > > @@ -178,7 +178,7 @@ EFLETE_TEST (pm_project_import_edj_test_p2) > > res = EINA_FALSE; > pm_project_import_edj("UTC", ".", > "./edj_build/test_project_manager.edj", > - NULL, _test_end_cb, NULL); > + NULL, NULL, _test_end_cb, NULL); > ecore_main_loop_begin(); > ck_assert_msg(res, "End callback did't called!"); > > diff --git a/tests/test_project_manager/pm_project_meta_data_get.c > b/tests/test_project_manager/pm_project_meta_data_get.c > index 22502e6..e123b34 100644 > --- a/tests/test_project_manager/pm_project_meta_data_get.c > +++ b/tests/test_project_manager/pm_project_meta_data_get.c > @@ -68,7 +68,7 @@ EFLETE_TEST (pm_project_meta_data_get_test_p) > ecore_file_recursive_rm("./UTC"); > > pm_project_import_edj("UTC", ".", "./edj_build/radio.edj", > - NULL, _test_end_cb, NULL); > + NULL, NULL, _test_end_cb, NULL); > ecore_main_loop_begin(); > > pro = pm_project_thread_project_get(); > diff --git a/tests/test_project_manager/pm_project_meta_data_set.c > b/tests/test_project_manager/pm_project_meta_data_set.c > index 86dc048..8830305 100644 > --- a/tests/test_project_manager/pm_project_meta_data_set.c > +++ b/tests/test_project_manager/pm_project_meta_data_set.c > @@ -69,7 +69,7 @@ EFLETE_TEST (pm_project_meta_data_set_test_p) > ecore_file_recursive_rm("./UTC"); > > pm_project_import_edj("UTC", ".", > "./edj_build/test_project_manager.edj", > - NULL, _test_end_cb, NULL); > + NULL, NULL, _test_end_cb, NULL); > ecore_main_loop_begin(); > > pro = pm_project_thread_project_get(); > diff --git a/tests/test_project_manager/pm_project_open.c > b/tests/test_project_manager/pm_project_open.c > index 5b69c11..6ae6586 100644 > --- a/tests/test_project_manager/pm_project_open.c > +++ b/tests/test_project_manager/pm_project_open.c > @@ -67,7 +67,7 @@ EFLETE_TEST (pm_project_open_test_p) > ecore_file_recursive_rm("./UTC"); > > pm_project_import_edj("UTC", ".", > "./edj_build/test_project_manager.edj", > - NULL,
Re: [E-devel] [EGIT] [core/efl] master 01/01: edje: add edje signal emit about swallow, text
sorry, I forgot about that. I reverted my commit. I will push it at the next version. Thanks. 2015. 10. 22. 오전 12:22에 "Stefan Schmidt" <ste...@osg.samsung.com>님이 작성: > Hello. > > On 21/10/15 14:57, Jaehwan Kim wrote: > > jaehwan pushed a commit to branch master. > > > > > http://git.enlightenment.org/core/efl.git/commit/?id=b1fa1c5aadc71881cb1e4e264d680ea5efa79a69 > > > > commit b1fa1c5aadc71881cb1e4e264d680ea5efa79a69 > > Author: Jaehwan Kim <jae.hwan@samsung.com> > > Date: Wed Oct 21 21:51:54 2015 +0900 > > > > edje: add edje signal emit about swallow, text > > > > Add the edje signal "swallow", "unswallow", "text,set", > "text,unset". > > In edc file, the part name take a role of source. > > If the layout should be changed when any object is swallowed or any > > text is set, use this signal. > > > > @feature > > You realise that we are in feature freeze and stabilization phase right > now? > > This commit is even marked as new feature. Why did you put it in? > > regards > Stefan Schmidt > > > --- > > src/lib/edje/edje_util.c | 7 +++ > > 1 file changed, 7 insertions(+) > > > > diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c > > index aa77208..6ef5d60 100644 > > --- a/src/lib/edje/edje_util.c > > +++ b/src/lib/edje/edje_util.c > > @@ -1442,6 +1442,10 @@ _edje_object_part_text_raw_set(Edje *ed, > Evas_Object *obj, Edje_Real_Part *rp, c > > _edje_recalc(ed); > > if (ed->text_change.func) > >ed->text_change.func(ed->text_change.data, obj, part); > > + if (text) > > + _edje_emit(ed, "text,set", rp->part->name); > > + else > > + _edje_emit(ed, "text,unset", rp->part->name); > > return EINA_TRUE; > > } > > > > @@ -2886,6 +2890,7 @@ _edje_object_part_swallow(Eo *obj EINA_UNUSED, > Edje *ed, const char *part, Evas_ > >eud->u.swallow.child = obj_swallow; > > } > >} > > + _edje_emit(ed, "swallow", rp->part->name); > > > > return EINA_TRUE; > > } > > @@ -3162,6 +3167,7 @@ _edje_object_part_unswallow(Eo *obj EINA_UNUSED, > Edje *ed, Evas_Object *obj_swal > > if (eud->type == EDJE_USER_SWALLOW && > eud->u.swallow.child == obj_swallow) > > { > >_edje_user_definition_free(eud); > > + _edje_emit(ed, "unswallow", rp->part->name); > >return; > > } > > } > > @@ -3182,6 +3188,7 @@ _edje_object_part_unswallow(Eo *obj EINA_UNUSED, > Edje *ed, Evas_Object *obj_swal > >* -zmike, 6 April 2015 > >*/ > > //_edje_recalc_do(ed); > > +_edje_emit(ed, "unswallow", rp->part->name); > > return; > >} > > } > > > > > > -- > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Add the signal emit about swallow and text
I sent two replies about this issue. But there's no answer. If there's no objection in my opinion, I will commit it. Add signal "swallow", "unswallow", "text,set", "text,unset" in edje. 2015. 10. 14. 오후 3:54에 "Jaehwan Kim" <jaehwan.kim@gmail.com>님이 작성: > genlist/gengrid already send the signal about swallow and text > from elementary. like "elm,state,xxx,visible". > So the signal pollution is same in this case. > If the edc don't use the signal in the program, it isn't big budden. > Only if it used in program and edje calculation is executed, > that program can be slow. It just depend on edc file. > 2015. 10. 14. 오후 3:26에 "Jaehwan Kim" <jaehwan.kim@gmail.com>님이 작성: > >> I think the possibility signal has crash is very low. >> To crash two signal, both of signal name and source should be same. >> Elementary uses "elm" as a source and an application usually doesn't use >> source or uses application name. As a result, they don't use the part name >> as a source name. >> There's a lot of signals that are sent automatically from edje. "load", >> "mouse,in", "mouse,out", "drag,set" and so on. But they don't make crash. >> The new signals should be a similar name rule (since their machanism is >> similar.) >> So I think there's no need prefix "edje,xxx". >> 2015. 10. 14. 오후 12:24에 "Amitesh Singh" <singh.amit...@gmail.com>님이 작성: >> >>> On Oct 14, 2015 8:25 AM, "Carsten Haitzler" <ras...@rasterman.com> >>> wrote: >>> > >>> > On Wed, 14 Oct 2015 07:17:03 +0530 Amitesh Singh < >>> singh.amit...@gmail.com> >>> said: >>> > >>> > > Hello >>> > > >>> > > On Oct 13, 2015 10:51 PM, "Davide Andreoli" <d...@gurumeditation.it> >>> wrote: >>> > > > >>> > > > Il 13/ott/2015 12:38 PM, "Jaehwan Kim" <jae.hwan@samsung.com> >>> ha >>> > > > scritto: >>> > > > > >>> > > > > >>> > > > > >>> > > > >I want to add the auto emited signal about "swallow" and >>> "text" >>> in >>> > > > edje like >>> > > > >"load" >>> > > > > >>> > > > >In edc file, any programs need to be called when the object is >>> > > > swallowed or >>> > > > >text is set. >>> > > > > >>> > > > >There's some case layout should be changed as an object is >>> swallowed >>> > > > or text >>> > > > >is set. >>> > > > > >>> > > > >If the signal is emitted at that time, we can change the >>> layout >>> or >>> > > add >>> > > > >padding. >>> > > > > >>> > > > > >>> > > > >I think the signal like: >>> > > > > >>> > > > >"swallow" "unswallow" "text,set" "text,unset" >>> > > > > >>> > > > >or >>> > > > > >>> > > > >"swallow,set" "swallow,unset" "text,set" "text,unset" >>> > > > > >>> > > > >which one is better? >>> > > > >>> > > > All of your suggestions have high possibility to clash with user >>> defined >>> > > > signal used in existing themes I'm quite sure I used "text, >>> set" >>> in my >>> > > > themes. >>> > > > >>> > > > I suggest to at least add the "edje" prefix >>> > > > >>> > > > > >>> > > How about 'edje,action,swallow' and 'edje,action,unswallow'? >>> > >>> > that's sensible. >>> > >>> > what worries me is the cost. we swallow and change text a lot and this >>> adds >>> > more signal processing cost. it's already high. maybe it's not that >>> big a >>> deal, >>> > but this does worry me. >>> > >>> > something to think about with bob. >>> > >>> Indeed, elm genlist/gengrid items realizati
Re: [E-devel] Add the signal emit about swallow and text
I think the possibility signal has crash is very low. To crash two signal, both of signal name and source should be same. Elementary uses "elm" as a source and an application usually doesn't use source or uses application name. As a result, they don't use the part name as a source name. There's a lot of signals that are sent automatically from edje. "load", "mouse,in", "mouse,out", "drag,set" and so on. But they don't make crash. The new signals should be a similar name rule (since their machanism is similar.) So I think there's no need prefix "edje,xxx". 2015. 10. 14. 오후 12:24에 "Amitesh Singh" <singh.amit...@gmail.com>님이 작성: > On Oct 14, 2015 8:25 AM, "Carsten Haitzler" <ras...@rasterman.com> wrote: > > > > On Wed, 14 Oct 2015 07:17:03 +0530 Amitesh Singh < > singh.amit...@gmail.com> > said: > > > > > Hello > > > > > > On Oct 13, 2015 10:51 PM, "Davide Andreoli" <d...@gurumeditation.it> > wrote: > > > > > > > > Il 13/ott/2015 12:38 PM, "Jaehwan Kim" <jae.hwan@samsung.com> ha > > > > scritto: > > > > > > > > > > > > > > > > > > > >I want to add the auto emited signal about "swallow" and "text" > in > > > > edje like > > > > >"load" > > > > > > > > > >In edc file, any programs need to be called when the object is > > > > swallowed or > > > > >text is set. > > > > > > > > > >There's some case layout should be changed as an object is > swallowed > > > > or text > > > > >is set. > > > > > > > > > >If the signal is emitted at that time, we can change the layout > or > > > add > > > > >padding. > > > > > > > > > > > > > > >I think the signal like: > > > > > > > > > >"swallow" "unswallow" "text,set" "text,unset" > > > > > > > > > >or > > > > > > > > > >"swallow,set" "swallow,unset" "text,set" "text,unset" > > > > > > > > > >which one is better? > > > > > > > > All of your suggestions have high possibility to clash with user > defined > > > > signal used in existing themes I'm quite sure I used "text, set" > in my > > > > themes. > > > > > > > > I suggest to at least add the "edje" prefix > > > > > > > > > > > > How about 'edje,action,swallow' and 'edje,action,unswallow'? > > > > that's sensible. > > > > what worries me is the cost. we swallow and change text a lot and this > adds > > more signal processing cost. it's already high. maybe it's not that big a > deal, > > but this does worry me. > > > > something to think about with bob. > > > Indeed, elm genlist/gengrid items realization/unrealization is one example. > Signals pollution would be too high in this case. > > > > > > > > > > >[cid:Z5JE7EUABGFC@namo.co.kr] > > > > > > > > > > > > > > > > > > > [SeenTimeChecker?do=cb027b4aba19c2dc2de2e7cee3bc3835166ae5a643f23bd0b9d2a415 > > > > > > > > > > > > > > 8a55a362ba777c355c197185c465c2cf80a2b7ef9aba4bb3b2b5ca43ddd7e184e0604d958075 > > > > >b6b33f32d245b7f8aafe245478a5f1d21d5ebee74427cf878f9a26ce15a0] > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > ___ > > > > > enlightenment-devel mailing list > > > > > enlightenment-devel@lists.sourceforge.net > > > > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > > > > > > > > > > -- > > > > ___ > > > > enlightenment-devel mailing list > > > > enlightenment-devel@lists.sourceforge.net > > > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > -- > > > ___ > > > 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 > > > > -- > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Add the signal emit about swallow and text
genlist/gengrid already send the signal about swallow and text from elementary. like "elm,state,xxx,visible". So the signal pollution is same in this case. If the edc don't use the signal in the program, it isn't big budden. Only if it used in program and edje calculation is executed, that program can be slow. It just depend on edc file. 2015. 10. 14. 오후 3:26에 "Jaehwan Kim" <jaehwan.kim@gmail.com>님이 작성: > I think the possibility signal has crash is very low. > To crash two signal, both of signal name and source should be same. > Elementary uses "elm" as a source and an application usually doesn't use > source or uses application name. As a result, they don't use the part name > as a source name. > There's a lot of signals that are sent automatically from edje. "load", > "mouse,in", "mouse,out", "drag,set" and so on. But they don't make crash. > The new signals should be a similar name rule (since their machanism is > similar.) > So I think there's no need prefix "edje,xxx". > 2015. 10. 14. 오후 12:24에 "Amitesh Singh" <singh.amit...@gmail.com>님이 작성: > >> On Oct 14, 2015 8:25 AM, "Carsten Haitzler" <ras...@rasterman.com> wrote: >> > >> > On Wed, 14 Oct 2015 07:17:03 +0530 Amitesh Singh < >> singh.amit...@gmail.com> >> said: >> > >> > > Hello >> > > >> > > On Oct 13, 2015 10:51 PM, "Davide Andreoli" <d...@gurumeditation.it> >> wrote: >> > > > >> > > > Il 13/ott/2015 12:38 PM, "Jaehwan Kim" <jae.hwan@samsung.com> >> ha >> > > > scritto: >> > > > > >> > > > > >> > > > > >> > > > >I want to add the auto emited signal about "swallow" and "text" >> in >> > > > edje like >> > > > >"load" >> > > > > >> > > > >In edc file, any programs need to be called when the object is >> > > > swallowed or >> > > > >text is set. >> > > > > >> > > > >There's some case layout should be changed as an object is >> swallowed >> > > > or text >> > > > >is set. >> > > > > >> > > > >If the signal is emitted at that time, we can change the layout >> or >> > > add >> > > > >padding. >> > > > > >> > > > > >> > > > >I think the signal like: >> > > > > >> > > > >"swallow" "unswallow" "text,set" "text,unset" >> > > > > >> > > > >or >> > > > > >> > > > >"swallow,set" "swallow,unset" "text,set" "text,unset" >> > > > > >> > > > >which one is better? >> > > > >> > > > All of your suggestions have high possibility to clash with user >> defined >> > > > signal used in existing themes I'm quite sure I used "text, set" >> in my >> > > > themes. >> > > > >> > > > I suggest to at least add the "edje" prefix >> > > > >> > > > > >> > > How about 'edje,action,swallow' and 'edje,action,unswallow'? >> > >> > that's sensible. >> > >> > what worries me is the cost. we swallow and change text a lot and this >> adds >> > more signal processing cost. it's already high. maybe it's not that big >> a >> deal, >> > but this does worry me. >> > >> > something to think about with bob. >> > >> Indeed, elm genlist/gengrid items realization/unrealization is one >> example. >> Signals pollution would be too high in this case. >> >> > > > > >> > > > >[cid:Z5JE7EUABGFC@namo.co.kr] >> > > > > >> > > > > >> > > > >> > > >> >> [SeenTimeChecker?do=cb027b4aba19c2dc2de2e7cee3bc3835166ae5a643f23bd0b9d2a415 >> > > > > >> > > > >> > > >> >> 8a55a362ba777c355c197185c465c2cf80a2b7ef9aba4bb3b2b5ca43ddd7e184e0604d958075 >> > > > >b6b33f32d245b7f8aafe245478a5f1d21d5ebee74427cf878f9a26ce15a0] >> > > >
[E-devel] Add the signal emit about swallow and text
I want to add the auto emited signal about "swallow" and "text" in edje like "load" In edc file, any programs need to be called when the object is swallowed or text is set. There's some case layout should be changed as an object is swallowed or text is set. If the signal is emitted at that time, we can change the layout or add padding. I think the signal like: "swallow" "unswallow" "text,set" "text,unset" or "swallow,set" "swallow,unset" "text,set" "text,unset" which one is better? [cid:Z5JE7EUABGFC@namo.co.kr] [SeenTimeChecker?do=cb027b4aba19c2dc2de2e7cee3bc3835166ae5a643f23bd0b9d2a415 8a55a362ba777c355c197185c465c2cf80a2b7ef9aba4bb3b2b5ca43ddd7e184e0604d958075 b6b33f32d245b7f8aafe245478a5f1d21d5ebee74427cf878f9a26ce15a0] -- ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/elementary] master 01/01: scroller: fix the focus move bug in scroller.
Hello. Sorry for late reply. I fixed the commit. It was mistake. Thanks for pointing. 2015. 8. 11. 오후 8:54에 Jaehwan Kim jae.hwan@samsung.com님이 작성: jaehwan pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=71bff55b619ec7dfaaf973a091738a2b6a526649 commit 71bff55b619ec7dfaaf973a091738a2b6a526649 Author: Jaehwan Kim jae.hwan@samsung.com Date: Tue Aug 11 18:56:52 2015 +0900 scroller: fix the focus move bug in scroller. When the focused object is out of the viewport and the key direction is only the direction focus is out, it should find the next focus. @fix --- src/lib/elm_scroller.c | 12 +--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/lib/elm_scroller.c b/src/lib/elm_scroller.c index 31b9191..5243f8a 100644 --- a/src/lib/elm_scroller.c +++ b/src/lib/elm_scroller.c @@ -87,6 +87,8 @@ _key_action_move(Evas_Object *obj, const char *params) Evas_Coord y = 0; Evas_Coord c_x = 0; Evas_Coord c_y = 0; + Evas_Coord v_x = 0; + Evas_Coord v_y = 0; Evas_Coord v_w = 0; Evas_Coord v_h = 0; Evas_Coord max_x = 0; @@ -108,7 +110,7 @@ _key_action_move(Evas_Object *obj, const char *params) elm_interface_scrollable_step_size_get(step_x, step_y), elm_interface_scrollable_page_size_get(page_x, page_y), elm_interface_scrollable_content_viewport_geometry_get - (NULL, NULL, v_w, v_h)); + (v_x, v_y, v_w, v_h)); evas_object_geometry_get(sd-content, c_x, c_y, max_x, max_y); current_focus = elm_widget_focused_object_get(obj); @@ -116,8 +118,12 @@ _key_action_move(Evas_Object *obj, const char *params) can_focus_list = elm_widget_can_focus_child_list_get(obj); if ((current_focus == obj) || - (!ELM_RECTS_INTERSECT -(x, y, v_w, v_h, (f_x - c_x), (f_y - c_y), f_w, f_h))) + ((!ELM_RECTS_INTERSECT + (x, y, v_w, v_h, (f_x - c_x), (f_y - c_y), f_w, f_h)) +(!strcmp(dir, left) (f_x v_x)) +(!strcmp(dir, right) (f_x + f_w v_x + v_w)) +(!strcmp(dir, up) (f_y v_y)) +(!strcmp(dir, down) (f_y + f_h v_y + v_h { Eina_List *l; Evas_Object *cur; -- -- ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/elementary] master 01/01: scroller: fix the misstake. change - ||
Hello I added two commits about this fixing. Thanks -Original Message- From: Amitesh Singhlt;singh.amit...@gmail.comgt; To: Enlightenment developer listlt;enlightenment-devel@lists.sourceforge.netgt;; Cc: lt;jae.hwan@samsung.comgt;; lt;amitesh...@samsung.comgt;; Sent: 2015-08-24 (월) 13:48:14 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: scroller: fix the misstake. change amp;amp; -gt; || Hello Please port this patch to elementary - 1.15 branch too. Thanks Amitesh On Aug 24, 2015 10:14 AM, Jaehwan Kim lt;jae.hwan@samsung.comgt; wrote: gt; jaehwan pushed a commit to branch master. gt; gt; gt; http://git.enlightenment.org/core/elementary.git/commit/?id=a920d06b7813a6eb0fc93a39cd9471eb9cbfa70e gt; gt; commit a920d06b7813a6eb0fc93a39cd9471eb9cbfa70e gt; Author: Jaehwan Kim lt;jae.hwan@samsung.comgt; gt; Date: Mon Aug 24 13:38:08 2015 +0900 gt; gt; scroller: fix the misstake. change amp;amp; -gt; || gt; gt; @fix gt; --- gt; src/lib/elm_scroller.c | 8 gt; 1 file changed, 4 insertions(+), 4 deletions(-) gt; gt; diff --git a/src/lib/elm_scroller.c b/src/lib/elm_scroller.c gt; index 5243f8a..4d45fd4 100644 gt; --- a/src/lib/elm_scroller.c gt; +++ b/src/lib/elm_scroller.c gt; @@ -120,10 +120,10 @@ _key_action_move(Evas_Object *obj, const char gt; *params) gt; if ((current_focus == obj) || gt; ((!ELM_RECTS_INTERSECT gt; (x, y, v_w, v_h, (f_x - c_x), (f_y - c_y), f_w, f_h)) amp;amp; gt; -(!strcmp(dir, left) amp;amp; (f_x gt; v_x)) amp;amp; gt; -(!strcmp(dir, right) amp;amp; (f_x + f_w lt; v_x + v_w)) amp;amp; gt; -(!strcmp(dir, up) amp;amp; (f_y gt; v_y)) amp;amp; gt; -(!strcmp(dir, down) amp;amp; (f_y + f_h lt; v_y + v_h gt; +((!strcmp(dir, left) amp;amp; (f_x gt; v_x)) || gt; +(!strcmp(dir, right) amp;amp; (f_x + f_w lt; v_x + v_w)) || gt; +(!strcmp(dir, up) amp;amp; (f_y gt; v_y)) || gt; +(!strcmp(dir, down) amp;amp; (f_y + f_h lt; v_y + v_h) gt; { gt; Eina_List *l; gt; Evas_Object *cur; gt; gt; -- gt; gt; gt; -- ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Commit access
I agree. He has a great knowledge about genlist, gengrid. +1 블로그서명greensun00님의 블로그 안녕하세요. -Original Message- From: ChunEon Parklt;her...@naver.comgt; To: Enlightenment developer listlt;enlightenment-devel@lists.sourceforge.netgt;; lt;dltkdgus1...@gmail.comgt;; Cc: Sent: 2015-06-26 (금) 12:02:52 Subject: Re: [E-devel] Commit access +1 -Regards, Hermet- -Original Message- From: Cedric BAILlt;cedric.b...@free.frgt; To: e-devellt;enlightenment-devel@lists.sourceforge.netgt;; lt;dltkdgus1...@gmail.comgt;; Cc: Sent: 2015-06-26 (금) 01:45:49 Subject: [E-devel] Commit access Hello, I would like to propose Sanghyeon Lee to receive commit access. He has been doing some great work on reviewing incoming patch on genlist and gengrid. You can look at his work on phab. He is the closest we have from an elementary genlist maintainer at this stage and we seriously need someone to take a good care of his patch. I am relying on him already to do the review on genlist/gengrid related patch on phab and trust his opinion. Does anyone have a different opinion ? Have fun, -- Cedric BAIL -- Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical amp; virtual servers, alerts via email amp; sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical amp; virtual servers, alerts via email amp; sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical virtual servers, alerts via email sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] ecore_event_handler_add works differently in X and Wayland
This is Jaehwan Kim. I used another email because of sending email problem. -Original Message- From: 김재환lt;greensu...@naver.comgt; To: lt;enlightenment-devel@lists.sourceforge.netgt;; Cc: Sent: 2015-05-21 (목) 10:19:02 Subject: [E-devel] ecore_event_handler_add works differently in X and Wayland ecore_event_handler_add works differently. In X, ecore_event_handler_add and elm_win_add works well. elm_win_add and ecore_event_handler_add works well,too. The ecore_event_handler_add works well regardless of creating window(or ecore_evas). But In Wayland, if we uses ecore_event_handler_add before elm_win_add, it fails. The reason is ecore_event_init is not called at that time. In X, ecore_event_init is called by ecore_x_init(this is called _elm_config_sub_init) before creating window. It means the API operation is different as a display server. So we should make them work same. To make ecore_event_handler_add works well before creating window, I added ecore_wl_init in _elm_config_sub_init. Then It works well. Is this change right? Or is there any other solution? 블로그서명greensun00님의 블로그 안녕하세요. -- One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/elementary] master 01/01: Gengrid: Modified to handle the focus highlight on unrealized items
jaehwan pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=cb5ca38f15189c02de60e9569591756268ba9976 commit cb5ca38f15189c02de60e9569591756268ba9976 Author: Jaehwan Kim jae.hwan@samsung.com Date: Mon Mar 30 15:57:36 2015 +0900 Gengrid: Modified to handle the focus highlight on unrealized items This commit is related to 260cdd6150d567fcee8d1afaf690e4b90cd16a2b. When unrealized item is focused, edje object is not exist, so genlist cannot read the focus highlight information from edje object. Therefore, when the item is realized, check the item is focused or not and need to update focus highlight. --- src/lib/elm_gengrid.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/src/lib/elm_gengrid.c b/src/lib/elm_gengrid.c index 35cb007..b3b7449 100644 --- a/src/lib/elm_gengrid.c +++ b/src/lib/elm_gengrid.c @@ -1016,6 +1016,17 @@ _item_realize(Elm_Gen_Item *it) if (eo_it == sd-focused_item) { +const char *focus_raise; +if (elm_widget_focus_highlight_enabled_get(WIDGET(it))) + { + edje_object_signal_emit +(VIEW(it), elm,state,focused, elm); + } + +focus_raise = edje_object_data_get(VIEW(it), focusraise); +if ((focus_raise) (!strcmp(focus_raise, on))) + evas_object_raise(VIEW(it)); + _elm_widget_item_highlight_in_theme(WIDGET(it), EO_OBJ(it)); _elm_widget_highlight_in_theme_update(WIDGET(it)); _elm_widget_focus_highlight_start(WIDGET(it)); --
[EGIT] [core/elementary] master 01/01: scroller: add loop feature.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=63e7f8b8a48b3762daba54d180d151932b849504 commit 63e7f8b8a48b3762daba54d180d151932b849504 Author: Jaehwan Kim jae.hwan@samsung.com Date: Sat Jan 24 12:01:03 2015 +0900 scroller: add loop feature. This feature works the infinite loop horizontally or vertically. If the content is set, it will be shown repeatedly. @feature Change-Id: I1f20b794ae44bc8e5d120901222c7cccadca96b7 Conflicts: src/lib/elm_scroller.c src/lib/elm_scroller_legacy.h --- data/themes/edc/elm/scroller.edc| 52 src/bin/test_scroller.c | 36 +++- src/lib/elm_interface_scrollable.c | 118 ++ src/lib/elm_interface_scrollable.eo | 26 ++ src/lib/elm_interface_scrollable.h | 2 + src/lib/elm_scroller.c | 159 +++- src/lib/elm_scroller_legacy.h | 31 +++ src/lib/elm_widget_scroller.h | 4 + 8 files changed, 394 insertions(+), 34 deletions(-) diff --git a/data/themes/edc/elm/scroller.edc b/data/themes/edc/elm/scroller.edc index a2c397e..d70be40 100644 --- a/data/themes/edc/elm/scroller.edc +++ b/data/themes/edc/elm/scroller.edc @@ -1252,3 +1252,55 @@ group { name: elm/scroller/base/noclip; } } } + +group { name: elm/scroller/contents/default; + parts { + part { name: elm.swallow.content; + type: SWALLOW; + description { state: default 0.0; + } + } + part { name: elm.swallow.content_r; + type: SWALLOW; + description { state: default 0.0; +fixed: 1 1; +rel1 { +relative: 1.0 0.0; +to: elm.swallow.content; +} +rel2 { +relative: 2.0 1.0; +to: elm.swallow.content; +} + } + } + part { name: elm.swallow.content_b; + type: SWALLOW; + description { state: default 0.0; +fixed: 1 1; +rel1 { +relative: 0.0 1.0; +to: elm.swallow.content; +} +rel2 { +relative: 1.0 2.0; +to: elm.swallow.content; +} + } + } + part { name: elm.swallow.content_rb; + type: SWALLOW; + description { state: default 0.0; +fixed: 1 1; +rel1 { +relative: 1.0 1.0; +to: elm.swallow.content; +} +rel2 { +relative: 2.0 2.0; +to: elm.swallow.content; +} + } + } + } +} diff --git a/src/bin/test_scroller.c b/src/bin/test_scroller.c index 8628ca2..8457e92 100644 --- a/src/bin/test_scroller.c +++ b/src/bin/test_scroller.c @@ -113,6 +113,28 @@ my_bt_block_movements_y_axis(void *data, Evas_Object *obj, } void +my_bt_loop_x_axis(void *data, Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + Eina_Bool loop_h, loop_v; + Evas_Object *scroller = (Evas_Object *)data; + + elm_scroller_loop_get(scroller, loop_h, loop_v); + elm_scroller_loop_set(scroller, !loop_h, loop_v); +} + +void +my_bt_loop_y_axis(void *data, Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + Eina_Bool loop_h, loop_v; + Evas_Object *scroller = (Evas_Object *)data; + + elm_scroller_loop_get(scroller, loop_h, loop_v); + elm_scroller_loop_set(scroller, loop_h, !loop_v); +} + +void page_change_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED) @@ -152,7 +174,7 @@ void test_scroller(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Evas_Object *win, *bg2, *tb, *tb2, *sc, *bt, *ck1, *ck2, *bx, *bx2, *fr, - *ck3, *ck4, *ck5; + *ck3, *ck4, *ck5, *ck6, *ck7; int i, j, n; char buf[PATH_MAX]; Evas_Coord x = 0, y = 0, w = 0, h = 0; @@ -214,6 +236,16 @@ test_scroller(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ elm_box_pack_end(bx2, ck5); evas_object_show(ck5); + ck6 = elm_check_add(win); + elm_object_text_set(ck6, Loop in X axis); + elm_box_pack_end(bx2, ck6); + evas_object_show(ck6); + + ck7 = elm_check_add(win); + elm_object_text_set(ck7, Loop in Y axis); + elm_box_pack_end(bx2, ck7); + evas_object_show(ck7); + sc = elm_scroller_add(win); evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(sc, EVAS_HINT_FILL, EVAS_HINT_FILL); @@ -256,6 +288,8 @@ test_scroller(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ evas_object_smart_callback_add(ck4, changed, my_bt_block_movements_y_axis, sc); evas_object_smart_callback_add(ck5, changed, my_bt_snap_to_pages, sc
[EGIT] [core/elementary] master 01/01: elm_widget: fix wrong parmeter.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=f425f4d381eee14e6dddb13d341b26f3eb0854f5 commit f425f4d381eee14e6dddb13d341b26f3eb0854f5 Author: Jaehwan Kim jae.hwan@samsung.com Date: Thu Mar 19 16:40:18 2015 +0900 elm_widget: fix wrong parmeter. The parameter what the application gets should Elm_Object_Item. @fix --- src/lib/elm_widget.c | 4 ++-- src/lib/elm_widget.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c index 39e3c32..974677e 100644 --- a/src/lib/elm_widget.c +++ b/src/lib/elm_widget.c @@ -5119,7 +5119,7 @@ _elm_widget_item_signal_emit(Eo *eo_item EINA_UNUSED, } EOLIAN static void -_elm_widget_item_signal_callback_add(Eo *eo_item EINA_UNUSED, +_elm_widget_item_signal_callback_add(Eo *eo_item, Elm_Widget_Item_Data *item, const char *emission, const char *source, @@ -5135,7 +5135,7 @@ _elm_widget_item_signal_callback_add(Eo *eo_item EINA_UNUSED, wisd = malloc(sizeof(Elm_Widget_Item_Signal_Data)); if (!wisd) return; - wisd-item = item; + wisd-item = eo_item; wisd-func = (Elm_Widget_Item_Signal_Cb)func; wisd-data = data; wisd-emission = eina_stringshare_add(emission); diff --git a/src/lib/elm_widget.h b/src/lib/elm_widget.h index 96a9444..a789e2a 100644 --- a/src/lib/elm_widget.h +++ b/src/lib/elm_widget.h @@ -466,7 +466,7 @@ typedef Evas_Object *(*Elm_Widget_Content_Unset_Cb)(const void *data, c typedef void (*Elm_Widget_Signal_Emit_Cb)(void *data, const char *emission, const char *source); typedef void (*Elm_Widget_Disable_Cb)(void *data); typedef Eina_Bool (*Elm_Widget_Del_Pre_Cb)(void *data); -typedef void (*Elm_Widget_Item_Signal_Cb)(void *data, Elm_Widget_Item_Data *item, const char *emission, const char *source); +typedef void (*Elm_Widget_Item_Signal_Cb)(void *data, Elm_Object_Item *item, const char *emission, const char *source); typedef void (*Elm_Widget_Style_Set_Cb)(void *data, const char *style); typedef const char *(*Elm_Widget_Style_Get_Cb)(const void *data); typedef void (*Elm_Widget_Focus_Set_Cb)(void *data, Eina_Bool focused); @@ -569,7 +569,7 @@ EINA_DEPRECATED EAPI Elm_Access_Info *_elm_access_object_get(const Evas_Object * struct _Elm_Widget_Item_Signal_Data { - Elm_Widget_Item_Data *item; + Elm_Object_Item *item; Elm_Widget_Item_Signal_Cb func; const char *emission; const char *source; --
[EGIT] [core/elementary] elementary-1.13 01/01: elm_widget: fix wrong parmeter.
jaehwan pushed a commit to branch elementary-1.13. http://git.enlightenment.org/core/elementary.git/commit/?id=582ad05fff54c6634eb0eaabb0855323e1e3c106 commit 582ad05fff54c6634eb0eaabb0855323e1e3c106 Author: Jaehwan Kim jae.hwan@samsung.com Date: Thu Mar 19 16:40:18 2015 +0900 elm_widget: fix wrong parmeter. The parameter what the application gets should Elm_Object_Item. @fix --- src/lib/elm_widget.c | 4 ++-- src/lib/elm_widget.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c index c4d2d69..a465e17 100644 --- a/src/lib/elm_widget.c +++ b/src/lib/elm_widget.c @@ -5115,7 +5115,7 @@ _elm_widget_item_signal_emit(Eo *eo_item EINA_UNUSED, } EOLIAN static void -_elm_widget_item_signal_callback_add(Eo *eo_item EINA_UNUSED, +_elm_widget_item_signal_callback_add(Eo *eo_item, Elm_Widget_Item_Data *item, const char *emission, const char *source, @@ -5131,7 +5131,7 @@ _elm_widget_item_signal_callback_add(Eo *eo_item EINA_UNUSED, wisd = malloc(sizeof(Elm_Widget_Item_Signal_Data)); if (!wisd) return; - wisd-item = item; + wisd-item = eo_item; wisd-func = (Elm_Widget_Item_Signal_Cb)func; wisd-data = data; wisd-emission = eina_stringshare_add(emission); diff --git a/src/lib/elm_widget.h b/src/lib/elm_widget.h index 55673d8..e7b91ed 100644 --- a/src/lib/elm_widget.h +++ b/src/lib/elm_widget.h @@ -466,7 +466,7 @@ typedef Evas_Object *(*Elm_Widget_Content_Unset_Cb)(const void *data, c typedef void (*Elm_Widget_Signal_Emit_Cb)(void *data, const char *emission, const char *source); typedef void (*Elm_Widget_Disable_Cb)(void *data); typedef Eina_Bool (*Elm_Widget_Del_Pre_Cb)(void *data); -typedef void (*Elm_Widget_Item_Signal_Cb)(void *data, Elm_Widget_Item_Data *item, const char *emission, const char *source); +typedef void (*Elm_Widget_Item_Signal_Cb)(void *data, Elm_Object_Item *item, const char *emission, const char *source); typedef void (*Elm_Widget_Style_Set_Cb)(void *data, const char *style); typedef const char *(*Elm_Widget_Style_Get_Cb)(const void *data); typedef void (*Elm_Widget_Focus_Set_Cb)(void *data, Eina_Bool focused); @@ -567,7 +567,7 @@ EINA_DEPRECATED EAPI Elm_Access_Info *_elm_access_object_get(const Evas_Object * struct _Elm_Widget_Item_Signal_Data { - Elm_Widget_Item_Data *item; + Elm_Object_Item *item; Elm_Widget_Item_Signal_Cb func; const char *emission; const char *source; --
[EGIT] [core/elementary] master 01/01: datetime_module: Fix build warning.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=674d944c7d4bb683746ad4d82004d825be80b484 commit 674d944c7d4bb683746ad4d82004d825be80b484 Author: Jaehwan Kim jae.hwan@samsung.com Date: Wed Feb 4 19:19:45 2015 +0900 datetime_module: Fix build warning. Include the elm_widget.h --- src/modules/datetime_input_ctxpopup/datetime_input_ctxpopup.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/modules/datetime_input_ctxpopup/datetime_input_ctxpopup.c b/src/modules/datetime_input_ctxpopup/datetime_input_ctxpopup.c index 4405e11..dafb8d7 100644 --- a/src/modules/datetime_input_ctxpopup/datetime_input_ctxpopup.c +++ b/src/modules/datetime_input_ctxpopup/datetime_input_ctxpopup.c @@ -3,6 +3,7 @@ #endif #include Elementary.h +#include elm_widget.h #include elm_widget_datetime.h #define DATETIME_FIELD_COUNT6 --