[EGIT] [core/efl] master 01/01: eo - key obj reference - don't unref on del event callback
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ff253bff08559414d002f0a3a093343cf20d6de0 commit ff253bff08559414d002f0a3a093343cf20d6de0 Author: Carsten Haitzler (Rasterman)Date: Thu Apr 14 10:35:18 2016 +0900 eo - key obj reference - don't unref on del event callback object is being deleted by cb - don't unref as we are already at 0. --- src/lib/eo/eo_base_class.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/lib/eo/eo_base_class.c b/src/lib/eo/eo_base_class.c index bd402e7..7b6ff05 100644 --- a/src/lib/eo/eo_base_class.c +++ b/src/lib/eo/eo_base_class.c @@ -62,7 +62,6 @@ _eo_base_cb_key_obj_del(void *data, const Eo_Event *event) EINA_INLIST_GET(node)); eo_event_callback_del(node->data, EO_BASE_EVENT_DEL, _eo_base_cb_key_obj_del, data); - eo_unref(node->data); _eo_generic_data_node_free(node); break; } --
[EGIT] [tools/edi] master 01/01: fix build break.
hermet pushed a commit to branch master. http://git.enlightenment.org/tools/edi.git/commit/?id=6fc4e26c44cd62580064f1e1cc3cfda01a27c6ef commit 6fc4e26c44cd62580064f1e1cc3cfda01a27c6ef Author: Hermet ParkDate: Thu Apr 14 10:48:33 2016 +0900 fix build break. eo event interface has been changed. just updated it. --- elm_code/src/bin/elm_code_test_main.c | 4 ++-- elm_code/src/lib/widget/elm_code_widget.c | 2 +- src/bin/edi_consolepanel.c| 6 +++--- src/bin/edi_logpanel.c| 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/elm_code/src/bin/elm_code_test_main.c b/elm_code/src/bin/elm_code_test_main.c index b4bcf30..a1840a6 100644 --- a/elm_code/src/bin/elm_code_test_main.c +++ b/elm_code/src/bin/elm_code_test_main.c @@ -38,7 +38,7 @@ _elm_code_test_line_clicked_cb(void *data EINA_UNUSED, const Eo_Event *event) { Elm_Code_Line *line; - line = (Elm_Code_Line *)event->event_info; + line = (Elm_Code_Line *)event->info; printf("CLICKED line %d\n", line->number); return EO_CALLBACK_CONTINUE; @@ -49,7 +49,7 @@ _elm_code_test_line_done_cb(void *data EINA_UNUSED, const Eo_Event *event) { Elm_Code_Line *line; - line = (Elm_Code_Line *)event->event_info; + line = (Elm_Code_Line *)event->info; if (line->number == 1) elm_code_line_token_add(line, 17, 24, 1, ELM_CODE_TOKEN_TYPE_COMMENT); diff --git a/elm_code/src/lib/widget/elm_code_widget.c b/elm_code/src/lib/widget/elm_code_widget.c index abb766b..6433f2d 100644 --- a/elm_code/src/lib/widget/elm_code_widget.c +++ b/elm_code/src/lib/widget/elm_code_widget.c @@ -445,7 +445,7 @@ _elm_code_widget_line_cb(void *data, const Eo_Event *event) Elm_Code_Widget *widget; Eina_Bool visible; - line = (Elm_Code_Line *)event->event_info; + line = (Elm_Code_Line *)event->info; widget = (Elm_Code_Widget *)data; visible = elm_obj_code_widget_line_visible_get(widget, line); diff --git a/src/bin/edi_consolepanel.c b/src/bin/edi_consolepanel.c index a64490e..1d5eac6 100644 --- a/src/bin/edi_consolepanel.c +++ b/src/bin/edi_consolepanel.c @@ -91,7 +91,7 @@ _edi_consolepanel_clicked_cb(void *data EINA_UNUSED, const Eo_Event *event) char *path, *terminated; unsigned int length; - line = (Elm_Code_Line *)event->event_info; + line = (Elm_Code_Line *)event->info; content = elm_code_line_text_get(line, ); terminated = malloc(sizeof(char) * (length + 1)); @@ -118,7 +118,7 @@ _edi_consolepanel_line_cb(void *data EINA_UNUSED, const Eo_Event *event) { Elm_Code_Line *line; - line = (Elm_Code_Line *)event->event_info; + line = (Elm_Code_Line *)event->info; if (line->data) line->status = ELM_CODE_STATUS_TYPE_ERROR; @@ -274,7 +274,7 @@ _edi_testpanel_line_cb(void *data EINA_UNUSED, const Eo_Event *event) { Elm_Code_Line *line; - line = (Elm_Code_Line *)event->event_info; + line = (Elm_Code_Line *)event->info; if (!line->data) return EO_CALLBACK_CONTINUE; diff --git a/src/bin/edi_logpanel.c b/src/bin/edi_logpanel.c index e2730dd..c493710 100644 --- a/src/bin/edi_logpanel.c +++ b/src/bin/edi_logpanel.c @@ -51,7 +51,7 @@ _edi_logpanel_line_cb(void *data EINA_UNUSED, const Eo_Event *event) { Elm_Code_Line *line; - line = (Elm_Code_Line *)event->event_info; + line = (Elm_Code_Line *)event->info; if (line->data) line->status = ELM_CODE_STATUS_TYPE_ERROR; --
[EGIT] [apps/ephoto] master 01/01: Ephoto: If located in single browser on rename, make sure to pend the new file path.
okra pushed a commit to branch master. http://git.enlightenment.org/apps/ephoto.git/commit/?id=11ffca550165bfbea985d0a3a8f310fc00c6680d commit 11ffca550165bfbea985d0a3a8f310fc00c6680d Author: Stephen HoustonDate: Wed Apr 13 20:07:53 2016 -0500 Ephoto: If located in single browser on rename, make sure to pend the new file path. --- src/bin/ephoto_file.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/src/bin/ephoto_file.c b/src/bin/ephoto_file.c index 1e399bb..7b8b334 100644 --- a/src/bin/ephoto_file.c +++ b/src/bin/ephoto_file.c @@ -478,6 +478,12 @@ _rename_confirm(void *data, Evas_Object *obj EINA_UNUSED, _complete(ephoto, _("Error"), _("There was an error renaming this file.")); } + else + { +if (ephoto->state == EPHOTO_STATE_SINGLE) + ephoto_single_browser_path_pending_set(ephoto->single_browser, + new_file_name); + } evas_object_del(popup); evas_object_freeze_events_set(ephoto->pager, EINA_FALSE); elm_object_focus_set(ephoto->pager, EINA_TRUE); --
[EGIT] [apps/ephoto] master 01/01: Ephoto: Add renme and delete to single browser.
okra pushed a commit to branch master. http://git.enlightenment.org/apps/ephoto.git/commit/?id=b73233d8fb42e497e6120a5929527094afa7f552 commit b73233d8fb42e497e6120a5929527094afa7f552 Author: Stephen HoustonDate: Wed Apr 13 20:02:23 2016 -0500 Ephoto: Add renme and delete to single browser. --- src/bin/ephoto_config.c | 2 ++ src/bin/ephoto_single_browser.c | 17 - 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/bin/ephoto_config.c b/src/bin/ephoto_config.c index 44b70da..3853d94 100644 --- a/src/bin/ephoto_config.c +++ b/src/bin/ephoto_config.c @@ -361,6 +361,8 @@ _config_bindings(Evas_Object *parent) "Left Arrow: Navigate Previous" "Right Arrow: Navigate Next" "End: Navigate Last" + "Ctrl+Delete: Delete Image" + "F2 Rename Image" "Escape: Return to Thumbnail Browser" "Slideshow Bindings" "Space: Play/Pause Slideshow" diff --git a/src/bin/ephoto_single_browser.c b/src/bin/ephoto_single_browser.c index ffed484..dc101e2 100644 --- a/src/bin/ephoto_single_browser.c +++ b/src/bin/ephoto_single_browser.c @@ -964,6 +964,15 @@ _delete_image(void *data, Evas_Object *obj EINA_UNUSED, } static void +_rename_image(void *data, Evas_Object *obj EINA_UNUSED, +void *event_info EINA_UNUSED) +{ + Ephoto_Single_Browser *sb = data; + + ephoto_file_rename(sb->ephoto, sb->entry->path); +} + +static void _go_first(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { @@ -1377,6 +1386,8 @@ _add_edit_menu_items(Ephoto_Single_Browser *sb, Evas_Object *menu) _save_image_as, sb); elm_menu_item_add(menu, menu_it, "document-send", _("Upload"), _upload_image, sb); + elm_menu_item_add(menu, menu_it, "edit", _("Rename"), +_rename_image, sb); elm_menu_item_add(menu, menu_it, "edit-delete", _("Delete"), _delete_image, sb); menu_it = @@ -1427,7 +1438,7 @@ _add_edit_menu_items(Ephoto_Single_Browser *sb, Evas_Object *menu) elm_menu_item_add(menu, NULL, "document-properties", _("View"), NULL, NULL); menu_itt = - elm_menu_item_add(menu, menu_it, "go-first", _("Go"), NULL, NULL); + elm_menu_item_add(menu, menu_it, "go-next", _("Go"), NULL, NULL); elm_menu_item_add(menu, menu_itt, "go-first", _("First"), _go_first, sb); elm_menu_item_add(menu, menu_itt, "go-previous", _("Previous"), _go_prev, sb); elm_menu_item_add(menu, menu_itt, "go-next", _("Next"), _go_next, sb); @@ -1543,6 +1554,10 @@ _ephoto_main_key_down(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNU { _ephoto_show_settings(sb, NULL, NULL); } + else if (!strcmp(k, "F2")) + { +_rename_image(sb, NULL, NULL); + } else if (!strcmp(k, "F5") && !sb->editing) { if (sb->entry) --
[EGIT] [website/www-content] master 01/01: Revert "Wiki page newsdata changed with summary [] by Raster"
raster pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=e07dc00e500b2245183371c102248cf89979fc89 commit e07dc00e500b2245183371c102248cf89979fc89 Author: Carsten Haitzler (Rasterman)Date: Thu Apr 14 08:25:57 2016 +0900 Revert "Wiki page newsdata changed with summary [] by Raster" This reverts commit 7c7502b43a5e7d39459225d8952eebe91cb28394. --- pages/news/newsdata.txt | 76 + 1 file changed, 76 insertions(+) diff --git a/pages/news/newsdata.txt b/pages/news/newsdata.txt index 1be68b0..091d87f 100644 --- a/pages/news/newsdata.txt +++ b/pages/news/newsdata.txt @@ -1,3 +1,79 @@ +== Enlightenment DR 0.21.0-alpha Release == + + * anchor: #20160412141503 + * head: Enlightenment DR 0.21.0-alpha Release + * subtitle: #swagger + * link: /news/allnewsdata#20160412141503 + * start: 2016-04-12 + * stop: 2099-01-01 + * text: +Highlights: +> Greatly improved Wayland support +> New gadget infrastructure +> Wizard improvements +> Video backgrounds + +As always, stay tuned to the latest infrequent E updates on the [[ http://e.zmike.ninja|release blog]]. + +== Download == + +^ ** LINK ** ^ ** SHA256 ** ^ +| [[ http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.21.0-alpha.tar.gz | Enlightenment DR 0.21.0-alpha GZIP]]| aeda670eecdfde161171c472c8a358629638f7877afe14e60ff7fab71b998608 | +| [[ http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.21.0-alpha.tar.xz | Enlightenment DR 0.21.0-alpha XZ]] | e3dab3f72194132c51993b6f81a391dac1c1048873e7f6c031312448bb237217 | + +//Artisinally composited pixmaps for your desktop.// + +== Building and Dependencies == + +If you have an existing EFL or Elementary install, you may wish to delete its header files and libraries before compiling and installing to avoid possible conflicts during compilation. Please compile the dependencies in the following order (click for README): + + - [[https://git.enlightenment.org/core/efl.git/tree/README | EFL]] + - [[https://git.enlightenment.org/core/elementary.git/tree/README | Elementary]] + - [[https://git.enlightenment.org/core/emotion_generic_players.git/tree/README | Emotion generic players]] + - [[https://git.enlightenment.org/core/evas_generic_loaders.git/tree/README | Evas generic loaders]] + +**Note:** E21 depends on EFL **v1.17** or newer for X11 compositing and 1.18 for Wayland support. + * author: zmike + * tags: + +== Enlightenment DR 0.21.0-alpha Release == + + * anchor: #20160412141503 + * head: Enlightenment DR 0.21.0-alpha Release + * subtitle: #swagger + * link: /news/allnewsdata#20160412141503 + * start: 2016-04-12 + * stop: 2099-01-01 + * text: +Highlights: + * Greatly improved Wayland support + * New gadget infrastructure + * Wizard improvements + * Video backgrounds + +As always, stay tuned to the latest infrequent E updates on the [[ http://e.zmike.ninja|release blog]]. + +== Download == + +^ ** LINK ** ^ ** SHA256 ** ^ +| [[ http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.21.0-alpha.tar.gz | Enlightenment DR 0.21.0-alpha GZIP]]| aeda670eecdfde161171c472c8a358629638f7877afe14e60ff7fab71b998608 | +| [[ http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.21.0-alpha.tar.xz | Enlightenment DR 0.21.0-alpha XZ]] | e3dab3f72194132c51993b6f81a391dac1c1048873e7f6c031312448bb237217 | + +//Artisinally composited pixmaps for your desktop.// + +== Building and Dependencies == + +If you have an existing EFL or Elementary install, you may wish to delete its header files and libraries before compiling and installing to avoid possible conflicts during compilation. Please compile the dependencies in the following order (click for README): + + - [[https://git.enlightenment.org/core/efl.git/tree/README | EFL]] + - [[https://git.enlightenment.org/core/elementary.git/tree/README | Elementary]] + - [[https://git.enlightenment.org/core/emotion_generic_players.git/tree/README | Emotion generic players]] + - [[https://git.enlightenment.org/core/evas_generic_loaders.git/tree/README | Evas generic loaders]] + +**Note:** E21 depends on EFL **v1.17** or newer for X11 compositing and 1.18 for Wayland support. + * author: zmike + * tags: + == Enlightenment Developer Days 2016 Schedule == * anchor: #20160331080143 --
[EGIT] [website/www-content] master 01/01: Wiki page newsdata changed with summary [] by Raster
WWW-www.enlightenment.org pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=c016e95acde24e0b9d4bfcd460065db7e2f218e4 commit c016e95acde24e0b9d4bfcd460065db7e2f218e4 Author: RasterDate: Wed Apr 13 16:40:16 2016 -0700 Wiki page newsdata changed with summary [] by Raster --- pages/news/newsdata.txt | 38 -- 1 file changed, 38 deletions(-) diff --git a/pages/news/newsdata.txt b/pages/news/newsdata.txt index 091d87f..23be59d 100644 --- a/pages/news/newsdata.txt +++ b/pages/news/newsdata.txt @@ -36,44 +36,6 @@ If you have an existing EFL or Elementary install, you may wish to delete its he * author: zmike * tags: -== Enlightenment DR 0.21.0-alpha Release == - - * anchor: #20160412141503 - * head: Enlightenment DR 0.21.0-alpha Release - * subtitle: #swagger - * link: /news/allnewsdata#20160412141503 - * start: 2016-04-12 - * stop: 2099-01-01 - * text: -Highlights: - * Greatly improved Wayland support - * New gadget infrastructure - * Wizard improvements - * Video backgrounds - -As always, stay tuned to the latest infrequent E updates on the [[ http://e.zmike.ninja|release blog]]. - -== Download == - -^ ** LINK ** ^ ** SHA256 ** ^ -| [[ http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.21.0-alpha.tar.gz | Enlightenment DR 0.21.0-alpha GZIP]]| aeda670eecdfde161171c472c8a358629638f7877afe14e60ff7fab71b998608 | -| [[ http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.21.0-alpha.tar.xz | Enlightenment DR 0.21.0-alpha XZ]] | e3dab3f72194132c51993b6f81a391dac1c1048873e7f6c031312448bb237217 | - -//Artisinally composited pixmaps for your desktop.// - -== Building and Dependencies == - -If you have an existing EFL or Elementary install, you may wish to delete its header files and libraries before compiling and installing to avoid possible conflicts during compilation. Please compile the dependencies in the following order (click for README): - - - [[https://git.enlightenment.org/core/efl.git/tree/README | EFL]] - - [[https://git.enlightenment.org/core/elementary.git/tree/README | Elementary]] - - [[https://git.enlightenment.org/core/emotion_generic_players.git/tree/README | Emotion generic players]] - - [[https://git.enlightenment.org/core/evas_generic_loaders.git/tree/README | Evas generic loaders]] - -**Note:** E21 depends on EFL **v1.17** or newer for X11 compositing and 1.18 for Wayland support. - * author: zmike - * tags: - == Enlightenment Developer Days 2016 Schedule == * anchor: #20160331080143 --
[EGIT] [website/www-content] master 09/09: Wiki page newsdata changed with summary [[ Enlightenment Developer Days 2016 Schedule] ] by Raster
WWW-www.enlightenment.org pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=703e0c5f763ebda68577896624c55e1145e026ee commit 703e0c5f763ebda68577896624c55e1145e026ee Author: RasterDate: Wed Apr 13 16:24:25 2016 -0700 Wiki page newsdata changed with summary [[ Enlightenment Developer Days 2016 Schedule] ] by Raster --- pages/news/newsdata.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/news/newsdata.txt b/pages/news/newsdata.txt index 1a1e6bc..1be68b0 100644 --- a/pages/news/newsdata.txt +++ b/pages/news/newsdata.txt @@ -7,7 +7,7 @@ * start: 2016-03-31 * stop: 2016-05-31 * text: -We finalized the schedule for our Enlightenment Developer Days 2016 in Paris May 14-16th. +We finalized the schedule for our Enlightenment Developer Days 2016 in Paris May 14-16th. [[https://phab.enlightenment.org/w/events/enlightenment_developer_days_2016/]] The morning sessions will be filled with talks while we keep the lunch and afternoon time free for coding. --
[EGIT] [website/www-content] master 07/09: Wiki page newsdata changed with summary [] by Raster
WWW-www.enlightenment.org pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=fbe7534cb775a35e8330ad4d665d121d9de7c6f2 commit fbe7534cb775a35e8330ad4d665d121d9de7c6f2 Author: RasterDate: Tue Apr 12 17:54:42 2016 -0700 Wiki page newsdata changed with summary [] by Raster --- pages/news/newsdata.txt | 50 ++--- 1 file changed, 6 insertions(+), 44 deletions(-) diff --git a/pages/news/newsdata.txt b/pages/news/newsdata.txt index fb4756e..75cc030 100644 --- a/pages/news/newsdata.txt +++ b/pages/news/newsdata.txt @@ -1,55 +1,17 @@ == Enlightenment DR 0.21.0-alpha Release == - * anchor: #20160412142526 - * head: Enlightenment DR 0.21.0-alpha Release - * subtitle: #swagger - * link: /news/allnewsdata#20160412142526 - * start: 2016-04-12 - * stop: - * text: -Highlights: - * Greatly improved Wayland support - * New gadget infrastructure - * Wizard improvements - * Video backgrounds - -As always, stay tuned to the latest infrequent E updates on the [[ http://e.zmike.ninja|release blog]]. - -== Download == - -^ ** LINK ** ^ ** SHA256 ** ^ -| [[ http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.21.0-alpha.tar.gz | Enlightenment DR 0.21.0-alpha GZIP]]| aeda670eecdfde161171c472c8a358629638f7877afe14e60ff7fab71b998608 | -| [[ http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.21.0-alpha.tar.xz | Enlightenment DR 0.21.0-alpha XZ]] | e3dab3f72194132c51993b6f81a391dac1c1048873e7f6c031312448bb237217 | - -//Artisinally composited pixmaps for your desktop.// - -== Building and Dependencies == - -If you have an existing EFL or Elementary install, you may wish to delete its header files and libraries before compiling and installing to avoid possible conflicts during compilation. Please compile the dependencies in the following order (click for README): - - - [[https://git.enlightenment.org/core/efl.git/tree/README | EFL]] - - [[https://git.enlightenment.org/core/elementary.git/tree/README | Elementary]] - - [[https://git.enlightenment.org/core/emotion_generic_players.git/tree/README | Emotion generic players]] - - [[https://git.enlightenment.org/core/evas_generic_loaders.git/tree/README | Evas generic loaders]] - -**Note:** E21 depends on EFL **v1.17** or newer for X11 compositing and 1.18 for Wayland support. - * author: zmike - * tags: - -== Enlightenment DR 0.21.0-alpha Release == - * anchor: #20160412141503 * head: Enlightenment DR 0.21.0-alpha Release * subtitle: #swagger * link: /news/allnewsdata#20160412141503 * start: 2016-04-12 - * stop: + * stop: 2099-01-01 * text: Highlights: - * Greatly improved Wayland support - * New gadget infrastructure - * Wizard improvements - * Video backgrounds +> Greatly improved Wayland support +> New gadget infrastructure +> Wizard improvements +> Video backgrounds As always, stay tuned to the latest infrequent E updates on the [[ http://e.zmike.ninja|release blog]]. @@ -81,7 +43,7 @@ If you have an existing EFL or Elementary install, you may wish to delete its he * subtitle: #swagger * link: /news/allnewsdata#20160412141503 * start: 2016-04-12 - * stop: + * stop: 2099-01-01 * text: Highlights: * Greatly improved Wayland support --
[EGIT] [website/www-content] master 08/09: Wiki page newsdata changed with summary [] by Raster
WWW-www.enlightenment.org pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=7c7502b43a5e7d39459225d8952eebe91cb28394 commit 7c7502b43a5e7d39459225d8952eebe91cb28394 Author: RasterDate: Wed Apr 13 16:20:02 2016 -0700 Wiki page newsdata changed with summary [] by Raster --- pages/news/newsdata.txt | 76 - 1 file changed, 76 deletions(-) diff --git a/pages/news/newsdata.txt b/pages/news/newsdata.txt index 75cc030..1a1e6bc 100644 --- a/pages/news/newsdata.txt +++ b/pages/news/newsdata.txt @@ -1,79 +1,3 @@ -== Enlightenment DR 0.21.0-alpha Release == - - * anchor: #20160412141503 - * head: Enlightenment DR 0.21.0-alpha Release - * subtitle: #swagger - * link: /news/allnewsdata#20160412141503 - * start: 2016-04-12 - * stop: 2099-01-01 - * text: -Highlights: -> Greatly improved Wayland support -> New gadget infrastructure -> Wizard improvements -> Video backgrounds - -As always, stay tuned to the latest infrequent E updates on the [[ http://e.zmike.ninja|release blog]]. - -== Download == - -^ ** LINK ** ^ ** SHA256 ** ^ -| [[ http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.21.0-alpha.tar.gz | Enlightenment DR 0.21.0-alpha GZIP]]| aeda670eecdfde161171c472c8a358629638f7877afe14e60ff7fab71b998608 | -| [[ http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.21.0-alpha.tar.xz | Enlightenment DR 0.21.0-alpha XZ]] | e3dab3f72194132c51993b6f81a391dac1c1048873e7f6c031312448bb237217 | - -//Artisinally composited pixmaps for your desktop.// - -== Building and Dependencies == - -If you have an existing EFL or Elementary install, you may wish to delete its header files and libraries before compiling and installing to avoid possible conflicts during compilation. Please compile the dependencies in the following order (click for README): - - - [[https://git.enlightenment.org/core/efl.git/tree/README | EFL]] - - [[https://git.enlightenment.org/core/elementary.git/tree/README | Elementary]] - - [[https://git.enlightenment.org/core/emotion_generic_players.git/tree/README | Emotion generic players]] - - [[https://git.enlightenment.org/core/evas_generic_loaders.git/tree/README | Evas generic loaders]] - -**Note:** E21 depends on EFL **v1.17** or newer for X11 compositing and 1.18 for Wayland support. - * author: zmike - * tags: - -== Enlightenment DR 0.21.0-alpha Release == - - * anchor: #20160412141503 - * head: Enlightenment DR 0.21.0-alpha Release - * subtitle: #swagger - * link: /news/allnewsdata#20160412141503 - * start: 2016-04-12 - * stop: 2099-01-01 - * text: -Highlights: - * Greatly improved Wayland support - * New gadget infrastructure - * Wizard improvements - * Video backgrounds - -As always, stay tuned to the latest infrequent E updates on the [[ http://e.zmike.ninja|release blog]]. - -== Download == - -^ ** LINK ** ^ ** SHA256 ** ^ -| [[ http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.21.0-alpha.tar.gz | Enlightenment DR 0.21.0-alpha GZIP]]| aeda670eecdfde161171c472c8a358629638f7877afe14e60ff7fab71b998608 | -| [[ http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.21.0-alpha.tar.xz | Enlightenment DR 0.21.0-alpha XZ]] | e3dab3f72194132c51993b6f81a391dac1c1048873e7f6c031312448bb237217 | - -//Artisinally composited pixmaps for your desktop.// - -== Building and Dependencies == - -If you have an existing EFL or Elementary install, you may wish to delete its header files and libraries before compiling and installing to avoid possible conflicts during compilation. Please compile the dependencies in the following order (click for README): - - - [[https://git.enlightenment.org/core/efl.git/tree/README | EFL]] - - [[https://git.enlightenment.org/core/elementary.git/tree/README | Elementary]] - - [[https://git.enlightenment.org/core/emotion_generic_players.git/tree/README | Emotion generic players]] - - [[https://git.enlightenment.org/core/evas_generic_loaders.git/tree/README | Evas generic loaders]] - -**Note:** E21 depends on EFL **v1.17** or newer for X11 compositing and 1.18 for Wayland support. - * author: zmike - * tags: - == Enlightenment Developer Days 2016 Schedule == * anchor: #20160331080143 --
[EGIT] [website/www-content] master 06/09: Wiki page download-latest changed with summary [E21 alpha] by Mike Blumenkrantz
WWW-www.enlightenment.org pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=35e337453d91b8cad6d963e293beb814e357239b commit 35e337453d91b8cad6d963e293beb814e357239b Author: Mike BlumenkrantzDate: Tue Apr 12 14:37:42 2016 -0700 Wiki page download-latest changed with summary [E21 alpha] by Mike Blumenkrantz --- pages/download-latest.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/download-latest.txt b/pages/download-latest.txt index 8f0f7af..c838952 100644 --- a/pages/download-latest.txt +++ b/pages/download-latest.txt @@ -5,7 +5,7 @@ emotion_generic_players_v = 1.17.0 evas_generic_loaders_v= 1.17.0 python_efl_v = 1.17.0 -enlightenment_v = 0.20.6 +enlightenment_v = 0.21.0-alpha terminology_v = 0.9.1 rage_v= 0.1.4 econnman_v= 1.1 --
[EGIT] [website/www-content] master 05/09: Wiki page start-release changed with summary [E21 alpha] by Mike Blumenkrantz
WWW-www.enlightenment.org pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=7c9b161cf69cd74a1d008b24f6a74e3fb5d993d3 commit 7c9b161cf69cd74a1d008b24f6a74e3fb5d993d3 Author: Mike BlumenkrantzDate: Tue Apr 12 14:37:20 2016 -0700 Wiki page start-release changed with summary [E21 alpha] by Mike Blumenkrantz --- pages/start-release.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/start-release.txt b/pages/start-release.txt index d95d01c..2292d1d 100644 --- a/pages/start-release.txt +++ b/pages/start-release.txt @@ -1,3 +1,3 @@ -EFL 1.17.0 and Enlightenment 0.20.6 are out - go to our [[download]] page. +EFL 1.17.0 and Enlightenment 0.21.0-alpha are out - go to our [[download]] page. \ No newline at end of file --
[EGIT] [website/www-content] master 03/09: Wiki page newsdata changed with summary [] by Mike Blumenkrantz
WWW-www.enlightenment.org pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=29a0b135a6531c10f43800c149c0af797a78ed84 commit 29a0b135a6531c10f43800c149c0af797a78ed84 Author: Mike BlumenkrantzDate: Tue Apr 12 14:25:24 2016 -0700 Wiki page newsdata changed with summary [] by Mike Blumenkrantz --- pages/news/newsdata.txt | 38 ++ 1 file changed, 38 insertions(+) diff --git a/pages/news/newsdata.txt b/pages/news/newsdata.txt index e1263ba..b910f32 100644 --- a/pages/news/newsdata.txt +++ b/pages/news/newsdata.txt @@ -36,6 +36,44 @@ If you have an existing EFL or Elementary install, you may wish to delete its he * author: zmike * tags: +== Enlightenment DR 0.21.0-alpha Release == + + * anchor: #20160412141503 + * head: Enlightenment DR 0.21.0-alpha Release + * subtitle: #swagger + * link: /news/allnewsdata#20160412141503 + * start: 2016-04-12 + * stop: + * text: +Highlights: + * Greatly improved Wayland support + * New gadget infrastructure + * Wizard improvements + * Video backgrounds + +As always, stay tuned to the latest infrequent E updates on the [[ http://e.zmike.ninja|release blog]]. + +== Download == + +^ ** LINK ** ^ ** SHA256 ** ^ +| [[ http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.21.0-alpha.tar.gz | Enlightenment DR 0.21.0-alpha GZIP]]| aeda670eecdfde161171c472c8a358629638f7877afe14e60ff7fab71b998608 | +| [[ http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.21.0-alpha.tar.xz | Enlightenment DR 0.21.0-alpha XZ]] | e3dab3f72194132c51993b6f81a391dac1c1048873e7f6c031312448bb237217 | + +//Artisinally composited pixmaps for your desktop.// + +== Building and Dependencies == + +If you have an existing EFL or Elementary install, you may wish to delete its header files and libraries before compiling and installing to avoid possible conflicts during compilation. Please compile the dependencies in the following order (click for README): + + - [[https://git.enlightenment.org/core/efl.git/tree/README | EFL]] + - [[https://git.enlightenment.org/core/elementary.git/tree/README | Elementary]] + - [[https://git.enlightenment.org/core/emotion_generic_players.git/tree/README | Emotion generic players]] + - [[https://git.enlightenment.org/core/evas_generic_loaders.git/tree/README | Evas generic loaders]] + +**Note:** E21 depends on EFL **v1.17** or newer for X11 compositing and 1.18 for Wayland support. + * author: zmike + * tags: + == Enlightenment Developer Days 2016 Schedule == * anchor: #20160331080143 --
[EGIT] [website/www-content] master 02/09: Wiki page newsdata changed with summary [] by Mike Blumenkrantz
WWW-www.enlightenment.org pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=39fea865707993978e22cd6b5f3ea2e9e3ca0b01 commit 39fea865707993978e22cd6b5f3ea2e9e3ca0b01 Author: Mike BlumenkrantzDate: Tue Apr 12 14:25:00 2016 -0700 Wiki page newsdata changed with summary [] by Mike Blumenkrantz --- pages/news/newsdata.txt | 38 ++ 1 file changed, 38 insertions(+) diff --git a/pages/news/newsdata.txt b/pages/news/newsdata.txt index 1a1e6bc..e1263ba 100644 --- a/pages/news/newsdata.txt +++ b/pages/news/newsdata.txt @@ -1,3 +1,41 @@ +== Enlightenment DR 0.21.0-alpha Release == + + * anchor: #20160412141503 + * head: Enlightenment DR 0.21.0-alpha Release + * subtitle: #swagger + * link: /news/allnewsdata#20160412141503 + * start: 2016-04-12 + * stop: + * text: +Highlights: + * Greatly improved Wayland support + * New gadget infrastructure + * Wizard improvements + * Video backgrounds + +As always, stay tuned to the latest infrequent E updates on the [[ http://e.zmike.ninja|release blog]]. + +== Download == + +^ ** LINK ** ^ ** SHA256 ** ^ +| [[ http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.21.0-alpha.tar.gz | Enlightenment DR 0.21.0-alpha GZIP]]| aeda670eecdfde161171c472c8a358629638f7877afe14e60ff7fab71b998608 | +| [[ http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.21.0-alpha.tar.xz | Enlightenment DR 0.21.0-alpha XZ]] | e3dab3f72194132c51993b6f81a391dac1c1048873e7f6c031312448bb237217 | + +//Artisinally composited pixmaps for your desktop.// + +== Building and Dependencies == + +If you have an existing EFL or Elementary install, you may wish to delete its header files and libraries before compiling and installing to avoid possible conflicts during compilation. Please compile the dependencies in the following order (click for README): + + - [[https://git.enlightenment.org/core/efl.git/tree/README | EFL]] + - [[https://git.enlightenment.org/core/elementary.git/tree/README | Elementary]] + - [[https://git.enlightenment.org/core/emotion_generic_players.git/tree/README | Emotion generic players]] + - [[https://git.enlightenment.org/core/evas_generic_loaders.git/tree/README | Evas generic loaders]] + +**Note:** E21 depends on EFL **v1.17** or newer for X11 compositing and 1.18 for Wayland support. + * author: zmike + * tags: + == Enlightenment Developer Days 2016 Schedule == * anchor: #20160331080143 --
[EGIT] [core/efl] master 16/16: Merge branch 'devs/devilhorns/elput'
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f20eb4eba7321cfc6907bdcc2e3baca16066be2a commit f20eb4eba7321cfc6907bdcc2e3baca16066be2a Merge: c23a61a 43360ca Author: Chris MichaelDate: Wed Apr 13 14:16:39 2016 -0400 Merge branch 'devs/devilhorns/elput' The elput library is an efl abstraction for the libinput library which can be used by various other subsystems (ecore_fb, ecore_drm, etc) to handle interfacing with libinput without having to duplicate the code in each subsystem. Elput currently uses systemd-logind by default to open/close input devices, but has the ability for other methods (direct opening) to be easily added through the Manager implementation. NB: This library is merged with EFL_BETA_API_SUPPORT and is subject to API changes. Makefile.am|4 + configure.ac | 71 ++ pc/elput.pc.in | 12 + src/Makefile.am|1 + src/Makefile_Elput.am | 59 ++ src/lib/elput/Elput.h | 265 +++ src/lib/elput/elput.c | 73 ++ src/lib/elput/elput_evdev.c| 1383 src/lib/elput/elput_input.c| 277 src/lib/elput/elput_logind.c | 569 +++ src/lib/elput/elput_manager.c | 64 ++ src/lib/elput/elput_private.h | 250 +++ src/tests/elput/elput_suite.c | 29 + src/tests/elput/elput_suite.h |8 + src/tests/elput/elput_test_elput.c | 29 + 15 files changed, 3094 insertions(+) --
[EGIT] [core/efl] master 09/16: elput: Create and raise event when seat capabilities change
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b764978f29d86a3e42eac1de3e438e0932b4331f commit b764978f29d86a3e42eac1de3e438e0932b4331f Author: Chris MichaelDate: Wed Apr 6 10:26:46 2016 -0400 elput: Create and raise event when seat capabilities change Signed-off-by: Chris Michael --- src/lib/elput/Elput.h| 11 +++ src/lib/elput/elput.c| 6 ++ src/lib/elput/elput_evdev.c | 18 +- src/lib/elput/elput_logind.c | 21 - 4 files changed, 46 insertions(+), 10 deletions(-) diff --git a/src/lib/elput/Elput.h b/src/lib/elput/Elput.h index f6ad5d2..90cfe77 100644 --- a/src/lib/elput/Elput.h +++ b/src/lib/elput/Elput.h @@ -43,6 +43,17 @@ typedef struct _Elput_Pointer Elput_Pointer; /* opaque structure to represent a touch device */ typedef struct _Elput_Touch Elput_Touch; +/* structure to represent event for seat capability changes */ +typedef struct _Elput_Event_Seat_Caps +{ + int pointer_count; + int keyboard_count; + int touch_count; + Elput_Seat *seat; +} Elput_Event_Seat_Caps; + +EAPI extern int ELPUT_EVENT_SEAT_CAPS; + /** * @file * @brief Ecore functions for dealing with libinput diff --git a/src/lib/elput/elput.c b/src/lib/elput/elput.c index 1b5613f..ef2ca6b 100644 --- a/src/lib/elput/elput.c +++ b/src/lib/elput/elput.c @@ -6,6 +6,8 @@ static int _elput_init_count = 0; /* external variables */ int _elput_log_dom = -1; +EAPI int ELPUT_EVENT_SEAT_CAPS = -1; + EAPI int elput_init(void) { @@ -23,6 +25,8 @@ elput_init(void) goto log_err; } + ELPUT_EVENT_SEAT_CAPS = ecore_event_type_new(); + return _elput_init_count; log_err: @@ -43,6 +47,8 @@ elput_shutdown(void) if (_elput_init_count < 1) return 0; if (--_elput_init_count != 0) return _elput_init_count; + ELPUT_EVENT_SEAT_CAPS = -1; + eina_log_domain_unregister(_elput_log_dom); _elput_log_dom = -1; diff --git a/src/lib/elput/elput_evdev.c b/src/lib/elput/elput_evdev.c index 4c34738..a0dc07e 100644 --- a/src/lib/elput/elput_evdev.c +++ b/src/lib/elput/elput_evdev.c @@ -3,7 +3,17 @@ static void _seat_caps_update(Elput_Seat *seat) { - /* TODO: raise event for seat caps */ + Elput_Event_Seat_Caps *ev; + + ev = calloc(1, sizeof(Elput_Event_Seat_Caps)); + if (!ev) return; + + ev->pointer_count = seat->count.ptr; + ev->keyboard_count = seat->count.kbd; + ev->touch_count = seat->count.touch; + ev->seat = seat; + + ecore_event_add(ELPUT_EVENT_SEAT_CAPS, ev, NULL, NULL); } static int @@ -360,7 +370,13 @@ _evdev_event_process(struct libinput_event *event) if (frame) { +Elput_Device *edev; +edev = libinput_device_get_user_data(idev); +if (edev) + { + /* TODO: send seat frame event ?? */ + } } return ret; diff --git a/src/lib/elput/elput_logind.c b/src/lib/elput/elput_logind.c index c89ca2a..e829b4a 100644 --- a/src/lib/elput/elput_logind.c +++ b/src/lib/elput/elput_logind.c @@ -78,9 +78,10 @@ _cb_device_paused(void *data, const Eldbus_Message *msg) if (!strcmp(type, "pause")) _logind_device_pause_complete(em, maj, min); -/* TODO */ -/* if ((em->sync) && (maj == DRM_MAJOR)) */ -/* _ecore_drm2_launcher_activate_send(em, EINA_FALSE); */ +if ((em->sync) && (maj == 226)) // DRM_MAJOR + { + /* TODO: _ecore_drm2_launcher_activate_send(em, EINA_FALSE); */ + } } } @@ -102,9 +103,10 @@ _cb_device_resumed(void *data, const Eldbus_Message *msg) if (eldbus_message_arguments_get(msg, "uuh", , , )) { -/* TODO */ -/* if ((em->sync) && (maj == DRM_MAJOR)) */ -/* _ecore_drm2_launcher_activate_send(em, EINA_TRUE); */ +if ((em->sync) && (maj == 226)) // DRM_MAJOR + { + /* TODO: _ecore_drm2_launcher_activate_send(em, EINA_TRUE); */ + } } } @@ -123,9 +125,10 @@ _cb_property_changed(void *data, Eldbus_Proxy *proxy EINA_UNUSED, void *event) if (!strcmp(ev->name, "Active")) { eina_value_get(ev->value, ); -/* TODO */ -/* if ((!em->sync) || (!active)) */ -/* _ecore_drm2_launcher_activate_send(em, active); */ +if ((!em->sync) || (!active)) + { + /* TODO: _ecore_drm2_launcher_activate_send(em, active); */ + } } } --
[EGIT] [core/efl] master 13/16: elput: Add event which can be raised when devices get added or removed
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6c85fe751488c344f1c0cff8e9f3dd013bf5f66d commit 6c85fe751488c344f1c0cff8e9f3dd013bf5f66d Author: Chris MichaelDate: Thu Apr 7 09:00:18 2016 -0400 elput: Add event which can be raised when devices get added or removed Signed-off-by: Chris Michael --- src/lib/elput/Elput.h | 14 + src/lib/elput/elput.c | 3 +++ src/lib/elput/elput_input.c | 50 +++-- 3 files changed, 61 insertions(+), 6 deletions(-) diff --git a/src/lib/elput/Elput.h b/src/lib/elput/Elput.h index f8808ce..385ea4e 100644 --- a/src/lib/elput/Elput.h +++ b/src/lib/elput/Elput.h @@ -74,10 +74,24 @@ typedef struct _Elput_Event_Modifiers_Send unsigned int group; } Elput_Event_Modifiers_Send; +typedef enum _Elput_Device_Change_Type +{ + ELPUT_DEVICE_ADDED, + ELPUT_DEVICE_REMOVED, +} Elput_Device_Change_Type; + +/* structure to represent event for device being added or removed */ +typedef struct _Elput_Event_Device_Change +{ + Elput_Device *device; + Elput_Device_Change_Type type; +} Elput_Event_Device_Change; + EAPI extern int ELPUT_EVENT_SEAT_CAPS; EAPI extern int ELPUT_EVENT_SEAT_FRAME; EAPI extern int ELPUT_EVENT_KEYMAP_SEND; EAPI extern int ELPUT_EVENT_MODIFIERS_SEND; +EAPI extern int ELPUT_EVENT_DEVICE_CHANGE; /** * @file diff --git a/src/lib/elput/elput.c b/src/lib/elput/elput.c index f65da98..2e54b3e 100644 --- a/src/lib/elput/elput.c +++ b/src/lib/elput/elput.c @@ -10,6 +10,7 @@ EAPI int ELPUT_EVENT_SEAT_CAPS = -1; EAPI int ELPUT_EVENT_SEAT_FRAME = -1; EAPI int ELPUT_EVENT_KEYMAP_SEND = -1; EAPI int ELPUT_EVENT_MODIFIERS_SEND = -1; +EAPI int ELPUT_EVENT_DEVICE_CHANGE = -1; EAPI int elput_init(void) @@ -32,6 +33,7 @@ elput_init(void) ELPUT_EVENT_SEAT_FRAME = ecore_event_type_new(); ELPUT_EVENT_KEYMAP_SEND = ecore_event_type_new(); ELPUT_EVENT_MODIFIERS_SEND = ecore_event_type_new(); + ELPUT_EVENT_DEVICE_CHANGE = ecore_event_type_new(); return _elput_init_count; @@ -57,6 +59,7 @@ elput_shutdown(void) ELPUT_EVENT_SEAT_FRAME = -1; ELPUT_EVENT_KEYMAP_SEND = -1; ELPUT_EVENT_MODIFIERS_SEND = -1; + ELPUT_EVENT_DEVICE_CHANGE = -1; eina_log_domain_unregister(_elput_log_dom); _elput_log_dom = -1; diff --git a/src/lib/elput/elput_input.c b/src/lib/elput/elput_input.c index 499efcf..6c43f2f 100644 --- a/src/lib/elput/elput_input.c +++ b/src/lib/elput/elput_input.c @@ -79,6 +79,41 @@ _udev_seat_get(Elput_Manager *em, struct libinput_device *device) } static void +_device_event_cb_free(void *data EINA_UNUSED, void *event) +{ + Elput_Event_Device_Change *ev; + + ev = event; + + if (ev->type == ELPUT_DEVICE_REMOVED) + { +Elput_Seat *seat; + +seat = ev->device->seat; +if (seat) + seat->devices = eina_list_remove(seat->devices, ev->device); + +_evdev_device_destroy(ev->device); + } + + free(ev); +} + +static void +_device_event_send(Elput_Device *edev, Elput_Device_Change_Type type) +{ + Elput_Event_Device_Change *ev; + + ev = calloc(1, sizeof(Elput_Event_Device_Change)); + if (!ev) return; + + ev->device = edev; + ev->type = type; + + ecore_event_add(ELPUT_EVENT_DEVICE_CHANGE, ev, _device_event_cb_free, NULL); +} + +static void _device_add(Elput_Manager *em, struct libinput_device *dev) { Elput_Seat *eseat; @@ -95,22 +130,25 @@ _device_add(Elput_Manager *em, struct libinput_device *dev) eina_stringshare_replace(>output_name, oname); eseat->devices = eina_list_append(eseat->devices, edev); + + _device_event_send(edev, ELPUT_DEVICE_ADDED); } static void -_device_remove(Elput_Manager *em, struct libinput_device *device) +_device_remove(Elput_Manager *em EINA_UNUSED, struct libinput_device *device) { - Elput_Seat *eseat; + /* Elput_Seat *eseat; */ Elput_Device *edev; edev = libinput_device_get_user_data(device); if (!edev) return; - eseat = _udev_seat_get(em, device); - if (eseat) - eseat->devices = eina_list_remove(eseat->devices, edev); + /* eseat = _udev_seat_get(em, device); */ + /* if (eseat) */ + /* eseat->devices = eina_list_remove(eseat->devices, edev); */ - _evdev_device_destroy(edev); + _device_event_send(edev, ELPUT_DEVICE_REMOVED); + /* _evdev_device_destroy(edev); */ } static int --
[EGIT] [core/efl] master 14/16: elput: Add API function to set input window
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=404b3049f3339e4ea95c116312386b3d19d1c99c commit 404b3049f3339e4ea95c116312386b3d19d1c99c Author: Chris MichaelDate: Thu Apr 7 09:08:00 2016 -0400 elput: Add API function to set input window Signed-off-by: Chris Michael --- src/lib/elput/Elput.h | 24 src/lib/elput/elput_evdev.c | 8 2 files changed, 32 insertions(+) diff --git a/src/lib/elput/Elput.h b/src/lib/elput/Elput.h index 385ea4e..06a027d 100644 --- a/src/lib/elput/Elput.h +++ b/src/lib/elput/Elput.h @@ -105,6 +105,7 @@ EAPI extern int ELPUT_EVENT_DEVICE_CHANGE; * @li @ref Elput_Init_Group * @li @ref Elput_Manager_Group * @li @ref Elput_Input_Group + * @li @ref Elput_Device_Group * */ @@ -221,6 +222,29 @@ EAPI Eina_Bool elput_input_init(Elput_Manager *manager, const char *seat); */ EAPI void elput_input_shutdown(Elput_Manager *manager); +/** + * @defgroup Elput_Device_Group + * + * Functions that deal with input devices. + */ + +/** + * Set which window to use for this input device + * + * @brief This function should be used to specify which window to set on the + *input device. Setting a window on the input device is done so that + *when we raise events (mouse movement, keyboard key, etc) then + *this window is passed to the event structure as the window which + *the event occured on. + * + * @param device + * @param window + * + * @ingroup Elput_Device_Group + * @since 1.18 + */ +EAPI void elput_device_window_set(Elput_Device *device, unsigned int window); + # endif # undef EAPI diff --git a/src/lib/elput/elput_evdev.c b/src/lib/elput/elput_evdev.c index 6dd4da4..4b6955d 100644 --- a/src/lib/elput/elput_evdev.c +++ b/src/lib/elput/elput_evdev.c @@ -1306,3 +1306,11 @@ _evdev_touch_get(Elput_Seat *seat) if (seat->count.touch) return seat->touch; return NULL; } + +EAPI void +elput_device_window_set(Elput_Device *device, unsigned int window) +{ + EINA_SAFETY_ON_NULL_RETURN(device); + + device->window = window; +} --
[EGIT] [core/efl] master 12/16: elput: Handle various events from libinput and pass to ecore_event
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6a7589bf7805b31b532cd6acf972a3f87f65366f commit 6a7589bf7805b31b532cd6acf972a3f87f65366f Author: Chris MichaelDate: Wed Apr 6 11:32:42 2016 -0400 elput: Handle various events from libinput and pass to ecore_event Signed-off-by: Chris Michael --- src/lib/elput/elput_evdev.c | 819 ++ src/lib/elput/elput_private.h | 12 +- 2 files changed, 830 insertions(+), 1 deletion(-) diff --git a/src/lib/elput/elput_evdev.c b/src/lib/elput/elput_evdev.c index 2036d17..6dd4da4 100644 --- a/src/lib/elput/elput_evdev.c +++ b/src/lib/elput/elput_evdev.c @@ -28,6 +28,35 @@ _seat_frame_send(Elput_Seat *seat) ecore_event_add(ELPUT_EVENT_SEAT_FRAME, ev, NULL, NULL); } +static void +_keyboard_modifiers_update(Elput_Keyboard *kbd, Elput_Seat *seat) +{ + xkb_mod_mask_t mask; + + kbd->mods.depressed = + xkb_state_serialize_mods(kbd->state, XKB_STATE_DEPRESSED); + kbd->mods.latched = + xkb_state_serialize_mods(kbd->state, XKB_STATE_LATCHED); + kbd->mods.locked = + xkb_state_serialize_mods(kbd->state, XKB_STATE_LOCKED); + kbd->mods.group = + xkb_state_serialize_mods(kbd->state, XKB_STATE_EFFECTIVE); + + mask = (kbd->mods.depressed | kbd->mods.latched); + + seat->modifiers = 0; + if (mask & kbd->info->mods.ctrl) + seat->modifiers |= ECORE_EVENT_MODIFIER_CTRL; + if (mask & kbd->info->mods.alt) + seat->modifiers |= ECORE_EVENT_MODIFIER_ALT; + if (mask & kbd->info->mods.shift) + seat->modifiers |= ECORE_EVENT_MODIFIER_SHIFT; + if (mask & kbd->info->mods.super) + seat->modifiers |= ECORE_EVENT_MODIFIER_WIN; + if (mask & kbd->info->mods.altgr) + seat->modifiers |= ECORE_EVENT_MODIFIER_ALTGR; +} + static int _keyboard_fd_get(off_t size) { @@ -248,6 +277,245 @@ _keyboard_release(Elput_Seat *seat) } } +static void +_keyboard_key_send(Elput_Device *dev, enum libinput_key_state state, const char *keyname, const char *key, const char *compose, unsigned int code, unsigned int timestamp) +{ + Ecore_Event_Key *ev; + + ev = calloc(1, sizeof(Ecore_Event_Key) + strlen(key) + strlen(keyname) + + ((compose[0] != '\0') ? strlen(compose) : 0) + 3); + if (!ev) return; + + ev->keyname = (char *)(ev + 1); + ev->key = ev->keyname + strlen(keyname) + 1; + ev->compose = strlen(compose) ? ev->key + strlen(key) + 1 : NULL; + ev->string = ev->compose; + + strcpy((char *)ev->keyname, keyname); + strcpy((char *)ev->key, key); + if (strlen(compose)) strcpy((char *)ev->compose, compose); + + /* ev->string = ev->compose; */ + ev->keycode = code; + ev->modifiers = dev->seat->modifiers; + ev->timestamp = timestamp; + ev->same_screen = 1; + + ev->window = dev->window; + ev->event_window = dev->window; + ev->root_window = dev->window; + + if (state == LIBINPUT_KEY_STATE_PRESSED) + ecore_event_add(ECORE_EVENT_KEY_DOWN, ev, NULL, NULL); + else + ecore_event_add(ECORE_EVENT_KEY_UP, ev, NULL, NULL); +} + +static void +_keyboard_keymap_send(Elput_Keyboard_Info *info) +{ + Elput_Event_Keymap_Send *ev; + + ev = calloc(1, sizeof(Elput_Event_Keymap_Send)); + if (!ev) return; + + ev->fd = info->keymap.fd; + ev->size = info->keymap.size; + ev->format = XKB_KEYMAP_FORMAT_TEXT_V1; + + ecore_event_add(ELPUT_EVENT_KEYMAP_SEND, ev, NULL, NULL); +} + +static void +_keyboard_modifiers_send(Elput_Keyboard *kbd) +{ + Elput_Event_Modifiers_Send *ev; + + ev = calloc(1, sizeof(Elput_Event_Modifiers_Send)); + if (!ev) return; + + ev->depressed = kbd->mods.depressed; + ev->latched = kbd->mods.latched; + ev->locked = kbd->mods.locked; + ev->group = kbd->mods.group; + + ecore_event_add(ELPUT_EVENT_MODIFIERS_SEND, ev, NULL, NULL); +} + +static void +_keyboard_keymap_update(Elput_Seat *seat) +{ + Elput_Keyboard *kbd; + Elput_Keyboard_Info *info; + struct xkb_state *state; + xkb_mod_mask_t latched, locked; + + kbd = _evdev_keyboard_get(seat); + if (!kbd) return; + + info = _keyboard_info_create(kbd->pending_map, kbd->external_map); + xkb_keymap_unref(kbd->pending_map); + kbd->pending_map = NULL; + + if (!info) return; + + state = xkb_state_new(info->keymap.map); + if (!state) + { +_keyboard_info_destroy(info, kbd->external_map); +return; + } + + latched = xkb_state_serialize_mods(kbd->state, XKB_STATE_MODS_LATCHED); + locked = xkb_state_serialize_mods(kbd->state, XKB_STATE_MODS_LOCKED); + xkb_state_update_mask(state, 0, latched, locked, 0, 0, 0); + + _keyboard_info_destroy(kbd->info, kbd->external_map); + kbd->info = info; + + xkb_state_unref(kbd->state); + kbd->state = state; + + _keyboard_modifiers_update(kbd, seat); + _keyboard_keymap_send(kbd->info); + + if ((!latched) && (!locked)) return; + + _keyboard_modifiers_send(kbd); +} + +static int
[EGIT] [core/efl] master 06/16: elput: Add API function to initialize and shutdown input devices
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f832d2019cc96d750a17f9df3aec3feff78dc5a3 commit f832d2019cc96d750a17f9df3aec3feff78dc5a3 Author: Chris MichaelDate: Fri Apr 1 13:04:25 2016 -0400 elput: Add API function to initialize and shutdown input devices Signed-off-by: Chris Michael --- src/Makefile_Elput.am | 1 + src/lib/elput/Elput.h | 31 ++- src/lib/elput/elput_input.c | 87 +++ src/lib/elput/elput_private.h | 13 +++ 4 files changed, 131 insertions(+), 1 deletion(-) diff --git a/src/Makefile_Elput.am b/src/Makefile_Elput.am index 3e1ed58..c79763e 100644 --- a/src/Makefile_Elput.am +++ b/src/Makefile_Elput.am @@ -9,6 +9,7 @@ dist_installed_elputmainheaders_DATA = \ lib/elput/Elput.h lib_elput_libelput_la_SOURCES = \ +lib/elput/elput_input.c \ lib/elput/elput_logind.c \ lib/elput/elput_manager.c \ lib/elput/elput.c \ diff --git a/src/lib/elput/Elput.h b/src/lib/elput/Elput.h index 44a861c..234597f 100644 --- a/src/lib/elput/Elput.h +++ b/src/lib/elput/Elput.h @@ -39,6 +39,7 @@ typedef struct _Elput_Manager Elput_Manager; * * @li @ref Elput_Init_Group * @li @ref Elput_Manager_Group + * @li @ref Elput_Input_Group * */ @@ -75,7 +76,6 @@ EAPI int elput_shutdown(void); * * Functions that deal with connecting, disconnecting, opening, closing * of input devices. - * */ /** @@ -127,6 +127,35 @@ EAPI int elput_manager_open(Elput_Manager *manager, const char *path, int flags) */ EAPI void elput_manager_close(Elput_Manager *manager, int fd); +/** + * @defgroup Elput_Input_Group Elput input functions + * + * Functions that deal with setup of inputs + */ + +/** + * Initialize input + * + * @param manager + * @param seat + * + * @return EINA_TRUE on success, EINA_FALSE on failure + * + * @ingroup Elput_Input_Group + * @since 1.18 + */ +EAPI Eina_Bool elput_input_init(Elput_Manager *manager, const char *seat); + +/** + * Shutdown input + * + * @param manager + * + * @ingroup Elput_Input_Group + * @since 1.18 + */ +EAPI void elput_input_shutdown(Elput_Manager *manager); + # endif # undef EAPI diff --git a/src/lib/elput/elput_input.c b/src/lib/elput/elput_input.c new file mode 100644 index 000..a2a4ccb --- /dev/null +++ b/src/lib/elput/elput_input.c @@ -0,0 +1,87 @@ +#include "elput_private.h" + +static int +_cb_open_restricted(const char *path, int flags, void *data) +{ + Elput_Manager *em; + + em = data; + return elput_manager_open(em, path, flags); +} + +static void +_cb_close_restricted(int fd, void *data) +{ + Elput_Manager *em; + + em = data; + elput_manager_close(em, fd); +} + +const struct libinput_interface _input_interface = +{ + _cb_open_restricted, + _cb_close_restricted, +}; + +static void +_process_event(struct libinput_event *event) +{ + /* TODO */ +} + +static void +_process_events(Elput_Input *ei) +{ + struct libinput_event *event; + + while ((event = libinput_get_event(ei->lib))) + { +_process_event(event); +libinput_event_destroy(event); + } +} + +EAPI Eina_Bool +elput_input_init(Elput_Manager *manager, const char *seat) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(manager, EINA_FALSE); + + memset(>input, 0, sizeof(Elput_Input)); + + manager->input.lib = + libinput_udev_create_context(&_input_interface, manager, eeze_udev_get()); + if (!manager->input.lib) + { +ERR("libinput could not create udev context"); +goto udev_err; + } + + if (libinput_udev_assign_seat(manager->input.lib, seat) != 0) + { +ERR("libinput could not assign udev seat"); +goto seat_err; + } + + _process_events(>input); + + /* TODO */ + + return EINA_TRUE; + +seat_err: + libinput_unref(manager->input.lib); +udev_err: + return EINA_FALSE; +} + +EAPI void +elput_input_shutdown(Elput_Manager *manager) +{ + EINA_SAFETY_ON_NULL_RETURN(manager); + EINA_SAFETY_ON_NULL_RETURN(>input); + + /* TODO */ + + libinput_unref(manager->input.lib); +} diff --git a/src/lib/elput/elput_private.h b/src/lib/elput/elput_private.h index c500a55..6d88943 100644 --- a/src/lib/elput/elput_private.h +++ b/src/lib/elput/elput_private.h @@ -64,6 +64,17 @@ typedef struct _Elput_Interface void (*close)(Elput_Manager *manager, int fd); } Elput_Interface; +typedef struct _Elput_Input +{ + struct libinput *lib; + + Ecore_Fd_Handler *hdlr; + + Eina_List *seats; + + Eina_Bool suspended : 1; +} Elput_Input; + struct _Elput_Manager { Elput_Interface *interface; @@ -80,6 +91,8 @@ struct _Elput_Manager Eldbus_Connection *conn; } dbus; + Elput_Input input; + Eina_Bool sync : 1; }; --
[EGIT] [core/efl] master 08/16: elput: Add support for creating and removing devices
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3070c4cf08a28b2a9a3f4838ec78ce7f7bde95ec commit 3070c4cf08a28b2a9a3f4838ec78ce7f7bde95ec Author: Chris MichaelDate: Wed Apr 6 08:46:29 2016 -0400 elput: Add support for creating and removing devices This patch adds start of code to create or remove input devices such as keyboards, pointers, or touch devices. Signed-off-by: Chris Michael --- src/Makefile_Elput.am | 1 + src/lib/elput/Elput.h | 15 ++ src/lib/elput/elput_evdev.c | 464 ++ src/lib/elput/elput_input.c | 100 - src/lib/elput/elput_private.h | 139 + 5 files changed, 715 insertions(+), 4 deletions(-) diff --git a/src/Makefile_Elput.am b/src/Makefile_Elput.am index c79763e..d177f6d 100644 --- a/src/Makefile_Elput.am +++ b/src/Makefile_Elput.am @@ -9,6 +9,7 @@ dist_installed_elputmainheaders_DATA = \ lib/elput/Elput.h lib_elput_libelput_la_SOURCES = \ +lib/elput/elput_evdev.c \ lib/elput/elput_input.c \ lib/elput/elput_logind.c \ lib/elput/elput_manager.c \ diff --git a/src/lib/elput/Elput.h b/src/lib/elput/Elput.h index 234597f..f6ad5d2 100644 --- a/src/lib/elput/Elput.h +++ b/src/lib/elput/Elput.h @@ -28,6 +28,21 @@ /* opaque structure to represent an input manager */ typedef struct _Elput_Manager Elput_Manager; +/* opaque structure to represent an input seat */ +typedef struct _Elput_Seat Elput_Seat; + +/* opaque structure to represent an input device */ +typedef struct _Elput_Device Elput_Device; + +/* opaque structure to represent a keyboard */ +typedef struct _Elput_Keyboard Elput_Keyboard; + +/* opaque structure to represent a mouse */ +typedef struct _Elput_Pointer Elput_Pointer; + +/* opaque structure to represent a touch device */ +typedef struct _Elput_Touch Elput_Touch; + /** * @file * @brief Ecore functions for dealing with libinput diff --git a/src/lib/elput/elput_evdev.c b/src/lib/elput/elput_evdev.c new file mode 100644 index 000..4c34738 --- /dev/null +++ b/src/lib/elput/elput_evdev.c @@ -0,0 +1,464 @@ +#include "elput_private.h" + +static void +_seat_caps_update(Elput_Seat *seat) +{ + /* TODO: raise event for seat caps */ +} + +static int +_keyboard_fd_get(off_t size) +{ + int fd = 0, blen = 0, len = 0; + const char *path; + char tmp[PATH_MAX]; + long flags; + + blen = sizeof(tmp) - 1; + + if (!(path = getenv("XDG_RUNTIME_DIR"))) + return -1; + + len = strlen(path); + if (len < blen) + { +strcpy(tmp, path); +strcat(tmp, "/elput-keymap-XX"); + } + else + return -1; + + if ((fd = mkstemp(tmp)) < 0) return -1; + + flags = fcntl(fd, F_GETFD); + if (flags < 0) + { +close(fd); +return -1; + } + + if (fcntl(fd, F_SETFD, (flags | FD_CLOEXEC)) == -1) + { +close(fd); +return -1; + } + + if (ftruncate(fd, size) < 0) + { +close(fd); +return -1; + } + + unlink(tmp); + return fd; +} + +static Elput_Keyboard_Info * +_keyboard_info_create(struct xkb_keymap *keymap, Eina_Bool external) +{ + Elput_Keyboard_Info *info; + char *str; + + info = calloc(1, sizeof(Elput_Keyboard_Info)); + if (!info) return NULL; + + info->keymap.map = xkb_keymap_ref(keymap); + info->refs = 1; + + info->mods.super = + 1 << xkb_keymap_mod_get_index(info->keymap.map, XKB_MOD_NAME_LOGO); + info->mods.shift = + 1 << xkb_keymap_mod_get_index(info->keymap.map, XKB_MOD_NAME_SHIFT); + info->mods.caps = + 1 << xkb_keymap_mod_get_index(info->keymap.map, XKB_MOD_NAME_CAPS); + info->mods.ctrl = + 1 << xkb_keymap_mod_get_index(info->keymap.map, XKB_MOD_NAME_CTRL); + info->mods.alt = + 1 << xkb_keymap_mod_get_index(info->keymap.map, XKB_MOD_NAME_ALT); + info->mods.altgr = + 1 << xkb_keymap_mod_get_index(info->keymap.map, "ISO_Level3_Shift"); + + /* if we are using an external keymap then we do not need go further */ + if (external) return info; + + str = xkb_keymap_get_as_string(info->keymap.map, XKB_KEYMAP_FORMAT_TEXT_V1); + if (!str) goto err; + + info->keymap.size = strlen(str) + 1; + + info->keymap.fd = _keyboard_fd_get(info->keymap.size); + if (info->keymap.fd < 0) goto err_fd; + + info->keymap.area = + mmap(NULL, info->keymap.size, PROT_READ | PROT_WRITE, + MAP_SHARED, info->keymap.fd, 0); + if (info->keymap.area == MAP_FAILED) goto err_map; + + strcpy(info->keymap.area, str); + free(str); + + return info; + +err_map: + close(info->keymap.fd); +err_fd: + free(str); +err: + xkb_keymap_unref(info->keymap.map); + free(info); + return NULL; +} + +static void +_keyboard_info_destroy(Elput_Keyboard_Info *info, Eina_Bool external) +{ + if (--info->refs > 0) return; + + if (!external) + { +xkb_keymap_unref(info->keymap.map); +if
[EGIT] [core/efl] master 03/16: elput: Add input manager interface and APIs to connect & disconnect
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ed3a1f39587187c8acf305fd793f92218995c486 commit ed3a1f39587187c8acf305fd793f92218995c486 Author: Chris MichaelDate: Thu Mar 31 12:34:32 2016 -0400 elput: Add input manager interface and APIs to connect & disconnect This commit adds the start of the Elput Manager & Interface code. This will be used as an inteface to various backend methods of session & device control (ie: systemd, direct interface, etc). This will provide various abstractions for working with libinput when opening/closing input devices. Signed-off-by: Chris Michael --- src/Makefile_Elput.am | 2 + src/lib/elput/Elput.h | 36 src/lib/elput/elput_logind.c | 450 ++ src/lib/elput/elput_manager.c | 39 src/lib/elput/elput_private.h | 32 +++ 5 files changed, 559 insertions(+) diff --git a/src/Makefile_Elput.am b/src/Makefile_Elput.am index 851d4ee..3e1ed58 100644 --- a/src/Makefile_Elput.am +++ b/src/Makefile_Elput.am @@ -9,6 +9,8 @@ dist_installed_elputmainheaders_DATA = \ lib/elput/Elput.h lib_elput_libelput_la_SOURCES = \ +lib/elput/elput_logind.c \ +lib/elput/elput_manager.c \ lib/elput/elput.c \ lib/elput/elput_private.h diff --git a/src/lib/elput/Elput.h b/src/lib/elput/Elput.h index 7c88e4b..e098b13 100644 --- a/src/lib/elput/Elput.h +++ b/src/lib/elput/Elput.h @@ -25,6 +25,9 @@ # ifdef EFL_BETA_API_SUPPORT +/* opaque structure to represent an input manager */ +typedef struct _Elput_Manager Elput_Manager; + /** * @file * @brief Ecore functions for dealing with libinput @@ -35,6 +38,7 @@ * Elput provides a wrapper and functions for using libinput * * @li @ref Elput_Init_Group + * @li @ref Elput_Manager_Group * */ @@ -66,6 +70,38 @@ EAPI int elput_init(void); */ EAPI int elput_shutdown(void); +/** + * @defgroup Elput_Manager_Group + * + * Functions that deal with connecting, disconnecting, opening, closing + * of input devices. + * + */ + +/** + * Create an input manager on the specified seat + * + * @param seat + * @param tty + * @param sync + * + * @return A Elput_Manager on success, NULL on failure + * + * @ingroup Elput_Manager_Group + * @since 1.18 + */ +EAPI Elput_Manager *elput_manager_connect(const char *seat, unsigned int tty, Eina_Bool sync); + +/** + * Disconnect an input manager + * + * @param manager + * + * @ingroup Elput_Manager_Group + * @since 1.18 + */ +EAPI void elput_manager_disconnect(Elput_Manager *manager); + # endif # undef EAPI diff --git a/src/lib/elput/elput_logind.c b/src/lib/elput/elput_logind.c new file mode 100644 index 000..d649bf3 --- /dev/null +++ b/src/lib/elput/elput_logind.c @@ -0,0 +1,450 @@ +#include "elput_private.h" + +#ifdef HAVE_SYSTEMD + +static void +_logind_device_pause_complete(Elput_Manager *em, uint32_t major, uint32_t minor) +{ + Eldbus_Proxy *proxy; + Eldbus_Message *msg; + + proxy = + eldbus_proxy_get(em->dbus.obj, "org.freedesktop.login1.Session"); + if (!proxy) + { +ERR("Could not get proxy for session"); +return; + } + + msg = eldbus_proxy_method_call_new(proxy, "PauseDeviceComplete"); + if (!msg) + { +ERR("Could not create method call for proxy"); +goto end; + } + + eldbus_message_arguments_append(msg, "uu", major, minor); + + eldbus_proxy_send(proxy, msg, NULL, NULL, -1); + +end: + eldbus_message_unref(msg); + eldbus_proxy_unref(proxy); +} + +static void +_cb_session_removed(void *data, const Eldbus_Message *msg) +{ + Elput_Manager *em; + const char *errname, *errmsg; + const char *sid; + + em = data; + + if (eldbus_message_error_get(msg, , )) + { +ERR("Eldbus Message Error: %s %s", errname, errmsg); +return; + } + + if (eldbus_message_arguments_get(msg, "s", )) + { +if (!strcmp(sid, em->sid)) + { + WRN("Logind session removed"); + /* TODO: call manager restore function */ + } + } +} + +static void +_cb_device_paused(void *data, const Eldbus_Message *msg) +{ + Elput_Manager *em; + const char *errname, *errmsg; + const char *type; + uint32_t maj, min; + + em = data; + + if (eldbus_message_error_get(msg, , )) + { +ERR("Eldbus Message Error: %s %s", errname, errmsg); +return; + } + + if (eldbus_message_arguments_get(msg, "uus", , , )) + { +if (!strcmp(type, "pause")) + _logind_device_pause_complete(em, maj, min); + +/* TODO */ +/* if ((em->sync) && (maj == DRM_MAJOR)) */ +/* _ecore_drm2_launcher_activate_send(em, EINA_FALSE); */ + } +} + +static void +_cb_device_resumed(void *data, const Eldbus_Message *msg) +{ + Elput_Manager *em; + const char *errname, *errmsg; + uint32_t maj, min; + int fd; + + em = data; + +
[EGIT] [core/efl] master 01/01: ecore-drm: Don't leak object properties
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=acc1a5dcc033733b6085d1b5c2595fe54a042829 commit acc1a5dcc033733b6085d1b5c2595fe54a042829 Author: Chris MichaelDate: Wed Apr 13 12:55:59 2016 -0400 ecore-drm: Don't leak object properties When fetching possible planes for an output, we end up leaking object properties here as these were never freed. @fix Signed-off-by: Chris Michael --- src/lib/ecore_drm/ecore_drm_output.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib/ecore_drm/ecore_drm_output.c b/src/lib/ecore_drm/ecore_drm_output.c index be926c6..1de8735 100644 --- a/src/lib/ecore_drm/ecore_drm_output.c +++ b/src/lib/ecore_drm/ecore_drm_output.c @@ -530,6 +530,8 @@ _ecore_drm_output_planes_get(Ecore_Drm_Output *output) drmModeFreeProperty(prop); } +drmModeFreeObjectProperties(props); + output->planes = eina_list_append(output->planes, eplane); free_plane: --
[EGIT] [bindings/cxx/eflxx] master 01/01: fixed compile emotionxx again
andreas pushed a commit to branch master. http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=5cc6c82781fed44bb9159939c5d59567419f60a7 commit 5cc6c82781fed44bb9159939c5d59567419f60a7 Author: Andreas VolzDate: Wed Apr 13 18:46:41 2016 +0200 fixed compile emotionxx again --- eflxx_examples/configure.ac | 2 +- eflxx_examples/src/Makefile.am | 1 + emotionxx/include/emotionxx/Object.h | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/eflxx_examples/configure.ac b/eflxx_examples/configure.ac index dc97d27..84f1a02 100644 --- a/eflxx_examples/configure.ac +++ b/eflxx_examples/configure.ac @@ -3,7 +3,7 @@ dnl Created by Anjuta application wizard. AC_INIT(eflxx_examples, 0.1) -AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) +AM_INIT_AUTOMAKE AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIR([m4]) AM_MAINTAINER_MODE diff --git a/eflxx_examples/src/Makefile.am b/eflxx_examples/src/Makefile.am index 6cc830f..1fe7d7e 100644 --- a/eflxx_examples/src/Makefile.am +++ b/eflxx_examples/src/Makefile.am @@ -18,6 +18,7 @@ SUBDIRS = \ eetxx \ debug \ signals \ + emotionxx \ elementaryxx \ einaxx diff --git a/emotionxx/include/emotionxx/Object.h b/emotionxx/include/emotionxx/Object.h index b528e64..a65f079 100644 --- a/emotionxx/include/emotionxx/Object.h +++ b/emotionxx/include/emotionxx/Object.h @@ -2,7 +2,10 @@ #define EMOTIONXX_OBJECT_H /* EFL */ +extern "C" +{ #include +} /* EFL++ */ #include --
[EGIT] [core/efl] master 03/05: docs: add nstate widget to elm widget list index
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c60b2500c74ead05fe49a5ba73e693a5d439dac3 commit c60b2500c74ead05fe49a5ba73e693a5d439dac3 Author: Stefan SchmidtDate: Wed Apr 13 16:34:55 2016 +0200 docs: add nstate widget to elm widget list index --- doc/index_elm.dox | 4 1 file changed, 4 insertions(+) diff --git a/doc/index_elm.dox b/doc/index_elm.dox index 1ac6e76..b40239a 100644 --- a/doc/index_elm.dox +++ b/doc/index_elm.dox @@ -173,6 +173,10 @@ * * @image html img/widget/notify/preview-00.png * @image latex img/widget/notify/preview-00.eps + * @li @ref Elm_Nstate + * + * @image html img/widget/nstate/preview-00.png + * @image latex img/widget/nstate/preview-00.eps * @li @ref Elm_Panel * * @image html img/widget/panel/preview-00.png --
[EGIT] [core/efl] master 02/05: docs: make elementary docs available form main doc page
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a1663b171022819643a598978c9665454f80fc71 commit a1663b171022819643a598978c9665454f80fc71 Author: Stefan SchmidtDate: Wed Apr 13 15:06:52 2016 +0200 docs: make elementary docs available form main doc page While elm docs have been merged in they never have been accessible from the main page of our docs. Fix this by including elm_intro.h and referencing it from the main page. While we are at it rename it to the scheme we used in EFL. Another missing piece was the index with all widget references. Never brought over form the elm legacy tree. Putting this in and we are now at least able to navigate to all elm widget pages. --- doc/Doxyfile.in | 2 + doc/index_elm.dox | 327 ++ doc/main.dox | 1 + elm_intro.h.in| 2 +- 4 files changed, 331 insertions(+), 1 deletion(-) diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in index f4e2e2f..50470a8 100644 --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in @@ -595,6 +595,8 @@ WARN_LOGFILE = INPUT = @top_srcdir@/src/lib \ @top_srcdir@/src/bindings \ + @top_srcdir@/elm_intro.h \ + @srcdir@/index_elm.dox \ @srcdir@/main.dox \ @srcdir@/pkgconfig.dox \ @srcdir@/eina_examples.dox \ diff --git a/doc/index_elm.dox b/doc/index_elm.dox new file mode 100644 index 000..1ac6e76 --- /dev/null +++ b/doc/index_elm.dox @@ -0,0 +1,327 @@ +/** + * @page infralist Infrastructure list + * + * Elementary is mostly composed of widgets, but it also contains some + * infrastructure modules that facilitate the use of widgets. These are the + * infrastructure modules: + * @li @ref Elm_App + * @li @ref Elm_Caches + * @li @ref Elm_Cursors + * @li @ref Elm_Debug + * @li @ref Elm_Config + * @li @ref Elm_Engine + * @li @ref Elm_Fonts + * @li @ref Elm_Profile + * @li @ref Elm_Fingers + * @li @ref Elm_Focus + * @li @ref Elm_General + * @li @ref Elm_Gesture_Layer + * @li @ref Elm_Password_last_show + * @li @ref elm-prefs-data + * @li @ref Elm_Start + * @li @ref Elm_Scrolling + * @li @ref Elm_Scrollhints + * @li @ref Elm_Mirroring + * @li @ref Elm_Scaling + * @li @ref Elm_Styles + * @li @ref Elm_Theme + * @li @ref Elm_Transit + * @li @ref Elm_WidgetNavigation + * + * The other two main groups in Elementary are: + * @li @ref widgetslist - These are the widgets you'll compose your UI out of. + * @li @ref containerslist - These are the containers which hold the widgets. + * + * Also see other generic EFL programming guides: + * @li @ref threading + */ +/** + * @page widgetslist Widget list + * + * Here is a list of the widgets and some images to give you an idea of what + * they are: + * @li @ref Elm_Actionslider + * + * @image html img/widget/actionslider/preview-00.png + * @image latex img/widget/actionslider/preview-00.eps + * @li @ref Elm_Bg + * + * @image html img/widget/bg/preview-00.png + * @image latex img/widget/bg/preview-00.eps + * @li @ref Elm_Bubble + * + * @image html img/widget/bubble/preview-00.png + * @image latex img/widget/bubble/preview-00.eps + * @li @ref Elm_Button + * + * @image html img/widget/button/preview-00.png + * @image latex img/widget/button/preview-00.eps + * @li @ref Elm_Calendar + * + * @image html img/widget/calendar/preview-00.png + * @image latex img/widget/calendar/preview-00.eps + * @li @ref Elm_Check + * + * @image html img/widget/check/preview-00.png + * @image latex img/widget/check/preview-00.eps + * @li @ref Elm_Clock + * + * @image html img/widget/clock/preview-00.png + * @image latex img/widget/clock/preview-00.eps + * + * @li @ref Elm_Colorselector + * + * @image html img/widget/colorselector/preview-00.png + * @image latex img/widget/colorselector/preview-00.eps + * @li @ref Elm_Ctxpopup + * + * @image html img/widget/ctxpopup/preview-00.png + * @image latex img/widget/ctxpopup/preview-00.eps + * @li @ref Elm_Combobox + * + * @image html img/widget/combobox/preview-00.png + * @image latex img/widget/combobox/preview-00.eps + * @li @ref Elm_Datetime + * + * @image html img/widget/datetime/preview-00.png + * @image latex img/widget/datetime/preview-00.eps + * @li @ref Elm_Dayselector + * + * @image html img/widget/dayselector/preview-00.png + * @image latex img/widget/dayselector/preview-00.eps + * @li @ref Elm_Diskselector + * + * @image html img/widget/diskselector/preview-00.png + * @image latex img/widget/diskselector/preview-00.eps + * @li @ref Elm_Entry + * + * @image html img/widget/entry/preview-02.png + * @image latex img/widget/entry/preview-02.eps + * @li @ref Elm_File_Selector_Button + * + * @image html img/widget/fileselector_button/preview-00.png + * @image latex img/widget/fileselector_button/preview-00.eps + * @li @ref Elm_File_Selector_Entry
[EGIT] [core/efl] master 04/05: docs: add description for ecore.exe class and events
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=9f63aaca138ea8f849b8772596af1f78fea74e17 commit 9f63aaca138ea8f849b8772596af1f78fea74e17 Author: Stefan SchmidtDate: Wed Apr 13 15:34:11 2016 +0200 docs: add description for ecore.exe class and events --- src/lib/ecore/ecore_exe.eo | 10 -- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/lib/ecore/ecore_exe.eo b/src/lib/ecore/ecore_exe.eo index e85b4d1..32952ee 100644 --- a/src/lib/ecore/ecore_exe.eo +++ b/src/lib/ecore/ecore_exe.eo @@ -39,6 +39,12 @@ enum Ecore.Exe_Flags class Ecore.Exe (Eo.Base, Efl.Control) { + [[Ecore.Exe is responsible for managing portable process spawning. + + With this module you are able to spawn, pause and quit the spawned processes. + An interaction between your process and those spawned is possible using pipes or signals. + ]] + eo_prefix: ecore_obj_exe; methods { @property command { @@ -64,8 +70,8 @@ class Ecore.Exe (Eo.Base, Efl.Control) .command; } events { -data,get: Ecore.Exe_Event_Data; -data,error: Ecore.Exe_Event_Data; +data,get: Ecore.Exe_Event_Data; [[Data received event from the child process]] +data,error: Ecore.Exe_Event_Data; [[Error received event from the child process]] } } --
[EGIT] [core/efl] master 01/05: docs: generate nstate widget preview for documentation
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=74a046fee59c49f08a13e737c742f5dbcb26d563 commit 74a046fee59c49f08a13e737c742f5dbcb26d563 Author: Stefan SchmidtDate: Wed Apr 13 14:34:26 2016 +0200 docs: generate nstate widget preview for documentation The preview example code was already there but not hooked up in our preview screenshot magic. --- doc/Makefile.am | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/Makefile.am b/doc/Makefile.am index b62bb36..26b7df9 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -74,6 +74,7 @@ WGT_PREVIEW = \ mapbuf:preview-00.png:widget_preview_mapbuf:200:200 \ menu:preview-00.png:widget_preview_menu:100:100 \ notify:preview-00.png:widget_preview_notify:60:30 \ + nstate:preview-00.png:widget_preview_nstate:45:28 \ panel:preview-00.png:widget_preview_panel:150:50 \ panes:preview-00.png:widget_preview_panes:200:100 \ photocam:preview-00.png:widget_preview_photocam:243:162 \ --
[EGIT] [core/efl] master 05/05: docs: add descriptions and and more to ecore.idle classes
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=89d63475ae486923e687ecb1c0b03725683fa6fc commit 89d63475ae486923e687ecb1c0b03725683fa6fc Author: Stefan SchmidtDate: Wed Apr 13 16:56:47 2016 +0200 docs: add descriptions and and more to ecore.idle classes --- src/lib/ecore/ecore_idle_enterer.eo | 8 ++-- src/lib/ecore/ecore_idle_exiter.eo | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/lib/ecore/ecore_idle_enterer.eo b/src/lib/ecore/ecore_idle_enterer.eo index 2cdc1c8..3250fb5 100644 --- a/src/lib/ecore/ecore_idle_enterer.eo +++ b/src/lib/ecore/ecore_idle_enterer.eo @@ -2,10 +2,14 @@ import ecore_types; class Ecore.Idle.Enterer (Eo.Base) { + [[Setup callbacks to be called when the program enters the idle state. + + Enterer callbacks are good for updating your program's state, if it has a state engine. + ]] eo_prefix: ecore_idle_enterer; methods { before_constructor { - [[Contructor. Will insert the handler at the beginning of the list.]] + [[This constructor will insert the handler at the beginning of the list.]] legacy: null; params { @in func: Ecore_Task_Cb; @@ -13,7 +17,7 @@ class Ecore.Idle.Enterer (Eo.Base) } } after_constructor { - [[Contructor. Will insert the handler at the end of the list.]] + [[This constructor will insert the handler at the end of the list.]] legacy: null; params { @in func: Ecore_Task_Cb; diff --git a/src/lib/ecore/ecore_idle_exiter.eo b/src/lib/ecore/ecore_idle_exiter.eo index dcd5b6b..46e76ca 100644 --- a/src/lib/ecore/ecore_idle_exiter.eo +++ b/src/lib/ecore/ecore_idle_exiter.eo @@ -2,6 +2,8 @@ import ecore_types; class Ecore.Idle.Exiter (Eo.Base) { + [[Setup callbacks to be called when the program exits the idle state.]] + eo_prefix: ecore_idle_exiter; methods { constructor { --
[EGIT] [tools/erigo] master 02/03: Refactoring It_Data
yakov pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=a72c3290f55687ccef6179c554f2179e5447595c commit a72c3290f55687ccef6179c554f2179e5447595c Author: Yakov GoldbergDate: Sun Apr 10 18:11:02 2016 +0300 Refactoring It_Data Save Eid* instead of Gui_Widget* --- src/bin/gui/cbview.c | 43 ++- src/bin/gui/contentview.c | 2 +- src/bin/gui/descview.c| 11 ++- src/bin/gui/editor.c | 4 ++-- src/bin/gui/props_helper.c| 9 + src/bin/gui/props_helper.h| 4 ++-- src/bin/gui/propview.c| 7 --- src/bin/gui/simple_propview.c | 9 + 8 files changed, 47 insertions(+), 42 deletions(-) diff --git a/src/bin/gui/cbview.c b/src/bin/gui/cbview.c index c702d01..621c142 100644 --- a/src/bin/gui/cbview.c +++ b/src/bin/gui/cbview.c @@ -47,7 +47,7 @@ _action_type_changed(void *data, const Eo_Event *event) { It_Data *it_data = data; Gui_Widget_Callback *cb = it_data->cb; - Gui_Widget *wdg = (Gui_Widget *) it_data->wdg; + Gui_Widget *wdg = wdg_get(it_data->w_eid); Gui_Context *ctx = (Gui_Context *) wdg_context_get(wdg); void *event_info = event->event_info; @@ -98,7 +98,7 @@ _action_type_changed(void *data, const Eo_Event *event) default: break; } - cbview_build(it_data->wdg); + cbview_build(wdg_get(it_data->w_eid)); cbview_item_selected_set(cb_eid_get(cb)); context_memento_finalize(ctx); @@ -110,7 +110,7 @@ _action_wdg_selected(void *data, Eo *obj EINA_UNUSED, void *event_info) { It_Data *it_data = data; Gui_Widget_Callback *cb = it_data->cb; - Gui_Widget *wdg = (Gui_Widget *) it_data->wdg; + Gui_Widget *wdg = wdg_get(it_data->w_eid); Gui_Context *ctx = (Gui_Context *) wdg_context_get(wdg); Eid *action_id = cb_action_id_get(cb); @@ -132,7 +132,7 @@ _action_wdg_selected(void *data, Eo *obj EINA_UNUSED, void *event_info) context_memento_finalize(ctx); } - cbview_build(it_data->wdg); + cbview_build(wdg_get(it_data->w_eid)); cbview_item_selected_set(cb_eid_get(cb)); } @@ -141,7 +141,7 @@ _action_parent_selected(void *data, const Eo_Event *event) { It_Data *it_data = data; Gui_Widget_Callback *cb = it_data->cb; - Gui_Widget *wdg = (Gui_Widget *) it_data->wdg; + Gui_Widget *wdg = wdg_get(it_data->w_eid); Gui_Context *ctx = (Gui_Context *) wdg_context_get(wdg); void *event_info = event->event_info; @@ -160,7 +160,7 @@ _action_parent_selected(void *data, const Eo_Event *event) context_memento_finalize(ctx); } - cbview_build(it_data->wdg); + cbview_build(wdg_get(it_data->w_eid)); cbview_item_selected_set(cb_eid_get(cb)); return EO_CALLBACK_CONTINUE; } @@ -170,7 +170,7 @@ _action_user_cb_selected(void *data, const Eo_Event *event) { It_Data *it_data = data; Gui_Widget_Callback *cb = it_data->cb; - Gui_Widget *wdg = (Gui_Widget *) it_data->wdg; + Gui_Widget *wdg = wdg_get(it_data->w_eid); Gui_Context *ctx = (Gui_Context *) wdg_context_get(wdg); Eid *action_id = cb_action_id_get(cb); @@ -188,7 +188,7 @@ _action_user_cb_selected(void *data, const Eo_Event *event) context_memento_finalize(ctx); } - cbview_build(it_data->wdg); + cbview_build(wdg_get(it_data->w_eid)); cbview_item_selected_set(cb_eid_get(cb)); return EO_CALLBACK_CONTINUE; } @@ -239,7 +239,7 @@ _action_prop_selected(void *data, const Eo_Event *event) free(_split_ret[0]); free(_split_ret); -cbview_build(it_data->wdg); +cbview_build(wdg_get(it_data->w_eid)); cbview_item_selected_set(cb_eid_get(cb)); context_memento_finalize(_active_context_get()); } @@ -251,7 +251,7 @@ _action_item_selected(void *data, const Eo_Event *event) { It_Data *it_data = data; Gui_Widget_Callback *cb = it_data->cb; - Gui_Context *ctx = (Gui_Context *) wdg_context_get(it_data->wdg); + Gui_Context *ctx = (Gui_Context *) wdg_context_get(wdg_get(it_data->w_eid)); Eid *action_id = cb_action_id_get(cb); Gui_Action *action = action_get(action_id); @@ -290,7 +290,7 @@ _action_prop_update(void *data, Eo *obj, void *event_info) unsigned int par_idx = (unsigned int) (uintptr_t) data; It_Data *it_data = eo_key_data_get(obj, "cb_it_data"); Gui_Widget_Callback *cb = it_data->cb; - Gui_Context *ctx = (Gui_Context *) wdg_context_get(it_data->wdg); + Gui_Context *ctx = (Gui_Context *) wdg_context_get(wdg_get(it_data->w_eid)); Eid *action_id = cb_action_id_get(cb); Gui_Action *action = action_get(action_id); @@ -504,6 +504,7 @@ _item_content_get(void *data, Evas_Object *obj EINA_UNUSED, const char *part EIN { It_Data *it_data = data; const char *default_val = NULL; + Gui_Widget *wdg = wdg_get(it_data->w_eid); // Genlist can call content get without calling delete first // so in that case just
[EGIT] [tools/erigo] master 01/03: Adaptation according to changes in Elementary
yakov pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=17135f4e4dfc51a14577aacf541f6dcd7fb2a754 commit 17135f4e4dfc51a14577aacf541f6dcd7fb2a754 Author: Yakov GoldbergDate: Sun Apr 10 11:48:47 2016 +0300 Adaptation according to changes in Elementary --- data/config/egui_all.eo | 2 +- data/config/simple_op_db.txt | 24 data/layouts/factory.json | 2 +- src/bin/gui/cbview.c | 2 +- src/bin/gui/descview.c| 2 +- src/bin/gui/editor.c | 9 - src/bin/gui/prop_layout.c | 2 +- src/bin/gui/props_helper.c| 2 +- src/bin/gui/rmview.c | 1 - src/bin/gui/settings_view.c | 4 ++-- src/bin/gui/simple_propview.c | 8 11 files changed, 20 insertions(+), 38 deletions(-) diff --git a/data/config/egui_all.eo b/data/config/egui_all.eo index 746210e..a80d745 100644 --- a/data/config/egui_all.eo +++ b/data/config/egui_all.eo @@ -1,3 +1,3 @@ -class EGUI_ALL (Elm.Win, Elm.Bg, Elm.Box, Elm.Table, Elm.Menu, Elm.Diskselector, Elm.Ctxpopup, Elm.Actionslider, Elm.Bubble, Elm.Button, Elm.Calendar, Elm.Check, Elm.Radio, Elm.Clock, Elm.Colorselector, Elm.Image, Elm.Icon, Elm.Label, Elm.Entry, Elm.Flip, Elm.Genlist, Elm.Gengrid, Elm.Dayselector, Elm.Toolbar, Elm.Layout, Elm.Scroller, Elm.Panes, Elm.Fileselector_Button, Elm.Fileselector_Entry, Elm.Fileselector, Elm.Frame, Elm.Grid, Elm.Panel, Elm.Separator, Elm.Hoversel, Evas.Image, Elm [...] +class EGUI_ALL (Elm.Win, Elm.Bg, Elm.Box, Elm.Table, Elm.Menu, Elm.Diskselector, Elm.Ctxpopup, Elm.Actionslider, Elm.Bubble, Elm.Button, Elm.Calendar, Elm.Check, Elm.Radio, Elm.Clock, Elm.Colorselector, Elm.Image, Elm.Icon, Elm.Label, Elm.Entry, Elm.Flip, Elm.Genlist, Elm.Gengrid, Elm.Dayselector, Elm.Toolbar, Elm.Layout, Elm.Scroller, Elm.Panes, Elm.Fileselector_Button, Elm.Fileselector_Entry, Elm.Fileselector, Elm.Frame, Elm.Grid, Elm.Panel, Elm.Separator, Elm.Hoversel, Evas.Image, Elm [...] { } diff --git a/data/config/simple_op_db.txt b/data/config/simple_op_db.txt index 9a3d33d..45bbb25 100644 --- a/data/config/simple_op_db.txt +++ b/data/config/simple_op_db.txt @@ -49,12 +49,10 @@ Component_Specific_Properties.Autorepeat_Gap_Timeout { Elm.Button.autorepeat_gap_timeout; } -Component_Specific_Properties.UI_Component_Specification.Horizontal { +UI_Component_Specification.Horizontal { Elm.Box.horizontal; Elm.Toolbar.horizontal; - Elm.Slider.horizontal; Elm.Panes.horizontal; - Elm.Progressbar.horizontal; Elm.Hoversel.horizontal; Elm.Separator.horizontal; } @@ -89,19 +87,10 @@ Component_Specific_Properties.Padding { Component_Specific_Properties.Image_Path { Efl.File.file(%0, NULL) for Elm.Image, Elm.Icon, Elm.Entry, Elm.Bg; } -Component_Specific_Properties.No_Scale { - none Elm.Icon; - Elm.Image.no_scale; -} -Component_Specific_Properties.Resizable { +UI_Component_Specification.Orientation { none Elm.Icon; - Elm.Image.resizable; -} - -Component_Specific_Properties.Orientation { - none Elm.Icon; - Efl.Image.orientation; + Efl.Orientation.orientation; } Component_Specific_Properties.Aspect_Fixed { @@ -191,8 +180,7 @@ Component_Specific_Properties.Min_Max { } Component_Specific_Properties.Value { - Elm.Slider.value; - Elm.Progressbar.value; + Efl.Ui.Progress.progress_value; } Component_Specific_Properties.Step { @@ -207,10 +195,6 @@ Component_Specific_Properties.Span_Size { Elm.Progressbar.span_size; } -Component_Specific_Properties.Inverted { - Elm.Progressbar.inverted; -} - Component_Specific_Properties.Collapse { Elm.Frame.collapse; } diff --git a/data/layouts/factory.json b/data/layouts/factory.json index b17027a..4d94b2b 100644 --- a/data/layouts/factory.json +++ b/data/layouts/factory.json @@ -317,7 +317,7 @@ }, "Properties": { -"Elm.Progressbar.value":[0.35], +"Efl.Ui.Progress.progress_value":[0.35], "Evas.Object.size_hint_weight":[1, 1], "Efl.Gfx.Base.visible":[true], "Efl.Gfx.Base.size":[165, 30] diff --git a/src/bin/gui/cbview.c b/src/bin/gui/cbview.c index b219ec1..c702d01 100644 --- a/src/bin/gui/cbview.c +++ b/src/bin/gui/cbview.c @@ -351,7 +351,7 @@ _action_prop_update(void *data, Eo *obj, void *event_info) } if (kl == ELM_CHECK_CLASS) { -Eina_Bool state = elm_obj_check_state_get(obj); +Eina_Bool state = efl_ui_check_selected_get(obj); gui_value_bool_set(val, state); } if (kl == ELM_HOVERSEL_CLASS) diff --git a/src/bin/gui/descview.c b/src/bin/gui/descview.c index a240fd7..4c70e2c 100644 --- a/src/bin/gui/descview.c +++ b/src/bin/gui/descview.c @@ -35,7 +35,7 @@ _wdg_public_change_cb(void *data, const Eo_Event *event) Gui_Widget *wdg = data; Eo *obj = event->obj; Eina_Bool new_state, old_state; - new_state =
[EGIT] [tools/erigo] master 03/03: Fix memory leaks
yakov pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=7e7ec9e41e12fa41a6bbf64c11de9a3ad26a30ae commit 7e7ec9e41e12fa41a6bbf64c11de9a3ad26a30ae Author: Yakov GoldbergDate: Sun Apr 10 18:53:29 2016 +0300 Fix memory leaks --- src/bin/gui/cbview.c | 10 ++ src/bin/gui/contentview.c | 1 + src/bin/gui/descview.c| 1 + src/bin/gui/dnd.h | 3 +++ src/bin/gui/editor.c | 19 +++ src/bin/gui/egui_logic.c | 2 +- src/bin/gui/itemview.c| 1 + src/bin/gui/prop_layout.c | 3 +-- src/bin/gui/settings.c| 2 ++ src/bin/gui/simple_propview.c | 2 ++ src/lib/desc_simple_parser.c | 1 + src/lib/gui_parser.c | 3 +++ src/lib/updater.c | 11 +++ 13 files changed, 40 insertions(+), 19 deletions(-) diff --git a/src/bin/gui/cbview.c b/src/bin/gui/cbview.c index 621c142..683b67d 100644 --- a/src/bin/gui/cbview.c +++ b/src/bin/gui/cbview.c @@ -492,13 +492,6 @@ _item_del(void *data, Evas_Object *obj EINA_UNUSED) _it_data_free(it_data); } -static Eina_Bool -_wdgs_struct_free(void *wdgs, const Eo_Event *event EINA_UNUSED) -{ - free(wdgs); - return EINA_TRUE; -} - static Evas_Object * _item_content_get(void *data, Evas_Object *obj EINA_UNUSED, const char *part EINA_UNUSED) { @@ -520,7 +513,6 @@ _item_content_get(void *data, Evas_Object *obj EINA_UNUSED, const char *part EIN { wdgs = egui_layout_cb_item_create(propview_table); eo_key_data_set(wdgs->cb_item, "cb_item_wdgs", wdgs); -eo_event_callback_add(wdgs->cb_item, EO_BASE_EVENT_DEL, _wdgs_struct_free, wdgs); elm_hoversel_item_add(wdgs->cb_action_t_hsel, "Create", NULL, ELM_ICON_NONE, NULL, NULL); elm_hoversel_item_add(wdgs->cb_action_t_hsel, "Modify", NULL, ELM_ICON_NONE, NULL, NULL); elm_hoversel_item_add(wdgs->cb_action_t_hsel, "Invoke", NULL, ELM_ICON_NONE, NULL, NULL); @@ -647,6 +639,8 @@ cbview_build(const Gui_Widget *wdg) { elm_obj_genlist_clear(cb_list); + if (!wdg) return; + Eina_List *classes = eo_class_mro_get(wdg_class_name_get(wdg)); const char *classname; Elm_Object_Item *glit = NULL; diff --git a/src/bin/gui/contentview.c b/src/bin/gui/contentview.c index 58e8eb5..efe7e6d 100644 --- a/src/bin/gui/contentview.c +++ b/src/bin/gui/contentview.c @@ -96,6 +96,7 @@ contentview_build(const Gui_Widget *wdg) It_Data *it_data; elm_obj_genlist_clear(ctn_list); + if (!wdg) return; const char *wdg_name = wdg_obj_container_class_name_get(wdg); Eina_Bool isbox = (wdg_name && diff --git a/src/bin/gui/descview.c b/src/bin/gui/descview.c index ba33d28..ebf5160 100644 --- a/src/bin/gui/descview.c +++ b/src/bin/gui/descview.c @@ -19,6 +19,7 @@ void descview_build(const Gui_Widget *wdg) { elm_obj_genlist_clear(desc_list); + if (!wdg) return; int i; for (i = 0; descs[i]; i++) diff --git a/src/bin/gui/dnd.h b/src/bin/gui/dnd.h index 884bb3e..3e04a3d 100644 --- a/src/bin/gui/dnd.h +++ b/src/bin/gui/dnd.h @@ -26,6 +26,9 @@ drop_item_container_del(Eo *obj); void drag_item_container_set(Eo *obj, double anim_tm, double tm_to_drag, Elm_Drag_Start dragstart, Elm_Drag_Done dragdone); +void +drag_item_container_del(Eo *obj); + const Gui_Widget * dnd_drag_wdg_get(); diff --git a/src/bin/gui/editor.c b/src/bin/gui/editor.c index 93b0d83..7c9ee63 100644 --- a/src/bin/gui/editor.c +++ b/src/bin/gui/editor.c @@ -344,11 +344,12 @@ static void _wdg_border_draw(const Gui_Widget *wdg, Eina_Bool visibility, int border_type_color) { const Gui_Context *ctx = _active_context_get(); - if (!ctx) return; - const Gui_Session *session = gui_context_editor_session_get(ctx); - static Eo *_base_obj_prev = NULL; Eo *obj = NULL; Eo *base_obj = canvas_get(); + + if (!ctx && !visibility) goto hide_borders; + const Gui_Session *session = gui_context_editor_session_get(ctx); + static Eo *_base_obj_prev = NULL; if (wdg) { if (IS_MAIN(wdg)) @@ -436,6 +437,7 @@ _wdg_border_draw(const Gui_Widget *wdg, Eina_Bool visibility, int border_type_co } } +hide_borders: switch (border_type_color) { case BORDER_SELECTION: @@ -3395,6 +3397,7 @@ _editor_selected_wdg_del_cb() context_memento_finalize(ctx); } +static Ecore_Idler *_border_draw_idler = NULL; void editor_shutdown() { @@ -3402,12 +3405,19 @@ editor_shutdown() eo_key_data_del(g->main_win->canvas_scroller, EDITOR_DND_DATA); free(di); drop_target_wdg_del(NULL, g->main_win->canvas_scroller); + drop_item_container_del(g->main_win->objtree_list); + drag_item_container_del(g->main_win->objtree_list); + + ecore_idle_enterer_del(_border_draw_idler); + _border_draw_idler = NULL; target_db_shutdown(); proplayout_shutdown(); objtree_shutdown(); autosave_shutdown(); + elm_obj_grid_clear(canvas_get(), EINA_TRUE); +
[EGIT] [tools/eflete] master 05/10: tab_import_edj: fix wrong field filled from command line
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=c719f5d60b59194ad4ab44f4286632eef7d5fb3c commit c719f5d60b59194ad4ab44f4286632eef7d5fb3c Author: Andrii KroitorDate: Tue Apr 12 15:22:01 2016 +0300 tab_import_edj: fix wrong field filled from command line --- src/bin/ui/tab_home_import_edj.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/ui/tab_home_import_edj.c b/src/bin/ui/tab_home_import_edj.c index e193c1f..5c7e005 100644 --- a/src/bin/ui/tab_home_import_edj.c +++ b/src/bin/ui/tab_home_import_edj.c @@ -463,7 +463,7 @@ _tab_import_edj_data_set(const char *name, const char *path, const char *edj) elm_entry_entry_set(tab_edj.name, name); - if (path) elm_entry_entry_set(tab_edj.name, path); + if (path) elm_entry_entry_set(tab_edj.path, path); else elm_entry_entry_set(tab_edj.path, profile_get()->general.projects_folder); elm_entry_entry_set(tab_edj.edj, edj); --
[EGIT] [tools/eflete] master 10/10: tab_home_new: do not mark widget names for translation
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=23d6ebe27e2f14a7fe5da84a60a88866f0633b22 commit 23d6ebe27e2f14a7fe5da84a60a88866f0633b22 Author: Andrii KroitorDate: Wed Apr 13 16:48:21 2016 +0300 tab_home_new: do not mark widget names for translation --- src/bin/ui/tab_home_new.c | 110 +++--- 1 file changed, 55 insertions(+), 55 deletions(-) diff --git a/src/bin/ui/tab_home_new.c b/src/bin/ui/tab_home_new.c index 5fb861d..2042aca 100644 --- a/src/bin/ui/tab_home_new.c +++ b/src/bin/ui/tab_home_new.c @@ -35,61 +35,61 @@ typedef struct _Widget_Item_Data Widget_Item_Data; static Widget_Item_Data widget_item_data[] = { - { N_("access"), false }, - { N_("actionslider"), false }, - { N_("bg"), false }, - { N_("border"), false }, - { N_("bubble"), false }, - { N_("button"), false }, - { N_("calendar"), false }, - { N_("check"),false }, - { N_("clock"),false }, - { N_("colorsel"), false }, - { N_("conform"), false }, - { N_("ctxpopup"), false }, - { N_("cursor"), false }, - { N_("datetime"), false }, - { N_("dayselector"), false }, - { N_("diskselector"), false }, - { N_("entry"),false }, - { N_("fileselector"), false }, - { N_("flipselector"), false }, - { N_("focus"),false }, - { N_("frame"),false }, - { N_("gengrid"), false }, - { N_("genlist"), false }, - { N_("hover"),false }, - { N_("icon"), false }, - { N_("index"),false }, - { N_("label"),false }, - { N_("layout"), false }, - { N_("list"), false }, - { N_("map"), false }, - { N_("menu"), false }, - { N_("multibuttonentry"), false }, - { N_("naviframe"),false }, - { N_("notify"), false }, - { N_("panel"),false }, - { N_("panes"),false }, - { N_("photo"),false }, - { N_("photocam"), false }, - { N_("player"), false }, - { N_("pointer"), false }, - { N_("popup"),false }, - { N_("progress"), false }, - { N_("radio"),false }, - { N_("scroller"), false }, - { N_("segment_control"), false }, - { N_("separator"),false }, - { N_("slider"), false }, - { N_("slideshow"),false }, - { N_("spinner"), false }, - { N_("thumb"),false }, - { N_("toolbar"), false }, - { N_("tooltip"), false }, - { N_("video"),false }, - { N_("win"), false }, - { NULL, false } + { "access", false }, + { "actionslider", false }, + { "bg", false }, + { "border", false }, + { "bubble", false }, + { "button", false }, + { "calendar", false }, + { "check",false }, + { "clock",false }, + { "colorsel", false }, + { "conform", false }, + { "ctxpopup", false }, + { "cursor", false }, + { "datetime", false }, + { "dayselector", false }, + { "diskselector", false }, + { "entry",false }, + { "fileselector", false }, + { "flipselector", false }, + { "focus",false }, + { "frame",false }, + { "gengrid", false }, + { "genlist", false }, + { "hover",false }, + { "icon", false }, + { "index",false }, + { "label",false }, + { "layout", false }, + { "list", false }, + { "map", false }, + { "menu", false }, + { "multibuttonentry", false }, + { "naviframe",false }, + { "notify", false }, + { "panel",false }, + { "panes",false }, + { "photo",false }, + { "photocam", false }, + { "player", false }, + { "pointer", false }, + { "popup",false }, + { "progress", false }, + { "radio",false }, + { "scroller", false }, + { "segment_control", false }, + { "separator",false }, + { "slider", false }, + { "slideshow",false }, + { "spinner", false }, + { "thumb",false }, + { "toolbar", false }, + { "tooltip", false }, + { "video",false }, + { "win",
[EGIT] [tools/eflete] master 08/10: demo: apply workspace.scroller's clipper to created live widget
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=66baa6aeb119a25157b7970048d7a75ce150c738 commit 66baa6aeb119a25157b7970048d7a75ce150c738 Author: Vitalii VorobiovDate: Fri Apr 8 16:22:16 2016 +0300 demo: apply workspace.scroller's clipper to created live widget --- src/bin/ui/live_view/elementary/live_bg.c | 1 + src/bin/ui/live_view/elementary/live_bubble.c | 1 + src/bin/ui/live_view/elementary/live_button.c | 1 + src/bin/ui/live_view/elementary/live_calendar.c | 1 + src/bin/ui/live_view/elementary/live_check.c| 1 + src/bin/ui/live_view/elementary/live_clock.c| 1 + src/bin/ui/live_view/elementary/live_colorselector.c| 1 + src/bin/ui/live_view/elementary/live_custom_layout.c| 1 + src/bin/ui/live_view/elementary/live_datetime.c | 2 ++ src/bin/ui/live_view/elementary/live_entry.c| 1 + src/bin/ui/live_view/elementary/live_frame.c| 1 + src/bin/ui/live_view/elementary/live_gengrid.c | 1 + src/bin/ui/live_view/elementary/live_genlist.c | 1 + src/bin/ui/live_view/elementary/live_label.c| 1 + src/bin/ui/live_view/elementary/live_layout.c | 1 + src/bin/ui/live_view/elementary/live_list.c | 1 + src/bin/ui/live_view/elementary/live_map.c | 1 + src/bin/ui/live_view/elementary/live_multibuttonentry.c | 1 + src/bin/ui/live_view/elementary/live_naviframe.c| 1 + src/bin/ui/live_view/elementary/live_notify.c | 1 + src/bin/ui/live_view/elementary/live_panel.c| 1 + src/bin/ui/live_view/elementary/live_panes.c| 1 + src/bin/ui/live_view/elementary/live_popup.c| 1 + src/bin/ui/live_view/elementary/live_progressbar.c | 1 + src/bin/ui/live_view/elementary/live_radio.c| 1 + src/bin/ui/live_view/elementary/live_scroller.c | 1 + src/bin/ui/live_view/elementary/live_segment_control.c | 1 + src/bin/ui/live_view/elementary/live_separator.c| 1 + src/bin/ui/live_view/elementary/live_slider.c | 1 + src/bin/ui/live_view/elementary/live_spinner.c | 1 + src/bin/ui/live_view/elementary/live_toolbar.c | 1 + 31 files changed, 32 insertions(+) diff --git a/src/bin/ui/live_view/elementary/live_bg.c b/src/bin/ui/live_view/elementary/live_bg.c index 3cd589a..ad67ac2 100644 --- a/src/bin/ui/live_view/elementary/live_bg.c +++ b/src/bin/ui/live_view/elementary/live_bg.c @@ -33,6 +33,7 @@ widget_bg_create(Evas_Object *parent, const Group *group) evas_object_smart_callback_add(object, SIGNAL_DEMO_SIGNAL_SEND, send_signal, NULL); elm_object_style_set(object, group->style); + evas_object_clip_set(object, evas_object_clip_get(parent)); return object; } diff --git a/src/bin/ui/live_view/elementary/live_bubble.c b/src/bin/ui/live_view/elementary/live_bubble.c index 3035ac9..43bb1b9 100644 --- a/src/bin/ui/live_view/elementary/live_bubble.c +++ b/src/bin/ui/live_view/elementary/live_bubble.c @@ -55,6 +55,7 @@ widget_bubble_create(Evas_Object *parent, const Group *group) evas_object_smart_callback_add(object, SIGNAL_DEMO_SIGNAL_SEND, send_signal, NULL); elm_object_style_set(object, group->style); + evas_object_clip_set(object, evas_object_clip_get(parent)); return object; } diff --git a/src/bin/ui/live_view/elementary/live_button.c b/src/bin/ui/live_view/elementary/live_button.c index a0f8e22..00abd7f 100644 --- a/src/bin/ui/live_view/elementary/live_button.c +++ b/src/bin/ui/live_view/elementary/live_button.c @@ -33,6 +33,7 @@ widget_button_create(Evas_Object *parent, const Group *group) evas_object_smart_callback_add(object, SIGNAL_DEMO_SIGNAL_SEND, send_signal, NULL); elm_object_style_set(object, group->style); + evas_object_clip_set(object, evas_object_clip_get(parent)); return object; } diff --git a/src/bin/ui/live_view/elementary/live_calendar.c b/src/bin/ui/live_view/elementary/live_calendar.c index 98579dd..1086825 100644 --- a/src/bin/ui/live_view/elementary/live_calendar.c +++ b/src/bin/ui/live_view/elementary/live_calendar.c @@ -42,6 +42,7 @@ widget_calendar_create(Evas_Object *parent, const Group *group) evas_object_smart_callback_add(object, SIGNAL_DEMO_SIGNAL_SEND, send_signal, NULL); elm_object_style_set(object, group->style); + evas_object_clip_set(object, evas_object_clip_get(parent)); return object; } diff --git a/src/bin/ui/live_view/elementary/live_check.c b/src/bin/ui/live_view/elementary/live_check.c index 15a682f..b893727 100644 --- a/src/bin/ui/live_view/elementary/live_check.c +++ b/src/bin/ui/live_view/elementary/live_check.c @@ -33,6 +33,7 @@ widget_check_create(Evas_Object *parent, const Group *group) evas_object_smart_callback_add(object, SIGNAL_DEMO_SIGNAL_SEND, send_signal, NULL); elm_object_style_set(object, group->style); +
[EGIT] [tools/eflete] master 04/10: eflete: refactor comandline options
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=ee2eb647329c884603723c36fd70707c926908e5 commit ee2eb647329c884603723c36fd70707c926908e5 Author: Andrii KroitorDate: Tue Apr 12 10:54:25 2016 +0300 eflete: refactor comandline options Removed flags -o, --import-edj and --replace. Open and import actions are now recognized by file extenstion. Added more checks. Now you cann't start eflete with incorrect options combination. Creating main window only after pasing all checks. --- src/bin/main.c | 114 --- src/bin/ui/main_window.c | 1 - 2 files changed, 79 insertions(+), 36 deletions(-) diff --git a/src/bin/main.c b/src/bin/main.c index 6148554..84cc731 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -28,27 +28,33 @@ #include "tabs_private.h" #include "config.h" -static char *open = NULL; -static char *import_edj = NULL; +static char *file = NULL; static char *pro_name = NULL; static char *pro_path = NULL; -static Eina_Bool pro_replace = false; + +#define _ERR_EXIT(MSG, ...) \ +do { \ + printf(_("ERROR: ")); \ + printf(MSG, ## __VA_ARGS__); \ + printf(_("\nERROR: invalid options found. See --help.\n")); \ + return 1; \ +} while (0); static const Ecore_Getopt options = { PACKAGE_NAME, - "%prog [options]", + "%prog [OPTION]... [FILE]\n" + " if FILE is *.pro: open project\n" + " if FILE is *.edj: import edj\n" + , VERSION, - "(C) 2013-2014 Samsung Electronics.", + "(C) 2013-2016 Samsung Electronics.", "GNU Library General Public License version 2", - N_("This application was written for Enlightenment, to use EFL\n" - "and design to create and modify Elementary widgets styles.\n"), + "This application was written for Enlightenment, to use EFL\n" + "and design to create and modify Elementary widgets styles.\n", EINA_TRUE, { - ECORE_GETOPT_STORE_STR('o', "open", N_("Eflete project file")), - ECORE_GETOPT_STORE_STR(0, "import-edj", N_("Import the edj file as new project")), ECORE_GETOPT_STORE_STR(0, "name", N_("Name for new project that would be created in import process")), ECORE_GETOPT_STORE_STR(0, "path", N_("Path for project")), - ECORE_GETOPT_STORE_TRUE(0, "replace", N_("Replace existing project")), ECORE_GETOPT_STORE_TRUE('r', "reopen", "reopen last project"), ECORE_GETOPT_VERSION ('v', "version"), ECORE_GETOPT_COPYRIGHT('c', "copyright"), @@ -92,14 +98,26 @@ _open_project(void *data __UNUSED__) _setup_open_splash, _teardown_open_splash, _cancel_open_splash, - (void *)eina_stringshare_add(open)); + (void *)eina_stringshare_add(file)); evas_object_show(ap.splash); } static void _import_edj(void *data __UNUSED__) { - tabs_menu_import_edj_data_set(pro_name, pro_path, import_edj); + const char *name; + Eina_Tmpstr *proj_name; + if (pro_name) + { +tabs_menu_import_edj_data_set(pro_name, pro_path, file); + } + else + { +name = ecore_file_file_get(file); +proj_name = eina_tmpstr_add_length(name, strlen(name) - 4); +tabs_menu_import_edj_data_set(proj_name, pro_path, file); +eina_tmpstr_del(proj_name); + } tabs_menu_tab_open(TAB_HOME_IMPORT_EDJ); } @@ -109,13 +127,11 @@ elm_main(int argc, char **argv) Eina_Bool info_only = false, reopen = false; Config *config; Recent *r; + int pos; Ecore_Getopt_Value values[] = { - ECORE_GETOPT_VALUE_STR(open), - ECORE_GETOPT_VALUE_STR(import_edj), ECORE_GETOPT_VALUE_STR(pro_name), ECORE_GETOPT_VALUE_STR(pro_path), - ECORE_GETOPT_VALUE_BOOL(pro_replace), ECORE_GETOPT_VALUE_BOOL(reopen), ECORE_GETOPT_VALUE_BOOL(info_only), ECORE_GETOPT_VALUE_BOOL(info_only), @@ -132,7 +148,15 @@ elm_main(int argc, char **argv) enventor_init(argc, argv); #endif - ecore_getopt_parse(, values, argc, argv); + pos = ecore_getopt_parse(, values, argc, argv); + if (pos < 0) + return 1; + if (pos < argc - 1) + _ERR_EXIT(_("Only one file should be specified.")); + + if (pos == argc -1) + file = argv[pos]; + if (!info_only) { #ifdef HAVE_CONFIG_H @@ -141,46 +165,66 @@ elm_main(int argc, char **argv) CRIT("Could not find 'eflete_config.h'"); #endif -if (!ui_main_window_add()) - { - app_shutdown(); - return -1; - } +config_load(); if (reopen) { + if (file) + _ERR_EXIT(_("--reopen is given but file specified.")); + if (pro_name) + _ERR_EXIT(_("--reopen is given but --name specified.")); + if (pro_path) + _ERR_EXIT(_("--repoen is given but --path specified.")); +
[EGIT] [tools/eflete] master 09/10: UTC: fix segfaults in config tests
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=3dc5f48790e773971ed0e88a48ab25f7fdbc39b4 commit 3dc5f48790e773971ed0e88a48ab25f7fdbc39b4 Author: Andrii KroitorDate: Wed Apr 13 16:31:51 2016 +0300 UTC: fix segfaults in config tests --- tests/test_config/config_load.c| 2 +- tests/test_config/config_panes_sizes_data_update.c | 3 +-- tests/test_config/config_save.c| 2 +- tests/test_eflete/colorselector_get.c | 1 + tests/test_eflete/test_eflete.h| 1 + 5 files changed, 5 insertions(+), 4 deletions(-) diff --git a/tests/test_config/config_load.c b/tests/test_config/config_load.c index 123b79f..8ee043f 100644 --- a/tests/test_config/config_load.c +++ b/tests/test_config/config_load.c @@ -55,7 +55,7 @@ EFLETE_TEST(config_load_test_p) elm_init(0,0); app_init(); - ui_main_window_add(); + config_load(); config = config_get(); ck_assert_msg(config != NULL, "Config not been loaded."); diff --git a/tests/test_config/config_panes_sizes_data_update.c b/tests/test_config/config_panes_sizes_data_update.c index 0fb6a24..315e8f3 100644 --- a/tests/test_config/config_panes_sizes_data_update.c +++ b/tests/test_config/config_panes_sizes_data_update.c @@ -58,12 +58,11 @@ EFLETE_TEST (config_panes_sizes_data_update_test_p) Eina_Bool result = EINA_FALSE; app_init(); - ui_main_window_add(); + config_load(); result = config_panes_sizes_data_update(); ck_assert_msg(result == EINA_TRUE, "Could not update Panes sizes data"); - evas_object_del(ap.win); elm_shutdown(); } END_TEST diff --git a/tests/test_config/config_save.c b/tests/test_config/config_save.c index a144327..617d755 100644 --- a/tests/test_config/config_save.c +++ b/tests/test_config/config_save.c @@ -55,7 +55,7 @@ EFLETE_TEST(config_save_test_p) { elm_init(0,0); app_init(); - ui_main_window_add(); + config_load(); ck_assert_msg(config_save(), "Config not saved."); diff --git a/tests/test_eflete/colorselector_get.c b/tests/test_eflete/colorselector_get.c index f9c1925..eda9ad9 100644 --- a/tests/test_eflete/colorselector_get.c +++ b/tests/test_eflete/colorselector_get.c @@ -55,6 +55,7 @@ EFLETE_TEST (colorselector_get_test_p) { elm_init(0,0); app_init(); + config_load(); ui_main_window_add(); ck_assert_msg(colorselector_get() != NULL, "Colorselector not exist"); diff --git a/tests/test_eflete/test_eflete.h b/tests/test_eflete/test_eflete.h index 283c455..6bf0912 100644 --- a/tests/test_eflete/test_eflete.h +++ b/tests/test_eflete/test_eflete.h @@ -19,6 +19,7 @@ #include "utc_common.h" #include "eflete.h" +#include "config.h" #include "main_window.h" /** --
[EGIT] [tools/eflete] master 06/10: eflete: add import edc from command line support
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=505928e3f76a6ecb254ed423ffe3bc6896010510 commit 505928e3f76a6ecb254ed423ffe3bc6896010510 Author: Andrii KroitorDate: Tue Apr 12 15:23:04 2016 +0300 eflete: add import edc from command line support --- src/bin/main.c | 69 src/bin/ui/tab_home_import_edc.c | 43 + src/bin/ui/tabs.c| 7 src/bin/ui/tabs.h| 9 ++ src/bin/ui/tabs_private.h| 4 +++ 5 files changed, 132 insertions(+) diff --git a/src/bin/main.c b/src/bin/main.c index 84cc731..212b20a 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -31,6 +31,10 @@ static char *file = NULL; static char *pro_name = NULL; static char *pro_path = NULL; +static Eina_List *img_dirs = NULL; +static Eina_List *snd_dirs = NULL; +static Eina_List *fnt_dirs = NULL; +static Eina_List *data_dirs = NULL; #define _ERR_EXIT(MSG, ...) \ do { \ @@ -55,6 +59,10 @@ static const Ecore_Getopt options = { { ECORE_GETOPT_STORE_STR(0, "name", N_("Name for new project that would be created in import process")), ECORE_GETOPT_STORE_STR(0, "path", N_("Path for project")), + 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), + ECORE_GETOPT_APPEND_METAVAR('d', "dd", "Add data directory for edc compilation", "DIR_NAME", ECORE_GETOPT_TYPE_STR), ECORE_GETOPT_STORE_TRUE('r', "reopen", "reopen last project"), ECORE_GETOPT_VERSION ('v', "version"), ECORE_GETOPT_COPYRIGHT('c', "copyright"), @@ -121,6 +129,25 @@ _import_edj(void *data __UNUSED__) tabs_menu_tab_open(TAB_HOME_IMPORT_EDJ); } +static void +_import_edc(void *data __UNUSED__) +{ + const char *name; + Eina_Tmpstr *proj_name; + if (pro_name) + { +tabs_menu_import_edc_data_set(pro_name, pro_path, file, img_dirs, snd_dirs, fnt_dirs, data_dirs); + } + else + { +name = ecore_file_file_get(file); +proj_name = eina_tmpstr_add_length(name, strlen(name) - 4); +tabs_menu_import_edc_data_set(proj_name, pro_path, file, img_dirs, snd_dirs, fnt_dirs, data_dirs); +eina_tmpstr_del(proj_name); + } + tabs_menu_tab_open(TAB_HOME_IMPORT_EDC); +} + EAPI_MAIN int elm_main(int argc, char **argv) { @@ -132,6 +159,10 @@ 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_LIST(img_dirs), + ECORE_GETOPT_VALUE_LIST(snd_dirs), + ECORE_GETOPT_VALUE_LIST(fnt_dirs), + ECORE_GETOPT_VALUE_LIST(data_dirs), ECORE_GETOPT_VALUE_BOOL(reopen), ECORE_GETOPT_VALUE_BOOL(info_only), ECORE_GETOPT_VALUE_BOOL(info_only), @@ -175,6 +206,14 @@ elm_main(int argc, char **argv) _ERR_EXIT(_("--reopen is given but --name specified.")); if (pro_path) _ERR_EXIT(_("--repoen is given but --path specified.")); + if (img_dirs) + _ERR_EXIT(_("--reopen is given but --id specified.")); + if (snd_dirs) + _ERR_EXIT(_("--reopen is given but --sd specified.")); + if (fnt_dirs) + _ERR_EXIT(_("--reopen is given but --fd specified.")); + if (data_dirs) + _ERR_EXIT(_("--reopen is given but --dd specified.")); config = config_get(); if (!config->recents) @@ -198,15 +237,37 @@ elm_main(int argc, char **argv) _ERR_EXIT(_("*.pro file is given but --name specified.")); if (pro_path) _ERR_EXIT(_("*.pro file is given but --path specified.")); + if (img_dirs) +_ERR_EXIT(_("*.pro file is given but --id specified.")); + if (snd_dirs) +_ERR_EXIT(_("*.pro file is given but --sd specified.")); + if (fnt_dirs) +_ERR_EXIT(_("*.pro file is given but --fd specified.")); + if (data_dirs) +_ERR_EXIT(_("*.pro file is given but --dd specified.")); ecore_job_add(_open_project, NULL); goto run; } else if (eina_str_has_suffix(file, ".edj")) { + if (img_dirs) +_ERR_EXIT(_("*.edj file is given but --id specified.")); + if (snd_dirs) +_ERR_EXIT(_("*.edj file is given but --sd specified.")); + if (fnt_dirs) +