[EGIT] [core/enlightenment] master 01/01: enlightenment: Update README.wayland to reflect things that do not work yet

2015-08-12 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=20c0ddffd52723967fa1b92d8f4743d4d6f5bff3

commit 20c0ddffd52723967fa1b92d8f4743d4d6f5bff3
Author: Chris Michael cp.mich...@samsung.com
Date:   Wed Aug 12 10:55:54 2015 -0400

enlightenment: Update README.wayland to reflect things that do not work yet

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 README.wayland | 5 +
 1 file changed, 5 insertions(+)

diff --git a/README.wayland b/README.wayland
index 0ff7269..8a9ea13 100644
--- a/README.wayland
+++ b/README.wayland
@@ -66,6 +66,11 @@ pass a few more options to the configure stage of 
Enlightenment:
 
   --enable-wayland
 
+Since this is all still a work-in-progress, there are a few Enlightenment 
+modules that have not been fixed to work without X11 yet.
+Those will need to be disabled if you enabled the wayland-only option:
+
+  --disable-xkbswitch
 
 If you also want support for running X applications under Wayland you might 
want
 to try out XWayland support:

-- 




[EGIT] [core/elementary] master 01/01: elementary: Fix Copy and Paste test to actually paste clipboard text

2015-08-12 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=7147e8b487cfdc61886f0adebca8cd85457833af

commit 7147e8b487cfdc61886f0adebca8cd85457833af
Author: Chris Michael cp.mich...@samsung.com
Date:   Wed Aug 12 10:18:41 2015 -0400

elementary: Fix Copy and Paste test to actually paste clipboard text

Summary: The Elm Copy and Paste test was not actually pasting the
copied text into the entry when the Paste button was clicked. This
patch fixes that issue.

@fix

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/bin/test_cnp.c | 18 --
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/src/bin/test_cnp.c b/src/bin/test_cnp.c
index 66f8bc4..35de89e 100644
--- a/src/bin/test_cnp.c
+++ b/src/bin/test_cnp.c
@@ -17,9 +17,11 @@ _bt_copy_clicked(void *data, Evas_Object *obj EINA_UNUSED, 
void *event_info EINA
 }
 
 static Eina_Bool
-_selection(void *d EINA_UNUSED, Evas_Object *obj EINA_UNUSED, 
Elm_Selection_Data *ev)
+_selection(void *data, Evas_Object *obj EINA_UNUSED, Elm_Selection_Data *ev)
 {
+   Evas_Object *en = data;
const char *fmt = NULL;
+
switch (ev-format)
  {
 case ELM_SEL_FORMAT_TARGETS: fmt = TARGETS; break;
@@ -31,6 +33,18 @@ _selection(void *d EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, Elm_Selection_Data
 case ELM_SEL_FORMAT_HTML: fmt = HTML; break;
  }
fprintf(stderr, got selection type '%s': length %zu\n, fmt, ev-len);
+
+   if (ev-format == ELM_SEL_FORMAT_TEXT)
+ {
+char *stripstr;
+
+stripstr = malloc(ev-len + 1);
+strncpy(stripstr, (char *)ev-data, ev-len);
+stripstr[ev-len] = '\0';
+elm_entry_entry_insert(en, stripstr);
+free(stripstr);
+ }
+
return EINA_TRUE;
 }
 
@@ -40,7 +54,7 @@ _bt_paste_clicked(void *data, Evas_Object *obj EINA_UNUSED, 
void *event_info EIN
Evas_Object *en = data;
 
elm_cnp_selection_get(en, ELM_SEL_TYPE_CLIPBOARD, ELM_SEL_FORMAT_TEXT,
- _selection, NULL);
+ _selection, en);
 }
 
 static void

-- 




[EGIT] [core/enlightenment] master 01/01: init null wl mime types array when new type is offered

2015-08-12 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=7f3d59f6f2608ad216840dc5de60e36429da6aa7

commit 7f3d59f6f2608ad216840dc5de60e36429da6aa7
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Wed Aug 12 18:42:42 2015 -0400

init null wl mime types array when new type is offered
---
 src/bin/e_comp_wl_data.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/bin/e_comp_wl_data.c b/src/bin/e_comp_wl_data.c
index a45c44d..06b17db 100644
--- a/src/bin/e_comp_wl_data.c
+++ b/src/bin/e_comp_wl_data.c
@@ -93,6 +93,8 @@ _e_comp_wl_data_source_cb_offer(struct wl_client *client 
EINA_UNUSED, struct wl_
if (!(source = wl_resource_get_user_data(resource)))
  return;
 
+   if (!source-mime_types)
+ source-mime_types = eina_array_new(1);
eina_array_push(source-mime_types, eina_stringshare_add(mime_type));
 }
 

-- 




[EGIT] [core/enlightenment] master 02/03: don't toggle screensaver twice on x11 xdnd selection owner change

2015-08-12 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=466ceca59be3915a038734c4d58ec2e4d160ddaa

commit 466ceca59be3915a038734c4d58ec2e4d160ddaa
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Wed Aug 12 17:45:34 2015 -0400

don't toggle screensaver twice on x11 xdnd selection owner change
---
 src/modules/xwayland/dnd.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/modules/xwayland/dnd.c b/src/modules/xwayland/dnd.c
index 59f9c81..0705d22 100644
--- a/src/modules/xwayland/dnd.c
+++ b/src/modules/xwayland/dnd.c
@@ -219,7 +219,6 @@ _xwl_fixes_selection_notify(void *d EINA_UNUSED, int t 
EINA_UNUSED, Ecore_X_Even
  source-cancelled = _xwayland_cancelled_send;
  source-mime_types = namelist;
  free(names);
- e_screensaver_inhibit_toggle(1);
   }
 else
   {

-- 




[EGIT] [core/enlightenment] master 01/03: only delete current drag on x11 xdnd selection loss if x11 owned selection

2015-08-12 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit ce6703e97985f31ef39d5e97f34b95e5520ff741
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Wed Aug 12 17:45:01 2015 -0400

only delete current drag on x11 xdnd selection loss if x11 owned selection
---
 src/modules/xwayland/dnd.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/modules/xwayland/dnd.c b/src/modules/xwayland/dnd.c
index ddc3bfd..59f9c81 100644
--- a/src/modules/xwayland/dnd.c
+++ b/src/modules/xwayland/dnd.c
@@ -223,7 +223,9 @@ _xwl_fixes_selection_notify(void *d EINA_UNUSED, int t 
EINA_UNUSED, Ecore_X_Even
   }
 else
   {
- if (e_comp-wl_comp_data-drag)
+ if (e_comp-wl_comp_data-drag 
+ e_comp-wl_comp_data-drag_client 
+ e_client_has_xwindow(e_comp-wl_comp_data-drag_client))
e_object_del(E_OBJECT(e_comp-wl_comp_data-drag));
   }
 e_screensaver_inhibit_toggle(!!ev-owner);

-- 




[EGIT] [core/enlightenment] master 03/03: reject xwl selection notify events which do not match our xwl property atom

2015-08-12 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=3b785403b6a70496a1a993da3f66c5fcdb7265f7

commit 3b785403b6a70496a1a993da3f66c5fcdb7265f7
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Wed Aug 12 17:59:16 2015 -0400

reject xwl selection notify events which do not match our xwl property atom
---
 src/modules/xwayland/dnd.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/modules/xwayland/dnd.c b/src/modules/xwayland/dnd.c
index 0705d22..4a022f8 100644
--- a/src/modules/xwayland/dnd.c
+++ b/src/modules/xwayland/dnd.c
@@ -285,8 +285,9 @@ _xwl_selection_notify(void *d EINA_UNUSED, int t 
EINA_UNUSED, Ecore_X_Event_Sele
  return ECORE_CALLBACK_RENEW;
   }
  }
-   /* FIXME: ecore-x events are fucked */
-   //if (ecore_x_atom_get(ev-target) != xwl_dnd_atom) return 
ECORE_CALLBACK_RENEW;
+#if (EFL_VERSION_MAJOR  1) || (EFL_VERSION_MINOR = 16)
+   if (ev-property != xwl_dnd_atom) return ECORE_CALLBACK_RENEW;
+#endif
sd = ev-data;
 
do

-- 




[EGIT] [core/efl] master 01/01: ecore-x: add property member to Ecore_X_Event_Selection_Notify

2015-08-12 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 0efc83d64d195d6fc3869058b6e7146cd8149ce1
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Wed Aug 12 17:57:30 2015 -0400

ecore-x: add property member to Ecore_X_Event_Selection_Notify

@feature
---
 src/lib/ecore_x/Ecore_X.h  | 1 +
 src/lib/ecore_x/xcb/ecore_xcb_events.c | 1 +
 src/lib/ecore_x/xlib/ecore_x_events.c  | 1 +
 3 files changed, 3 insertions(+)

diff --git a/src/lib/ecore_x/Ecore_X.h b/src/lib/ecore_x/Ecore_X.h
index f5c2da4..7337ae2 100644
--- a/src/lib/ecore_x/Ecore_X.h
+++ b/src/lib/ecore_x/Ecore_X.h
@@ -742,6 +742,7 @@ struct _Ecore_X_Event_Selection_Notify
Ecore_X_Atom  atom;
char *target;
void *data;
+   Ecore_X_Atom  property; /** @since 1.16 */
 };
 
 struct _Ecore_X_Selection_Data
diff --git a/src/lib/ecore_x/xcb/ecore_xcb_events.c 
b/src/lib/ecore_x/xcb/ecore_xcb_events.c
index 1d837d8..9f1e2fc 100644
--- a/src/lib/ecore_x/xcb/ecore_xcb_events.c
+++ b/src/lib/ecore_x/xcb/ecore_xcb_events.c
@@ -1367,6 +1367,7 @@ 
_ecore_xcb_event_handle_selection_notify(xcb_generic_event_t *event)
e-win = ev-requestor;
e-time = ev-time;
e-atom = selection;
+   e-property = ev-property;
e-target = _ecore_xcb_selection_target_get(ev-target);
 
if (selection == ECORE_X_ATOM_SELECTION_PRIMARY)
diff --git a/src/lib/ecore_x/xlib/ecore_x_events.c 
b/src/lib/ecore_x/xlib/ecore_x_events.c
index c8cd012..48af12d 100644
--- a/src/lib/ecore_x/xlib/ecore_x_events.c
+++ b/src/lib/ecore_x/xlib/ecore_x_events.c
@@ -1510,6 +1510,7 @@ _ecore_x_event_handle_selection_notify(XEvent *xevent)
e-win = xevent-xselection.requestor;
e-time = xevent-xselection.time;
e-atom = selection;
+   e-property = xevent-xselection.property;
e-target = _ecore_x_selection_target_get(xevent-xselection.target);
 
if (selection == ECORE_X_ATOM_SELECTION_PRIMARY)

-- 




[EGIT] [core/enlightenment] master 05/05: redo wayland shot init to account for async+slow global loading

2015-08-12 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=83f49bf44c4850ea9d86e92adfba77f6e94a2987

commit 83f49bf44c4850ea9d86e92adfba77f6e94a2987
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Wed Aug 12 20:19:18 2015 -0400

redo wayland shot init to account for async+slow global loading

previously it was possible for the shot module to init in a wayland
compositor and fail to grab the necessary globals, resulting in black
rects for all shots
---
 src/modules/shot/e_mod_main.c | 107 +++---
 1 file changed, 70 insertions(+), 37 deletions(-)

diff --git a/src/modules/shot/e_mod_main.c b/src/modules/shot/e_mod_main.c
index 7b2c798..e05da8f 100644
--- a/src/modules/shot/e_mod_main.c
+++ b/src/modules/shot/e_mod_main.c
@@ -50,6 +50,7 @@ struct screenshooter_output
struct wl_output *output;
struct wl_buffer *buffer;
int x, y, w, h;
+   uint32_t id;
void *data;
 };
 #endif
@@ -1245,6 +1246,70 @@ _e_mod_menu_add(void *data EINA_UNUSED, E_Menu *m)
e_menu_item_callback_set(mi, _e_mod_menu_cb, NULL);
 }
 
+#ifdef HAVE_WAYLAND
+static Ecore_Event_Handler *wl_global_handler;
+
+static Eina_Bool
+_wl_init()
+{
+   Eina_Inlist *globals;
+   Ecore_Wl_Global *global;
+   struct wl_registry *reg;
+
+   reg = e_comp-wl_comp_data-wl.registry ?: ecore_wl_registry_get();
+   if (e_comp-wl_comp_data-wl.registry)
+ globals = e_comp-wl_comp_data-wl.globals;
+   else
+ globals = ecore_wl_globals_get();
+   if (!globals)
+ {
+if (!wl_global_handler)
+  {
+ if (e_comp-wl_comp_data-wl.registry)
+   wl_global_handler = 
ecore_event_handler_add(E_EVENT_WAYLAND_GLOBAL_ADD,
+ (Ecore_Event_Handler_Cb)_wl_init, NULL);
+ else
+   wl_global_handler = 
ecore_event_handler_add(ECORE_WL_EVENT_INTERFACES_BOUND,
+ (Ecore_Event_Handler_Cb)_wl_init, NULL);
+  }
+return ECORE_CALLBACK_RENEW;
+ }
+   EINA_INLIST_FOREACH(globals, global)
+ {
+if ((!_wl_screenshooter)  (!strcmp(global-interface, 
screenshooter)))
+  {
+ _wl_screenshooter =
+   wl_registry_bind(reg, global-id,
+screenshooter_interface, global-version);
+
+ if (_wl_screenshooter)
+   screenshooter_add_listener(_wl_screenshooter,
+  _screenshooter_listener,
+  _wl_screenshooter);
+  }
+else if (!strcmp(global-interface, wl_output))
+  {
+ struct screenshooter_output *output;
+ Eina_List *l;
+
+ EINA_LIST_FOREACH(_outputs, l, output)
+   if (output-id == global-id) return ECORE_CALLBACK_RENEW;
+ output = calloc(1, sizeof(*output));
+ if (output)
+   {
+  output-output =
+wl_registry_bind(reg, global-id,
+ wl_output_interface, global-version);
+  _outputs = eina_list_append(_outputs, output);
+  wl_output_add_listener(output-output,
+ _output_listener, output);
+   }
+  }
+ }
+   return ECORE_CALLBACK_RENEW;
+}
+#endif
+
 /* module setup */
 E_API E_Module_Api e_modapi =
 {
@@ -1285,44 +1350,9 @@ e_modapi_init(E_Module *m)
  (main/2,  _(Take Screenshot), _e_mod_menu_add, NULL, NULL, NULL);
border_hook = e_int_client_menu_hook_add(_bd_hook, NULL);
 
-   if (e_comp-comp_type == E_PIXMAP_TYPE_X) return m;
-
 #ifdef HAVE_WAYLAND
-   Eina_Inlist *globals;
-   Ecore_Wl_Global *global;
-   struct wl_registry *reg;
-
-   globals = e_comp-wl_comp_data-wl.globals ?: ecore_wl_globals_get();
-   reg = e_comp-wl_comp_data-wl.registry ?: ecore_wl_registry_get();
-   EINA_INLIST_FOREACH(globals, global)
- {
-if (!strcmp(global-interface, screenshooter))
-  {
- _wl_screenshooter =
-   wl_registry_bind(reg, global-id,
-screenshooter_interface, global-version);
-
- if (_wl_screenshooter)
-   screenshooter_add_listener(_wl_screenshooter,
-  _screenshooter_listener,
-  _wl_screenshooter);
-  }
-else if (!strcmp(global-interface, wl_output))
-  {
- struct screenshooter_output *output;
-
- output = calloc(1, sizeof(*output));
- if (output)
-   {
-  output-output =
-wl_registry_bind(reg, global-id,
- wl_output_interface, global-version);
-  _outputs = eina_list_append(_outputs, output);
-  wl_output_add_listener(output-output,
-   

[EGIT] [core/enlightenment] master 01/01: convert E_Comp_Wl_Data_Source-mime_types to Eina_Array

2015-08-12 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit ecffe370d16d6709b1be8450f6bd3769dc175e7b
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Wed Aug 12 17:39:15 2015 -0400

convert E_Comp_Wl_Data_Source-mime_types to Eina_Array

this data struct fits the usage of the data more effectively
---
 src/bin/e_comp_wl_data.c   | 71 --
 src/bin/e_comp_wl_data.h   |  2 +-
 src/modules/xwayland/dnd.c | 21 --
 3 files changed, 51 insertions(+), 43 deletions(-)

diff --git a/src/bin/e_comp_wl_data.c b/src/bin/e_comp_wl_data.c
index 1a92288..a45c44d 100644
--- a/src/bin/e_comp_wl_data.c
+++ b/src/bin/e_comp_wl_data.c
@@ -2,6 +2,15 @@
 #define E_COMP_WL
 #include e.h
 
+static void
+_mime_types_free(E_Comp_Wl_Data_Source *source)
+{
+   if (!source-mime_types) return;
+   while (eina_array_count(source-mime_types))
+ eina_stringshare_del(eina_array_pop(source-mime_types));
+   eina_array_free(source-mime_types);
+}
+
 static void 
 _e_comp_wl_data_offer_cb_accept(struct wl_client *client EINA_UNUSED, struct 
wl_resource *resource, uint32_t serial, const char *mime_type)
 {
@@ -84,8 +93,7 @@ _e_comp_wl_data_source_cb_offer(struct wl_client *client 
EINA_UNUSED, struct wl_
if (!(source = wl_resource_get_user_data(resource)))
  return;
 
-   source-mime_types = 
- eina_list_append(source-mime_types, eina_stringshare_add(mime_type));
+   eina_array_push(source-mime_types, eina_stringshare_add(mime_type));
 }
 
 /* called by wl_data_source_destroy */
@@ -101,16 +109,13 @@ static void
 _e_comp_wl_data_source_cb_resource_destroy(struct wl_resource *resource)
 {
E_Comp_Wl_Data_Source *source;
-   char *t;
 
if (!(source = wl_resource_get_user_data(resource)))
  return;
 
wl_signal_emit(source-destroy_signal, source);
 
-   EINA_LIST_FREE(source-mime_types, t)
-  eina_stringshare_del(t);
-
+   _mime_types_free(source);
free(source);
 }
 
@@ -174,7 +179,7 @@ static struct wl_resource*
 _e_comp_wl_data_device_data_offer_create(E_Comp_Wl_Data_Source *source, struct 
wl_resource *data_device_res)
 {
E_Comp_Wl_Data_Offer *offer;
-   Eina_List *l;
+   Eina_Iterator *it;
char *t;
 
DBG(Data Offer Create);
@@ -201,8 +206,10 @@ 
_e_comp_wl_data_device_data_offer_create(E_Comp_Wl_Data_Source *source, struct w
 
wl_data_device_send_data_offer(data_device_res, offer-resource);
 
-   EINA_LIST_FOREACH(source-mime_types, l, t)
-  wl_data_offer_send_offer(offer-resource, t);
+   it = eina_array_iterator_new(source-mime_types);
+   EINA_ITERATOR_FOREACH(it, t)
+ wl_data_offer_send_offer(offer-resource, t);
+   eina_iterator_free(it);
 
return offer-resource;
 }
@@ -572,7 +579,7 @@ _e_comp_wl_clipboard_source_send_send(E_Comp_Wl_Data_Source 
*source, const char
clip_source = container_of(source, E_Comp_Wl_Clipboard_Source, data_source);
if (!clip_source) return;
 
-   t = eina_list_nth(source-mime_types, 0);
+   t = eina_array_data_get(source-mime_types, 0);
if (!strcmp(mime_type, t))
  _e_comp_wl_clipboard_offer_create(clip_source, fd);
else
@@ -610,7 +617,7 @@ _e_comp_wl_clipboard_selection_set(struct wl_listener 
*listener EINA_UNUSED, voi
  e_comp_wl_clipboard_source_unref(clip_source);
 
e_comp-wl_comp_data-clipboard.source = NULL;
-   mime_type = eina_list_nth(sel_source-mime_types, 0);
+   mime_type = eina_array_data_get(sel_source-mime_types, 0);
 
if (pipe2(p, O_CLOEXEC) == -1)
  return;
@@ -665,37 +672,31 @@ e_comp_wl_data_device_send_enter(E_Client *ec)
  {
 int d1 = 0x5UL, d2, d3, d4;
 E_Comp_Wl_Data_Source *source;
-Eina_List *l;
 
 d2 = d3 = d4 = 0;
 source = e_comp-wl_comp_data-drag_source;
 
-if (eina_list_count(source-mime_types)  3)
+if (eina_array_count(source-mime_types)  3)
   {
- const char *type, *types[eina_list_count(source-mime_types)];
+ const char *type, *types[eina_array_count(source-mime_types)];
  int i = 0;
+ Eina_Iterator *it;
 
  d1 |= 0x1UL;
- EINA_LIST_FOREACH(source-mime_types, l, type)
+ it = eina_array_iterator_new(source-mime_types);
+ EINA_ITERATOR_FOREACH(it, type)
types[i++] = type;
+ eina_iterator_free(it);
  ecore_x_dnd_types_set(e_comp-cm_selection, types, i);
   }
-else
+else if (source-mime_types)
   {
- l = source-mime_types;
-
- if (source-mime_types)
-   d2 = ecore_x_atom_get(e_comp-wl_comp_data-drag-types[0]);
- if (eina_list_count(source-mime_types)  1)
-   {
-  l = eina_list_next(l);
-  d3 = ecore_x_atom_get(eina_list_data_get(l));
-   }
- if 

[EGIT] [core/enlightenment] master 03/05: emit randr change event on randr init

2015-08-12 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=725890f105e32de5c51a2a4e14b2693c3cb5dbfe

commit 725890f105e32de5c51a2a4e14b2693c3cb5dbfe
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Wed Aug 12 20:17:25 2015 -0400

emit randr change event on randr init

wayland compositors have been failing to create any outputs for some
time as a result of not getting any randr events on init
---
 src/bin/e_randr2.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/bin/e_randr2.c b/src/bin/e_randr2.c
index 103000f..789e388 100644
--- a/src/bin/e_randr2.c
+++ b/src/bin/e_randr2.c
@@ -96,6 +96,7 @@ e_randr2_init(void)
 _config_update(e_randr2, e_randr2_cfg);
 e_randr2_config_save();
  }
+   ecore_event_add(E_EVENT_RANDR_CHANGE, NULL, NULL, NULL);
return EINA_TRUE;
 }
 

-- 




[EGIT] [core/enlightenment] master 01/05: move x11 ee resize callback to comp_canvas, simplify x11 randr event handler

2015-08-12 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit a08a1434c103b73f2cd51965596dd24fffd5caef
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Wed Aug 12 19:26:19 2015 -0400

move x11 ee resize callback to comp_canvas, simplify x11 randr event handler

this should ensure that all compositors accurately perform resize-related
canvas operations
---
 src/bin/e_comp_canvas.c |  7 +++
 src/bin/e_comp_x.c  | 33 +
 2 files changed, 8 insertions(+), 32 deletions(-)

diff --git a/src/bin/e_comp_canvas.c b/src/bin/e_comp_canvas.c
index a380a7d..87fc003 100644
--- a/src/bin/e_comp_canvas.c
+++ b/src/bin/e_comp_canvas.c
@@ -204,6 +204,12 @@ _e_comp_canvas_cb_zone_sort(const void *data1, const void 
*data2)
return z1-num - z2-num;
 }
 
+static void
+_e_comp_canvas_resize(Ecore_Evas *ee EINA_UNUSED)
+{
+   e_randr2_screens_setup(e_comp-w, e_comp-h);
+   e_comp_canvas_update();
+}
 
 E_API Eina_Bool
 e_comp_canvas_init(int w, int h)
@@ -260,6 +266,7 @@ e_comp_canvas_init(int w, int h)
E_LIST_HANDLER_APPEND(handlers, E_EVENT_SCREENSAVER_ON, 
_e_comp_cb_screensaver_on, NULL);
E_LIST_HANDLER_APPEND(handlers, E_EVENT_SCREENSAVER_OFF, 
_e_comp_cb_screensaver_off, NULL);
 
+   ecore_evas_callback_resize_set(e_comp-ee, _e_comp_canvas_resize);
ecore_evas_resize(e_comp-ee, w, h);
 
return EINA_TRUE;
diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index fa2d80e..9c6e8d9 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -4741,45 +4741,15 @@ _e_comp_x_cb_frame_extents_request(void *data 
EINA_UNUSED, int ev_type EINA_UNUS
 static Eina_Bool
 _e_comp_x_randr_change(void *data EINA_UNUSED, int ev_type EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
-   if ((e_comp-w != e_randr2-w) ||
-   (e_comp-h != e_randr2-h))
- {
-if (e_comp-comp_type == E_PIXMAP_TYPE_X)
-  e_comp_canvas_resize(e_randr2-w, e_randr2-h);
- }
-   else
- {
-E_Client *ec;
-
-ecore_x_netwm_desk_size_set(e_comp-root, e_comp-w, e_comp-h);
-if (e_comp-comp_type == E_PIXMAP_TYPE_X)
-  e_randr2_screens_setup(e_comp-w, e_comp-h);
-
-if (e_comp-comp_type == E_PIXMAP_TYPE_X)
-  e_comp_canvas_update();
-E_CLIENT_FOREACH(ec)
-  {
- if (!e_client_util_ignored_get(ec))
-   _e_comp_x_client_zone_geometry_set(ec);
-  }
- }
-   return ECORE_CALLBACK_RENEW;
-}
-
-static void
-_e_comp_x_ee_resize(Ecore_Evas *ee EINA_UNUSED)
-{
E_Client *ec;
 
ecore_x_netwm_desk_size_set(e_comp-root, e_comp-w, e_comp-h);
-   e_randr2_screens_setup(e_comp-w, e_comp-h);
-
-   e_comp_canvas_update();
E_CLIENT_FOREACH(ec)
  {
 if (!e_client_util_ignored_get(ec))
   _e_comp_x_client_zone_geometry_set(ec);
  }
+   return ECORE_CALLBACK_RENEW;
 }
 
 static void
@@ -5132,7 +5102,6 @@ _e_comp_x_setup(Ecore_X_Window root, int w, int h)
ECORE_EVENT_MODIFIER_CTRL |
ECORE_EVENT_MODIFIER_ALT, 0);
 
-   ecore_evas_callback_resize_set(e_comp-ee, _e_comp_x_ee_resize);
ecore_evas_data_set(e_comp-ee, comp, e_comp);
e_comp-bindings_grab_cb = _e_comp_x_bindings_grab_cb;
e_comp-bindings_ungrab_cb = _e_comp_x_bindings_ungrab_cb;

-- 




[EGIT] [core/enlightenment] master 02/05: enforce compositor canvas resizing/updating when emitting randr events

2015-08-12 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=7986b084f82f3920ef485ae297253f71d7b8b9e2

commit 7986b084f82f3920ef485ae297253f71d7b8b9e2
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Wed Aug 12 19:27:53 2015 -0400

enforce compositor canvas resizing/updating when emitting randr events

all compositors will want this to occur, so make it automatic
---
 src/bin/e_randr2.c | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/src/bin/e_randr2.c b/src/bin/e_randr2.c
index c1f6e5f..103000f 100644
--- a/src/bin/e_randr2.c
+++ b/src/bin/e_randr2.c
@@ -597,6 +597,13 @@ _cb_screen_change_delay(void *data EINA_UNUSED)
  }
// update screen info after the above apply or due to external changes
e_randr2_screeninfo_update();
+   if ((e_comp-w != e_randr2-w) || (e_comp-h != e_randr2-h))
+ e_comp_canvas_resize(e_randr2-w, e_randr2-h);
+   else
+ {
+e_randr2_screens_setup(e_comp-w, e_comp-h);
+e_comp_canvas_update();
+ }
// tell the rest of e some screen reconfigure thing happened
ecore_event_add(E_EVENT_RANDR_CHANGE, NULL, NULL, NULL);
event_screen = EINA_FALSE;

-- 




[EGIT] [core/enlightenment] master 04/05: add local event for wl_wl output to use when a global has been received

2015-08-12 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=97f131582e64596b9b1b7bda16dc8cf0e92634eb

commit 97f131582e64596b9b1b7bda16dc8cf0e92634eb
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Wed Aug 12 20:18:43 2015 -0400

add local event for wl_wl output to use when a global has been received
---
 src/bin/e_comp_wl.c| 4 
 src/bin/e_comp_wl.h| 2 ++
 src/modules/wl_wl/wl.c | 1 +
 3 files changed, 7 insertions(+)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 12c60ca..6051514 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -8,6 +8,8 @@
 
 #define COMPOSITOR_VERSION 3
 
+E_API int E_EVENT_WAYLAND_GLOBAL_ADD = -1;
+
 /* Resource Data Mapping: (wl_resource_get_user_data)
  *
  * wl_surface == e_pixmap
@@ -2676,6 +2678,8 @@ e_comp_wl_init(void)
e_desklock_show_hook_add(_e_comp_wl_desklock_show);
e_desklock_hide_hook_add(_e_comp_wl_desklock_hide);
 
+   E_EVENT_WAYLAND_GLOBAL_ADD = ecore_event_type_new();
+
_last_event_time = ecore_loop_time_get();
 
return EINA_TRUE;
diff --git a/src/bin/e_comp_wl.h b/src/bin/e_comp_wl.h
index e105fa2..15059ed 100644
--- a/src/bin/e_comp_wl.h
+++ b/src/bin/e_comp_wl.h
@@ -335,6 +335,8 @@ EINTERN Eina_Bool e_comp_wl_key_down(Ecore_Event_Key *ev);
 EINTERN Eina_Bool e_comp_wl_key_up(Ecore_Event_Key *ev);
 E_API Eina_Bool e_comp_wl_evas_handle_mouse_button(E_Client *ec, uint32_t 
timestamp, uint32_t button_id, uint32_t state);
 
+E_API extern int E_EVENT_WAYLAND_GLOBAL_ADD;
+
 # ifndef HAVE_WAYLAND_ONLY
 EINTERN void e_comp_wl_xwayland_client_queue(E_Client *ec);
 static inline E_Comp_X_Client_Data *
diff --git a/src/modules/wl_wl/wl.c b/src/modules/wl_wl/wl.c
index 36f88ce..d137c99 100644
--- a/src/modules/wl_wl/wl.c
+++ b/src/modules/wl_wl/wl.c
@@ -17,6 +17,7 @@ _wl_handle_global(void *data EINA_UNUSED, struct wl_registry 
*registry EINA_UNUS
 
if (!strcmp(interface, wl_shm))
  e_comp-wl_comp_data-wl.shm = wl_registry_bind(registry, id, 
wl_shm_interface, 1);
+   ecore_event_add(E_EVENT_WAYLAND_GLOBAL_ADD, NULL, NULL, NULL);
 }
 
 static void

-- 




[EGIT] [core/elementary] master 01/01: focus: item focus moves by geometry.

2015-08-12 Thread Jaehwan Kim
jaehwan pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=f6712f962367dc2930eb376e8d98d7130e8ccdf6

commit f6712f962367dc2930eb376e8d98d7130e8ccdf6
Author: Jaehwan Kim jae.hwan@samsung.com
Date:   Thu Aug 13 13:45:21 2015 +0900

focus: item focus moves by geometry.

In the widget code, focus origin is added. It can know
the focus movement is originated by which action.
The widgets can choose the item focus moves to last focused item
or geometrically nearby item by focus origin.
In gengrid, focus moves to last focused item if focus origin is
ELM_FOCUS_REVERT. It moves to nearby item if focus origin is from
ELM_FOCUS_UP to ELM_FOCUS_LEFT.

TODO: widgets have items should add the direction feature if it
want the focus to move to nearby item.

@feature
---
 src/lib/elm_focus.h   |  4 +++-
 src/lib/elm_gengrid.c | 40 +++-
 src/lib/elm_widget.c  | 26 +++---
 src/lib/elm_widget.eo |  5 +
 src/lib/elm_widget.h  |  4 
 src/lib/elm_win.c | 18 +-
 6 files changed, 91 insertions(+), 6 deletions(-)

diff --git a/src/lib/elm_focus.h b/src/lib/elm_focus.h
index fcc6aa1..5bb4f89 100644
--- a/src/lib/elm_focus.h
+++ b/src/lib/elm_focus.h
@@ -45,7 +45,9 @@ typedef enum
ELM_FOCUS_UP,   /** up direction */
ELM_FOCUS_DOWN, /** down direction */
ELM_FOCUS_RIGHT,/** right direction */
-   ELM_FOCUS_LEFT  /** left direction */
+   ELM_FOCUS_LEFT,  /** left direction */
+   ELM_FOCUS_MOUSE,  /** direction is from mouse */
+   ELM_FOCUS_REVERT  /** direction is from focus revert */
 } Elm_Focus_Direction;
 
 /**
diff --git a/src/lib/elm_gengrid.c b/src/lib/elm_gengrid.c
index 26a4953..65783c6 100644
--- a/src/lib/elm_gengrid.c
+++ b/src/lib/elm_gengrid.c
@@ -3524,12 +3524,47 @@ _elm_gengrid_nearest_visible_item_get(Evas_Object *obj, 
Elm_Object_Item *eo_it)
return eo_it;
 }
 
+static Elm_Object_Item *
+_elm_gengrid_direction_item_get(Evas_Object *obj, Elm_Focus_Direction dir)
+{
+   double max_weight = 0.0, weight = 0.0;
+   Eina_List *item_list = NULL, *l = NULL;
+   Elm_Object_Item *eo_item = NULL, *best_item = NULL;
+   Evas_Object *fobj = _elm_widget_focus_highlight_object_get(obj);
+
+   double degree = 0.0;
+   if (dir == ELM_FOCUS_UP) degree = 0.0;
+   else if (dir == ELM_FOCUS_DOWN) degree = 180.0;
+   else if (dir == ELM_FOCUS_RIGHT) degree = 90.0;
+   else if (dir == ELM_FOCUS_LEFT) degree = 270.0;
+
+   item_list = elm_gengrid_realized_items_get(obj);
+   best_item = elm_gengrid_first_item_get(obj);
+
+   EINA_LIST_FOREACH(item_list, l, eo_item)
+ {
+ELM_GENGRID_ITEM_DATA_GET(eo_item, item);
+weight = _elm_widget_focus_direction_weight_get(fobj, VIEW(item), 
degree);
+if ((weight == -1.0) ||
+((weight != 0.0)  (max_weight != -1.0) 
+ ((int)(max_weight * 1)  (int)(weight * 1
+  {
+ best_item = eo_item;
+ max_weight = weight;
+  }
+ }
+   eina_list_free(item_list);
+
+   return best_item;
+}
+
 EOLIAN static Eina_Bool
 _elm_gengrid_elm_widget_on_focus(Eo *obj, Elm_Gengrid_Data *sd)
 {
Eina_Bool int_ret = EINA_FALSE;
Elm_Object_Item *eo_it = NULL;
Eina_Bool is_sel = EINA_FALSE;
+   Elm_Focus_Direction focus_origin;
 
eo_do_super(obj, MY_CLASS, int_ret = elm_obj_widget_on_focus());
if (!int_ret) return EINA_FALSE;
@@ -3543,7 +3578,10 @@ _elm_gengrid_elm_widget_on_focus(Eo *obj, 
Elm_Gengrid_Data *sd)
 
if (elm_widget_focus_get(obj)  !sd-mouse_down)
  {
-if (sd-last_focused_item)
+focus_origin = elm_widget_focus_origin_get(obj);
+if (focus_origin = ELM_FOCUS_UP  focus_origin = ELM_FOCUS_LEFT)
+  eo_it = _elm_gengrid_direction_item_get(obj, focus_origin);
+else if (sd-last_focused_item)
   eo_it = sd-last_focused_item;
 else if (sd-last_selected_item)
   eo_it = sd-last_selected_item;
diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c
index 0bb9f0f..db963b7 100644
--- a/src/lib/elm_widget.c
+++ b/src/lib/elm_widget.c
@@ -63,6 +63,7 @@ struct _Elm_Translate_String_Data
 
 /* local subsystem globals */
 static unsigned int focus_order = 0;
+Elm_Focus_Direction focus_origin = -1;
 
 static inline Eina_Bool
 _elm_widget_is(const Evas_Object *obj)
@@ -173,6 +174,16 @@ _elm_widget_focus_highlight_start(const Evas_Object *obj)
  _elm_win_focus_highlight_start(top);
 }
 
+Evas_Object *
+_elm_widget_focus_highlight_object_get(const Evas_Object *obj)
+{
+   Evas_Object *top = elm_widget_top_get(obj);
+
+   if (top  eo_isa(top, ELM_WIN_CLASS))
+ return _elm_win_focus_highlight_object_get(top);
+   return NULL;
+}
+
 EAPI Eina_Bool
 elm_widget_focus_highlight_enabled_get(const Evas_Object *obj)
 {
@@ -385,6 +396,7 @@ _if_focused_revert(Evas_Object *obj,
if (!sd-focused) return;
if 

[EGIT] [core/elementary] master 01/01: test_gengrid: change the min size of gengrid

2015-08-12 Thread Jaehwan Kim
jaehwan pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=fdca39ae16968f41aee14b12fe9d07d3071c288e

commit fdca39ae16968f41aee14b12fe9d07d3071c288e
Author: Jaehwan Kim jae.hwan@samsung.com
Date:   Thu Aug 13 13:32:43 2015 +0900

test_gengrid: change the min size of gengrid
---
 src/bin/test_gengrid.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/test_gengrid.c b/src/bin/test_gengrid.c
index 7e7c982..1de161a 100644
--- a/src/bin/test_gengrid.c
+++ b/src/bin/test_gengrid.c
@@ -1743,7 +1743,7 @@ test_gengrid_focus(void *data EINA_UNUSED,
  ELM_SCALE_SIZE(150));
evas_object_size_hint_weight_set(gengrid, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(gengrid, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   evas_object_size_hint_min_set(gengrid, 0, ELM_SCALE_SIZE(600));
+   evas_object_size_hint_min_set(gengrid, 0, ELM_SCALE_SIZE(620));
elm_box_pack_end(in_bx, gengrid);
evas_object_show(gengrid);
evas_object_smart_callback_add(gengrid, item,focused, 
_gengrid_focus_item_cb, item,focused);
@@ -1761,7 +1761,7 @@ test_gengrid_focus(void *data EINA_UNUSED,
  ELM_SCALE_SIZE(150));
evas_object_size_hint_weight_set(gengrid2, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(gengrid2, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   evas_object_size_hint_min_set(gengrid2, 0, ELM_SCALE_SIZE(600));
+   evas_object_size_hint_min_set(gengrid2, 0, ELM_SCALE_SIZE(620));
elm_box_pack_end(in_bx, gengrid2);
evas_object_show(gengrid2);
evas_object_smart_callback_add(gengrid2, item,focused, 
_gengrid_focus_item_cb, item,focused);

-- 




[EGIT] [core/enlightenment] master 01/02: e_widget_filepreview: Remove assign without effect

2015-08-12 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit be97356eaae573a8f75352af594060e7c62b4b1b
Author: Stefan Schmidt ste...@osg.samsung.com
Date:   Wed Aug 12 09:25:16 2015 +0200

e_widget_filepreview: Remove assign without effect

CID: 1316023
---
 src/bin/e_widget_filepreview.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/bin/e_widget_filepreview.c b/src/bin/e_widget_filepreview.c
index c7d05be..54494e5 100644
--- a/src/bin/e_widget_filepreview.c
+++ b/src/bin/e_widget_filepreview.c
@@ -250,7 +250,6 @@ _e_wid_fprev_preview_video_opened(E_Widget_Data *wd, 
Evas_Object *obj, void *eve
if (iw  1) iw = 1;
if (ih  1) ih = 1;
 
-   w = w;
h = (w * ih) / iw;
e_widget_preview_vsize_set(wd-o_preview_preview, w, h);
if (h  oh)

-- 




[EGIT] [core/elementary] master 01/01: Fix docs for elm_object_tooltip_orient_set

2015-08-12 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=132847c53f17b4e18c56dab1cc9e9cc5669d2bc0

commit 132847c53f17b4e18c56dab1cc9e9cc5669d2bc0
Author: Dave Andreoli d...@gurumeditation.it
Date:   Wed Aug 12 09:15:09 2015 +0200

Fix docs for elm_object_tooltip_orient_set

The function is not visible in docs,
this should make it visible
---
 src/lib/elm_tooltip.h | 10 --
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/lib/elm_tooltip.h b/src/lib/elm_tooltip.h
index 2d934d4..cb508a6 100644
--- a/src/lib/elm_tooltip.h
+++ b/src/lib/elm_tooltip.h
@@ -71,19 +71,17 @@ EAPI void elm_object_tooltip_move_freeze_pop(Evas_Object 
*obj);
 EAPI int elm_object_tooltip_move_freeze_get(const Evas_Object *obj);
 
 /**
- * @def elm_object_tooltip_orient_set
- * @since 1.9
- *
  * @brief Sets the orientation of the tooltip around the owner region
  *
  * Sets the position in which tooltip will appear around its owner. By default,
  * #ELM_TOOLTIP_ORIENT_NONE is set.
  *
- * @param[in] obj owner widget.
- * @param[in] orient orientation.
+ * @param obj The owner widget.
+ * @param orient The orientation of the tooltip.
  *
  * @ingroup Tooltips
- * @see @ref Elm_Tooltip_Orient for possible values.
+ * @see Elm_Tooltip_Orient for possible values.
+ * @since 1.9
  */
 EAPI void elm_object_tooltip_orient_set(Evas_Object *obj, Elm_Tooltip_Orient 
orient);
 

-- 




[EGIT] [core/enlightenment] master 02/02: modules/battery: Remove assign without effect

2015-08-12 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit c588867c1f20027f708e505b6e7cdff952ae173f
Author: Stefan Schmidt ste...@osg.samsung.com
Date:   Wed Aug 12 09:26:19 2015 +0200

modules/battery: Remove assign without effect

CID: 1316024
---
 src/modules/battery/batget.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/modules/battery/batget.c b/src/modules/battery/batget.c
index b2c3404..fa183a5 100644
--- a/src/modules/battery/batget.c
+++ b/src/modules/battery/batget.c
@@ -812,7 +812,6 @@ linux_sys_class_power_supply_check(void)
   if (sysev-present) have_battery = 1;
   if (charging)
 {
-   pwr_now = pwr_now;
have_power = 1;
if (time_to_full = 0)
  {

-- 




[EGIT] [tools/erigo] master 01/01: Add possibility to reorder items in content view

2015-08-12 Thread Yakov Goldberg
yakov pushed a commit to branch master.

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

commit b8bb68d7515af0f9693ce9dcaf5e2de3d79211f8
Author: Yakov Goldberg yako...@samsung.com
Date:   Wed Aug 12 11:37:25 2015 +0300

Add possibility to reorder items in content view

This doesn't affect on real packing.
Only on order how items will be displayed
in content view.
---
 src/bin/gui/contentview.c | 4 +++-
 src/bin/gui/editor.c  | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/bin/gui/contentview.c b/src/bin/gui/contentview.c
index 4baac59..5c373b8 100644
--- a/src/bin/gui/contentview.c
+++ b/src/bin/gui/contentview.c
@@ -101,7 +101,9 @@ contentview_build(const Gui_Widget *wdg)
const char *wdg_name = wdg_obj_container_class_name_get(wdg);
Eina_Bool isbox = (wdg_name 
   (!strcmp(wdg_name, DB_DEF_BOX_CLASS) ||
-   !strcmp(wdg_name, DB_DEF_WIN_CLASS)));
+   !strcmp(wdg_name, DB_DEF_WIN_CLASS) ||
+   !strcmp(wdg_name, DB_DEF_TABLE_CLASS) ||
+   !strcmp(wdg_name, DB_DEF_GRID_CLASS)));
 
Egui_Layout_Widgets *g = egui_layout_gui_get();
elm_object_disabled_set(g-main_win-contentview_down_btn, !isbox);
diff --git a/src/bin/gui/editor.c b/src/bin/gui/editor.c
index 59a9c84..69de7b4 100644
--- a/src/bin/gui/editor.c
+++ b/src/bin/gui/editor.c
@@ -4256,7 +4256,9 @@ _content_reorder_from_propview(void *data, Eo *obj 
EINA_UNUSED, const Eo_Event_D
 
if (wdg_obj_container_class_name_get(wdg) 
 (!strcmp(wdg_obj_container_class_name_get(wdg), DB_DEF_BOX_CLASS) ||
- !strcmp(wdg_obj_container_class_name_get(wdg), DB_DEF_WIN_CLASS)))
+ !strcmp(wdg_obj_container_class_name_get(wdg), DB_DEF_WIN_CLASS) ||
+ !strcmp(wdg_obj_container_class_name_get(wdg), DB_DEF_TABLE_CLASS) ||
+ !strcmp(wdg_obj_container_class_name_get(wdg), DB_DEF_GRID_CLASS) ))
  {
 Object_Container *_old_container, *_new_container;
 _old_container = (Object_Container *) 
wdg_obj_container_get((Gui_Widget *) wdg);

-- 




[EGIT] [bindings/python/python-efl] master 01/01: Add the missed prop elm.Object.tooltip_orient

2015-08-12 Thread Dave Andreoli
davemds pushed a commit to branch master.

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

commit d0026d610381791376df3fb7a6e535e10ab32f8a
Author: Dave Andreoli d...@gurumeditation.it
Date:   Wed Aug 12 09:54:07 2015 +0200

Add the missed prop elm.Object.tooltip_orient
---
 doc/elementary/object.rst  | 73 ++
 efl/elementary/object.pxi  | 18 +++
 efl/elementary/object.py   | 12 +++
 efl/elementary/object_cdef.pxi | 16 +
 4 files changed, 119 insertions(+)

diff --git a/doc/elementary/object.rst b/doc/elementary/object.rst
index 14756ce..fc8c138 100644
--- a/doc/elementary/object.rst
+++ b/doc/elementary/object.rst
@@ -278,6 +278,79 @@ Selection modes
 No select mode with no finger size rule
 
 
+.. _Elm_Tooltip_Orient:
+
+Tooltip orientation
+---
+
+.. data:: ELM_TOOLTIP_ORIENT_NONE
+
+Default value, Tooltip moves with mouse pointer
+
+.. versionadded:: 1.16
+
+.. data:: ELM_TOOLTIP_ORIENT_TOP_LEFT
+
+Tooltip should appear at the top left of parent
+
+.. versionadded:: 1.16
+
+.. data:: ELM_TOOLTIP_ORIENT_TOP
+
+Tooltip should appear at the top of parent
+
+.. versionadded:: 1.16
+
+.. data:: ELM_TOOLTIP_ORIENT_TOP_RIGHT
+
+Tooltip should appear at the top right of parent
+
+.. versionadded:: 1.16
+
+.. data:: ELM_TOOLTIP_ORIENT_LEFT
+
+Tooltip should appear at the left of parent
+
+.. versionadded:: 1.16
+
+.. data:: ELM_TOOLTIP_ORIENT_CENTER
+
+Tooltip should appear at the center of parent
+
+.. versionadded:: 1.16
+
+.. data:: ELM_TOOLTIP_ORIENT_RIGHT
+
+Tooltip should appear at the right of parent
+
+.. versionadded:: 1.16
+
+.. data:: ELM_TOOLTIP_ORIENT_BOTTOM_LEFT
+
+Tooltip should appear at the bottom left of parent
+
+.. versionadded:: 1.16
+
+.. data:: ELM_TOOLTIP_ORIENT_BOTTOM
+
+Tooltip should appear at the bottom of parent
+
+.. versionadded:: 1.16
+
+.. data:: ELM_TOOLTIP_ORIENT_BOTTOM_RIGHT
+
+Tooltip should appear at the bottom right of parent
+
+.. versionadded:: 1.16
+
+.. data:: ELM_TOOLTIP_ORIENT_LAST
+
+Sentinel value, don't use
+
+.. versionadded:: 1.16
+
+
+
 Inheritance diagram
 ===
 
diff --git a/efl/elementary/object.pxi b/efl/elementary/object.pxi
index 7d3c5e4..a2076a2 100644
--- a/efl/elementary/object.pxi
+++ b/efl/elementary/object.pxi
@@ -1251,6 +1251,24 @@ cdef class Object(SmartObject):
 def tooltip_style_get(self):
 return _ctouni(elm_object_tooltip_style_get(self.obj))
 
+property tooltip_orient:
+The orientation of the tooltip around the owner region.
+
+:type: :ref:`Elm_Tooltip_Orient`
+
+.. versionadded:: 1.16
+
+
+def __get__(self):
+return elm_object_tooltip_orient_get(self.obj)
+def __set__(self, Elm_Tooltip_Orient orient):
+elm_object_tooltip_orient_set(self.obj, orient)
+
+def tooltip_orient_set(self, Elm_Tooltip_Orient orient):
+elm_object_tooltip_orient_set(self.obj, orient)
+def tooltip_orient_get(self):
+return elm_object_tooltip_orient_get(self.obj)
+
 property tooltip_window_mode:
 def __get__(self):
 return bool(elm_object_tooltip_window_mode_get(self.obj))
diff --git a/efl/elementary/object.py b/efl/elementary/object.py
index 1345a87..3558eb9 100644
--- a/efl/elementary/object.py
+++ b/efl/elementary/object.py
@@ -34,3 +34,15 @@ from . import ELM_XDND_ACTION_ASK
 from . import ELM_XDND_ACTION_LIST
 from . import ELM_XDND_ACTION_LINK
 from . import ELM_XDND_ACTION_DESCRIPTION
+
+from . import ELM_TOOLTIP_ORIENT_NONE
+from . import ELM_TOOLTIP_ORIENT_TOP_LEFT
+from . import ELM_TOOLTIP_ORIENT_TOP
+from . import ELM_TOOLTIP_ORIENT_TOP_RIGHT
+from . import ELM_TOOLTIP_ORIENT_LEFT
+from . import ELM_TOOLTIP_ORIENT_CENTER
+from . import ELM_TOOLTIP_ORIENT_RIGHT
+from . import ELM_TOOLTIP_ORIENT_BOTTOM_LEFT
+from . import ELM_TOOLTIP_ORIENT_BOTTOM
+from . import ELM_TOOLTIP_ORIENT_BOTTOM_RIGHT
+from . import ELM_TOOLTIP_ORIENT_LAST
diff --git a/efl/elementary/object_cdef.pxi b/efl/elementary/object_cdef.pxi
index 8e986d7..476444c 100644
--- a/efl/elementary/object_cdef.pxi
+++ b/efl/elementary/object_cdef.pxi
@@ -77,6 +77,20 @@ cdef extern from Elementary.h:
 ctypedef enum Elm_Xdnd_Action:
 pass
 
+cpdef enum Elm_Tooltip_Orient:
+   ELM_TOOLTIP_ORIENT_NONE
+   ELM_TOOLTIP_ORIENT_TOP_LEFT
+   ELM_TOOLTIP_ORIENT_TOP
+   ELM_TOOLTIP_ORIENT_TOP_RIGHT
+   ELM_TOOLTIP_ORIENT_LEFT
+   ELM_TOOLTIP_ORIENT_CENTER
+   ELM_TOOLTIP_ORIENT_RIGHT
+   ELM_TOOLTIP_ORIENT_BOTTOM_LEFT
+   ELM_TOOLTIP_ORIENT_BOTTOM
+   ELM_TOOLTIP_ORIENT_BOTTOM_RIGHT
+   ELM_TOOLTIP_ORIENT_LAST
+ctypedef enum Elm_Tooltip_Orient:
+pass
 
 ctypedef struct Elm_Theme
 
@@ -203,6 +217,8 @@ cdef extern from Elementary.h:
 

[EGIT] [tools/enventor] master 01/01: templates: Change sound file name.

2015-08-12 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=8b3ef719f0a1297ea2fa24fc055f364b3d49c8f9

commit 8b3ef719f0a1297ea2fa24fc055f364b3d49c8f9
Author: Jaehyun Cho jae_hyun@samsung.com
Date:   Wed Aug 12 16:43:05 2015 +0900

templates: Change sound file name.
---
 data/sounds/{kbd-tap.wav = ENVENTOR_EMBEDDED_TAP.wav} | Bin
 data/sounds/Makefile.am|   2 +-
 data/templates/sound.edc   |   2 +-
 3 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/data/sounds/kbd-tap.wav b/data/sounds/ENVENTOR_EMBEDDED_TAP.wav
similarity index 100%
rename from data/sounds/kbd-tap.wav
rename to data/sounds/ENVENTOR_EMBEDDED_TAP.wav
diff --git a/data/sounds/Makefile.am b/data/sounds/Makefile.am
index b5e47f3..875471a 100644
--- a/data/sounds/Makefile.am
+++ b/data/sounds/Makefile.am
@@ -1,6 +1,6 @@
 MAINTAINERCLEANFILES = Makefile.in
 filesdir = $(datadir)/$(PACKAGE)/sounds
 files_DATA = \
-kbd-tap.wav
+ENVENTOR_EMBEDDED_TAP.wav
 
 EXTRA_DIST = $(files_DATA)
diff --git a/data/templates/sound.edc b/data/templates/sound.edc
index af30411..485dd02 100644
--- a/data/templates/sound.edc
+++ b/data/templates/sound.edc
@@ -2,7 +2,7 @@ collections {
base_scale: 1.0;
sounds {
   sample { name: sound LOSSY 64;
- source: kbd-tap.wav;
+ source: ENVENTOR_EMBEDDED_TAP.wav;
   }
}
group { main;

-- 




[EGIT] [core/efl] master 04/04: evas render 2 - tiled rouding of updates to keep number regions down

2015-08-12 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 40fc5a928219daaaf461d6cdeabd558a38a5463f
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Wed Aug 12 20:06:30 2015 +0900

evas render 2 - tiled rouding of updates to keep number regions down

tile to 16x16 (we can cahnge) to keep number of update rects
down/minimal with render2
---
 src/lib/evas/canvas/render2/evas_render2_th_main.c | 32 ++
 src/lib/evas/canvas/render2/region.c   | 11 +++-
 2 files changed, 36 insertions(+), 7 deletions(-)

diff --git a/src/lib/evas/canvas/render2/evas_render2_th_main.c 
b/src/lib/evas/canvas/render2/evas_render2_th_main.c
index 7791229..1379b88 100644
--- a/src/lib/evas/canvas/render2/evas_render2_th_main.c
+++ b/src/lib/evas/canvas/render2/evas_render2_th_main.c
@@ -167,6 +167,30 @@ _evas_render2_th_main_obj_process(Evas_Public_Data *e,
 offx, offy, l);
 }
 
+static Region *
+_evas_render2_regions_merge(Region *region)
+{
+   Region *region2;
+   Box *rects;
+   int num, i;
+   int tsize = 16;
+
+   region2 = region_new();
+   rects = region_rects(region);
+   num = region_rects_num(region);
+   for (i = 0; i  num; i++)
+ {
+region_rect_add
+(region2,
+ (rects[i].x1 / tsize) * tsize,
+ (rects[i].y1 / tsize) * tsize,
+ (((rects[i].x2 - rects[i].x1) + tsize - 1) / tsize) * tsize,
+ (((rects[i].y2 - rects[i].y1) + tsize - 1) / tsize) * tsize);
+ }
+   region_free(region);
+   return region2;
+}
+
 static void
 _evas_render2_th_main_do(Eo *eo_e, Evas_Public_Data *e)
 {
@@ -207,6 +231,8 @@ _evas_render2_th_main_do(Eo *eo_e, Evas_Public_Data *e)
t = get_time() - t;
printf(T: update generation: ); out_time(t);
 
+   updates = _evas_render2_regions_merge(updates);
+
rects = region_rects(updates);
rects_num = region_rects_num(updates);
for (i = 0; i  rects_num; i++)
@@ -214,6 +240,8 @@ _evas_render2_th_main_do(Eo *eo_e, Evas_Public_Data *e)
 rect = malloc(sizeof(Eina_Rectangle));
 if (rect)
   {
+ if (rects[i].x2  e-output.w) rects[i].x2 = e-output.w;
+ if (rects[i].y2  e-output.h) rects[i].y2 = e-output.h;
  rect-x = rects[i].x1;
  rect-y = rects[i].y1;
  rect-w = rects[i].x2 - rects[i].x1;
@@ -223,6 +251,10 @@ _evas_render2_th_main_do(Eo *eo_e, Evas_Public_Data *e)
  updates_list = eina_list_append(updates_list, rect);
   }
  }
+   t = get_time() - t;
+   printf(T: merge updates: ); out_time(t);
+
+   // ... now render every update region
region_free(updates);
 
e-changed = EINA_FALSE;
diff --git a/src/lib/evas/canvas/render2/region.c 
b/src/lib/evas/canvas/render2/region.c
index 70fb39b..30999d9 100644
--- a/src/lib/evas/canvas/render2/region.c
+++ b/src/lib/evas/canvas/render2/region.c
@@ -744,8 +744,6 @@ region_rects(Region *region)
 Eina_Bool
 region_copy(Region *dest, Region *src)
 {
-   if (dest == src) return EINA_TRUE;
-
dest-last_del.w = 0;
dest-last_add.w = 0;
 
@@ -827,9 +825,6 @@ region_add(Region *dest, Region *source)
// Return EINA_TRUE if some overlap between dest, source
// checks all the simple cases
 
-   // Region 1 and 2 are the same
-   if (dest == source) return region_copy(dest, dest);
-
dest-last_del.w = 0;
dest-last_add.w = 0;
 
@@ -1343,7 +1338,7 @@ region_point_inside(Region *region, int x, int y, Box 
*box)
if ((!num) || (!INBOX(region-bound, x, y))) return EINA_FALSE;
if (num == 1)
  {
-*box = region-bound;
+if (box) *box = region-bound;
 return EINA_TRUE;
  }
for (bx = PIXREGION_BOXPTR(region), bxend = bx + num; bx != bxend; bx++)
@@ -1351,7 +1346,7 @@ region_point_inside(Region *region, int x, int y, Box 
*box)
 if (y = bx-y2) continue; // not there yet
 if ((y  bx-y1) || (x  bx-x1)) break; // missed it
 if (x = bx-x2) continue; // not there yet
-*box = *bx;
+if (box) *box = *bx;
 return EINA_TRUE;
  }
return EINA_FALSE;
@@ -1370,6 +1365,8 @@ region_empty(Region *region)
region-bound.x2 = region-bound.x1;
region-bound.y2 = region-bound.y1;
region-data = _region_emptydata;
+   region-last_del.w = 0;
+   region-last_add.w = 0;
 }
 
 Box *

-- 




[EGIT] [core/efl] master 02/04: efreet - fix efreetd kill and start with clean cache case blank icons

2015-08-12 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit e89253e59702442ee41c55975323e57a37fd353c
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Tue Aug 11 12:56:02 2015 +0900

efreet - fix efreetd kill and start with clean cache case blank icons

if you kill efreetd ANd delete all the caches, the restart of efreetd
will lose all icons until an app re-registeres icon extensions and it
can scan all icons .. and then app has to actually get the right
upodate events and do the update properly when this happens. this
fixes that scenario

@fix
---
 src/lib/efreet/efreet_cache.c   | 114 
 src/lib/efreet/efreet_icon.c|  10 +++-
 src/lib/efreet/efreet_private.h |   1 +
 3 files changed, 65 insertions(+), 60 deletions(-)

diff --git a/src/lib/efreet/efreet_cache.c b/src/lib/efreet/efreet_cache.c
index bba77d4..88fda2e 100644
--- a/src/lib/efreet/efreet_cache.c
+++ b/src/lib/efreet/efreet_cache.c
@@ -146,10 +146,63 @@ _cb_server_del(void *data EINA_UNUSED, int type 
EINA_UNUSED, void *event)
 s = efreet_language_get();
 if (s) len = strlen(s);
 ecore_ipc_server_send(ipc, 1, 0, 0, 0, 0, s, len);
+efreet_icon_extensions_refresh();
  }
return ECORE_CALLBACK_DONE;
 }
 
+static void
+_icon_desktop_cache_update_event_add(int event_type)
+{
+   Efreet_Event_Cache_Update *ev;
+   Efreet_Old_Cache *d = NULL;
+   Eina_List *l = NULL;
+
+   efreet_cache_desktop_close();
+
+   ev = NEW(Efreet_Event_Cache_Update, 1);
+   if (!ev) return;
+
+   IF_RELEASE(theme_name);
+
+   // Save all old caches
+   d = NEW(Efreet_Old_Cache, 1);
+   if (d)
+ {
+d-hash = themes;
+d-ef = icon_theme_cache;
+l = eina_list_append(l, d);
+ }
+
+   d = NEW(Efreet_Old_Cache, 1);
+   if (d)
+ {
+d-hash = icons;
+d-ef = icon_cache;
+l = eina_list_append(l, d);
+ }
+
+   d = NEW(Efreet_Old_Cache, 1);
+   if (d)
+ {
+d-hash = fallbacks;
+d-ef = fallback_cache;
+l = eina_list_append(l, d);
+ }
+
+   // Create new empty caches
+   themes = 
eina_hash_string_superfast_new(EINA_FREE_CB(efreet_cache_icon_theme_free));
+   icons = 
eina_hash_string_superfast_new(EINA_FREE_CB(efreet_cache_icon_free));
+   fallbacks = 
eina_hash_string_superfast_new(EINA_FREE_CB(efreet_cache_icon_fallback_free));
+
+   icon_theme_cache = NULL;
+   icon_cache = NULL;
+   fallback_cache = NULL;
+
+   // Send event
+   ecore_event_add(event_type, ev, icon_cache_update_free, l);
+}
+
 static Eina_Bool
 _cb_server_data(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
 {
@@ -162,69 +215,14 @@ _cb_server_data(void *data EINA_UNUSED, int type 
EINA_UNUSED, void *event)
else if (e-major == 2) // icon cache update
  {
 if (e-minor == 1)
-  {
- Efreet_Event_Cache_Update *ev;
-
- efreet_cache_desktop_close();
-
- ev = NEW(Efreet_Event_Cache_Update, 1);
- if (ev)
-ecore_event_add(EFREET_EVENT_DESKTOP_CACHE_UPDATE, ev, NULL, 
NULL);
-  }
+  _icon_desktop_cache_update_event_add(EFREET_EVENT_ICON_CACHE_UPDATE);
 else
-  ecore_event_add(EFREET_EVENT_DESKTOP_CACHE_BUILD, NULL, NULL, NULL);
+  ecore_event_add(EFREET_EVENT_ICON_CACHE_UPDATE, NULL, NULL, NULL);
  }
else if (e-major == 3) // desktop cache update
  {
-Efreet_Event_Cache_Update *ev = NULL;
-Efreet_Old_Cache *d = NULL;
-Eina_List *l = NULL;
-
-if (e-minor == 1)
-  {
- ev = NEW(Efreet_Event_Cache_Update, 1);
- if (!ev) goto error;
-
- IF_RELEASE(theme_name);
-
- // Save all old caches
- d = NEW(Efreet_Old_Cache, 1);
- if (!d) goto error;
- d-hash = themes;
- d-ef = icon_theme_cache;
- l = eina_list_append(l, d);
-
- d = NEW(Efreet_Old_Cache, 1);
- if (!d) goto error;
- d-hash = icons;
- d-ef = icon_cache;
- l = eina_list_append(l, d);
-
- d = NEW(Efreet_Old_Cache, 1);
- if (!d) goto error;
- d-hash = fallbacks;
- d-ef = fallback_cache;
- l = eina_list_append(l, d);
-
- // Create new empty caches
- themes = 
eina_hash_string_superfast_new(EINA_FREE_CB(efreet_cache_icon_theme_free));
- icons = 
eina_hash_string_superfast_new(EINA_FREE_CB(efreet_cache_icon_free));
- fallbacks = 
eina_hash_string_superfast_new(EINA_FREE_CB(efreet_cache_icon_fallback_free));
-
- icon_theme_cache = NULL;
- icon_cache = NULL;
- fallback_cache = NULL;
-
- // Send event
- ecore_event_add(EFREET_EVENT_ICON_CACHE_UPDATE, ev, 

[EGIT] [core/efl] master 01/04: edje - signal matcvhes - fix null deref when patterns is NULL

2015-08-12 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 761d6fa192b3912ef2ae787d955f605e4e657536
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Sun Aug 9 10:29:28 2015 +0900

edje - signal matcvhes - fix null deref when patterns is NULL

ok. i found this once-ever-seen thing where
Edje_Signal_Callback_Matches has ALL fields NULL/0 except refcount was
huge (like 13834275 or something like that). i can't see why at the
moment, but defend against it to avoid crashes here by handling these
being null
---
 src/lib/edje/edje_program.c | 62 ++---
 src/lib/edje/edje_signal.c  |  3 +--
 2 files changed, 32 insertions(+), 33 deletions(-)

diff --git a/src/lib/edje/edje_program.c b/src/lib/edje/edje_program.c
index bf719a0..0c97e21 100644
--- a/src/lib/edje/edje_program.c
+++ b/src/lib/edje/edje_program.c
@@ -1442,47 +1442,47 @@ _edje_emit_cb(Edje *ed, const char *sig, const char 
*src, Edje_Message_Signal_Da
ed-walking_callbacks++;
 
ssp = _edje_signal_callback_patterns_ref(ed-callbacks);
+   if (ssp)
+ {
+m = (Edje_Signal_Callback_Matches *)ed-callbacks-matches;
+EINA_REFCOUNT_REF(m);
 
-   m = (Edje_Signal_Callback_Matches *)ed-callbacks-matches;
-   EINA_REFCOUNT_REF(m);
-
-   callback_extra_data = (data) ? data-data : NULL;
+callback_extra_data = (data) ? data-data : NULL;
 
-   if (eina_inarray_count(ssp-u.callbacks.globing))
- r = edje_match_callback_exec(ssp,
-  m-matches,
-  sig,
-  src,
-  ed,
-  prop);
+if (eina_inarray_count(ssp-u.callbacks.globing))
+  r = edje_match_callback_exec(ssp,
+   m-matches,
+   sig,
+   src,
+   ed,
+   prop);
 
-   if (!r)
- goto break_prog;
+if (!r) goto break_prog;
 
-   match = edje_match_signal_source_hash_get(sig, src,
- ssp-exact_match);
-   if (match)
- {
-const Edje_Signal_Callback_Match *cb;
-unsigned int *i;
+match = edje_match_signal_source_hash_get(sig, src,
+  ssp-exact_match);
+if (match)
+  {
+ const Edje_Signal_Callback_Match *cb;
+ unsigned int *i;
 
-EINA_INARRAY_FOREACH(match, i)
-{
-   if (ed-callbacks-flags[*i].delete_me) continue;
-   if ((prop)  (ed-callbacks-flags[*i].propagate)) continue;
+ EINA_INARRAY_FOREACH(match, i)
+   {
+  if (ed-callbacks-flags[*i].delete_me) continue;
+  if ((prop)  (ed-callbacks-flags[*i].propagate)) continue;
 
-   cb = m-matches[*i];
+  cb = m-matches[*i];
 
-   cb-func((void *)ed-callbacks-custom_data[*i], ed-obj, sig, src);
-   if (_edje_block_break(ed))
- break;
-}
- }
+  cb-func((void *)ed-callbacks-custom_data[*i], ed-obj, 
sig, src);
+  if (_edje_block_break(ed)) break;
+   }
+  }
 
 break_prog:
-   _edje_signal_callback_matches_unref(m);
+_edje_signal_callback_matches_unref(m);
 
-   _edje_signal_callback_patterns_unref(ssp);
+_edje_signal_callback_patterns_unref(ssp);
+ }
 
ed-walking_callbacks--;
 
diff --git a/src/lib/edje/edje_signal.c b/src/lib/edje/edje_signal.c
index e92787f..ccefc7f 100644
--- a/src/lib/edje/edje_signal.c
+++ b/src/lib/edje/edje_signal.c
@@ -406,8 +406,7 @@ _edje_signal_callback_patterns_ref(const 
Edje_Signal_Callback_Group *gp)
 
 got_it:
tmp = (Edje_Signal_Callback_Matches *)gp-matches;
-
-   EINA_REFCOUNT_REF(tmp-patterns);
+   if (tmp-patterns) EINA_REFCOUNT_REF(tmp-patterns);
return gp-matches-patterns;
 }
 

-- 




[EGIT] [core/elementary] master 01/01: map: convert docs

2015-08-12 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=99d1e3e9923f3aab3e83fa8ed9decf4858a2d9b5

commit 99d1e3e9923f3aab3e83fa8ed9decf4858a2d9b5
Author: Daniel Kolesa d.kol...@osg.samsung.com
Date:   Wed Aug 12 17:12:16 2015 +0100

map: convert docs
---
 src/lib/elm_map.eo | 881 -
 1 file changed, 329 insertions(+), 552 deletions(-)

diff --git a/src/lib/elm_map.eo b/src/lib/elm_map.eo
index 9c6e9dc..e0d682a 100644
--- a/src/lib/elm_map.eo
+++ b/src/lib/elm_map.eo
@@ -6,770 +6,547 @@ class Elm.Map (Elm.Widget, Elm_Interface_Scrollable,
methods {
   @property zoom {
  set {
-/*@
-Set the zoom level of the map.
+[[Set the zoom level of the map.
 
-This sets the zoom level.
+  This sets the zoom level.
 
-It will respect limits defined by elm_map_zoom_min_set() and
-elm_map_zoom_max_set().
+  It will respect limits defined by @.zoom_min.set and
+  @.zoom_max.set.
 
-By default these values are 0 (world map) and 18 (maximum zoom).
+  By default these values are 0 (world map) and 18 (maximum zoom).
 
-This function should be used when zoom mode is set to 
#ELM_MAP_ZOOM_MODE_MANUAL.
-This is the default mode, and can be set with 
elm_map_zoom_mode_set().
-
-@see elm_map_zoom_mode_set()
-@see elm_map_zoom_get()
-
-@ingroup Map */
+  This function should be used when zoom mode is set to
+  #ELM_MAP_ZOOM_MODE_MANUAL. This is the default mode, and
+  can be set with @.zoom_mode.set.
+]]
  }
  get {
-/*@
-Get the zoom level of the map.
-
-@return The current zoom level.
-
-This returns the current zoom level of the map object.
+[[Get the zoom level of the map.
 
-Note that if you set the fill mode to other than 
#ELM_MAP_ZOOM_MODE_MANUAL
-(which is the default), the zoom level may be changed at any time 
by the
-map object itself to account for map size and map viewport size.
+  This returns the current zoom level of the map object.
 
-@see elm_map_zoom_set() for details.
-
-@ingroup Map */
+  Note that if you set the fill mode to other than
+  #ELM_MAP_ZOOM_MODE_MANUAL (which is the default), the zoom
+  level may be changed at any time by the map object itself
+  to account for map size and map viewport size.
+]]
  }
  values {
-zoom: int; /*@ The zoom level to set. */
+zoom: int; [[The zoom level.]]
  }
   }
   @property paused {
  set {
-/*@
-Pause or unpause the map.
-
-This sets the paused state to on ($true) or off ($false)
-for map.
+[[Pause or unpause the map.
 
-The default is off.
+  This sets the paused state to on ($true) or off ($false)
+  for map.
 
-This will stop zooming using animation, changing zoom levels will
-change instantly. This will stop any existing animations that are 
running.
+  The default is off.
 
-@see elm_map_paused_get()
-
-@ingroup Map */
+  This will stop zooming using animation, changing zoom levels
+  will change instantly. This will stop any existing animations
+  that are running.
+]]
  }
  get {
-/*@
-Get a value whether map is paused or not.
-
-@return $true means map is pause. $false indicates
-it is not.
+[[Get a value whether map is paused or not.
 
-This gets the current paused state for the map object.
-
-@see elm_map_paused_set() for details.
-
-@ingroup Map */
+  This gets the current paused state for the map object.
+]]
  }
  values {
-paused: bool; /*@ Use $true to pause the map $obj or $false
-to unpause it. */
+paused: bool; [[Use $true to pause the map $obj or $false
+to unpause it.]]
  }
   }
   @property wheel_disabled {
  set {
-/*@
-Enable or disable mouse wheel to be used to zoom in / out the map.
-
-Mouse wheel can be used for the user to zoom in or zoom out the 
map.
-
-Wheel is enabled by default.
+[[Enable or disable mouse wheel to be used to zoom in / out the
+  map.
 
-@see elm_map_wheel_disabled_get()
-
-@ingroup Map */
+  Wheel is enabled by default.
+]]
  }
  get 

[EGIT] [core/elementary] master 01/01: datetime: convert docs

2015-08-12 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=a5c647037730cfb25b5bcc8a3593125f24c06f32

commit a5c647037730cfb25b5bcc8a3593125f24c06f32
Author: Daniel Kolesa d.kol...@osg.samsung.com
Date:   Wed Aug 12 13:45:30 2015 +0100

datetime: convert docs
---
 src/lib/elm_datetime.eo | 289 +---
 1 file changed, 127 insertions(+), 162 deletions(-)

diff --git a/src/lib/elm_datetime.eo b/src/lib/elm_datetime.eo
index c5a2b44..d40bd35 100644
--- a/src/lib/elm_datetime.eo
+++ b/src/lib/elm_datetime.eo
@@ -19,18 +19,23 @@ class Elm.Datetime (Elm.Layout)
methods {
   @property format {
  set {
-/*@
-Set the datetime format. Format is a combination of allowed Libc 
date format
-specifiers like: %b %d, %Y %I : %M %p.
+[[Set the datetime format. Format is a combination of allowed
+  Libc date format specifiers like: %b %d, %Y %I : %M %p.
 
-Maximum allowed format length is 64 chars.
+  Maximum allowed format length is 64 chars.
 
-Format can include separators for each individual datetime field 
except
-for AM/PM field.
+  Format can include separators for each individual datetime
+  field except for AM/PM field.
 
-Each separator can be a maximum of 6 UTF-8 bytes.
-Space is also taken as a separator.
+  Each separator can be a maximum of 6 UTF-8 bytes.
+  Space is also taken as a separator.
 
+  These specifiers can be arranged in any order and the widget
+  will display the fields accordingly.
+
+  Default format is taken as per the system locale settings.
+]]
+/* FIXME-doc
 Following are the allowed set of format specifiers for each 
datetime field.
 
 @b %%Y : The year as a decimal number including the century.
@@ -84,239 +89,199 @@ class Elm.Datetime (Elm.Layout)
 @b %%D : The date using the format %%m/%%d/%%y.
 
 @b %%F : The date using the format %%Y-%%m-%%d.
-
-These specifiers can be arranged in any order and the widget will 
display the
-fields accordingly.
-
-Default format is taken as per the system locale settings.
-
-@see elm_datetime_format_get()
-@ingroup Datetime */
+*/
  }
  get {
-/*@ Get the datetime format. */
+[[Get the datetime format.]]
  }
  values {
-fmt: const(char)* @nullable; /*@ The datetime format */
+fmt: const(char)* @nullable; [[The datetime format.]]
  }
   }
   field_limit_set {
- /*@
- @brief Set the field limits of a field.
+ [[Set the field limits of a field.
 
- Limits can be set to individual fields, independently, except for 
AM/PM field.
- Any field can display the values only in between these Minimum and 
Maximum limits unless
- the corresponding time value is restricted from MinTime to MaxTime.
- That is, Min/ Max field limits always works under the limitations of 
MinTime/ MaxTime.
-
- There is no provision to set the limits of AM/PM field.
-
- @see elm_datetime_field_limit_set()
- @ingroup Datetime */
+   Limits can be set to individual fields, independently, except
+   for AM/PM field. Any field can display the values only in between
+   these minimum and maximum limits unless the corresponding time
+   value is restricted from MinTime to MaxTime. That is, min/max
+   field limits always works under the limitations of mintime/maxtime.
 
+   There is no provision to set the limits of AM/PM field.
+ ]]
  params {
-@in fieldtype: Elm.Datetime.Field_Type; /*@ Type of the field. 
#ELM_DATETIME_YEAR etc. */
-@in min: int; /*@ Reference to field's minimum value */
-@in max: int; /*@ Reference to field's maximum value */
+@in fieldtype: Elm.Datetime.Field_Type; [[Type of the field. 
#ELM_DATETIME_YEAR etc.]]
+@in min: int; [[Reference to field's minimum value.]]
+@in max: int; [[Reference to field's maximum value.]]
  }
   }
   field_limit_get @const {
- /*@
- @brief Get the field limits of a field.
-
- Limits can be set to individual fields, independently, except for 
AM/PM field.
- Any field can display the values only in between these Minimum and 
Maximum limits unless
- the corresponding time value is restricted from MinTime to MaxTime.
- That is, Min/ Max field limits always works under the limitations of 
MinTime/ MaxTime.
+ [[ Get the field limits of a field.
 
- There is no provision to set the limits of AM/PM field.
+   

[EGIT] [core/enlightenment] master 01/01: enlightenment: Remove legacy unused e_pixmap_image_draw_done function

2015-08-12 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit cb622b8a7ab9383c040c4745618bd68970e74a25
Author: Chris Michael cp.mich...@samsung.com
Date:   Wed Aug 12 14:19:47 2015 -0400

enlightenment: Remove legacy unused e_pixmap_image_draw_done function

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/bin/e_pixmap.c | 15 ---
 1 file changed, 15 deletions(-)

diff --git a/src/bin/e_pixmap.c b/src/bin/e_pixmap.c
index 2d5943e..48dc771 100644
--- a/src/bin/e_pixmap.c
+++ b/src/bin/e_pixmap.c
@@ -842,21 +842,6 @@ e_pixmap_image_draw(E_Pixmap *cp, const Eina_Rectangle *r)
return EINA_FALSE;
 }
 
-E_API void 
-e_pixmap_image_draw_done(E_Pixmap *cp)
-{
-   EINA_SAFETY_ON_NULL_RETURN(cp);
-
-#ifdef HAVE_WAYLAND
-   struct wl_shm_buffer *shm_buffer;
-
-   shm_buffer = wl_shm_buffer_get(cp-buffer_ref.buffer-resource);
-   if (!shm_buffer) return;
-
-   wl_shm_buffer_end_access(shm_buffer);
-#endif
-}
-
 E_API void
 e_pixmap_image_opaque_set(E_Pixmap *cp, int x, int y, int w, int h)
 {

-- 




[EGIT] [apps/express] master 03/08: express: Start on media support for movies

2015-08-12 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=fd8e9efa2bf049aab9d63243b4e10c30cc677894

commit fd8e9efa2bf049aab9d63243b4e10c30cc677894
Author: Chris Michael cp.mich...@samsung.com
Date:   Wed Aug 12 12:26:07 2015 -0400

express: Start on media support for movies

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/bin/media.c | 285 ++--
 1 file changed, 277 insertions(+), 8 deletions(-)

diff --git a/src/bin/media.c b/src/bin/media.c
index 25d7a4d..e020d70 100644
--- a/src/bin/media.c
+++ b/src/bin/media.c
@@ -33,6 +33,8 @@ struct _Media
Ecore_Timer *anim_tmr;
Ecore_Timer *smooth_tmr;
 
+   Ecore_Job *restart_job;
+
Media_Type type;
 
struct 
@@ -44,6 +46,7 @@ struct _Media
Eina_Bool nosmooth : 1;
Eina_Bool downloading : 1;
Eina_Bool queued : 1;
+   Eina_Bool pos_drag : 1;
 };
 
 static Evas_Smart *_smart = NULL;
@@ -581,6 +584,269 @@ _smooth_handler(Evas_Object *obj)
 }
 
 static void 
+_mov_type_calc(Media *sd, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord 
h)
+{
+   if (!sd) return;
+
+   evas_object_move(sd-o_ctrl, x, y);
+   evas_object_resize(sd-o_ctrl, w, h);
+
+   emotion_object_size_get(sd-o_img, (sd-iw), (sd-ih));
+   if ((w = 0) || (h = 0) || (sd-iw = 0) || (sd-ih = 0))
+ {
+w = 1;
+h = 1;
+ }
+   else
+ {
+int iw = 1, ih = 1;
+double ratio;
+
+ratio = emotion_object_ratio_get(sd-o_img);
+if (ratio  0.0) sd-iw = (sd-ih * ratio) + 0.5;
+else ratio = (double)sd-iw / (double)sd-ih;
+
+if ((sd-mode  MEDIA_SIZE_MASK) == MEDIA_BG)
+  {
+ iw = w;
+ ih = w / ratio;
+ if (ih  h)
+   {
+  ih = h;
+  iw = h * ratio;
+  if (iw  w) iw = w;
+   }
+  }
+else if ((sd-mode  MEDIA_SIZE_MASK) == MEDIA_POP)
+  {
+ iw = w;
+ ih = w / ratio;
+ if (ih  h)
+   {
+  ih = h;
+  iw = h * ratio;
+  if (iw  w) iw = w;
+   }
+  }
+else if ((sd-mode  MEDIA_SIZE_MASK) == MEDIA_STRETCH)
+  {
+ iw = w;
+ ih = h;
+  }
+x += ((w - iw) / 2);
+y += ((h - ih) / 2);
+w = iw;
+h = ih;
+ }
+
+   evas_object_move(sd-o_img, x, y);
+   evas_object_resize(sd-o_img, w, h);
+}
+
+static void
+_mov_cb_frame_decode(void *data, Evas_Object *obj EINA_UNUSED, void *event 
EINA_UNUSED)
+{
+   Media *sd;
+   Evas_Coord x, y, w, h;
+   double len, pos;
+
+   if (!(sd = evas_object_smart_data_get(data))) return;
+
+   evas_object_geometry_get(data, x, y, w, h);
+   evas_object_show(sd-o_img);
+   evas_object_show(sd-o_clip);
+
+   _mov_type_calc(sd, x, y, w, h);
+
+   if (sd-pos_drag) return;
+
+   len = emotion_object_play_length_get(sd-o_img);
+   pos = emotion_object_position_get(sd-o_img);
+   pos /= len;
+
+   edje_object_part_drag_value_set(sd-o_ctrl, express.posdrag, pos, pos);
+}
+
+static void
+_mov_cb_frame_resize(void *data, Evas_Object *obj EINA_UNUSED, void *event 
EINA_UNUSED)
+{
+   Media *sd;
+   Evas_Coord x, y, w, h;
+
+   if (!(sd = evas_object_smart_data_get(data))) return;
+   evas_object_geometry_get(data, x, y, w, h);
+   _mov_type_calc(sd, x, y, w, h);
+}
+
+static void
+_mov_cb_restart(void *data)
+{
+   Media *sd;
+
+   if (!(sd = evas_object_smart_data_get(data))) return;
+   sd-restart_job = NULL;
+   emotion_object_position_set(sd-o_img, 0.0);
+   emotion_object_play_set(sd-o_img, EINA_TRUE);
+}
+
+static void
+_mov_cb_decode_stop(void *data, Evas_Object *obj EINA_UNUSED, void *event 
EINA_UNUSED)
+{
+   Media *sd;
+
+   if (!(sd = evas_object_smart_data_get(data))) return;
+   if (sd-restart_job) ecore_job_del(sd-restart_job);
+   sd-restart_job = ecore_job_add(_mov_cb_restart, data);
+   evas_object_smart_callback_call(data, loop, NULL);
+}
+
+/* static void */
+/* _mov_cb_progress(void *data, Evas_Object *obj EINA_UNUSED, void *event 
EINA_UNUSED) */
+/* { */
+
+/* } */
+
+static void
+_mov_cb_play(void *data, Evas_Object *obj EINA_UNUSED, const char *emission 
EINA_UNUSED, const char *src EINA_UNUSED)
+{
+   _media_play_set(data, EINA_TRUE);
+}
+
+static void
+_mov_cb_pause(void *data, Evas_Object *obj EINA_UNUSED, const char *emission 
EINA_UNUSED, const char *src EINA_UNUSED)
+{
+   _media_play_set(data, EINA_FALSE);
+}
+
+static void
+_mov_cb_stop(void *data, Evas_Object *obj EINA_UNUSED, const char *emission 
EINA_UNUSED, const char *src EINA_UNUSED)
+{
+   _media_stop(data);
+}
+
+static void
+_mov_cb_vol(void *data, Evas_Object *obj EINA_UNUSED, const char *emission 
EINA_UNUSED, const char *src EINA_UNUSED)
+{
+   Media *sd;
+   double vx, vy;
+
+   if (!(sd = evas_object_smart_data_get(data))) return;
+
+   

[EGIT] [apps/express] master 05/08: express: Add media control part to express default theme

2015-08-12 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=4b45acb50cf59347d5808b5ac1a190b7739460d4

commit 4b45acb50cf59347d5808b5ac1a190b7739460d4
Author: Chris Michael cp.mich...@samsung.com
Date:   Wed Aug 12 13:02:01 2015 -0400

express: Add media control part to express default theme

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 data/themes/default.edc | 326 +++-
 1 file changed, 325 insertions(+), 1 deletion(-)

diff --git a/data/themes/default.edc b/data/themes/default.edc
index c82896e..6fd64ee 100644
--- a/data/themes/default.edc
+++ b/data/themes/default.edc
@@ -2007,6 +2007,7 @@ collections
}
 
  /* TODO: bell */
+ /* TODO: popmedia */
   }
 programs
   {
@@ -3656,6 +3657,329 @@ collections
target: fade;
 }
}
-}
+ }
+
+   group
+ {
+name: express/mediactrl;
+images
+  {
+ image: media_bg.png COMP;
+ image: media_play.png COMP;
+ image: media_stop.png COMP;
+ image: media_pause.png COMP;
+ image: media_line.png COMP;
+ image: media_knob_vol.png COMP;
+ image: media_knob_pos.png COMP;
+  }
+parts
+  {
+ part
+   {
+  name: clip;
+  type: RECT;
+  mouse_events: 0;
+  description
+{
+   state: default 0.0;
+   rel1.to: background;
+   rel2.to: background;
+}
+   }
+ part
+   {
+  name: background;
+  clip_to: clip;
+  description
+{
+   state: default 0.0;
+   image.normal: media_bg.png;
+   image.border: 11 11 11 11;
+   min: 24 24;
+   max: 24 24;
+   align: 1.0 0.0;
+}
+  description
+{
+   state: expanded 0.0;
+   inherit: default 0.0;
+   min: 216 24;
+   max: 216 24;
+}
+   }
+ part
+   {
+  name: play;
+  mouse_events: 1;
+  repeat_events: 1;
+  clip_to: clip;
+  description
+{
+   state: default 0.0;
+   image.normal: media_pause.png;
+   max: 24 24;
+   align: 1.0 0.0;
+}
+  description
+{
+   state: paused 0.0;
+   inherit: default 0.0;
+   image.normal: media_play.png;
+}
+   }
+ part
+   {
+  name: stop;
+  mouse_events: 1;
+  repeat_events: 1;
+  clip_to: clip;
+  description
+{
+   state: default 0.0;
+   image.normal: media_stop.png;
+   max: 24 24;
+   rel1.to: play;
+   rel1.offset: -16 0;
+   rel2.to: play;
+   rel2.offset: -16 0;
+}
+   }
+ part
+   {
+  name: posline;
+  mouse_events: 1;
+  repeat_events: 1;
+  clip_to: clip;
+  description
+{
+   state: default 0.0;
+   image.normal: media_line.png;
+   image.border: 15 15 0 0;
+   min: 90 14;
+   max: 90 14;
+   rel1.to: stop;
+   rel1.offset: -25 0;
+   rel2.to: stop;
+   rel2.offset: -90 0;
+}
+   }
+ part
+   {
+  name: express.posdrag;
+  mouse_events: 0;
+  repeat_events: 1;
+  clip_to: clip;
+  dragable
+{
+   confine: posline;
+   x: 1 1 0;
+   y: 0 0 0;
+}
+  description
+{
+   state: default 0.0;
+   image.normal: media_knob_pos.png;
+   min: 14 14;
+   max: 14 14;
+}
+  

[EGIT] [core/enlightenment] master 01/02: force copy rendering for argb wayland clients

2015-08-12 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit f29410b0840b753d20f687e7f37d16bbca1f7b49
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Wed Aug 12 14:12:04 2015 -0400

force copy rendering for argb wayland clients

wayland protocol for shm handling is broken for now and I can't fix
real issues because of the constant crashing when buffers disappear
randomly
---
 src/bin/e_comp_object.c | 10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index b812cbc..c683e48 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -3473,7 +3473,15 @@ e_comp_object_render(Evas_Object *obj)
  RENDER_DEBUG(UPDATE [%p] %i %i %ix%i, cw-ec, r-x, r-y, r-w, 
r-h);
   }
 /* set pixel data */
-evas_object_image_data_set(cw-obj, pix);
+if (e_comp-comp_type == E_PIXMAP_TYPE_WL)
+  {
+#warning FIXME BROKEN WAYLAND SHM BUFFER PROTOCOL
+ evas_object_image_data_copy_set(cw-obj, pix);
+ pix = evas_object_image_data_get(cw-obj, 0);
+ evas_object_image_data_set(cw-obj, pix);
+  }
+else
+  evas_object_image_data_set(cw-obj, pix);
 EINA_LIST_FOREACH(cw-obj_mirror, l, o)
   {
  evas_object_image_data_set(o, pix);

-- 




[EGIT] [apps/express] master 08/08: express: Disable Color config options in config toolbar

2015-08-12 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=67bd8aa4919656f272494d131a7d91a00d83ab7a

commit 67bd8aa4919656f272494d131a7d91a00d83ab7a
Author: Chris Michael cp.mich...@samsung.com
Date:   Wed Aug 12 13:18:10 2015 -0400

express: Disable Color config options in config toolbar

Summary: Disabling option to config colors (for now) as it's not
implemented yet anyway

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/bin/options.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/options.c b/src/bin/options.c
index f2cc944..e19cf3a 100644
--- a/src/bin/options.c
+++ b/src/bin/options.c
@@ -172,7 +172,7 @@ _options_toggle(Evas_Object *win, Evas_Object *base, 
Evas_Object *grid, void (*c
 elm_toolbar_item_selected_set(o_itm, EINA_TRUE);
 
 TB_APPEND(preferences-desktop-font, Font, FONT);
-TB_APPEND(preferences-desktop-theme, Colors, COLORS);
+/* TB_APPEND(preferences-desktop-theme, Colors, COLORS); */
 TB_APPEND(video-display, Video, VIDEO);
 TB_APPEND(preferences-system-network, Networks, NETWORKS);
 #undef TB_APPEND

-- 




[EGIT] [apps/express] master 06/08: express: Add config options for video engine used for movie media playback

2015-08-12 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=b045e197da7a6c9fb0698b7e31e438ad7b6658df

commit b045e197da7a6c9fb0698b7e31e438ad7b6658df
Author: Chris Michael cp.mich...@samsung.com
Date:   Wed Aug 12 13:17:20 2015 -0400

express: Add config options for video engine used for movie media playback

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/bin/options_video.c | 106 +++-
 1 file changed, 104 insertions(+), 2 deletions(-)

diff --git a/src/bin/options_video.c b/src/bin/options_video.c
index dbf8833..9d081df 100644
--- a/src/bin/options_video.c
+++ b/src/bin/options_video.c
@@ -1,10 +1,36 @@
 #include private.h
 #include options_video.h
+#include config.h
+
+static void
+_cb_mute_changed(void *data EINA_UNUSED, Evas_Object *obj, void *event 
EINA_UNUSED)
+{
+   _ex_cfg-video.muted = elm_check_state_get(obj);
+   _config_save();
+}
+
+static void
+_cb_visual_changed(void *data EINA_UNUSED, Evas_Object *obj, void *event 
EINA_UNUSED)
+{
+   _ex_cfg-video.visualized = elm_check_state_get(obj);
+   _config_save();
+}
+
+static void
+_cb_module_changed(void *data EINA_UNUSED, Evas_Object *obj, void *event 
EINA_UNUSED)
+{
+   int v;
+
+   v = elm_radio_value_get(obj);
+   if (v == _ex_cfg-video.module) return;
+   _ex_cfg-video.module = v;
+   _config_save();
+}
 
 void 
 _options_video(Evas_Object *box, Evas_Object *grid EINA_UNUSED)
 {
-   Evas_Object *o_frame, *vbox, *o;
+   Evas_Object *o_frame, *vbox, *o, *o_mod;
 
/* video frame */
o_frame = elm_frame_add(box);
@@ -21,12 +47,88 @@ _options_video(Evas_Object *box, Evas_Object *grid 
EINA_UNUSED)
elm_object_content_set(o_frame, vbox);
evas_object_show(vbox);
 
+   o = elm_check_add(box);
+   WEIGHT_SET(o, EVAS_HINT_EXPAND, 0.0);
+   ALIGN_SET(o, EVAS_HINT_FILL, 0.5);
+   elm_object_text_set(o, Audio Muted);
+   elm_check_state_set(o, _ex_cfg-video.muted);
+   evas_object_smart_callback_add(o, changed, _cb_mute_changed, NULL);
+   elm_box_pack_end(vbox, o);
+   evas_object_show(o);
+
+   o = elm_check_add(box);
+   WEIGHT_SET(o, EVAS_HINT_EXPAND, 0.0);
+   ALIGN_SET(o, EVAS_HINT_FILL, 0.5);
+   elm_object_text_set(o, Audio Visualized);
+   elm_check_state_set(o, _ex_cfg-video.visualized);
+   evas_object_smart_callback_add(o, changed, _cb_visual_changed, NULL);
+   elm_box_pack_end(vbox, o);
+   evas_object_show(o);
+
+   o = elm_separator_add(box);
+   WEIGHT_SET(o, EVAS_HINT_EXPAND, 0.0);
+   ALIGN_SET(o, EVAS_HINT_FILL, 0.5);
+   elm_separator_horizontal_set(o, EINA_TRUE);
+   elm_box_pack_end(vbox, o);
+   evas_object_show(o);
+
o = elm_label_add(box);
WEIGHT_SET(o, EVAS_HINT_EXPAND, 0.0);
ALIGN_SET(o, 0.0, EVAS_HINT_FILL);
-   elm_object_text_set(o, Video Engine);
+   elm_object_text_set(o, Video Engine:);
elm_box_pack_end(vbox, o);
evas_object_show(o);
 
+   o_mod = o = elm_radio_add(box);
+   WEIGHT_SET(o, EVAS_HINT_EXPAND, 0.0);
+   ALIGN_SET(o, EVAS_HINT_FILL, 0.5);
+   elm_object_text_set(o, Automatic);
+   elm_radio_state_value_set(o, 0);
+   evas_object_smart_callback_add(o, changed, _cb_module_changed, NULL);
+   elm_box_pack_end(vbox, o);
+   evas_object_show(o);
+
+   o = elm_radio_add(box);
+   WEIGHT_SET(o, EVAS_HINT_EXPAND, 0.0);
+   ALIGN_SET(o, EVAS_HINT_FILL, 0.5);
+   elm_object_text_set(o, Gstreamer);
+   elm_radio_state_value_set(o, 1);
+   elm_radio_group_add(o, o_mod);
+   evas_object_smart_callback_add(o, changed, _cb_module_changed, NULL);
+   elm_box_pack_end(vbox, o);
+   evas_object_show(o);
+
+   o = elm_radio_add(box);
+   WEIGHT_SET(o, EVAS_HINT_EXPAND, 0.0);
+   ALIGN_SET(o, EVAS_HINT_FILL, 0.5);
+   elm_object_text_set(o, Xine);
+   elm_radio_state_value_set(o, 2);
+   elm_radio_group_add(o, o_mod);
+   evas_object_smart_callback_add(o, changed, _cb_module_changed, NULL);
+   elm_box_pack_end(vbox, o);
+   evas_object_show(o);
+
+   o = elm_radio_add(box);
+   WEIGHT_SET(o, EVAS_HINT_EXPAND, 0.0);
+   ALIGN_SET(o, EVAS_HINT_FILL, 0.5);
+   elm_object_text_set(o, VLC);
+   elm_radio_state_value_set(o, 3);
+   elm_radio_group_add(o, o_mod);
+   evas_object_smart_callback_add(o, changed, _cb_module_changed, NULL);
+   elm_box_pack_end(vbox, o);
+   evas_object_show(o);
+
+   o = elm_radio_add(box);
+   WEIGHT_SET(o, EVAS_HINT_EXPAND, 0.0);
+   ALIGN_SET(o, EVAS_HINT_FILL, 0.5);
+   elm_object_text_set(o, Gstreamer 1.X);
+   elm_radio_state_value_set(o, 4);
+   elm_radio_group_add(o, o_mod);
+   evas_object_smart_callback_add(o, changed, _cb_module_changed, NULL);
+   elm_box_pack_end(vbox, o);
+   evas_object_show(o);
+
+   elm_radio_value_set(o, _ex_cfg-video.module);
+
elm_box_pack_end(box, o_frame);
 }

-- 




[EGIT] [apps/express] master 04/08: express: Add images for media control to theme

2015-08-12 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=b63268e9d019c124965f80bcb8d6a78e0e3a9e37

commit b63268e9d019c124965f80bcb8d6a78e0e3a9e37
Author: Chris Michael cp.mich...@samsung.com
Date:   Wed Aug 12 12:31:07 2015 -0400

express: Add images for media control to theme

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 data/themes/images/Makefile.am|  10 --
 data/themes/images/media_bg.png   | Bin 0 - 1171 bytes
 data/themes/images/media_knob_pos.png | Bin 0 - 660 bytes
 data/themes/images/media_knob_vol.png | Bin 0 - 693 bytes
 data/themes/images/media_line.png | Bin 0 - 471 bytes
 data/themes/images/media_pause.png| Bin 0 - 250 bytes
 data/themes/images/media_play.png | Bin 0 - 293 bytes
 data/themes/images/media_stop.png | Bin 0 - 243 bytes
 8 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/data/themes/images/Makefile.am b/data/themes/images/Makefile.am
index 84b56da..1b6745b 100644
--- a/data/themes/images/Makefile.am
+++ b/data/themes/images/Makefile.am
@@ -42,5 +42,11 @@ tab_shad_l1.png \
 tab_shad_l2.png \
 tab_shad_r0.png \
 tab_shad_r1.png \
-tab_shad_r2.png
-
+tab_shad_r2.png \
+media_bg.png \
+media_play.png \
+media_stop.png \
+media_pause.png \
+media_line.png \
+media_knob_vol.png \
+media_knob_pos.png
diff --git a/data/themes/images/media_bg.png b/data/themes/images/media_bg.png
new file mode 100644
index 000..00642a2
Binary files /dev/null and b/data/themes/images/media_bg.png differ
diff --git a/data/themes/images/media_knob_pos.png 
b/data/themes/images/media_knob_pos.png
new file mode 100644
index 000..52b333d
Binary files /dev/null and b/data/themes/images/media_knob_pos.png differ
diff --git a/data/themes/images/media_knob_vol.png 
b/data/themes/images/media_knob_vol.png
new file mode 100644
index 000..db8b273
Binary files /dev/null and b/data/themes/images/media_knob_vol.png differ
diff --git a/data/themes/images/media_line.png 
b/data/themes/images/media_line.png
new file mode 100644
index 000..96381ed
Binary files /dev/null and b/data/themes/images/media_line.png differ
diff --git a/data/themes/images/media_pause.png 
b/data/themes/images/media_pause.png
new file mode 100644
index 000..ed5e7ba
Binary files /dev/null and b/data/themes/images/media_pause.png differ
diff --git a/data/themes/images/media_play.png 
b/data/themes/images/media_play.png
new file mode 100644
index 000..5a924b4
Binary files /dev/null and b/data/themes/images/media_play.png differ
diff --git a/data/themes/images/media_stop.png 
b/data/themes/images/media_stop.png
new file mode 100644
index 000..727e0e2
Binary files /dev/null and b/data/themes/images/media_stop.png differ

-- 




[EGIT] [apps/express] master 07/08: express: Re-enable Video options in config toolbar

2015-08-12 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=ef0fa3fb134265f8a82166c8bd6b49b63dcad8c8

commit ef0fa3fb134265f8a82166c8bd6b49b63dcad8c8
Author: Chris Michael cp.mich...@samsung.com
Date:   Wed Aug 12 13:17:39 2015 -0400

express: Re-enable Video options in config toolbar

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/bin/options.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/options.c b/src/bin/options.c
index 2710234..f2cc944 100644
--- a/src/bin/options.c
+++ b/src/bin/options.c
@@ -173,7 +173,7 @@ _options_toggle(Evas_Object *win, Evas_Object *base, 
Evas_Object *grid, void (*c
 
 TB_APPEND(preferences-desktop-font, Font, FONT);
 TB_APPEND(preferences-desktop-theme, Colors, COLORS);
-/* TB_APPEND(video-display, Video, VIDEO); */
+TB_APPEND(video-display, Video, VIDEO);
 TB_APPEND(preferences-system-network, Networks, NETWORKS);
 #undef TB_APPEND
 

-- 




[EGIT] [core/elementary] master 01/01: entry: fix since tag for entry_input_panel_show_on_demand_set()

2015-08-12 Thread Amitesh Singh
ami pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=0c502c735f52d93a0a2fbd9af1cc52247299addd

commit 0c502c735f52d93a0a2fbd9af1cc52247299addd
Author: Amitesh Singh amitesh...@samsung.com
Date:   Wed Aug 12 23:43:29 2015 +0530

entry: fix since tag for entry_input_panel_show_on_demand_set()
---
 src/lib/elm_entry.eo | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/lib/elm_entry.eo b/src/lib/elm_entry.eo
index 33819e1..9dd9e36 100644
--- a/src/lib/elm_entry.eo
+++ b/src/lib/elm_entry.eo
@@ -124,6 +124,8 @@ class Elm.Entry (Elm.Layout, Elm_Interface_Scrollable, 
Evas.Clickable_Interface,
  set {
 [[Set the attribute to show the input panel in case of only an 
user's explicit Mouse Up event.
   It doesn't request to show the input panel even though it has 
focus.
+
+  @since 1.9
 ]]
  }
  get {
@@ -135,8 +137,7 @@ class Elm.Entry (Elm.Layout, Elm_Interface_Scrollable, 
Evas.Clickable_Interface,
  values {
 ondemand: bool; [[If true, the input panel will be shown in case 
of only Mouse up event.
 (Focus event will be ignored.)
-
-@since 1.9.]]
+]]
  }
   }
   @property context_menu_disabled {

-- 




[EGIT] [core/enlightenment] master 01/04: break out wl client motion sending, force motion events during x11 drags

2015-08-12 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 5bc8376fb5d2bfea72dea093def1ef39b40497bf
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Wed Aug 12 14:56:55 2015 -0400

break out wl client motion sending, force motion events during x11 drags

weird, but fixes xwl drag positioning
---
 src/bin/e_comp_wl.c | 36 +++-
 1 file changed, 23 insertions(+), 13 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index bdabb80..08dcbcb 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -224,32 +224,38 @@ _e_comp_wl_evas_cb_mouse_out(void *data, Evas *evas 
EINA_UNUSED, Evas_Object *ob
 }
 
 static void
-_e_comp_wl_evas_cb_mouse_move(void *data, Evas *evas EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED, void *event)
+_e_comp_wl_send_mouse_move(E_Client *ec, int x, int y, unsigned int timestamp)
 {
-   E_Client *ec;
-   Evas_Event_Mouse_Move *ev;
struct wl_resource *res;
struct wl_client *wc;
Eina_List *l;
 
-   ev = event;
-   if (!(ec = data)) return;
-   if (ec-cur_mouse_action) return;
-   if (e_object_is_del(E_OBJECT(ec))) return;
-   if (ec-ignored) return;
-   if (!ec-comp_data-surface) return;
-
wc = wl_resource_get_client(ec-comp_data-surface);
EINA_LIST_FOREACH(e_comp-wl_comp_data-ptr.resources, l, res)
  {
 if (!e_comp_wl_input_pointer_check(res)) continue;
 if (wl_resource_get_client(res) != wc) continue;
-wl_pointer_send_motion(res, ev-timestamp,
-   wl_fixed_from_int(ev-cur.canvas.x - 
ec-client.x),
-   wl_fixed_from_int(ev-cur.canvas.y - 
ec-client.y));
+wl_pointer_send_motion(res, timestamp,
+   wl_fixed_from_int(x - ec-client.x),
+   wl_fixed_from_int(y - ec-client.y));
  }
 }
 
+static void
+_e_comp_wl_evas_cb_mouse_move(void *data, Evas *evas EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED, void *event)
+{
+   E_Client *ec = data;
+   Evas_Event_Mouse_Move *ev = event;
+
+   if (ec-cur_mouse_action) return;
+   if (e_object_is_del(E_OBJECT(ec))) return;
+   if (ec-ignored) return;
+   if (!ec-comp_data-surface) return;
+
+   if ((!e_comp-wl_comp_data-drag_client) || 
(!e_client_has_xwindow(e_comp-wl_comp_data-drag_client)))
+ _e_comp_wl_send_mouse_move(ec, ev-cur.canvas.x, ev-cur.canvas.y, 
ev-timestamp);
+}
+
 static Eina_Bool
 _e_comp_wl_evas_handle_mouse_button(E_Client *ec, uint32_t timestamp, uint32_t 
button_id, uint32_t state)
 {
@@ -915,6 +921,10 @@ _e_comp_wl_cb_mouse_move(void *d EINA_UNUSED, int t 
EINA_UNUSED, Ecore_Event_Mou
 y = ev-y - e_comp-wl_comp_data-selection.target-client.y;
 wl_data_device_send_motion(res, ev-timestamp, wl_fixed_from_int(x), 
wl_fixed_from_int(y));
  }
+   if (e_comp-wl_comp_data-drag 
+   e_comp-wl_comp_data-drag_client 
+   e_client_has_xwindow(e_comp-wl_comp_data-drag_client))
+ _e_comp_wl_send_mouse_move(e_comp-wl_comp_data-drag_client, ev-x, 
ev-y, ev-timestamp);
return ECORE_CALLBACK_RENEW;
 }
 

-- 




[EGIT] [core/enlightenment] master 04/04: track button mask for all drags, only end drag when mask has depopulated

2015-08-12 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=442d63d8d6ec2e3623f377945da36eeba0885c50

commit 442d63d8d6ec2e3623f377945da36eeba0885c50
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Wed Aug 12 15:39:42 2015 -0400

track button mask for all drags, only end drag when mask has depopulated

previously, beginning a drag with the left button, then pressing and
releasing another button would result in the drag terminating without
the original button being released
---
 src/bin/e_client.c   | 1 +
 src/bin/e_comp_wl_data.c | 1 +
 src/bin/e_dnd.c  | 5 +
 src/bin/e_dnd.h  | 1 +
 src/bin/e_fm.c   | 3 ++-
 src/bin/e_gadcon.c   | 1 +
 src/bin/e_int_menus.c| 1 +
 src/modules/gadman/e_mod_gadman.c| 1 +
 src/modules/ibar/e_mod_main.c| 1 +
 src/modules/ibox/e_mod_main.c| 1 +
 src/modules/pager/e_mod_main.c   | 2 ++
 src/modules/pager_plain/e_mod_main.c | 2 ++
 src/modules/xwayland/dnd.c   | 1 +
 13 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index 20fa998..96103f9 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -3015,6 +3015,7 @@ e_client_mouse_move(E_Client *ec, Evas_Point *output)
 drag_types, 1, ec, -1,
 NULL,
 _e_client_cb_drag_finished);
+   client_drag-button_mask = 
evas_pointer_button_down_mask_get(e_comp-evas);
e_drag_resize(client_drag, w, h);
 
o = e_client_icon_add(ec, client_drag-evas);
diff --git a/src/bin/e_comp_wl_data.c b/src/bin/e_comp_wl_data.c
index 3c2ad61..1a92288 100644
--- a/src/bin/e_comp_wl_data.c
+++ b/src/bin/e_comp_wl_data.c
@@ -364,6 +364,7 @@ _e_comp_wl_data_device_cb_drag_start(struct wl_client 
*client, struct wl_resourc
evas_pointer_canvas_xy_get(e_comp-evas, x, y);
e_comp-wl_comp_data-drag = e_drag_new(x, y,
NULL, 0, NULL, 0, NULL, 
_e_comp_wl_data_device_drag_finished);
+   e_comp-wl_comp_data-drag-button_mask = 
evas_pointer_button_down_mask_get(e_comp-evas);
if (ec)
  e_drag_object_set(e_comp-wl_comp_data-drag, ec-frame);
e_drag_start(e_comp-wl_comp_data-drag, x, y);
diff --git a/src/bin/e_dnd.c b/src/bin/e_dnd.c
index ea74c1c..7a2324b 100644
--- a/src/bin/e_dnd.c
+++ b/src/bin/e_dnd.c
@@ -1197,6 +1197,11 @@ _e_dnd_cb_mouse_up(void *data EINA_UNUSED, int type 
EINA_UNUSED, void *event)
 
if (ev-window != _drag_win) return ECORE_CALLBACK_PASS_ON;
 
+   if (_drag_current  _drag_current-button_mask)
+ {
+_drag_current-button_mask = ~(1  (ev-buttons - 1));
+if (_drag_current-button_mask) return ECORE_CALLBACK_RENEW;
+ }
_e_drag_end(ev-x, ev-y);
 
return ECORE_CALLBACK_PASS_ON;
diff --git a/src/bin/e_dnd.h b/src/bin/e_dnd.h
index 3baa9b0..a02d4ab 100644
--- a/src/bin/e_dnd.h
+++ b/src/bin/e_dnd.h
@@ -44,6 +44,7 @@ struct _E_Drag
 
intx, y, w, h;
intdx, dy;
+   unsigned int   button_mask;
 
E_Layerlayer;
unsigned char  visible : 1;
diff --git a/src/bin/e_fm.c b/src/bin/e_fm.c
index ea820e3..cc89a33 100644
--- a/src/bin/e_fm.c
+++ b/src/bin/e_fm.c
@@ -7562,7 +7562,7 @@ _e_fm2_cb_icon_mouse_out(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj EINA_
 }
 
 static void
-_e_fm2_cb_icon_mouse_move(void *data, Evas *e EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_info)
+_e_fm2_cb_icon_mouse_move(void *data, Evas *e, Evas_Object *obj EINA_UNUSED, 
void *event_info)
 {
Evas_Event_Mouse_Move *ev;
E_Fm2_Icon *ic;
@@ -7699,6 +7699,7 @@ _e_fm2_cb_icon_mouse_move(void *data, Evas *e 
EINA_UNUSED, Evas_Object *obj EINA
 
  d = e_drag_new(0, 0, drag_types, 1,
 sel, sel_length, NULL, _e_fm2_cb_drag_finished);
+ d-button_mask = evas_pointer_button_down_mask_get(e);
  if (layout)
d-x = ic-sd-x, d-y = ic-sd-y;
  else
diff --git a/src/bin/e_gadcon.c b/src/bin/e_gadcon.c
index 9ec7d79..cf49ca8 100644
--- a/src/bin/e_gadcon.c
+++ b/src/bin/e_gadcon.c
@@ -2302,6 +2302,7 @@ _e_gadcon_client_drag_begin(E_Gadcon_Client *gcc, int x, 
int y)
   drag_types, 1, gcc, -1, NULL,
   e_gadcon_drag_finished_cb);
if (!drag) return;
+   drag-button_mask = evas_pointer_button_down_mask_get(e_comp-evas);
 
o = gcc-client_class-func.icon((E_Gadcon_Client_Class *)gcc-client_class,
 e_drag_evas_get(drag));
diff --git a/src/bin/e_int_menus.c b/src/bin/e_int_menus.c
index 1bfb848..7c50a2c 100644
--- a/src/bin/e_int_menus.c
+++ 

[EGIT] [core/enlightenment] master 02/04: make wl client mouse button handler fn external

2015-08-12 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=48be7016adf9cca770437f9fc19ea8093d0cccf9

commit 48be7016adf9cca770437f9fc19ea8093d0cccf9
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Wed Aug 12 15:04:45 2015 -0400

make wl client mouse button handler fn external
---
 src/bin/e_comp_wl.c | 98 ++---
 src/bin/e_comp_wl.h |  1 +
 2 files changed, 50 insertions(+), 49 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 08dcbcb..12c60ca 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -256,60 +256,13 @@ _e_comp_wl_evas_cb_mouse_move(void *data, Evas *evas 
EINA_UNUSED, Evas_Object *o
  _e_comp_wl_send_mouse_move(ec, ev-cur.canvas.x, ev-cur.canvas.y, 
ev-timestamp);
 }
 
-static Eina_Bool
-_e_comp_wl_evas_handle_mouse_button(E_Client *ec, uint32_t timestamp, uint32_t 
button_id, uint32_t state)
-{
-   Eina_List *l;
-   struct wl_client *wc;
-   uint32_t serial, btn;
-   struct wl_resource *res;
-
-   if (ec-cur_mouse_action || ec-border_menu || e_comp-wl_comp_data-drag) 
return EINA_FALSE;
-   if (e_object_is_del(E_OBJECT(ec))) return EINA_FALSE;
-   if (ec-ignored) return EINA_FALSE;
-
-   switch (button_id)
- {
-  case 1:
-btn = BTN_LEFT;
-break;
-  case 2:
-btn = BTN_MIDDLE;
-break;
-  case 3:
-btn = BTN_RIGHT;
-break;
-  default:
-btn = button_id;
-break;
- }
-
-   e_comp-wl_comp_data-ptr.button = btn;
-
-   if (!ec-comp_data-surface) return EINA_FALSE;
-
-   if (!eina_list_count(e_comp-wl_comp_data-ptr.resources))
- return EINA_TRUE;
-
-   wc = wl_resource_get_client(ec-comp_data-surface);
-   serial = wl_display_next_serial(e_comp-wl_comp_data-wl.disp);
-
-   EINA_LIST_FOREACH(e_comp-wl_comp_data-ptr.resources, l, res)
- {
-if (wl_resource_get_client(res) != wc) continue;
-if (!e_comp_wl_input_pointer_check(res)) continue;
-wl_pointer_send_button(res, serial, timestamp, btn, state);
- }
-   return EINA_TRUE;
-}
-
 static void
 _e_comp_wl_evas_cb_mouse_down(void *data, Evas *evas EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED, void *event)
 {
E_Client *ec = data;
Evas_Event_Mouse_Down *ev = event;
 
-   _e_comp_wl_evas_handle_mouse_button(ec, ev-timestamp, ev-button,
+   e_comp_wl_evas_handle_mouse_button(ec, ev-timestamp, ev-button,
WL_POINTER_BUTTON_STATE_PRESSED);
 }
 
@@ -319,7 +272,7 @@ _e_comp_wl_evas_cb_mouse_up(void *data, Evas *evas 
EINA_UNUSED, Evas_Object *obj
E_Client *ec = data;
Evas_Event_Mouse_Up *ev = event;
 
-   _e_comp_wl_evas_handle_mouse_button(ec, ev-timestamp, ev-button,
+   e_comp_wl_evas_handle_mouse_button(ec, ev-timestamp, ev-button,
WL_POINTER_BUTTON_STATE_RELEASED);
 }
 
@@ -3161,6 +3114,53 @@ e_comp_wl_key_up(Ecore_Event_Key *ev)
return !!ec;
 }
 
+E_API Eina_Bool
+e_comp_wl_evas_handle_mouse_button(E_Client *ec, uint32_t timestamp, uint32_t 
button_id, uint32_t state)
+{
+   Eina_List *l;
+   struct wl_client *wc;
+   uint32_t serial, btn;
+   struct wl_resource *res;
+
+   if (ec-cur_mouse_action || ec-border_menu || e_comp-wl_comp_data-drag) 
return EINA_FALSE;
+   if (e_object_is_del(E_OBJECT(ec))) return EINA_FALSE;
+   if (ec-ignored) return EINA_FALSE;
+
+   switch (button_id)
+ {
+  case 1:
+btn = BTN_LEFT;
+break;
+  case 2:
+btn = BTN_MIDDLE;
+break;
+  case 3:
+btn = BTN_RIGHT;
+break;
+  default:
+btn = button_id;
+break;
+ }
+
+   e_comp-wl_comp_data-ptr.button = btn;
+
+   if (!ec-comp_data-surface) return EINA_FALSE;
+
+   if (!eina_list_count(e_comp-wl_comp_data-ptr.resources))
+ return EINA_TRUE;
+
+   wc = wl_resource_get_client(ec-comp_data-surface);
+   serial = wl_display_next_serial(e_comp-wl_comp_data-wl.disp);
+
+   EINA_LIST_FOREACH(e_comp-wl_comp_data-ptr.resources, l, res)
+ {
+if (wl_resource_get_client(res) != wc) continue;
+if (!e_comp_wl_input_pointer_check(res)) continue;
+wl_pointer_send_button(res, serial, timestamp, btn, state);
+ }
+   return EINA_TRUE;
+}
+
 EINTERN void
 e_comp_wl_xwayland_client_queue(E_Client *ec)
 {
diff --git a/src/bin/e_comp_wl.h b/src/bin/e_comp_wl.h
index c55d163..e105fa2 100644
--- a/src/bin/e_comp_wl.h
+++ b/src/bin/e_comp_wl.h
@@ -333,6 +333,7 @@ E_API void e_comp_wl_output_remove(const char *id);
 
 EINTERN Eina_Bool e_comp_wl_key_down(Ecore_Event_Key *ev);
 EINTERN Eina_Bool e_comp_wl_key_up(Ecore_Event_Key *ev);
+E_API Eina_Bool e_comp_wl_evas_handle_mouse_button(E_Client *ec, uint32_t 
timestamp, uint32_t button_id, uint32_t state);
 
 # ifndef HAVE_WAYLAND_ONLY
 EINTERN void e_comp_wl_xwayland_client_queue(E_Client *ec);

-- 




[EGIT] [apps/express] master 01/04: express: Add function for returning the active url link in a grid

2015-08-12 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=92c57067c4dc31496811642a2270028904af10db

commit 92c57067c4dc31496811642a2270028904af10db
Author: Chris Michael cp.mich...@samsung.com
Date:   Wed Aug 12 15:58:50 2015 -0400

express: Add function for returning the active url link in a grid

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/bin/grid.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/bin/grid.h b/src/bin/grid.h
index 2023005..f189a3c 100644
--- a/src/bin/grid.h
+++ b/src/bin/grid.h
@@ -182,6 +182,7 @@ void _grid_theme_set(Evas_Object *obj, Evas_Object *theme);
 void _grid_resize(Evas_Object *obj, int nw, int nh);
 void _grid_text_append(Evas_Object *obj, const char *txt, int len, Row_Color 
*color);
 void _grid_nicklen_set(Evas_Object *obj, int len);
+const char *_grid_link_get(Evas_Object *obj);
 
 #define GRID_CELLS(SD, X, Y) \
   SD-cells[X + (((Y + SD-circular_offset) % SD-h) * SD-w)]

-- 




[EGIT] [apps/express] master 04/04: express: Add popmedia controls to default theme

2015-08-12 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=13ca55f4b4a64db9cb22f30594bb81cd04930177

commit 13ca55f4b4a64db9cb22f30594bb81cd04930177
Author: Chris Michael cp.mich...@samsung.com
Date:   Wed Aug 12 16:00:48 2015 -0400

express: Add popmedia controls to default theme

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 data/themes/default.edc | 284 +++-
 1 file changed, 282 insertions(+), 2 deletions(-)

diff --git a/data/themes/default.edc b/data/themes/default.edc
index 6fd64ee..4c43cb6 100644
--- a/data/themes/default.edc
+++ b/data/themes/default.edc
@@ -2007,7 +2007,229 @@ collections
}
 
  /* TODO: bell */
- /* TODO: popmedia */
+
+ part
+   {
+  name: popmedia_clip;
+  type: RECT;
+  mouse_events: 1;
+  description
+{
+   state: default 0.0;
+   fixed: 1 1;
+   visible: 0;
+   color: 255 255 255 0;
+}
+  description
+{
+   state: visible 0.0;
+   inherit: default 0.0;
+   visible: 1;
+   color: 255 255 255 255;
+}
+   }
+ part
+   {
+  name: popmedia_shadow;
+  mouse_events: 0;
+  description
+{
+   state: default 0.0;
+   fixed: 1 1;
+   rel1.to: express.popmedia;
+   rel2.to: express.popmedia;
+   image
+ {
+normal: pm_shadow.png;
+border: 64 64 64 64;
+border_scale_by: 0.1;
+ }
+   fill.smooth: 0;
+   visible: 0;
+}
+  description
+{
+   state: visible 0.0;
+   inherit: default 0.0;
+   visible: 1;
+   rel1.offset: -32 -32;
+   rel2.offset: 31 31;
+   image.border_scale_by: 1.0;
+}
+   }
+ part
+   {
+  name: popmedia_fill;
+  mouse_events: 0;
+  description
+{
+   state: default 0.0;
+   fixed: 1 1;
+   rel1.to: express.popmedia;
+   rel2.to: express.popmedia;
+   image.normal: pm_fill.png;
+   fill
+ {
+size.relative: 0.0 0.0;
+size.offset: 64 64;
+ }
+}
+   }
+ part
+   {
+  name: express.popmedia;
+  type: SWALLOW;
+  clip_to: popmedia_clip;
+  description
+{
+   state: default 0.0;
+   fixed: 1 1;
+   rel1.relative: 0.5 0.5;
+   rel2.relative: 0.5 0.5;
+   visible: 0;
+}
+  description
+{
+   state: visible 0.0;
+   inherit: default 0.0;
+   rel1.relative: 0.1 0.1;
+   rel2.relative: 0.9 0.9;
+   visible: 1;
+}
+   }
+ part
+   {
+  name: popmedia_overlay;
+  mouse_events: 0;
+  description
+{
+   state: default 0.0;
+   fixed: 1 1;
+   rel1.to: express.popmedia;
+   rel2.to: express.popmedia;
+   image.normal: pm_overlay.png;
+   fill.smooth: 0;
+   visible: 0;
+}
+  description
+{
+   state: visible 0.0;
+   inherit: default 0.0;
+   visible: 1;
+}
+   }
+ part
+   {
+  name: popmedia_bevel;
+  mouse_events: 0;
+  description
+{
+   state: default 0.0;
+   fixed: 1 1;
+   rel1.to: express.popmedia;
+   rel2.to: express.popmedia;
+   

[EGIT] [apps/express] master 03/04: express: Add support for popup media in a channel

2015-08-12 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/apps/express.git/commit/?id=4f746c9c85e39015f8cfe8882e7aad944fe8e02f

commit 4f746c9c85e39015f8cfe8882e7aad944fe8e02f
Author: Chris Michael cp.mich...@samsung.com
Date:   Wed Aug 12 15:59:42 2015 -0400

express: Add support for popup media in a channel

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/bin/channel.c | 129 ++
 1 file changed, 129 insertions(+)

diff --git a/src/bin/channel.c b/src/bin/channel.c
index 6668aa8..7be2383 100644
--- a/src/bin/channel.c
+++ b/src/bin/channel.c
@@ -6,6 +6,8 @@
 #include grid.h
 #include utils.h
 #include commands.h
+#include dbus.h
+#include media.h
 
 struct _Channel
 {
@@ -23,6 +25,7 @@ struct _Channel
Evas_Object *o_tabregion_base;
Evas_Object *o_img;
Evas_Object *o_entry;
+   Evas_Object *o_popmedia;
 
struct
  {
@@ -59,16 +62,125 @@ struct _Channel
int min_w, min_h;
int req_w, req_h;
 
+   Eina_List *popmedia_queue;
+
Eina_Bool active : 1;
Eina_Bool size_done : 1;
Eina_Bool translucent : 1;
Eina_Bool focused : 1;
Eina_Bool unswallowed : 1;
Eina_Bool missed : 1;
+   Eina_Bool popmedia_deleted : 1;
 
Express_Network *net;
 };
 
+static void _channel_popmedia(Channel *chl, const char *src);
+
+static void
+_cb_popmedia_loop(void *data, Evas_Object *obj EINA_UNUSED, void *event 
EINA_UNUSED)
+{
+   Channel *chl;
+
+   chl = data;
+   if (chl-popmedia_queue)
+ {
+if (chl-o_popmedia) _media_play_set(chl-o_popmedia, EINA_FALSE);
+edje_object_signal_emit(chl-o_bg, popmedia,off, PACKAGE_NAME);
+ }
+}
+
+static void
+_cb_popmedia_del(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event EINA_UNUSED)
+{
+   Channel *chl;
+
+   chl = data;
+   chl-o_popmedia = NULL;
+   chl-popmedia_deleted = EINA_TRUE;
+   edje_object_signal_emit(chl-o_bg, popmedia,off, PACKAGE_NAME);
+}
+
+static void
+_channel_popmedia_queue_process(Channel *chl)
+{
+   const char *src;
+
+   if (!chl-popmedia_queue) return;
+   src = chl-popmedia_queue-data;
+   chl-popmedia_queue =
+ eina_list_remove_list(chl-popmedia_queue, chl-popmedia_queue);
+   if (!src) return;
+   _channel_popmedia(chl, src);
+   eina_stringshare_del(src);
+}
+
+static void
+_cb_popmedia_done(void *data, Evas_Object *obj EINA_UNUSED, const char 
*emission EINA_UNUSED, const char *src EINA_UNUSED)
+{
+   Channel *chl;
+
+   chl = data;
+   if ((chl-o_popmedia) || (chl-popmedia_deleted))
+ {
+if (chl-o_popmedia)
+  {
+ evas_object_event_callback_del(chl-o_popmedia, EVAS_CALLBACK_DEL,
+_cb_popmedia_del);
+ evas_object_del(chl-o_popmedia);
+ chl-o_popmedia = NULL;
+  }
+chl-popmedia_deleted = EINA_FALSE;
+_channel_popmedia_queue_process(chl);
+ }
+}
+
+static void
+_channel_popmedia_show(Channel *chl, const char *src, Media_Type type)
+{
+   _dbus_link_hide();
+
+   if (chl-o_popmedia)
+ {
+const char *s;
+
+EINA_LIST_FREE(chl-popmedia_queue, s)
+  eina_stringshare_del(s);
+
+chl-popmedia_queue =
+  eina_list_append(chl-popmedia_queue, eina_stringshare_add(src));
+
+edje_object_signal_emit(chl-o_bg, popmedia,off, PACKAGE_NAME);
+
+return;
+ }
+
+   chl-o_popmedia = _media_add(chl-o_win, src, MEDIA_POP, type);
+   chl-popmedia_deleted = EINA_FALSE;
+   evas_object_smart_callback_add(chl-o_popmedia, loop,
+  _cb_popmedia_loop, chl);
+   evas_object_event_callback_add(chl-o_popmedia, EVAS_CALLBACK_DEL,
+  _cb_popmedia_del, chl);
+   edje_object_part_swallow(chl-o_bg, express.popmedia, chl-o_popmedia);
+   evas_object_show(chl-o_popmedia);
+
+   edje_object_signal_emit(chl-o_bg, popmedia,on, PACKAGE_NAME);
+}
+
+static void
+_channel_popmedia(Channel *chl, const char *src)
+{
+   Media_Type type;
+
+   type = _media_src_type_get(src);
+   if (type == MEDIA_TYPE_UNKNOWN)
+ {
+
+ }
+   else
+ _channel_popmedia_show(chl, src, type);
+}
+
 static void 
 _cb_theme_reload(Channel *chl)
 {
@@ -138,6 +250,19 @@ _cb_next(void *data, Evas_Object *obj EINA_UNUSED, void 
*event EINA_UNUSED)
  }
 }
 
+static void
+_cb_popup(void *data, Evas_Object *obj EINA_UNUSED, void *event)
+{
+   Channel *chl;
+   const char *src;
+
+   chl = data;
+   src = event;
+   if (!src) src = _grid_link_get(chl-o_grid);
+   if (!src) return;
+   _channel_popmedia(chl, src);
+}
+
 static void 
 _cb_count_go(void *data, Evas_Object *obj EINA_UNUSED, const char *sig 
EINA_UNUSED, const char *source EINA_UNUSED)
 {
@@ -646,6 +771,7 @@ _channel_create(Evas *evas, Evas_Object *win, const char 
*name, const char *serv
evas_object_smart_callback_add(chl-o_grid, options, _cb_options, chl);
evas_object_smart_callback_add(chl-o_grid, prev,