[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, );
 
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 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] [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", , , ))
  {
-/* TODO */
-/* if ((em->sync) && (maj == DRM_MAJOR)) */
-/*   _ecore_drm2_launcher_activate_send(em, EINA_TRUE); */
+if ((em->sync) && (maj == 226)) // DRM_MAJOR
+  {
+ /* TODO: _ecore_drm2_launcher_activate_send(em, EINA_TRUE); */
+  }
  }
 }
 
@@ -123,9 +125,10 @@ _cb_property_changed(void *data, Eldbus_Proxy *proxy 
EINA_UNUSED, void *event)
if (!strcmp(ev->name, "Active"))
  {
 eina_value_get(ev->value, );
-/* TODO */
-/* if ((!em->sync) || (!active)) */
-/*   _ecore_drm2_launcher_activate_send(em, active); */
+if ((!em->sync) || (!active))
+  {
+ /* TODO: _ecore_drm2_launcher_activate_send(em, active); */
+  }
  }
 }
 

-- 




[EGIT] [core/efl] master 13/16: elput: Add event which can be raised when devices get added or removed

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(>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

[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(>input, 0, sizeof(Elput_Input));
+
+   manager->input.lib =
+ libinput_udev_create_context(&_input_interface, manager, eeze_udev_get());
+   if (!manager->input.lib)
+ {
+ERR("libinput could not create udev context");
+goto udev_err;
+ }
+
+   if (libinput_udev_assign_seat(manager->input.lib, seat) != 0)
+ {
+ERR("libinput could not assign udev seat");
+goto seat_err;
+ }
+
+   _process_events(>input);
+
+   /* TODO */
+
+   return EINA_TRUE;
+
+seat_err:
+   libinput_unref(manager->input.lib);
+udev_err:
+   return EINA_FALSE;
+}
+
+EAPI void
+elput_input_shutdown(Elput_Manager *manager)
+{
+   EINA_SAFETY_ON_NULL_RETURN(manager);
+   EINA_SAFETY_ON_NULL_RETURN(>input);
+
+   /* TODO */
+
+   libinput_unref(manager->input.lib);
+}
diff --git a/src/lib/elput/elput_private.h b/src/lib/elput/elput_private.h
index c500a55..6d88943 100644
--- a/src/lib/elput/elput_private.h
+++ b/src/lib/elput/elput_private.h
@@ -64,6 +64,17 @@ typedef struct _Elput_Interface
void (*close)(Elput_Manager *manager, int fd);
 } Elput_Interface;
 
+typedef struct _Elput_Input
+{
+   struct libinput *lib;
+
+   Ecore_Fd_Handler *hdlr;
+
+   Eina_List *seats;
+
+   Eina_Bool suspended : 1;
+} Elput_Input;
+
 struct _Elput_Manager
 {
Elput_Interface *interface;
@@ -80,6 +91,8 @@ struct _Elput_Manager
 Eldbus_Connection *conn;
  } dbus;
 
+   Elput_Input input;
+
Eina_Bool sync : 1;
 };
 

-- 




[EGIT] [core/efl] master 08/16: elput: Add support for creating and removing devices

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 

[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, , ))
+ {
+ERR("Eldbus Message Error: %s %s", errname, errmsg);
+return;
+ }
+
+   if (eldbus_message_arguments_get(msg, "s", ))
+ {
+if (!strcmp(sid, em->sid))
+  {
+ WRN("Logind session removed");
+ /* TODO: call manager restore function */
+  }
+ }
+}
+
+static void
+_cb_device_paused(void *data, const Eldbus_Message *msg)
+{
+   Elput_Manager *em;
+   const char *errname, *errmsg;
+   const char *type;
+   uint32_t maj, min;
+
+   em = data;
+
+   if (eldbus_message_error_get(msg, , ))
+ {
+ERR("Eldbus Message Error: %s %s", errname, errmsg);
+return;
+ }
+
+   if (eldbus_message_arguments_get(msg, "uus", , , ))
+ {
+if (!strcmp(type, "pause"))
+  _logind_device_pause_complete(em, maj, min);
+
+/* TODO */
+/* if ((em->sync) && (maj == DRM_MAJOR)) */
+/*   _ecore_drm2_launcher_activate_send(em, EINA_FALSE); */
+ }
+}
+
+static void
+_cb_device_resumed(void *data, const Eldbus_Message *msg)
+{
+   Elput_Manager *em;
+   const char *errname, *errmsg;
+   uint32_t maj, min;
+   int fd;
+
+   em = data;
+
+  

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

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

[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 

[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 = 

[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);
+
 

[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",

[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);
+   

[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(, values, argc, argv);
+   pos = ecore_getopt_parse(, values, argc, argv);
+   if (pos < 0)
+ return 1;
+   if (pos < argc - 1)
+ _ERR_EXIT(_("Only one file should be specified."));
+
+   if (pos == argc -1)
+ file = argv[pos];
+
if (!info_only)
  {
 #ifdef HAVE_CONFIG_H
@@ -141,46 +165,66 @@ elm_main(int argc, char **argv)
 CRIT("Could not find 'eflete_config.h'");
 #endif
 
-if (!ui_main_window_add())
-  {
- app_shutdown();
- return -1;
-  }
+config_load();
 
 if (reopen)
   {
+ if (file)
+   _ERR_EXIT(_("--reopen is given but file specified."));
+ if (pro_name)
+   _ERR_EXIT(_("--reopen is given but --name specified."));
+ if (pro_path)
+   _ERR_EXIT(_("--repoen is given but --path specified."));
+
 

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

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/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)
+