[EGIT] [core/efl] master 01/01: eo - key obj reference - don't unref on del event callback

2016-04-13 Thread Carsten Haitzler
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.

2016-04-13 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/edi.git/commit/?id=6fc4e26c44cd62580064f1e1cc3cfda01a27c6ef

commit 6fc4e26c44cd62580064f1e1cc3cfda01a27c6ef
Author: Hermet Park 
Date:   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, &length);
 
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.

2016-04-13 Thread Stephen Houston
okra pushed a commit to branch master.

http://git.enlightenment.org/apps/ephoto.git/commit/?id=11ffca550165bfbea985d0a3a8f310fc00c6680d

commit 11ffca550165bfbea985d0a3a8f310fc00c6680d
Author: Stephen Houston 
Date:   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.

2016-04-13 Thread Stephen Houston
okra pushed a commit to branch master.

http://git.enlightenment.org/apps/ephoto.git/commit/?id=b73233d8fb42e497e6120a5929527094afa7f552

commit b73233d8fb42e497e6120a5929527094afa7f552
Author: Stephen Houston 
Date:   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"

2016-04-13 Thread Carsten Haitzler (Rasterman)
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

2016-04-13 Thread 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: Raster 
Date:   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

2016-04-13 Thread 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: Raster 
Date:   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

2016-04-13 Thread 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: Raster 
Date:   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

2016-04-13 Thread 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: Raster 
Date:   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

2016-04-13 Thread 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 Blumenkrantz 
Date:   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 04/09: Wiki page newsdata changed with summary [] by Mike Blumenkrantz

2016-04-13 Thread Mike Blumenkrantz
WWW-www.enlightenment.org pushed a commit to branch master.

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

commit cab9b39811c4dfab0b7fbd4559f29ddc3b655e60
Author: Mike Blumenkrantz 
Date:   Tue Apr 12 14:26:07 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 b910f32..fb4756e 100644
--- a/pages/news/newsdata.txt
+++ b/pages/news/newsdata.txt
@@ -1,5 +1,43 @@
 == 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

-- 




[EGIT] [website/www-content] master 05/09: Wiki page start-release changed with summary [E21 alpha] by Mike Blumenkrantz

2016-04-13 Thread 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 Blumenkrantz 
Date:   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

2016-04-13 Thread 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 Blumenkrantz 
Date:   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

2016-04-13 Thread 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 Blumenkrantz 
Date:   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] [website/www-content] master 01/09: Wiki page arcanist changed with summary [GitHub path has changed] by Shuhrat Dehkanov

2016-04-13 Thread Shuhrat Dehkanov
WWW-www.enlightenment.org pushed a commit to branch master.

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

commit 47bc1486e0a344bb56b06311f8ec8b55e1689c5b
Author: Shuhrat Dehkanov 
Date:   Mon Apr 11 05:20:55 2016 -0700

Wiki page arcanist changed with summary [GitHub path has changed] by 
Shuhrat Dehkanov
---
 pages/contact/arcanist.txt | 11 +--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/pages/contact/arcanist.txt b/pages/contact/arcanist.txt
index 7d19647..b57e22c 100644
--- a/pages/contact/arcanist.txt
+++ b/pages/contact/arcanist.txt
@@ -8,8 +8,15 @@ To set up arcanist you will need php installed locally, as 
well as git, and then
 sudo apt-get install php5-cli php5-curl php5-json git # remove arc
 mkdir ~/arcanist
 cd ~/arcanist
-git clone git://github.com/facebook/libphutil.git
-git clone git://github.com/facebook/arcanist.git
+git clone git://github.com/phacility/libphutil.git
+git clone git://github.com/phacility/arcanist.git
+
+
+If you prefer to use HTTPS, replace the last two commands from above with:
+
+
+git clone https://github.com/phacility/libphutil.git
+git clone https://github.com/phacility/arcanist.git
 
 
 Ensure that //~/arcanist/arcanist/bin// is in your $PATH for your shell. 
Example:

-- 




[EGIT] [legacy/imlib2] master 01/01: Fix cross-endianness for masks (1-bit depth images)

2016-04-13 Thread Alexander Smirnov
kwo pushed a commit to branch master.

http://git.enlightenment.org/legacy/imlib2.git/commit/?id=7836d839512f1a766fa34a098bda31ef2216480c

commit 7836d839512f1a766fa34a098bda31ef2216480c
Author: Alexander Smirnov 
Date:   Wed Apr 13 21:03:31 2016 +0200

Fix cross-endianness for masks (1-bit depth images)

Summary:
Imlib generates masks on the client side with the bit order
of the client. Set this bit order for produced XImages.

Reviewers: kwo

Differential Revision: https://phab.enlightenment.org/D3891
---
 src/lib/ximage.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/lib/ximage.c b/src/lib/ximage.c
index 4fa1b29..750761f 100644
--- a/src/lib/ximage.c
+++ b/src/lib/ximage.c
@@ -360,8 +360,10 @@ __imlib_ProduceXImage(Display * d, Visual * v, int depth, 
int w, int h,
/* (rather than the Xserver) */
 #ifdef WORDS_BIGENDIAN
xim->byte_order = MSBFirst;
+   xim->bitmap_bit_order = MSBFirst;
 #else
xim->byte_order = LSBFirst;
+   xim->bitmap_bit_order = LSBFirst;
 #endif
 
/* return out image */

-- 




[EGIT] [core/efl] master 01/01: elput: Add missing optional feature check for systemd

2016-04-13 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 4ea507c2ca2363aa581444eb3f210c1610ef57c0
Author: Chris Michael 
Date:   Wed Apr 13 15:44:13 2016 -0400

elput: Add missing optional feature check for systemd

As elput can potentially use systemd-logind for various input device
functions, we should add this as an optional dependency in the
configure checks.

@fix

Signed-off-by: Chris Michael 
---
 configure.ac | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index f34bac8..c27d216 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3601,6 +3601,9 @@ EFL_INTERNAL_DEPEND_PKG([ELPUT], [eina])
 
 EFL_DEPEND_PKG([ELPUT], [LIBINPUT], [libinput >= 0.6.0 xkbcommon >= 0.3.0])
 
+EFL_OPTIONAL_DEPEND_PKG([ELPUT], [${want_systemd}], [SYSTEMD], [libsystemd])
+EFL_ADD_FEATURE([ELPUT], [systemd-logind], [${want_systemd}])
+
 EFL_ADD_LIBS([ELPUT], [-lm])
 
 # API change from 0.7 to 0.8. So we define this to support both for now.
@@ -5750,7 +5753,7 @@ fi
 echo "Ecore_Audio.: ${efl_lib_optional_ecore_audio} 
(${features_ecore_audio})"
 echo "Ecore_Avahi.: yes (${features_ecore_avahi})"
 echo "Ecore_Evas..: yes (${features_ecore_evas})"
-echo "Elput...: $want_elput"
+echo "Elput...: $want_elput (${features_elput})"
 echo "Ector...: yes"
 echo "Eeze: ${efl_lib_optional_eeze} (${features_eeze})"
 echo "EPhysics: ${efl_lib_optional_ephysics}"

-- 




[EGIT] [core/efl] master 16/16: Merge branch 'devs/devilhorns/elput'

2016-04-13 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit f20eb4eba7321cfc6907bdcc2e3baca16066be2a
Merge: c23a61a 43360ca
Author: Chris Michael 
Date:   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

2016-04-13 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit b764978f29d86a3e42eac1de3e438e0932b4331f
Author: Chris Michael 
Date:   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", &maj, &min, &fd))
  {
-/* 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, &active);
-/* 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

2016-04-13 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 6c85fe751488c344f1c0cff8e9f3dd013bf5f66d
Author: Chris Michael 
Date:   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(&edev->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

2016-04-13 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 404b3049f3339e4ea95c116312386b3d19d1c99c
Author: Chris Michael 
Date:   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

2016-04-13 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 6a7589bf7805b31b532cd6acf972a3f87f65366f
Author: Chris Michael 
Date:   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
+_keyboard_keysym_translate(xkb_keysym_t keysym, unsigned

[EGIT] [core/efl] master 06/16: elput: Add API function to initialize and shutdown input devices

2016-04-13 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit f832d2019cc96d750a17f9df3aec3feff78dc5a3
Author: Chris Michael 
Date:   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(&manager->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(&manager->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(&manager->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

2016-04-13 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 3070c4cf08a28b2a9a3f4838ec78ce7f7bde95ec
Author: Chris Michael 
Date:   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 (info->keymap.area) munmap(info->keymap.area, info->keymap.size);
+ 

[EGIT] [core/efl] master 03/16: elput: Add input manager interface and APIs to connect & disconnect

2016-04-13 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit ed3a1f39587187c8acf305fd793f92218995c486
Author: Chris Michael 
Date:   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, &errname, &errmsg))
+ {
+ERR("Eldbus Message Error: %s %s", errname, errmsg);
+return;
+ }
+
+   if (eldbus_message_arguments_get(msg, "s", &sid))
+ {
+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, &errname, &errmsg))
+ {
+ERR("Eldbus Message Error: %s %s", errname, errmsg);
+return;
+ }
+
+   if (eldbus_message_arguments_get(msg, "uus", &maj, &min, &type))
+ {
+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;
+
+   if (el

[EGIT] [core/efl] master 10/16: elput: Create and send seat frame events when we need to

2016-04-13 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 5db91e3802bd7084a2df7c79300e91e7b0d10ce6
Author: Chris Michael 
Date:   Wed Apr 6 10:38:08 2016 -0400

elput: Create and send seat frame events when we need to

Signed-off-by: Chris Michael 
---
 src/lib/elput/Elput.h   |  7 +++
 src/lib/elput/elput.c   |  3 +++
 src/lib/elput/elput_evdev.c | 17 +
 3 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/src/lib/elput/Elput.h b/src/lib/elput/Elput.h
index 90cfe77..97b184b 100644
--- a/src/lib/elput/Elput.h
+++ b/src/lib/elput/Elput.h
@@ -52,7 +52,14 @@ typedef struct _Elput_Event_Seat_Caps
Elput_Seat *seat;
 } Elput_Event_Seat_Caps;
 
+/* structure to represent event for seat frame */
+typedef struct _Elput_Event_Seat_Frame
+{
+   Elput_Seat *seat;
+} Elput_Event_Seat_Frame;
+
 EAPI extern int ELPUT_EVENT_SEAT_CAPS;
+EAPI extern int ELPUT_EVENT_SEAT_FRAME;
 
 /**
  * @file
diff --git a/src/lib/elput/elput.c b/src/lib/elput/elput.c
index ef2ca6b..9a673da 100644
--- a/src/lib/elput/elput.c
+++ b/src/lib/elput/elput.c
@@ -7,6 +7,7 @@ static int _elput_init_count = 0;
 int _elput_log_dom = -1;
 
 EAPI int ELPUT_EVENT_SEAT_CAPS = -1;
+EAPI int ELPUT_EVENT_SEAT_FRAME = -1;
 
 EAPI int
 elput_init(void)
@@ -26,6 +27,7 @@ elput_init(void)
  }
 
ELPUT_EVENT_SEAT_CAPS = ecore_event_type_new();
+   ELPUT_EVENT_SEAT_FRAME = ecore_event_type_new();
 
return _elput_init_count;
 
@@ -48,6 +50,7 @@ elput_shutdown(void)
if (--_elput_init_count != 0) return _elput_init_count;
 
ELPUT_EVENT_SEAT_CAPS = -1;
+   ELPUT_EVENT_SEAT_FRAME = -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 a0dc07e..2036d17 100644
--- a/src/lib/elput/elput_evdev.c
+++ b/src/lib/elput/elput_evdev.c
@@ -16,6 +16,18 @@ _seat_caps_update(Elput_Seat *seat)
ecore_event_add(ELPUT_EVENT_SEAT_CAPS, ev, NULL, NULL);
 }
 
+static void
+_seat_frame_send(Elput_Seat *seat)
+{
+   Elput_Event_Seat_Frame *ev;
+
+   ev = calloc(1, sizeof(Elput_Event_Seat_Frame));
+   if (!ev) return;
+
+   ev->seat = seat;
+   ecore_event_add(ELPUT_EVENT_SEAT_FRAME, ev, NULL, NULL);
+}
+
 static int
 _keyboard_fd_get(off_t size)
 {
@@ -373,10 +385,7 @@ _evdev_event_process(struct libinput_event *event)
 Elput_Device *edev;
 
 edev = libinput_device_get_user_data(idev);
-if (edev)
-  {
- /* TODO: send seat frame event ?? */
-  }
+if (edev) _seat_frame_send(edev->seat);
  }
 
return ret;

-- 




[EGIT] [core/efl] master 04/16: elput: Add API functions to open and close an input device

2016-04-13 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 1ce6cd438244d644a63e6d1ab1dde88633bba34e
Author: Chris Michael 
Date:   Fri Apr 1 09:12:36 2016 -0400

elput: Add API functions to open and close an input device

This adds new API functions which can be called to open or close an input
device and take control (or release control) of said device

Signed-off-by: Chris Michael 
---
 src/lib/elput/Elput.h |  25 +
 src/lib/elput/elput_logind.c  | 122 +-
 src/lib/elput/elput_manager.c |  25 +
 src/lib/elput/elput_private.h |   1 +
 4 files changed, 171 insertions(+), 2 deletions(-)

diff --git a/src/lib/elput/Elput.h b/src/lib/elput/Elput.h
index e098b13..44a861c 100644
--- a/src/lib/elput/Elput.h
+++ b/src/lib/elput/Elput.h
@@ -102,6 +102,31 @@ EAPI Elput_Manager *elput_manager_connect(const char 
*seat, unsigned int tty, Ei
  */
 EAPI void elput_manager_disconnect(Elput_Manager *manager);
 
+/**
+ * Request input manager to open a file
+ *
+ * @param manager
+ * @param path
+ * @param flags
+ *
+ * @return Filedescriptor of opened file or -1 on failure
+ *
+ * @ingroup Elput_Manager_Group
+ * @since 1.18
+ */
+EAPI int elput_manager_open(Elput_Manager *manager, const char *path, int 
flags);
+
+/**
+ * Request input manager to close a file
+ *
+ * @param manager
+ * @param fd
+ *
+ * @ingroup Elput_Manager_Group
+ * @since 1.18
+ */
+EAPI void elput_manager_close(Elput_Manager *manager, int fd);
+
 # endif
 
 # undef EAPI
diff --git a/src/lib/elput/elput_logind.c b/src/lib/elput/elput_logind.c
index d649bf3..ec3cb7e 100644
--- a/src/lib/elput/elput_logind.c
+++ b/src/lib/elput/elput_logind.c
@@ -302,6 +302,78 @@ end:
eldbus_proxy_unref(proxy);
 }
 
+static int
+_logind_device_take(Elput_Manager *em, uint32_t major, uint32_t minor)
+{
+   Eldbus_Proxy *proxy;
+   Eldbus_Message *msg, *reply;
+   Eina_Bool p = EINA_FALSE;
+   const char *errname, *errmsg;
+   int fd = -1;
+
+   proxy =
+ eldbus_proxy_get(em->dbus.obj, "org.freedesktop.login1.Session");
+   if (!proxy)
+ {
+ERR("Could not get dbus proxy");
+return -1;
+ }
+
+   msg = eldbus_proxy_method_call_new(proxy, "TakeDevice");
+   if (!msg)
+ {
+ERR("Could not create method call for proxy");
+goto err;
+ }
+
+   eldbus_message_arguments_append(msg, "uu", major, minor);
+
+   reply = eldbus_proxy_send_and_block(proxy, msg, -1);
+   if (eldbus_message_error_get(reply, &errname, &errmsg))
+ {
+ERR("Eldbus Message Error: %s %s", errname, errmsg);
+goto err;
+ }
+
+   if (!eldbus_message_arguments_get(reply, "hb", &fd, &p))
+ ERR("Could not get UNIX_FD from dbus message");
+
+   eldbus_message_unref(reply);
+
+err:
+   eldbus_proxy_unref(proxy);
+   return fd;
+}
+
+static void
+_logind_device_release(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, "ReleaseDevice");
+   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_proxy_unref(proxy);
+}
+
 static Eina_Bool
 _logind_activate(Elput_Manager *em)
 {
@@ -437,12 +509,58 @@ _logind_disconnect(Elput_Manager *em)
free(em);
 }
 
+static int
+_logind_open(Elput_Manager *em, const char *path, int flags)
+{
+   struct stat st;
+   int ret, fd = -1;
+   int fl;
+
+   ret = stat(path, &st);
+   if (ret < 0) return -1;
+
+   if (!S_ISCHR(st.st_mode)) return -1;
+
+   fd = _logind_device_take(em, major(st.st_rdev), minor(st.st_rdev));
+   if (fd < 0) return fd;
+
+   fl = fcntl(fd, F_GETFL);
+   if (fl < 0) goto err;
+
+   if (flags & O_NONBLOCK)
+ fl |= O_NONBLOCK;
+
+   ret = fcntl(fd, F_SETFL, fl);
+   if (ret < 0) goto err;
+
+   return fd;
+
+err:
+   close(fd);
+   _logind_device_release(em, major(st.st_rdev), minor(st.st_rdev));
+   return -1;
+}
+
+static void
+_logind_close(Elput_Manager *em, int fd)
+{
+   struct stat st;
+   int ret;
+
+   ret = fstat(fd, &st);
+   if (ret < 0) return;
+
+   if (!S_ISCHR(st.st_mode)) return;
+
+   _logind_device_release(em, major(st.st_rdev), minor(st.st_rdev));
+}
+
 Elput_Interface _logind_interface =
 {
_logind_connect,
_logind_disconnect,
-   NULL,
-   NULL,
+   _logind_open,
+   _logind_close,
NULL,
NULL,
 };
diff --git a/src/lib/elput/elput_manager.c b/src/lib/elput/elput_manager.c
index 2073ff7..3dc67d9 100644
--- a/src/lib/elput/elput_manager.c
+++ b/src/lib/elput/elput_manager.c
@@ -37,3 +37,28 @@ elput_manager_disc

[EGIT] [core/efl] master 01/16: elput: Initial checkin of elput library

2016-04-13 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit f8964fcf2e4681ab77e0cf37c96e9994d25b19fd
Author: Chris Michael 
Date:   Thu Mar 24 11:19:31 2016 -0400

elput: Initial checkin of elput library

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.

Signed-off-by: Chris Michael 
---
 Makefile.am   |  4 +++
 configure.ac  | 71 +
 pc/elput.pc.in| 12 +++
 src/Makefile.am   |  1 +
 src/Makefile_Elput.am | 28 
 src/lib/elput/Elput.h | 74 +++
 src/lib/elput/elput.c | 55 
 src/lib/elput/elput_private.h | 57 +
 8 files changed, 302 insertions(+)

diff --git a/Makefile.am b/Makefile.am
index c2422db..564f332 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -286,6 +286,10 @@ if HAVE_ECORE_BUFFER
 pkgconfig_DATA += pc/ecore-buffer.pc
 endif
 
+if HAVE_ELPUT
+pkgconfig_DATA += pc/elput.pc
+endif
+
 # Cmake configs:
 efl_cmakeconfigdir = $(libdir)/cmake/Efl/
 efl_cmakeconfig_DATA = \
diff --git a/configure.ac b/configure.ac
index 44daa45..f34bac8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1984,6 +1984,17 @@ AC_ARG_ENABLE([ecore-buffer],
],
[want_ecore_buffer="no"])
 
+AC_ARG_ENABLE([elput],
+   [AS_HELP_STRING([--enable-elput],[enable elput library. 
@<:@default=disabled@:>@])],
+   [
+if test "x${enableval}" = "xyes" ; then
+   want_elput="yes"
+else
+   want_elput="no"
+fi
+   ],
+   [want_elput="no"])
+
 # Image Loaders
 
 ARG_ENABLE_EVAS_IMAGE_LOADER(BMP, static)
@@ -3566,6 +3577,64 @@ EFL_LIB_END_OPTIONAL([Ecore_Drm])
  End of Ecore_Drm
 
 
+ Elput
+have_libinput_new="no"
+EFL_LIB_START_OPTIONAL([Elput], [test "${want_elput}" = "yes"])
+
+### Additional options to configure
+SUID_CFLAGS=-fPIE
+SUID_LDFLAGS=-pie
+AC_SUBST([SUID_CFLAGS])
+AC_SUBST([SUID_LDFLAGS])
+
+### Default values
+
+### Checks for programs
+
+### Checks for libraries
+EFL_INTERNAL_DEPEND_PKG([ELPUT], [ecore])
+EFL_INTERNAL_DEPEND_PKG([ELPUT], [ecore-input])
+EFL_INTERNAL_DEPEND_PKG([ELPUT], [eldbus])
+EFL_INTERNAL_DEPEND_PKG([ELPUT], [eeze])
+EFL_INTERNAL_DEPEND_PKG([ELPUT], [eo])
+EFL_INTERNAL_DEPEND_PKG([ELPUT], [eina])
+
+EFL_DEPEND_PKG([ELPUT], [LIBINPUT], [libinput >= 0.6.0 xkbcommon >= 0.3.0])
+
+EFL_ADD_LIBS([ELPUT], [-lm])
+
+# API change from 0.7 to 0.8. So we define this to support both for now.
+PKG_CHECK_EXISTS([libinput >= 0.8.0],
+ [have_libinput_new="yes"],
+ [have_libinput_new="no"])
+AC_MSG_CHECKING([Use new libinput API (newer than 0.8.0)])
+AC_MSG_RESULT([${have_libinput_new}])
+if test "x${have_libinput_new}" = "xyes";then
+  AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [1], [libinput version >= 0.8])
+fi
+if test "x${have_libinput_new}" = "xno";then
+  AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [0], [libinput version >= 0.8])
+fi
+
+
+EFL_EVAL_PKGS([ELPUT])
+
+### Checks for header files
+
+### Checks for types
+
+### Checks for structures
+
+### Checks for compiler characteristics
+
+### Checks for linker characteristics
+
+### Checks for library functions
+
+EFL_LIB_END_OPTIONAL([Elput])
+ End of Ecore_Drm
+
+
  Ecore_Audio
 
 AC_ARG_ENABLE([audio],
@@ -5512,6 +5581,7 @@ pc/elocation.pc
 pc/elua.pc
 pc/elementary.pc
 pc/elementary-cxx.pc
+pc/elput.pc
 dbus-services/org.enlightenment.Ethumb.service
 systemd-services/ethumb.service
 $po_makefile_in
@@ -5680,6 +5750,7 @@ fi
 echo "Ecore_Audio.: ${efl_lib_optional_ecore_audio} 
(${features_ecore_audio})"
 echo "Ecore_Avahi.: yes (${features_ecore_avahi})"
 echo "Ecore_Evas..: yes (${features_ecore_evas})"
+echo "Elput...: $want_elput"
 echo "Ector...: yes"
 echo "Eeze: ${efl_lib_optional_eeze} (${features_eeze})"
 echo "EPhysics: ${efl_lib_optional_ephysics}"
diff --git a/pc/elput.pc.in b/pc/elput.pc.in
new file mode 100644
index 000..c345022
--- /dev/null
+++ b/pc/elput.pc.in
@@ -0,0 +1,12 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: elput
+Description: E core library, libinput module
+Requires.private: @requirements_pc_elput@
+Version: @VERSION@
+Libs: -L${libdir} -lelput
+Libs.private: @requirements_libs_elput@
+Cflags: -I${includedir}/efl-@VMAJ@ -I${includedir}/elput-@VMAJ@
diff --git a/src/Makefile.am b/src/Makefile.am
index 3aaa2ce..c08d77c 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -70,6 +70,7 @@ include Makefile_Ethumb.am
 include Makefile_Ethumb_Client.am
 include Makefile_Elocation.am
 include Makefile_Elementary.am
+include Makefile_Elp

[EGIT] [core/efl] master 15/16: elput: Add API function to set output size on an input device

2016-04-13 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 43360ca98a60e20d268251aca00a3650f56d7a84
Author: Chris Michael 
Date:   Thu Apr 7 09:10:48 2016 -0400

elput: Add API function to set output size on an input device

This function is used to adjust device calibration based on size of
output

Signed-off-by: Chris Michael 
---
 src/lib/elput/Elput.h | 12 
 src/lib/elput/elput_evdev.c   | 67 +++
 src/lib/elput/elput_private.h |  1 -
 3 files changed, 79 insertions(+), 1 deletion(-)

diff --git a/src/lib/elput/Elput.h b/src/lib/elput/Elput.h
index 06a027d..a1ac721 100644
--- a/src/lib/elput/Elput.h
+++ b/src/lib/elput/Elput.h
@@ -245,6 +245,18 @@ EAPI void elput_input_shutdown(Elput_Manager *manager);
  */
 EAPI void elput_device_window_set(Elput_Device *device, unsigned int window);
 
+/**
+ * Set size of output for input device calibration
+ *
+ * @param device
+ * @param w
+ * @param h
+ *
+ * @ingroup Elput_Device_Group
+ * @since 1.18
+ */
+EAPI void elput_device_output_size_set(Elput_Device *device, int w, int h);
+
 # endif
 
 # undef EAPI
diff --git a/src/lib/elput/elput_evdev.c b/src/lib/elput/elput_evdev.c
index 4b6955d..45ccefb 100644
--- a/src/lib/elput/elput_evdev.c
+++ b/src/lib/elput/elput_evdev.c
@@ -1131,6 +1131,49 @@ _touch_motion(struct libinput_device *idevice, struct 
libinput_event_touch *even
_touch_motion_send(dev, event);
 }
 
+static void
+_evdev_device_calibrate(Elput_Device *dev)
+{
+   float cal[6];
+   const char *vals;
+   const char *sysname;
+   const char *device;
+   Eina_List *devices;
+   int w = 0, h = 0;
+   enum libinput_config_status status;
+
+   w = dev->ow;
+   h = dev->oh;
+   if ((w == 0) || (h == 0)) return;
+
+   if ((!libinput_device_config_calibration_has_matrix(dev->device)) ||
+   (libinput_device_config_calibration_get_default_matrix(dev->device, 
cal)))
+ return;
+
+   sysname = libinput_device_get_sysname(dev->device);
+
+   devices = eeze_udev_find_by_subsystem_sysname("input", sysname);
+   EINA_LIST_FREE(devices, device)
+ {
+vals = eeze_udev_syspath_get_property(device, "WL_CALIBRATION");
+if ((!vals) ||
+(sscanf(vals, "%f %f %f %f %f %f",
+&cal[0], &cal[1], &cal[2], &cal[3], &cal[4], &cal[5]) != 
6))
+  goto cont;
+
+cal[2] /= w;
+cal[5] /= h;
+
+status =
+  libinput_device_config_calibration_set_matrix(dev->device, cal);
+if (status != LIBINPUT_CONFIG_STATUS_SUCCESS)
+  WRN("Failed to apply device calibration");
+
+cont:
+eina_stringshare_del(device);
+ }
+}
+
 int
 _evdev_event_process(struct libinput_event *event)
 {
@@ -1314,3 +1357,27 @@ elput_device_window_set(Elput_Device *device, unsigned 
int window)
 
device->window = window;
 }
+
+EAPI void
+elput_device_output_size_set(Elput_Device *device, int w, int h)
+{
+   EINA_SAFETY_ON_NULL_RETURN(device);
+
+   device->ow = w;
+   device->oh = h;
+
+   if (libinput_device_has_capability(device->device,
+  LIBINPUT_DEVICE_CAP_POINTER))
+ {
+Elput_Pointer *ptr;
+
+ptr = _evdev_pointer_get(device->seat);
+if (ptr)
+  {
+ ptr->x = device->ow / 2;
+ ptr->y = device->oh / 2;
+  }
+ }
+
+   _evdev_device_calibrate(device);
+}
diff --git a/src/lib/elput/elput_private.h b/src/lib/elput/elput_private.h
index 8dc2752..3564161 100644
--- a/src/lib/elput/elput_private.h
+++ b/src/lib/elput/elput_private.h
@@ -203,7 +203,6 @@ struct _Elput_Device
 {
Elput_Seat *seat;
 
-   /* TODO: we will need an API to set this */
uint32_t window;
uint32_t ow, oh;
 

-- 




[EGIT] [core/efl] master 11/16: elput: Add event structures for keymap and modifier sending events

2016-04-13 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit b01666075d9c89dbba2ca279aa299f429784dec4
Author: Chris Michael 
Date:   Wed Apr 6 13:23:36 2016 -0400

elput: Add event structures for keymap and modifier sending events

Signed-off-by: Chris Michael 
---
 src/lib/elput/Elput.h | 18 ++
 src/lib/elput/elput.c |  6 ++
 src/lib/elput/elput_private.h |  1 +
 3 files changed, 25 insertions(+)

diff --git a/src/lib/elput/Elput.h b/src/lib/elput/Elput.h
index 97b184b..f8808ce 100644
--- a/src/lib/elput/Elput.h
+++ b/src/lib/elput/Elput.h
@@ -58,8 +58,26 @@ typedef struct _Elput_Event_Seat_Frame
Elput_Seat *seat;
 } Elput_Event_Seat_Frame;
 
+/* structure to represent event for seat keymap changes */
+typedef struct _Elput_Event_Keymap_Send
+{
+   int fd, format;
+   size_t size;
+} Elput_Event_Keymap_Send;
+
+/* structure to represent event for seat modifiers changes */
+typedef struct _Elput_Event_Modifiers_Send
+{
+   unsigned int depressed;
+   unsigned int latched;
+   unsigned int locked;
+   unsigned int group;
+} Elput_Event_Modifiers_Send;
+
 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;
 
 /**
  * @file
diff --git a/src/lib/elput/elput.c b/src/lib/elput/elput.c
index 9a673da..f65da98 100644
--- a/src/lib/elput/elput.c
+++ b/src/lib/elput/elput.c
@@ -8,6 +8,8 @@ int _elput_log_dom = -1;
 
 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_init(void)
@@ -28,6 +30,8 @@ elput_init(void)
 
ELPUT_EVENT_SEAT_CAPS = ecore_event_type_new();
ELPUT_EVENT_SEAT_FRAME = ecore_event_type_new();
+   ELPUT_EVENT_KEYMAP_SEND = ecore_event_type_new();
+   ELPUT_EVENT_MODIFIERS_SEND = ecore_event_type_new();
 
return _elput_init_count;
 
@@ -51,6 +55,8 @@ elput_shutdown(void)
 
ELPUT_EVENT_SEAT_CAPS = -1;
ELPUT_EVENT_SEAT_FRAME = -1;
+   ELPUT_EVENT_KEYMAP_SEND = -1;
+   ELPUT_EVENT_MODIFIERS_SEND = -1;
 
eina_log_domain_unregister(_elput_log_dom);
_elput_log_dom = -1;
diff --git a/src/lib/elput/elput_private.h b/src/lib/elput/elput_private.h
index 32ab797..4c1b7f1 100644
--- a/src/lib/elput/elput_private.h
+++ b/src/lib/elput/elput_private.h
@@ -12,6 +12,7 @@
 # include "Eldbus.h"
 # include 
 
+# include 
 # include 
 # include 
 # include 

-- 




[EGIT] [core/efl] master 05/16: elput: Remove vt activate/restore from input manager interface

2016-04-13 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit b5422700c05a102d418faa60f93287b7abcf44db
Author: Chris Michael 
Date:   Fri Apr 1 09:49:36 2016 -0400

elput: Remove vt activate/restore from input manager interface

As this library is just going to deal with libinput, we don't need to
have interface functions to activate or restore a virtual terminal.

Signed-off-by: Chris Michael 
---
 src/lib/elput/elput_logind.c  | 2 --
 src/lib/elput/elput_private.h | 2 --
 2 files changed, 4 deletions(-)

diff --git a/src/lib/elput/elput_logind.c b/src/lib/elput/elput_logind.c
index ec3cb7e..c89ca2a 100644
--- a/src/lib/elput/elput_logind.c
+++ b/src/lib/elput/elput_logind.c
@@ -561,8 +561,6 @@ Elput_Interface _logind_interface =
_logind_disconnect,
_logind_open,
_logind_close,
-   NULL,
-   NULL,
 };
 
 #endif
diff --git a/src/lib/elput/elput_private.h b/src/lib/elput/elput_private.h
index 74532d5..c500a55 100644
--- a/src/lib/elput/elput_private.h
+++ b/src/lib/elput/elput_private.h
@@ -62,8 +62,6 @@ typedef struct _Elput_Interface
void (*disconnect)(Elput_Manager *manager);
int (*open)(Elput_Manager *manager, const char *path, int flags);
void (*close)(Elput_Manager *manager, int fd);
-   int (*activate)(Elput_Manager *manager, int vt);
-   void (*restore)(Elput_Manager *manager);
 } Elput_Interface;
 
 struct _Elput_Manager

-- 




[EGIT] [core/efl] master 07/16: elput: Start code to process events from libinput

2016-04-13 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit bd0d4ba60fb9ad88ebb8073d67dfde213937fc8c
Author: Chris Michael 
Date:   Fri Apr 1 13:22:16 2016 -0400

elput: Start code to process events from libinput

Signed-off-by: Chris Michael 
---
 src/lib/elput/elput_input.c | 64 +++--
 1 file changed, 62 insertions(+), 2 deletions(-)

diff --git a/src/lib/elput/elput_input.c b/src/lib/elput/elput_input.c
index a2a4ccb..c001e52 100644
--- a/src/lib/elput/elput_input.c
+++ b/src/lib/elput/elput_input.c
@@ -24,10 +24,41 @@ const struct libinput_interface _input_interface =
_cb_close_restricted,
 };
 
+static int
+_udev_process_event(struct libinput_event *event)
+{
+   Elput_Manager *em;
+   struct libinput *lib;
+   struct libinput_device *dev;
+   int ret = 1;
+
+   lib = libinput_event_get_context(event);
+   dev = libinput_event_get_device(event);
+   em = libinput_get_user_data(lib);
+
+   switch (libinput_event_get_type(event))
+ {
+  case LIBINPUT_EVENT_DEVICE_ADDED:
+DBG("Input Device Added: %s", libinput_device_get_name(dev));
+/* TODO: add device */
+break;
+  case LIBINPUT_EVENT_DEVICE_REMOVED:
+DBG("Input Device Removed: %s", libinput_device_get_name(dev));
+/* TODO: remove device */
+break;
+  default:
+ret = 0;
+break;
+ }
+
+   return ret;
+}
+
 static void
 _process_event(struct libinput_event *event)
 {
-   /* TODO */
+   if (_udev_process_event(event)) return;
+   /* TODO: evdev processing */
 }
 
 static void
@@ -42,9 +73,26 @@ _process_events(Elput_Input *ei)
  }
 }
 
+static Eina_Bool
+_cb_input_dispatch(void *data, Ecore_Fd_Handler *hdlr EINA_UNUSED)
+{
+   Elput_Input *ei;
+
+   ei = data;
+
+   if (libinput_dispatch(ei->lib) != 0)
+ WRN("libinput failed to dispatch events");
+
+   _process_events(ei);
+
+   return EINA_TRUE;
+}
+
 EAPI Eina_Bool
 elput_input_init(Elput_Manager *manager, const char *seat)
 {
+   int fd;
+
EINA_SAFETY_ON_NULL_RETURN_VAL(manager, EINA_FALSE);
 
memset(&manager->input, 0, sizeof(Elput_Input));
@@ -65,10 +113,20 @@ elput_input_init(Elput_Manager *manager, const char *seat)
 
_process_events(&manager->input);
 
-   /* TODO */
+   fd = libinput_get_fd(manager->input.lib);
+
+   manager->input.hdlr =
+ ecore_main_fd_handler_add(fd, ECORE_FD_READ, _cb_input_dispatch,
+   &manager->input, NULL, NULL);
+   if (!manager->input.hdlr)
+ {
+ERR("Could not create input fd handler");
+goto hdlr_err;
+ }
 
return EINA_TRUE;
 
+hdlr_err:
 seat_err:
libinput_unref(manager->input.lib);
 udev_err:
@@ -81,6 +139,8 @@ elput_input_shutdown(Elput_Manager *manager)
EINA_SAFETY_ON_NULL_RETURN(manager);
EINA_SAFETY_ON_NULL_RETURN(&manager->input);
 
+   if (manager->input.hdlr) ecore_main_fd_handler_del(manager->input.hdlr);
+
/* TODO */
 
libinput_unref(manager->input.lib);

-- 




[EGIT] [core/efl] master 02/16: elput: Add test framework for Elput library

2016-04-13 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit 08482e1ca4feaff2c631a125b58fda7e57084b97
Author: Chris Michael 
Date:   Thu Mar 24 13:38:44 2016 -0400

elput: Add test framework for Elput library

Signed-off-by: Chris Michael 
---
 src/Makefile_Elput.am  | 27 +++
 src/tests/elput/elput_suite.c  | 29 +
 src/tests/elput/elput_suite.h  |  8 
 src/tests/elput/elput_test_elput.c | 29 +
 4 files changed, 93 insertions(+)

diff --git a/src/Makefile_Elput.am b/src/Makefile_Elput.am
index 73fe8f9..851d4ee 100644
--- a/src/Makefile_Elput.am
+++ b/src/Makefile_Elput.am
@@ -25,4 +25,31 @@ endif
 lib_elput_libelput_la_DEPENDENCIES = @ELPUT_INTERNAL_LIBS@
 lib_elput_libelput_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
 
+### Unit tests
+
+if EFL_ENABLE_TESTS
+
+check_PROGRAMS += tests/elput/elput_suite
+TESTS += tests/elput/elput_suite
+
+tests_elput_elput_suite_SOURCES = \
+tests/elput/elput_suite.c \
+tests/elput/elput_test_elput.c \
+tests/elput/elput_suite.h
+
+tests_elput_elput_suite_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
+-DTESTS_SRC_DIR=\"$(top_srcdir)/src/tests/elput\" \
+-DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/elput\" \
+@CHECK_CFLAGS@ \
+@ELPUT_CFLAGS@
+
+tests_elput_elput_suite_LDADD = \
+@CHECK_LIBS@ \
+@USE_ELPUT_LIBS@
+
+tests_elput_elput_suite_DEPENDENCIES = \
+@USE_ELPUT_INTERNAL_LIBS@
+
+endif
+
 endif
diff --git a/src/tests/elput/elput_suite.c b/src/tests/elput/elput_suite.c
new file mode 100644
index 000..b56b84e
--- /dev/null
+++ b/src/tests/elput/elput_suite.c
@@ -0,0 +1,29 @@
+#ifdef HAVE_CONFIG_H
+# include 
+#endif
+
+#include "elput_suite.h"
+#include "../efl_check.h"
+
+static const Efl_Test_Case etc[] =
+{
+#if HAVE_ELPUT
+   { "Elput", elput_test_elput },
+#endif
+   { NULL, NULL }
+};
+
+int
+main(int argc, char **argv)
+{
+   int count;
+
+   if (!_efl_test_option_disp(argc, argv, etc)) return 0;
+
+   putenv("EFL_RUN_IN_TREE=1");
+
+   count =
+ _efl_suite_build_and_run(argc - 1, (const char **)argv + 1, "Elput", etc);
+
+   return (count == 0) ? 0 : 255;
+}
diff --git a/src/tests/elput/elput_suite.h b/src/tests/elput/elput_suite.h
new file mode 100644
index 000..34a7ffd
--- /dev/null
+++ b/src/tests/elput/elput_suite.h
@@ -0,0 +1,8 @@
+#ifndef _ELPUT_SUITE_H
+# define _ELPUT_SUITE_H
+
+# include 
+
+void elput_test_elput(TCase *tc);
+
+#endif
diff --git a/src/tests/elput/elput_test_elput.c 
b/src/tests/elput/elput_test_elput.c
new file mode 100644
index 000..8207ee8
--- /dev/null
+++ b/src/tests/elput/elput_test_elput.c
@@ -0,0 +1,29 @@
+#ifdef HAVE_CONFIG_H
+# include 
+#endif
+
+#include 
+#include 
+
+#include 
+#include 
+#include 
+
+#include "elput_suite.h"
+
+START_TEST(elput_test_elput_init)
+{
+   int ret;
+
+   ret = elput_init();
+   fail_if(ret < 1);
+
+   ret = elput_shutdown();
+   fail_if(ret != 0);
+}
+END_TEST
+
+void elput_test_elput(TCase *tc)
+{
+   tcase_add_test(tc, elput_test_elput_init);
+}

-- 




[EGIT] [core/efl] master 01/01: eo: adjust direction of parameters

2016-04-13 Thread Dave Andreoli
davemds pushed a commit to branch master.

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

commit c23a61a49caebca1244fad484cae403bf7a0a0fd
Author: Dave Andreoli 
Date:   Wed Apr 13 20:12:18 2016 +0200

eo: adjust direction of parameters

They are OUT params in real

Side note: the doc for this function miss the x parameter in the generated 
.eo.h file
...if someone want to look at the doc generation code.
---
 src/lib/elementary/elm_widget.eo | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_widget.eo
index 505feb8..72c41c1 100644
--- a/src/lib/elementary/elm_widget.eo
+++ b/src/lib/elementary/elm_widget.eo
@@ -520,10 +520,10 @@ abstract Elm.Widget (Evas.Object_Smart, 
Elm.Interface_Atspi_Accessible, Elm.Inte
   focus_highlight_geometry_get @const {
  [[Get the focus highlight geometry of widget.]]
  params {
-@in x: Evas.Coord *;
-@in y: Evas.Coord *;
-@in w: Evas.Coord *;
-@in h: Evas.Coord *;
+@out x: Evas.Coord;
+@out y: Evas.Coord;
+@out w: Evas.Coord;
+@out h: Evas.Coord;
  }
   }
   activate {

-- 




[EGIT] [core/efl] master 01/01: eina: Fix promise error with eina_promise_all

2016-04-13 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

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

commit 35dd5b5cab8fa483b24de4dc1cffa5edc70bbd97
Author: Felipe Magno de Almeida 
Date:   Wed Apr 13 14:43:43 2016 -0300

eina: Fix promise error with eina_promise_all

Fix value_set and error_set signatures which were receiving a
owner. They actually receive the promise and not the owner, this
caused wrong access to memory and were not visible by warnings because
the functions are casted.

This problem caused errors in which it seemed that promise had
actually error'ed when questioned it.
---
 src/lib/eina/eina_promise.c| 37 +++
 src/tests/eina/eina_test_promise.c | 52 ++
 2 files changed, 73 insertions(+), 16 deletions(-)

diff --git a/src/lib/eina/eina_promise.c b/src/lib/eina/eina_promise.c
index 9a7c259..459f686 100644
--- a/src/lib/eina/eina_promise.c
+++ b/src/lib/eina/eina_promise.c
@@ -108,7 +108,6 @@ _eina_promise_then_calls(_Eina_Promise_Default_Owner* 
promise)
 }
else if (callback->callback)
 {
-  fprintf(stderr, "then callback\n");
   (*callback->callback)(callback->data, &promise->value[0]);
 }
_eina_promise_unref(&promise->promise);
@@ -151,18 +150,18 @@ _eina_promise_del(_Eina_Promise_Default_Owner* promise)
 }
 
 static void *
-_eina_promise_buffer_get(_Eina_Promise_Default_Owner* promise)
+_eina_promise_owner_buffer_get(_Eina_Promise_Default_Owner* promise)
 {
return &promise->value[0];
 }
 
 static void *
-_eina_promise_value_get(_Eina_Promise_Default_Owner const* promise)
+_eina_promise_value_get(_Eina_Promise_Default const* p)
 {
-   if (promise->promise.has_finished)
+   _Eina_Promise_Default_Owner const* promise = EINA_PROMISE_GET_OWNER(p);
+   if (promise->promise.has_finished && !promise->promise.has_errored)
  {
-return (void*)(promise->promise.value_size && 
!promise->promise.has_errored ?
-   &promise->value[0] : NULL);
+   return (void*)&promise->value[0];
  }
else
  {
@@ -171,7 +170,7 @@ _eina_promise_value_get(_Eina_Promise_Default_Owner const* 
promise)
 }
 
 static void
-_eina_promise_value_set(_Eina_Promise_Default_Owner* promise, void* data, 
Eina_Promise_Free_Cb free)
+_eina_promise_owner_value_set(_Eina_Promise_Default_Owner* promise, void* 
data, Eina_Promise_Free_Cb free)
 {
if (data && promise->promise.value_size)
  {
@@ -198,7 +197,6 @@ _eina_promise_then(_Eina_Promise_Default* p, 
Eina_Promise_Cb callback,
cb->error_cb = error_cb;
cb->data = data;
promise->promise.then_callbacks = 
eina_inlist_append(promise->promise.then_callbacks, EINA_INLIST_GET(cb));
-   fprintf(stderr, "appending then callback\n");
 
if (!promise->promise.is_first_then)
  {
@@ -212,7 +210,7 @@ _eina_promise_then(_Eina_Promise_Default* p, 
Eina_Promise_Cb callback,
 }
 
 static void
-_eina_promise_error_set(_Eina_Promise_Default_Owner* promise, Eina_Error error)
+_eina_promise_owner_error_set(_Eina_Promise_Default_Owner* promise, Eina_Error 
error)
 {
promise->promise.error = error;
promise->promise.has_errored = EINA_TRUE;
@@ -231,11 +229,11 @@ _eina_promise_finish(_Eina_Promise_Default_Owner* promise)
 }
 
 static Eina_Error
-_eina_promise_error_get(_Eina_Promise_Default_Owner const* promise)
+_eina_promise_error_get(_Eina_Promise_Default const* promise)
 {
-   if (promise->promise.has_errored)
+   if (promise->has_errored)
  {
-return promise->promise.error;
+return promise->error;
  }
else
  {
@@ -292,6 +290,12 @@ _eina_promise_value_size_get(_Eina_Promise_Default_Owner 
const* promise)
return promise->promise.value_size;
 }
 
+static size_t
+_eina_promise_owner_value_size_get(_Eina_Promise_Default_Owner const* promise)
+{
+   return promise->promise.value_size;
+}
+
 static void
 _eina_promise_ref(_Eina_Promise_Default* p)
 {
@@ -377,12 +381,13 @@ eina_promise_default_add(int value_size)
memset(&p->promise.cancel_callbacks, 0, 
sizeof(p->promise.cancel_callbacks));
p->promise.value_size = value_size;
p->promise.value_free_cb = NULL;
+   p->promise.error = 0;
 
p->owner_vtable.version = EINA_PROMISE_VERSION;
-   p->owner_vtable.value_set = 
EINA_FUNC_PROMISE_OWNER_VALUE_SET(_eina_promise_value_set);
-   p->owner_vtable.error_set = 
EINA_FUNC_PROMISE_OWNER_ERROR_SET(_eina_promise_error_set);
-   p->owner_vtable.buffer_get = 
EINA_FUNC_PROMISE_OWNER_BUFFER_GET(_eina_promise_buffer_get);
-   p->owner_vtable.value_size_get = 
EINA_FUNC_PROMISE_OWNER_VALUE_SIZE_GET(_eina_promise_value_size_get);
+   p->owner_vtable.value_set = 
EINA_FUNC_PROMISE_OWNER_VALUE_SET(_eina_promise_owner_value_set);
+   p->owner_vtable.error_set = 
EINA_FUNC_PROMISE_OWNER_ERROR_SET(_eina_promise_owner_error_set);
+   p->owner_vtable.buffer_get = 
EINA_FUNC_PROMISE_OWNER_BUFFER_GET(_e

[EGIT] [core/efl] master 01/01: ecore-drm: Don't leak object properties

2016-04-13 Thread Chris Michael
devilhorns pushed a commit to branch master.

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

commit acc1a5dcc033733b6085d1b5c2595fe54a042829
Author: Chris Michael 
Date:   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

2016-04-13 Thread Andreas Volz
andreas pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=5cc6c82781fed44bb9159939c5d59567419f60a7

commit 5cc6c82781fed44bb9159939c5d59567419f60a7
Author: Andreas Volz 
Date:   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

2016-04-13 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit c60b2500c74ead05fe49a5ba73e693a5d439dac3
Author: Stefan Schmidt 
Date:   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

2016-04-13 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit a1663b171022819643a598978c9665454f80fc71
Author: Stefan Schmidt 
Date:   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
+ *
+ * @image html img/

[EGIT] [core/efl] master 04/05: docs: add description for ecore.exe class and events

2016-04-13 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 9f63aaca138ea8f849b8772596af1f78fea74e17
Author: Stefan Schmidt 
Date:   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

2016-04-13 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 74a046fee59c49f08a13e737c742f5dbcb26d563
Author: Stefan Schmidt 
Date:   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

2016-04-13 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 89d63475ae486923e687ecb1c0b03725683fa6fc
Author: Stefan Schmidt 
Date:   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

2016-04-13 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=a72c3290f55687ccef6179c554f2179e5447595c

commit a72c3290f55687ccef6179c554f2179e5447595c
Author: Yakov Goldberg 
Date:   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 return what it alread

[EGIT] [tools/erigo] master 01/03: Adaptation according to changes in Elementary

2016-04-13 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=17135f4e4dfc51a14577aacf541f6dcd7fb2a754

commit 17135f4e4dfc51a14577aacf541f6dcd7fb2a754
Author: Yakov Goldberg 
Date:   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 = elm_obj_check_state_ge

[EGIT] [tools/erigo] master 03/03: Fix memory leaks

2016-04-13 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=7e7ec9e41e12fa41a6bbf64c11de9a3ad26a30ae

commit 7e7ec9e41e12fa41a6bbf64c11de9a3ad26a30ae
Author: Yakov Goldberg 
Date:   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);
+
void *p = (void *)

[EGIT] [tools/eflete] master 05/10: tab_import_edj: fix wrong field filled from command line

2016-04-13 Thread Andrii Kroitor
rimmed pushed a commit to branch master.

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

commit c719f5d60b59194ad4ab44f4286632eef7d5fb3c
Author: Andrii Kroitor 
Date:   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

2016-04-13 Thread Andrii Kroitor
rimmed pushed a commit to branch master.

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

commit 23d6ebe27e2f14a7fe5da84a60a88866f0633b22
Author: Andrii Kroitor 
Date:   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",  false },
+ { NULL,

[EGIT] [tools/eflete] master 08/10: demo: apply workspace.scroller's clipper to created live widget

2016-04-13 Thread Vitalii Vorobiov
rimmed pushed a commit to branch master.

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

commit 66baa6aeb119a25157b7970048d7a75ce150c738
Author: Vitalii Vorobiov 
Date:   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);
+   evas_object_clip_set(object, evas_o

[EGIT] [tools/eflete] master 04/10: eflete: refactor comandline options

2016-04-13 Thread Andrii Kroitor
rimmed pushed a commit to branch master.

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

commit ee2eb647329c884603723c36fd70707c926908e5
Author: Andrii Kroitor 
Date:   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(&options, values, argc, argv);
+   pos = ecore_getopt_parse(&options, 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 01/10: validator: change the eo event member accourdingly to chages in efl

2016-04-13 Thread Vyacheslav Reutskiy
rimmed pushed a commit to branch master.

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

commit 177423346b10e843ecbc83e1c2a977a2cd66a74a
Author: Vyacheslav Reutskiy 
Date:   Wed Apr 13 05:40:06 2016 +

validator: change the eo event member accourdingly to chages in efl

Follow to the white rabbit.

Change-Id: I40347a2061c39304ee7c8894fe733347f706f6f1
---
 src/bin/common/validator.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/common/validator.c b/src/bin/common/validator.c
index 0804a8b..5875c83 100644
--- a/src/bin/common/validator.c
+++ b/src/bin/common/validator.c
@@ -84,7 +84,7 @@ Eina_Bool
 resource_name_validator_helper(void *data, const Eo_Event *event)
 {
Resource *res;
-   Elm_Validate_Content *vc = event->event_info;
+   Elm_Validate_Content *vc = event->info;
Resource_Name_Validator *validator = (Resource_Name_Validator *)data;
 
assert(validator != NULL);

-- 




[EGIT] [tools/eflete] master 07/10: live_ctxpopup: use parent's clipper so shown popup would be hidden on tab change

2016-04-13 Thread Vitalii Vorobiov
rimmed pushed a commit to branch master.

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

commit 01b6b81c4dd725308eeff48a31061a01295dedae
Author: Vitalii Vorobiov 
Date:   Fri Apr 8 16:17:26 2016 +0300

live_ctxpopup: use parent's clipper so shown popup would be hidden on tab 
change
---
 src/bin/ui/live_view/elementary/live_ctxpopup.c | 54 +
 1 file changed, 29 insertions(+), 25 deletions(-)

diff --git a/src/bin/ui/live_view/elementary/live_ctxpopup.c 
b/src/bin/ui/live_view/elementary/live_ctxpopup.c
index 686c4e6..980f425 100644
--- a/src/bin/ui/live_view/elementary/live_ctxpopup.c
+++ b/src/bin/ui/live_view/elementary/live_ctxpopup.c
@@ -49,6 +49,7 @@ _item_new(Evas_Object *ctxpopup, int item_num, const char 
*icon)
 
 static void
 _ctx_popup_create(Evas_Object *parent,
+  Evas_Object *clipper,
   Eina_Stringshare *style_name,
   int item_blocks_count,
   Eina_Bool horizontal,
@@ -63,7 +64,7 @@ _ctx_popup_create(Evas_Object *parent,
 
Evas_Object *ctxpopup = elm_ctxpopup_add(parent);
elm_object_style_set(ctxpopup, style_name);
-   evas_object_smart_callback_add(ctxpopup, "dismissed", _dismissed_cb, NULL);
+   evas_object_smart_callback_add(ctxpopup, "dismissed", _dismissed_cb, 
parent);
 
elm_ctxpopup_horizontal_set(ctxpopup, horizontal);
 
@@ -77,13 +78,14 @@ _ctx_popup_create(Evas_Object *parent,
evas_pointer_canvas_xy_get(evas_object_evas_get(parent), &x, &y);
evas_object_move(ctxpopup, x, y);
evas_object_show(ctxpopup);
+   evas_object_clip_set(ctxpopup, evas_object_clip_get(clipper));
 }
 
 static void
 _labels_icons_vertical_3items_cb(void *data __UNUSED__, Evas_Object *obj, void 
*event_info)
 {
Eina_Stringshare *style_name = evas_object_data_get(obj, "style_name");
-   _ctx_popup_create(obj, style_name, 1, false, true, true);
+   _ctx_popup_create(obj, data, style_name, 1, false, true, true);
elm_list_item_selected_set(event_info, EINA_FALSE);
 }
 
@@ -91,7 +93,7 @@ static void
 _nolabels_icons_vertical_3items_cb(void *data __UNUSED__, Evas_Object *obj, 
void *event_info)
 {
Eina_Stringshare *style_name = evas_object_data_get(obj, "style_name");
-   _ctx_popup_create(obj, style_name, 1, false, true, false);
+   _ctx_popup_create(obj, data, style_name, 1, false, true, false);
elm_list_item_selected_set(event_info, EINA_FALSE);
 }
 
@@ -99,7 +101,7 @@ static void
 _labels_noicons_vertical_3items_cb(void *data __UNUSED__, Evas_Object *obj, 
void *event_info)
 {
Eina_Stringshare *style_name = evas_object_data_get(obj, "style_name");
-   _ctx_popup_create(obj, style_name, 1, false, false, true);
+   _ctx_popup_create(obj, data, style_name, 1, false, false, true);
elm_list_item_selected_set(event_info, EINA_FALSE);
 }
 
@@ -107,7 +109,7 @@ static void
 _labels_icons_horizontal_3items_cb(void *data __UNUSED__, Evas_Object *obj, 
void *event_info)
 {
Eina_Stringshare *style_name = evas_object_data_get(obj, "style_name");
-   _ctx_popup_create(obj, style_name, 1, true, true, true);
+   _ctx_popup_create(obj, data, style_name, 1, true, true, true);
elm_list_item_selected_set(event_info, EINA_FALSE);
 }
 
@@ -115,7 +117,7 @@ static void
 _nolabels_icons_horizontal_3items_cb(void *data __UNUSED__, Evas_Object *obj, 
void *event_info)
 {
Eina_Stringshare *style_name = evas_object_data_get(obj, "style_name");
-   _ctx_popup_create(obj, style_name, 1, true, true, false);
+   _ctx_popup_create(obj, data, style_name, 1, true, true, false);
elm_list_item_selected_set(event_info, EINA_FALSE);
 }
 
@@ -123,7 +125,7 @@ static void
 _labels_noicons_horizontal_3items_cb(void *data __UNUSED__, Evas_Object *obj, 
void *event_info)
 {
Eina_Stringshare *style_name = evas_object_data_get(obj, "style_name");
-   _ctx_popup_create(obj, style_name, 1, true, false, true);
+   _ctx_popup_create(obj, data, style_name, 1, true, false, true);
elm_list_item_selected_set(event_info, EINA_FALSE);
 }
 
@@ -131,7 +133,7 @@ static void
 _labels_icons_vertical_30items_cb(void *data __UNUSED__, Evas_Object *obj, 
void *event_info)
 {
Eina_Stringshare *style_name = evas_object_data_get(obj, "style_name");
-   _ctx_popup_create(obj, style_name, 10, false, true, true);
+   _ctx_popup_create(obj, data, style_name, 10, false, true, true);
elm_list_item_selected_set(event_info, EINA_FALSE);
 }
 
@@ -139,7 +141,7 @@ static void
 _nolabels_icons_vertical_30items_cb(void *data __UNUSED__, Evas_Object *obj, 
void *event_info)
 {
Eina_Stringshare *style_name = evas_object_data_get(obj, "style_name");
-   _ctx_popup_create(obj, style_name, 10, false, true, false);
+   _ctx_popup_create(obj, data, style_name, 10, false, true, false);
elm_list_item_selected_set(event_info, EINA_FALSE);
 }
 
@@ -147,7 +149,7 @@ static void
 _labels_noicons_vertical_30items_cb(void *data __UNUSED__, Evas_Object *obj, 
void *event_info)
 {
   

[EGIT] [tools/eflete] master 03/10: workspace: add combobox for zoom

2016-04-13 Thread Andrii Kroitor
rimmed pushed a commit to branch master.

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

commit 0eacf21eecdbbb3aa0208af85df9455802106650
Author: Andrii Kroitor 
Date:   Mon Apr 11 10:48:07 2016 +0300

workspace: add combobox for zoom
---
 src/bin/ui/workspace/workspace.c | 59 +++-
 1 file changed, 40 insertions(+), 19 deletions(-)

diff --git a/src/bin/ui/workspace/workspace.c b/src/bin/ui/workspace/workspace.c
index 84b6576..764b093 100644
--- a/src/bin/ui/workspace/workspace.c
+++ b/src/bin/ui/workspace/workspace.c
@@ -38,6 +38,8 @@
Workspace_Data *wd = evas_object_data_get(OBJ, WORKSPACE_DATA); \
assert(wd != NULL);
 
+static int zoom_values[] = { 20, 50, 100, 200, 500, 0 };
+
 /* As the workspace can manage the one drag in one time, and only one workspace
  * viewed, we can use the static Change for all workspace */
 static Change *change;
@@ -74,7 +76,7 @@ struct _Workspace_Data
   Evas_Object *obj;
   struct {
  Evas_Object *fit;
- Evas_Object *z100;
+ Evas_Object *cmb_zoom;
  Evas_Object *slider;
   } zoom;
   struct {
@@ -292,19 +294,6 @@ _members_zoom_set(Workspace_Data *wd)
 }
 
 static void
-_zoom100_cb(void *data,
-Evas_Object *obj __UNUSED__,
-void *event_info __UNUSED__)
-{
-   Workspace_Data *wd = data;
-
-   wd->zoom_factor = 1.0;
-   elm_slider_value_set(wd->toolbar.zoom.slider, 100);
-
-   _members_zoom_set(wd);
-}
-
-static void
 _fit_cb(void *data,
 Evas_Object *obj __UNUSED__,
 void *event_info __UNUSED__)
@@ -319,9 +308,13 @@ _slider_zoom_cb(void *data,
 Evas_Object *obj __UNUSED__,
 void *event_info __UNUSED__)
 {
+   Eina_Stringshare *text;
Workspace_Data *wd = data;
 
wd->zoom_factor = elm_slider_value_get(wd->toolbar.zoom.slider) / 100;
+   text = eina_stringshare_printf("%d%%", (int)(wd->zoom_factor * 100));
+   ewe_combobox_text_set(wd->toolbar.zoom.cmb_zoom, text);
+   eina_stringshare_del(text);
_members_zoom_set(wd);
 }
 
@@ -329,15 +322,31 @@ static void
 _zoom_controls_disabled_set(Workspace_Data *wd, Eina_Bool disabled)
 {
elm_object_disabled_set(wd->toolbar.zoom.fit, disabled);
-   elm_object_disabled_set(wd->toolbar.zoom.z100, disabled);
+   elm_object_disabled_set(wd->toolbar.zoom.cmb_zoom, disabled);
elm_object_disabled_set(wd->toolbar.zoom.slider, disabled);
 }
 
 static void
+_zoom_selected_cb(void *data,
+  Evas_Object *obj __UNUSED__,
+  void *event_info)
+{
+   Workspace_Data *wd = data;
+   Ewe_Combobox_Item *item = event_info;
+
+   wd->zoom_factor = zoom_values[item->index] / 100.0;
+   elm_slider_value_set(wd->toolbar.zoom.slider, zoom_values[item->index]);
+
+   _members_zoom_set(wd);
+}
+
+static void
 _zoom_controls_add(Workspace_Data *wd)
 {
+   int i = 0;
Elm_Object_Item *tb_it;
Evas_Object *img;
+   Eina_Stringshare *text;
 
wd->toolbar.zoom.fit = elm_button_add(wd->toolbar.obj);
evas_object_smart_callback_add(wd->toolbar.zoom.fit, "clicked", _fit_cb, 
wd);
@@ -346,11 +355,19 @@ _zoom_controls_add(Workspace_Data *wd)
tb_it = elm_toolbar_item_append(wd->toolbar.obj, NULL, NULL, NULL, NULL);
elm_object_item_part_content_set(tb_it, NULL, wd->toolbar.zoom.fit);
 
-   wd->toolbar.zoom.z100 = elm_button_add(wd->toolbar.obj);
-   elm_object_text_set(wd->toolbar.zoom.z100, _("100%"));
-   evas_object_smart_callback_add(wd->toolbar.zoom.z100, "clicked", 
_zoom100_cb, wd);
+   EWE_COMBOBOX_ADD(wd->toolbar.obj, wd->toolbar.zoom.cmb_zoom);
+   evas_object_size_hint_min_set(wd->toolbar.zoom.cmb_zoom, 70, 0);
+   ewe_combobox_text_set(wd->toolbar.zoom.cmb_zoom, _("100%"));
+   evas_object_smart_callback_add(wd->toolbar.zoom.cmb_zoom, "selected", 
_zoom_selected_cb, wd);
tb_it = elm_toolbar_item_append(wd->toolbar.obj, NULL, NULL, NULL, NULL);
-   elm_object_item_part_content_set(tb_it, NULL, wd->toolbar.zoom.z100);
+   elm_object_item_part_content_set(tb_it, NULL, wd->toolbar.zoom.cmb_zoom);
+   while (zoom_values[i])
+   {
+  text = eina_stringshare_printf("%d%%", zoom_values[i]);
+  ewe_combobox_item_add(wd->toolbar.zoom.cmb_zoom, text);
+  eina_stringshare_del(text);
+  i++;
+   }
 
wd->toolbar.zoom.slider = elm_slider_add(wd->toolbar.obj);
elm_slider_min_max_set(wd->toolbar.zoom.slider, 10.0, 1000.0);
@@ -1449,12 +1466,16 @@ workspace_delete_request(Evas_Object *obj)
 void
 workspace_zoom_factor_set(Evas_Object *obj, double factor)
 {
+   Eina_Stringshare *text;
WS_DATA_GET(obj);
 
if (!elm_object_disabled_get(wd->toolbar.zoom.slider))
  {
 wd->zoom_factor = factor;
 elm_slider_value_set(wd->toolbar.zoom.slider, factor * 100);
+text = eina_stringshare_printf("%d%%", (int)(wd->zoom_factor * 100));
+ewe_combobox_text_set(wd->toolbar.zoom.cmb_zoom, text);
+eina_stringshare_del(text);
 TODO(

[EGIT] [tools/eflete] master 02/10: workspace: check workspace mode on shortcuts

2016-04-13 Thread Andrii Kroitor
rimmed pushed a commit to branch master.

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

commit 1dde3fb7a840f2f9adad6dedbe9b5c80733210d3
Author: Andrii Kroitor 
Date:   Fri Apr 8 10:28:47 2016 +0300

workspace: check workspace mode on shortcuts
---
 src/bin/ui/workspace/workspace.c | 33 ++---
 1 file changed, 22 insertions(+), 11 deletions(-)

diff --git a/src/bin/ui/workspace/workspace.c b/src/bin/ui/workspace/workspace.c
index d06d1c0..84b6576 100644
--- a/src/bin/ui/workspace/workspace.c
+++ b/src/bin/ui/workspace/workspace.c
@@ -1406,7 +1406,8 @@ workspace_add_part_request(Evas_Object *obj)
 {
WS_DATA_GET(obj);
 
-   group_navigator_add_part_request(wd->group_navi);
+   if (wd->mode != MODE_DEMO)
+ group_navigator_add_part_request(wd->group_navi);
 }
 
 void
@@ -1414,7 +1415,8 @@ workspace_add_part_item_request(Evas_Object *obj)
 {
WS_DATA_GET(obj);
 
-   group_navigator_add_part_item_request(wd->group_navi);
+   if (wd->mode != MODE_DEMO)
+ group_navigator_add_part_item_request(wd->group_navi);
 }
 
 void
@@ -1422,7 +1424,8 @@ workspace_add_state_request(Evas_Object *obj)
 {
WS_DATA_GET(obj);
 
-   group_navigator_add_state_request(wd->group_navi);
+   if (wd->mode != MODE_DEMO)
+ group_navigator_add_state_request(wd->group_navi);
 }
 
 void
@@ -1430,7 +1433,8 @@ workspace_add_program_request(Evas_Object *obj)
 {
WS_DATA_GET(obj);
 
-   group_navigator_add_program_request(wd->group_navi);
+   if (wd->mode != MODE_DEMO)
+ group_navigator_add_program_request(wd->group_navi);
 }
 
 void
@@ -1438,7 +1442,8 @@ workspace_delete_request(Evas_Object *obj)
 {
WS_DATA_GET(obj);
 
-   group_navigator_delete_request(wd->group_navi);
+   if (wd->mode != MODE_DEMO)
+ group_navigator_delete_request(wd->group_navi);
 }
 
 void
@@ -1513,7 +1518,8 @@ workspace_state_next_request(Evas_Object *obj)
 {
WS_DATA_GET(obj);
 
-   group_navigator_state_next_request(wd->group_navi);
+   if (wd->mode != MODE_DEMO)
+ group_navigator_state_next_request(wd->group_navi);
 }
 
 void
@@ -1521,7 +1527,8 @@ workspace_part_next_request(Evas_Object *obj)
 {
WS_DATA_GET(obj);
 
-   group_navigator_part_next_request(wd->group_navi);
+   if (wd->mode != MODE_DEMO)
+ group_navigator_part_next_request(wd->group_navi);
 }
 
 void
@@ -1529,7 +1536,8 @@ workspace_part_prev_request(Evas_Object *obj)
 {
WS_DATA_GET(obj);
 
-   group_navigator_part_prev_request(wd->group_navi);
+   if (wd->mode != MODE_DEMO)
+ group_navigator_part_prev_request(wd->group_navi);
 }
 
 void
@@ -1537,7 +1545,8 @@ workspace_part_showhide_request(Evas_Object *obj)
 {
WS_DATA_GET(obj);
 
-   group_navigator_part_showhide_request(wd->group_navi);
+   if (wd->mode != MODE_DEMO)
+ group_navigator_part_showhide_request(wd->group_navi);
 }
 
 void
@@ -1545,7 +1554,8 @@ workspace_all_parts_showhide_request(Evas_Object *obj)
 {
WS_DATA_GET(obj);
 
-   group_navigator_all_parts_showhide_request(wd->group_navi);
+   if (wd->mode != MODE_DEMO)
+ group_navigator_all_parts_showhide_request(wd->group_navi);
 }
 
 void
@@ -1553,7 +1563,8 @@ workspace_part_unselect_request(Evas_Object *obj)
 {
WS_DATA_GET(obj);
 
-   group_navigator_part_select(wd->group_navi, NULL);
+   if (wd->mode != MODE_DEMO)
+ group_navigator_part_select(wd->group_navi, NULL);
 }
 
 void

-- 




[EGIT] [tools/eflete] master 06/10: eflete: add import edc from command line support

2016-04-13 Thread Andrii Kroitor
rimmed pushed a commit to branch master.

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

commit 505928e3f76a6ecb254ed423ffe3bc6896010510
Author: Andrii Kroitor 
Date:   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)
+_ERR_EXIT(_("*.ed

[EGIT] [tools/eflete] master 09/10: UTC: fix segfaults in config tests

2016-04-13 Thread Andrii Kroitor
rimmed pushed a commit to branch master.

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

commit 3dc5f48790e773971ed0e88a48ab25f7fdbc39b4
Author: Andrii Kroitor 
Date:   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/enventor] master 01/01: redoundo - remove redundant code.

2016-04-13 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=829e309692f5d6f5365a86fd9849ef74be14a9d6

commit 829e309692f5d6f5365a86fd9849ef74be14a9d6
Author: Hermet Park 
Date:   Wed Apr 13 21:53:55 2016 +0900

redoundo - remove redundant code.
---
 src/lib/redoundo.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/lib/redoundo.c b/src/lib/redoundo.c
index 30f49ca..362df45 100644
--- a/src/lib/redoundo.c
+++ b/src/lib/redoundo.c
@@ -147,11 +147,9 @@ entry_changed_user_cb(void *data, Evas_Object *obj 
EINA_UNUSED,
  {
 if (info->change.insert.plain_length == 0) goto nochange;
 diff->text = eina_stringshare_add(info->change.insert.content);
-char *utf8 = evas_textblock_text_markup_to_utf8(NULL, diff->text);
 diff->length = info->change.insert.plain_length;
 diff->cursor_pos = info->change.insert.pos;
 diff->action = EINA_TRUE;
-free(utf8);
  }
else
  {

-- 




[EGIT] [core/enlightenment] master 01/01: e - wireless module - remove horrible memcpy with offsetof magic

2016-04-13 Thread Carsten Haitzler
raster pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=90a4ad88b7fa6372f209e700b4cf962d96f8ea6b

commit 90a4ad88b7fa6372f209e700b4cf962d96f8ea6b
Author: Carsten Haitzler (Rasterman) 
Date:   Wed Apr 13 20:28:27 2016 +0900

e - wireless module - remove horrible memcpy with offsetof magic

while it technically wuld work, this memcpy here is fragile and the
moment some struct members changed it'd fall apart and have fields all
misaligned etc. in fact using offsetof means it might over-copy a bit
extra due to alignment of the connect_cb vs method in Connman_Service.
so manually aissgne the fields in the func instead to be far safer.

if anything this should become a sub-struct with a type that can then
be properly copied even if things change.

@fix
---
 src/modules/wireless/connman.c | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/modules/wireless/connman.c b/src/modules/wireless/connman.c
index c41a00d..6beb24a 100644
--- a/src/modules/wireless/connman.c
+++ b/src/modules/wireless/connman.c
@@ -251,8 +251,12 @@ _connman_service_convert(Connman_Service *cs)
Wireless_Network *wn;
 
wn = E_NEW(Wireless_Network, 1);
-   memcpy(wn, &cs->path, offsetof(Wireless_Network, connect_cb));
+   wn->path = cs->path;
+   wn->name = cs->name;
+   wn->security = cs->security;
wn->state = _connman_wifi_state_convert(cs->state);
+   wn->type = cs->type;
+   wn->strength = cs->strength;
wn->connect_cb = _connman_service_connect;
return wn;
 }

-- 




[EGIT] [core/efl] master 01/01: edje - delete obj - null out freed items in structs/data

2016-04-13 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit c2e26a51215d379a6926b0ca44f3d4d664d84bb4
Author: Carsten Haitzler (Rasterman) 
Date:   Wed Apr 13 19:59:00 2016 +0900

edje - delete obj - null out freed items in structs/data

i just got a segv freeing ian invalid ptr... it SEEMS as if something
has tried to free and edje object twice... but i can't be sure as
valgrind can't catch this. it's a one-off, so ensure after free, we
NULL out things we freed to avoid this.

@fix
---
 src/lib/edje/edje_main.c   | 5 +
 src/lib/edje/edje_signal.c | 2 ++
 2 files changed, 7 insertions(+)

diff --git a/src/lib/edje/edje_main.c b/src/lib/edje/edje_main.c
index 8748a35..f46be48 100644
--- a/src/lib/edje/edje_main.c
+++ b/src/lib/edje/edje_main.c
@@ -251,15 +251,20 @@ _edje_del(Edje *ed)
  }
_edje_message_del(ed);
_edje_signal_callback_free(ed->callbacks);
+   ed->callbacks = NULL;
_edje_file_del(ed);
if (ed->path) eina_stringshare_del(ed->path);
if (ed->group) eina_stringshare_del(ed->group);
if (ed->parent) eina_stringshare_del(ed->parent);
ed->path = NULL;
ed->group = NULL;
+   ed->parent = NULL;
eina_hash_free(ed->color_classes);
eina_hash_free(ed->text_classes);
eina_hash_free(ed->size_classes);
+   ed->color_classes = NULL;
+   ed->text_classes = NULL;
+   ed->size_classes = NULL;
EINA_LIST_FREE(ed->text_insert_filter_callbacks, cb)
  {
 eina_stringshare_del(cb->part);
diff --git a/src/lib/edje/edje_signal.c b/src/lib/edje/edje_signal.c
index de93990..88c0f1d 100644
--- a/src/lib/edje/edje_signal.c
+++ b/src/lib/edje/edje_signal.c
@@ -294,7 +294,9 @@ _edje_signal_callback_free(const Edje_Signal_Callback_Group 
*cgp)
_edje_signal_callback_matches_unref((Edje_Signal_Callback_Matches 
*)gp->matches);
gp->matches = NULL;
free(gp->flags);
+   gp->flags = NULL;
free(gp->custom_data);
+   gp->custom_data = NULL;
free(gp);
 }
 

-- 




[EGIT] [core/efl] master 01/01: ctxpopup: pass const object ptr as argument in horizontal_get()

2016-04-13 Thread Amitesh Singh
ami pushed a commit to branch master.

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

commit bc9bde253a3d4ef09c8ea4451aec8b1425fc83c8
Author: Amitesh Singh 
Date:   Wed Apr 13 16:11:19 2016 +0530

ctxpopup: pass const object ptr as argument in horizontal_get()
---
 src/lib/elementary/elc_ctxpopup.c| 2 +-
 src/lib/elementary/elc_ctxpopup_legacy.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/elementary/elc_ctxpopup.c 
b/src/lib/elementary/elc_ctxpopup.c
index 803f7d7..b366493 100644
--- a/src/lib/elementary/elc_ctxpopup.c
+++ b/src/lib/elementary/elc_ctxpopup.c
@@ -1247,7 +1247,7 @@ elm_ctxpopup_horizontal_set(Evas_Object *obj, Eina_Bool 
horizontal)
 }
 
 EAPI Eina_Bool
-elm_ctxpopup_horizontal_get(Evas_Object *obj)
+elm_ctxpopup_horizontal_get(const Evas_Object *obj)
 {
ELM_CTXPOPUP_DATA_GET_OR_RETURN_VAL(obj, sd, EINA_FALSE);
 
diff --git a/src/lib/elementary/elc_ctxpopup_legacy.h 
b/src/lib/elementary/elc_ctxpopup_legacy.h
index a983799..2dbc1d3 100644
--- a/src/lib/elementary/elc_ctxpopup_legacy.h
+++ b/src/lib/elementary/elc_ctxpopup_legacy.h
@@ -27,7 +27,7 @@ EAPI void 
elm_ctxpopup_horizontal_set(Evas_Object *obj,
  *
  * @ingroup Elm_Ctxpopup
  */
-EAPI Eina_Boolelm_ctxpopup_horizontal_get(Evas_Object 
*obj);
+EAPI Eina_Boolelm_ctxpopup_horizontal_get(const 
Evas_Object *obj);
 
 #include "elm_ctxpopup_item.eo.legacy.h"
 #include "elm_ctxpopup.eo.legacy.h"

-- 




[EGIT] [core/efl] master 01/01: example: eina log - set eina log levels in examples

2016-04-13 Thread Amitesh Singh
ami pushed a commit to branch master.

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

commit 1e74fd73adfcdb8dc034f1ddaf915802bc18ba1c
Author: Amitesh Singh 
Date:   Wed Apr 13 15:29:29 2016 +0530

example: eina log - set eina log levels in examples
---
 src/examples/eina/eina_log_01.c | 2 ++
 src/examples/eina/eina_log_02.c | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/src/examples/eina/eina_log_01.c b/src/examples/eina/eina_log_01.c
index 7a20ca9..2c6432a 100644
--- a/src/examples/eina/eina_log_01.c
+++ b/src/examples/eina/eina_log_01.c
@@ -19,6 +19,8 @@ int main(void)
 return EXIT_FAILURE;
  }
 
+   eina_log_level_set(EINA_LOG_LEVEL_WARN);
+
test_warn();
 
eina_shutdown();
diff --git a/src/examples/eina/eina_log_02.c b/src/examples/eina/eina_log_02.c
index a056729..e2d5a9f 100644
--- a/src/examples/eina/eina_log_02.c
+++ b/src/examples/eina/eina_log_02.c
@@ -29,6 +29,8 @@ int main(void)
  return EXIT_FAILURE;
  }
 
+   eina_log_level_set(EINA_LOG_LEVEL_DBG);
+
test(-1);
test(0);
 

--