From: Enlightenment S. <no-...@en...> - 2012-08-13 14:37:33
|
Log: Elm: We should also add the wayland cflags and libs here (if support is built for that). Author: devilhorns Date: 2012-08-13 07:37:23 -0700 (Mon, 13 Aug 2012) New Revision: 75216 Trac: http://trac.enlightenment.org/e/changeset/75216 Modified: trunk/elementary/src/lib/Makefile.am Modified: trunk/elementary/src/lib/Makefile.am =================================================================== --- trunk/elementary/src/lib/Makefile.am 2012-08-13 14:36:25 UTC (rev 75215) +++ trunk/elementary/src/lib/Makefile.am 2012-08-13 14:37:23 UTC (rev 75216) @@ -25,6 +25,7 @@ @ELEMENTARY_EMAP_CFLAGS@ \ @ELEMENTARY_ECORE_CON_CFLAGS@ \ @ELEMENTARY_ECORE_IMF_CFLAGS@ \ +@ELEMENTARY_WAYLAND_CFLAGS@ \ @EVIL_CFLAGS@ \ @EIO_CFLAGS@ \ @EMOTION_CFLAGS@ @@ -298,6 +299,7 @@ @ELEMENTARY_EMAP_LIBS@ \ @ELEMENTARY_ECORE_IMF_LIBS@ \ @ELEMENTARY_ECORE_CON_LIBS@ \ +@ELEMENTARY_WAYLAND_LIBS@ \ @EVIL_LIBS@ \ @EIO_LIBS@ \ @EMOTION_LIBS@ \ |
From: Enlightenment S. <no-...@en...> - 2012-08-15 10:57:38
|
Log: Elm: Add fullscreen handling :) Basically, we will remove the frame when going into fullscreen, and readd when we leave fullscreen. When we remove the frame, then during window redraw the appropriate fullscreen size will be calculated. This allows proper fullscreening. Author: devilhorns Date: 2012-08-15 03:57:31 -0700 (Wed, 15 Aug 2012) New Revision: 75294 Trac: http://trac.enlightenment.org/e/changeset/75294 Modified: trunk/elementary/src/lib/elm_win.c Modified: trunk/elementary/src/lib/elm_win.c =================================================================== --- trunk/elementary/src/lib/elm_win.c 2012-08-15 10:55:35 UTC (rev 75293) +++ trunk/elementary/src/lib/elm_win.c 2012-08-15 10:57:31 UTC (rev 75294) @@ -1971,8 +1971,45 @@ _elm_win_frame_cb_maximize, sd); edje_object_signal_callback_add (sd->frame_obj, "elm,action,close", "elm", _elm_win_frame_cb_close, sd); + + if (sd->title) + { + edje_object_part_text_escaped_set + (sd->frame_obj, "elm.text.title", sd->title); + } } +static void +_elm_win_frame_del(Elm_Win_Smart_Data *sd) +{ + if (sd->frame_obj) + { + edje_object_signal_callback_del + (sd->frame_obj, "elm,action,move,start", "elm", + _elm_win_frame_cb_move_start); + edje_object_signal_callback_del + (sd->frame_obj, "elm,action,resize,show", "*", + _elm_win_frame_cb_resize_show); + edje_object_signal_callback_del + (sd->frame_obj, "elm,action,resize,start", "*", + _elm_win_frame_cb_resize_start); + edje_object_signal_callback_del + (sd->frame_obj, "elm,action,minimize", "elm", + _elm_win_frame_cb_minimize); + edje_object_signal_callback_del + (sd->frame_obj, "elm,action,maximize", "elm", + _elm_win_frame_cb_maximize); + edje_object_signal_callback_del + (sd->frame_obj, "elm,action,close", "elm", + _elm_win_frame_cb_close); + + evas_object_del(sd->frame_obj); + sd->frame_obj = NULL; + } + + evas_output_framespace_set(sd->evas, 0, 0, 0, 0); +} + #ifdef ELM_DEBUG static void _debug_key_down(void *data __UNUSED__, @@ -2927,6 +2964,24 @@ else { sd->fullscreen = fullscreen; + + if (fullscreen) + { + if (ENGINE_COMPARE(ELM_WAYLAND_SHM)) + _elm_win_frame_del(sd); + else if (ENGINE_COMPARE(ELM_WAYLAND_EGL)) + _elm_win_frame_del(sd); + } + else + { + if (ENGINE_COMPARE(ELM_WAYLAND_SHM)) + _elm_win_frame_add(sd, "default"); + else if (ENGINE_COMPARE(ELM_WAYLAND_EGL)) + _elm_win_frame_add(sd, "default"); + + evas_object_show(sd->frame_obj); + } + TRAP(sd, fullscreen_set, fullscreen); #ifdef HAVE_ELEMENTARY_X _elm_win_xwin_update(sd); |
From: Enlightenment S. <no-...@en...> - 2012-08-22 09:21:38
|
Log: Elm: Fix window inline test on wayland engines. Fix checks for image object when we have a frame. Author: devilhorns Date: 2012-08-22 02:21:28 -0700 (Wed, 22 Aug 2012) New Revision: 75531 Trac: http://trac.enlightenment.org/e/changeset/75531 Modified: trunk/elementary/src/lib/elm_win.c Modified: trunk/elementary/src/lib/elm_win.c =================================================================== --- trunk/elementary/src/lib/elm_win.c 2012-08-22 09:20:54 UTC (rev 75530) +++ trunk/elementary/src/lib/elm_win.c 2012-08-22 09:21:28 UTC (rev 75531) @@ -475,10 +475,11 @@ evas_output_framespace_get(sd->evas, NULL, NULL, &fw, &fh); evas_object_resize(sd->frame_obj, w + fw, h + fh); } - else if (sd->img_obj) - { - } + /* if (sd->img_obj) */ + /* { */ + /* } */ + evas_object_resize(ELM_WIDGET_DATA(sd)->obj, w, h); EINA_LIST_FOREACH(sd->resize_objs, l, obj) { @@ -695,10 +696,11 @@ { edje_object_signal_emit(sd->frame_obj, "elm,action,focus", "elm"); } - else if (sd->img_obj) - { - /* do nothing */ - } + + /* do nothing */ + /* else if (sd->img_obj) */ + /* { */ + /* } */ } static void @@ -720,10 +722,11 @@ { edje_object_signal_emit(sd->frame_obj, "elm,action,unfocus", "elm"); } - else if (sd->img_obj) - { - /* do nothing */ - } + + /* do nothing */ + /* if (sd->img_obj) */ + /* { */ + /* } */ } static void @@ -973,7 +976,7 @@ { evas_object_hide(sd->frame_obj); } - else if (sd->img_obj) + if (sd->img_obj) { evas_object_hide(sd->img_obj); } @@ -1253,7 +1256,7 @@ { evas_object_show(sd->frame_obj); } - else if (sd->img_obj) + if (sd->img_obj) { evas_object_show(sd->img_obj); } @@ -1298,11 +1301,11 @@ } if (sd->frame_obj) { + /* FIXME: We should update ecore_wl_window_location here !! */ sd->screen.x = x; sd->screen.y = y; } - /* FIXME: We should update ecore_wl_window_location here !! */ - else if (sd->img_obj) + if (sd->img_obj) { sd->screen.x = x; sd->screen.y = y; |
From: Enlightenment S. <no-...@en...> - 2012-08-22 12:37:33
|
Log: Elm: Fix track_resize_cb to actually resize the popup with the proper evas_object_resize call. Not sure if this was a fat-finger c/p issue, or just plain blindness/stupidity. How this remained in code for so long without anybody seeing it is beyond me. Author: devilhorns Date: 2012-08-22 05:37:21 -0700 (Wed, 22 Aug 2012) New Revision: 75544 Trac: http://trac.enlightenment.org/e/changeset/75544 Modified: trunk/elementary/src/lib/elm_slider.c Modified: trunk/elementary/src/lib/elm_slider.c =================================================================== --- trunk/elementary/src/lib/elm_slider.c 2012-08-22 11:56:12 UTC (rev 75543) +++ trunk/elementary/src/lib/elm_slider.c 2012-08-22 12:37:21 UTC (rev 75544) @@ -605,7 +605,7 @@ ELM_SLIDER_DATA_GET(data, sd); evas_object_geometry_get(obj, NULL, NULL, &w, &h); - evas_object_move(sd->popup, w, h); + evas_object_resize(sd->popup, w, h); } static void |
From: Enlightenment S. <no-...@en...> - 2012-08-22 12:45:54
|
Log: Elm: Fix slider popup to account for framespace. NB: This is done because of the way slider handles the popup (indicator). It is not getting trapped in the evas functions (or rather, the popup falls through the traps there) so framespace is not accounted on the popup, resulting in improper popup position when run in wayland. NB: This is the only widget known to need this. Author: devilhorns Date: 2012-08-22 05:45:44 -0700 (Wed, 22 Aug 2012) New Revision: 75546 Trac: http://trac.enlightenment.org/e/changeset/75546 Modified: trunk/elementary/src/lib/elm_slider.c Modified: trunk/elementary/src/lib/elm_slider.c =================================================================== --- trunk/elementary/src/lib/elm_slider.c 2012-08-22 12:41:44 UTC (rev 75545) +++ trunk/elementary/src/lib/elm_slider.c 2012-08-22 12:45:44 UTC (rev 75546) @@ -584,15 +584,17 @@ static void _track_move_cb(void *data, - Evas *e __UNUSED__, + Evas *e, Evas_Object *obj, void *event_info __UNUSED__) { Evas_Coord x, y; + int fy = 0; ELM_SLIDER_DATA_GET(data, sd); evas_object_geometry_get(obj, &x, &y, NULL, NULL); - evas_object_move(sd->popup, x, y); + evas_output_framespace_get(e, NULL, &fy, NULL, NULL); + evas_object_move(sd->popup, x, y - fy); } static void |
From: Enlightenment S. <no-...@en...> - 2012-08-22 12:48:57
|
Log: Elm: Remove some dead, commented out old code. Author: devilhorns Date: 2012-08-22 05:48:46 -0700 (Wed, 22 Aug 2012) New Revision: 75547 Trac: http://trac.enlightenment.org/e/changeset/75547 Modified: trunk/elementary/src/lib/elm_win.c Modified: trunk/elementary/src/lib/elm_win.c =================================================================== --- trunk/elementary/src/lib/elm_win.c 2012-08-22 12:45:44 UTC (rev 75546) +++ trunk/elementary/src/lib/elm_win.c 2012-08-22 12:48:46 UTC (rev 75547) @@ -2510,12 +2510,6 @@ evas_object_layer_set(obj, 50); evas_object_pass_events_set(obj, EINA_TRUE); - /* if (sd->frame_obj) */ - /* { */ - /* evas_object_clip_set(obj, sd->frame_obj); */ - /* evas_object_stack_below(sd->frame_obj, obj); */ - /* } */ - if (type == ELM_WIN_INLINED_IMAGE) elm_widget_parent2_set(obj, parent); |
From: Enlightenment S. <no-...@en...> - 2012-08-23 11:27:49
|
Log: Elm: Fix ticket 1363 (Cannot change focus with Shift+Tab when using the wayland engines). The focus handler which traps key events needs to listen for ISO_Left_Tab also (which is what xkb reports for Shift+Tab). Author: devilhorns Date: 2012-08-23 04:27:43 -0700 (Thu, 23 Aug 2012) New Revision: 75618 Trac: http://trac.enlightenment.org/e/changeset/75618 Modified: trunk/elementary/src/lib/elm_win.c Modified: trunk/elementary/src/lib/elm_win.c =================================================================== --- trunk/elementary/src/lib/elm_win.c 2012-08-23 11:25:45 UTC (rev 75617) +++ trunk/elementary/src/lib/elm_win.c 2012-08-23 11:27:43 UTC (rev 75618) @@ -886,7 +886,8 @@ return EINA_FALSE; current_focused = elm_widget_focused_object_get(obj); - if (!strcmp(ev->keyname, "Tab")) + if ((!strcmp(ev->keyname, "Tab")) || + (!strcmp(ev->keyname, "ISO_Left_Tab"))) { if (evas_key_modifier_is_set(ev->modifiers, "Shift")) elm_widget_focus_cycle(obj, ELM_FOCUS_PREVIOUS); |
From: Enlightenment S. <no-...@en...> - 2012-08-29 06:52:55
|
Log: Elementary: Copy-Paste support for Wayland Engines. NB: Based on patch from Alex <zhi...@in...>, but cleaned up for compiler warnings. Author: devilhorns Date: 2012-08-28 23:52:48 -0700 (Tue, 28 Aug 2012) New Revision: 75810 Trac: http://trac.enlightenment.org/e/changeset/75810 Modified: trunk/elementary/src/lib/elm_cnp.c trunk/elementary/src/lib/elm_entry.c Modified: trunk/elementary/src/lib/elm_cnp.c =================================================================== --- trunk/elementary/src/lib/elm_cnp.c 2012-08-29 06:35:02 UTC (rev 75809) +++ trunk/elementary/src/lib/elm_cnp.c 2012-08-29 06:52:48 UTC (rev 75810) @@ -98,19 +98,6 @@ static int _tmpinfo_free (Tmp_Info *tmp); static Eina_Bool _pasteimage_append (char *file, Evas_Object *entry); - - - - - - - - - -// x11 specific stuff -//////////////////////////////////////////////////////////////////////////// -#ifdef HAVE_ELEMENTARY_X -#define ARRAYINIT(foo) [foo] = //#define DEBUGON 1 #ifdef DEBUGON # define cnp_debug(x...) fprintf(stderr, __FILE__": " x) @@ -118,6 +105,11 @@ # define cnp_debug(x...) do { } while (0) #endif +// x11 specific stuff +//////////////////////////////////////////////////////////////////////////// +#ifdef HAVE_ELEMENTARY_X +#define ARRAYINIT(foo) [foo] = + typedef struct _X11_Cnp_Selection X11_Cnp_Selection; typedef struct _X11_Cnp_Atom X11_Cnp_Atom; @@ -1534,11 +1526,129 @@ #endif +#ifdef HAVE_ELEMENTARY_WAYLAND +typedef struct _Wl_Cnp_Selection Wl_Cnp_Selection; +struct _Wl_Cnp_Selection +{ + char *selbuf; + int buflen; + Evas_Object *widget; + Evas_Object *requestwidget; +}; +static Wl_Cnp_Selection wl_cnp_selection = {0, 0, NULL, NULL}; +static void +_wl_sel_obj_del2(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) +{ + Wl_Cnp_Selection *sel = data; + if (sel->requestwidget == obj) sel->requestwidget = NULL; +} +static Eina_Bool +_wl_elm_cnp_selection_set(Evas_Object *obj __UNUSED__, Elm_Sel_Type selection, Elm_Sel_Format format __UNUSED__, const void *selbuf, size_t buflen) +{ + const char *types[10] = {0, }; + + /* TODO: other EML_SEL_TYPE and ELM_SEL_FORMAT */ + if (ELM_SEL_TYPE_CLIPBOARD == selection) + { + types[0] = "text/plain;charset=utf-8"; + ecore_wl_dnd_set_selection(ecore_wl_dnd_get(), types); + + if (wl_cnp_selection.selbuf) free(wl_cnp_selection.selbuf); + wl_cnp_selection.selbuf = strdup((char*)selbuf); + wl_cnp_selection.buflen = buflen; + return EINA_TRUE; + } + + return EINA_FALSE; +} + +static Eina_Bool +_wl_elm_cnp_selection_get(Evas_Object *obj, Elm_Sel_Type selection, Elm_Sel_Format format __UNUSED__, Elm_Drop_Cb datacb __UNUSED__, void *udata __UNUSED__) +{ + /* For now, just avoid overlapped request */ + if (wl_cnp_selection.requestwidget) return EINA_FALSE; + + /* TODO: other EML_SEL_TYPE and ELM_SEL_FORMAT */ + if (ELM_SEL_TYPE_CLIPBOARD == selection) + { + wl_cnp_selection.requestwidget = obj; + evas_object_event_callback_add(wl_cnp_selection.requestwidget, EVAS_CALLBACK_DEL, + _wl_sel_obj_del2, &wl_cnp_selection); + ecore_wl_dnd_get_selection(ecore_wl_dnd_get(), "text/plain;charset=utf-8"); + } + return EINA_TRUE; +} + +static Eina_Bool +_wl_selection_send(void *udata, int type __UNUSED__, void *event) +{ + char *buf; + int ret, len_remained; + int len_written = 0; + Wl_Cnp_Selection *sel = udata; + Ecore_Wl_Event_Data_Source_Send *ev = event; + + len_remained = sel->buflen; + buf = sel->selbuf; + + while (len_written < sel->buflen) + { + ret = write(ev->fd, buf, len_remained); + if (ret == -1) break; + buf += ret; + len_written += ret; + len_remained -= ret; + } + + close(ev->fd); + return ECORE_CALLBACK_PASS_ON; +} + +static Eina_Bool +_wl_selection_receive(void *udata, int type __UNUSED__, void *event) +{ + Wl_Cnp_Selection *sel = udata; + Ecore_Wl_Event_Selection_Data_Ready *ev = event; + + if (sel->requestwidget) + { + if (!ev->done) + { + /* TODO BUG: should never NEVER assume it's an elm_entry! */ + _elm_entry_entry_paste(sel->requestwidget, ev->data); + } + else + { + evas_object_event_callback_del_full(sel->requestwidget, EVAS_CALLBACK_DEL, + _wl_sel_obj_del2, sel); + sel->requestwidget = NULL; + } + } + + return ECORE_CALLBACK_PASS_ON; +} + +static Eina_Bool _wl_elm_cnp_init(void) +{ + ecore_event_handler_add(ECORE_WL_EVENT_DATA_SOURCE_SEND, + _wl_selection_send, &wl_cnp_selection); + ecore_event_handler_add(ECORE_WL_EVENT_SELECTION_DATA_READY, + _wl_selection_receive, &wl_cnp_selection); + + return EINA_TRUE; +} +#endif + + + + + + //////////////////////////////////////////////////////////////////////////// // for local (Within 1 app/process) cnp (used by fb as fallback //////////////////////////////////////////////////////////////////////////// @@ -1711,10 +1821,17 @@ // common internal funcs //////////////////////////////////////////////////////////////////////////// static Eina_Bool -_elm_cnp_init(void) +_elm_cnp_init(Evas_Object *obj) { if (_elm_cnp_init_count > 0) return EINA_TRUE; _elm_cnp_init_count++; +#ifdef HAVE_ELEMENTARY_X + if (_x11_elm_widget_xwin_get(obj)) _x11_elm_cnp_init(); +#endif +#ifdef HAVE_ELEMENTARY_WAYLAND + if (elm_win_wl_window_get(obj)) _wl_elm_cnp_init(); +#endif + _local_elm_cnp_init(); text_uri = eina_stringshare_add("text/uri-list"); return EINA_TRUE; } @@ -1838,11 +1955,15 @@ Elm_Sel_Format format, const void *selbuf, size_t buflen) { if (selection > ELM_SEL_TYPE_CLIPBOARD) return EINA_FALSE; - if (!_elm_cnp_init_count) _elm_cnp_init(); + if (!_elm_cnp_init_count) _elm_cnp_init(obj); #ifdef HAVE_ELEMENTARY_X if (_x11_elm_widget_xwin_get(obj)) return _x11_elm_cnp_selection_set(obj, selection, format, selbuf, buflen); #endif +#ifdef HAVE_ELEMENTARY_WAYLAND + if (elm_win_wl_window_get(obj)) + return _wl_elm_cnp_selection_set(obj, selection, format, selbuf, buflen); +#endif return _local_elm_cnp_selection_set(obj, selection, format, selbuf, buflen); } @@ -1852,7 +1973,7 @@ const void *data) { if (selection > ELM_SEL_TYPE_CLIPBOARD) return; - if (!_elm_cnp_init_count) _elm_cnp_init(); + if (!_elm_cnp_init_count) _elm_cnp_init(obj); #ifdef HAVE_ELEMENTARY_X if (_x11_elm_widget_xwin_get(obj)) _x11_elm_cnp_selection_loss_callback_set(obj, selection, func, data); @@ -1864,7 +1985,7 @@ elm_object_cnp_selection_clear(Evas_Object *obj, Elm_Sel_Type selection) { if (selection > ELM_SEL_TYPE_CLIPBOARD) return EINA_FALSE; - if (!_elm_cnp_init_count) _elm_cnp_init(); + if (!_elm_cnp_init_count) _elm_cnp_init(obj); #ifdef HAVE_ELEMENTARY_X if (_x11_elm_widget_xwin_get(obj)) return _x11_elm_object_cnp_selection_clear(obj, selection); @@ -1877,11 +1998,15 @@ Elm_Sel_Format format, Elm_Drop_Cb datacb, void *udata) { if (selection > ELM_SEL_TYPE_CLIPBOARD) return EINA_FALSE; - if (!_elm_cnp_init_count) _elm_cnp_init(); + if (!_elm_cnp_init_count) _elm_cnp_init(obj); #ifdef HAVE_ELEMENTARY_X if (_x11_elm_widget_xwin_get(obj)) return _x11_elm_cnp_selection_get(obj, selection, format, datacb, udata); #endif +#ifdef HAVE_ELEMENTARY_WAYLAND + if (elm_win_wl_window_get(obj)) + return _wl_elm_cnp_selection_get(obj, selection, format, datacb, udata); +#endif return _local_elm_cnp_selection_get(obj, selection, format, datacb, udata); } @@ -1894,7 +2019,7 @@ elm_drop_target_add(Evas_Object *obj, Elm_Sel_Type format, Elm_Drop_Cb dropcb, void *cbdata) { - if (!_elm_cnp_init_count) _elm_cnp_init(); + if (!_elm_cnp_init_count) _elm_cnp_init(obj); #ifdef HAVE_ELEMENTARY_X if (_x11_elm_widget_xwin_get(obj)) return _x11_elm_drop_target_add(obj, format, dropcb, cbdata); @@ -1905,7 +2030,7 @@ EAPI Eina_Bool elm_drop_target_del(Evas_Object *obj) { - if (!_elm_cnp_init_count) _elm_cnp_init(); + if (!_elm_cnp_init_count) _elm_cnp_init(obj); #ifdef HAVE_ELEMENTARY_X if (_x11_elm_widget_xwin_get(obj)) return _x11_elm_drop_target_del(obj); @@ -1917,7 +2042,7 @@ elm_drag_start(Evas_Object *obj, Elm_Sel_Format format, const char *data, void (*dragdone) (void *data, Evas_Object *), void *donecbdata) { - if (!_elm_cnp_init_count) _elm_cnp_init(); + if (!_elm_cnp_init_count) _elm_cnp_init(obj); #ifdef HAVE_ELEMENTARY_X if (_x11_elm_widget_xwin_get(obj)) return _x11_elm_drag_start(obj, format, data, dragdone, donecbdata); @@ -1928,11 +2053,14 @@ EAPI Eina_Bool elm_selection_selection_has_owner(Evas_Object *obj) { - if (!_elm_cnp_init_count) _elm_cnp_init(); + if (!_elm_cnp_init_count) _elm_cnp_init(obj); #ifdef HAVE_ELEMENTARY_X if (_x11_elm_widget_xwin_get(obj)) return _x11_elm_selection_selection_has_owner(obj); #endif +#ifdef HAVE_ELEMENTARY_WAYLAND + return ecore_wl_dnd_selection_has_owner(ecore_wl_dnd_get()); +#endif return _local_elm_selection_selection_has_owner(obj); } Modified: trunk/elementary/src/lib/elm_entry.c =================================================================== --- trunk/elementary/src/lib/elm_entry.c 2012-08-29 06:35:02 UTC (rev 75809) +++ trunk/elementary/src/lib/elm_entry.c 2012-08-29 06:52:48 UTC (rev 75810) @@ -1274,6 +1274,18 @@ elm_cnp_selection_get(data, ELM_SEL_TYPE_CLIPBOARD, formats, NULL, NULL); #endif } + else + { +#ifdef HAVE_ELEMENTARY_WAYLAND + Elm_Sel_Format formats = ELM_SEL_FORMAT_MARKUP; + wd->selection_asked = EINA_TRUE; + if (wd->cnp_mode == ELM_CNP_MODE_PLAINTEXT) + formats = ELM_SEL_FORMAT_TEXT; + else if (wd->cnp_mode != ELM_CNP_MODE_NO_IMAGE) + formats |= ELM_SEL_FORMAT_IMAGE; + elm_cnp_selection_get(data, ELM_SEL_TYPE_CLIPBOARD, formats, NULL, NULL); +#endif + } } static void |
From: Enlightenment S. <no-...@en...> - 2012-08-29 07:15:43
|
Log: Elementary: Fix selection_has_owner function. Check for valid wl window. Thanks raster ;) Author: devilhorns Date: 2012-08-29 00:15:32 -0700 (Wed, 29 Aug 2012) New Revision: 75813 Trac: http://trac.enlightenment.org/e/changeset/75813 Modified: trunk/elementary/src/lib/elm_cnp.c Modified: trunk/elementary/src/lib/elm_cnp.c =================================================================== --- trunk/elementary/src/lib/elm_cnp.c 2012-08-29 07:14:05 UTC (rev 75812) +++ trunk/elementary/src/lib/elm_cnp.c 2012-08-29 07:15:32 UTC (rev 75813) @@ -2059,7 +2059,8 @@ return _x11_elm_selection_selection_has_owner(obj); #endif #ifdef HAVE_ELEMENTARY_WAYLAND - return ecore_wl_dnd_selection_has_owner(ecore_wl_dnd_get()); + if (elm_win_wl_window_get(obj)) + return ecore_wl_dnd_selection_has_owner(ecore_wl_dnd_get()); #endif return _local_elm_selection_selection_has_owner(obj); } |
From: Enlightenment S. <no-...@en...> - 2012-08-29 07:29:32
|
Log: Elementary: Fix up copy/paste code to work properly with both X11 and Wayland windows. Remove x11, wayland, and local bits from cnp init. Fix up elm_cnp_init to not need an object anymore. Add missing function prototypes for the wl functions. Add an init counter for the wl cnp init function so we don't end up with multiple event handlers. Author: devilhorns Date: 2012-08-29 00:29:21 -0700 (Wed, 29 Aug 2012) New Revision: 75816 Trac: http://trac.enlightenment.org/e/changeset/75816 Modified: trunk/elementary/src/lib/elm_cnp.c Modified: trunk/elementary/src/lib/elm_cnp.c =================================================================== --- trunk/elementary/src/lib/elm_cnp.c 2012-08-29 07:18:52 UTC (rev 75815) +++ trunk/elementary/src/lib/elm_cnp.c 2012-08-29 07:29:21 UTC (rev 75816) @@ -1220,7 +1220,7 @@ { Ecore_X_Window xwin = _x11_elm_widget_xwin_get(obj); X11_Cnp_Selection *sel; - + _x11_elm_cnp_init(); if ((!selbuf) && (format != ELM_SEL_FORMAT_IMAGE)) return elm_object_cnp_selection_clear(obj, selection); @@ -1538,7 +1538,14 @@ Evas_Object *requestwidget; }; +static Eina_Bool _wl_elm_cnp_init(void); + static Wl_Cnp_Selection wl_cnp_selection = {0, 0, NULL, NULL}; +static void _wl_sel_obj_del2(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__); +static Eina_Bool _wl_elm_cnp_selection_set(Evas_Object *obj __UNUSED__, Elm_Sel_Type selection, Elm_Sel_Format format __UNUSED__, const void *selbuf, size_t buflen); +static Eina_Bool _wl_elm_cnp_selection_get(Evas_Object *obj, Elm_Sel_Type selection, Elm_Sel_Format format __UNUSED__, Elm_Drop_Cb datacb __UNUSED__, void *udata __UNUSED__); +static Eina_Bool _wl_selection_send(void *udata, int type __UNUSED__, void *event); +static Eina_Bool _wl_selection_receive(void *udata, int type __UNUSED__, void *event); static void _wl_sel_obj_del2(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) @@ -1552,6 +1559,8 @@ { const char *types[10] = {0, }; + _wl_elm_cnp_init(); + /* TODO: other EML_SEL_TYPE and ELM_SEL_FORMAT */ if (ELM_SEL_TYPE_CLIPBOARD == selection) { @@ -1570,6 +1579,8 @@ static Eina_Bool _wl_elm_cnp_selection_get(Evas_Object *obj, Elm_Sel_Type selection, Elm_Sel_Format format __UNUSED__, Elm_Drop_Cb datacb __UNUSED__, void *udata __UNUSED__) { + _wl_elm_cnp_init(); + /* For now, just avoid overlapped request */ if (wl_cnp_selection.requestwidget) return EINA_FALSE; @@ -1593,6 +1604,8 @@ Wl_Cnp_Selection *sel = udata; Ecore_Wl_Event_Data_Source_Send *ev = event; + _wl_elm_cnp_init(); + len_remained = sel->buflen; buf = sel->selbuf; @@ -1615,6 +1628,8 @@ Wl_Cnp_Selection *sel = udata; Ecore_Wl_Event_Selection_Data_Ready *ev = event; + _wl_elm_cnp_init(); + if (sel->requestwidget) { if (!ev->done) @@ -1633,8 +1648,14 @@ return ECORE_CALLBACK_PASS_ON; } -static Eina_Bool _wl_elm_cnp_init(void) +static Eina_Bool +_wl_elm_cnp_init(void) { + static int _init_count = 0; + + if (_init_count > 0) return EINA_TRUE; + _init_count++; + ecore_event_handler_add(ECORE_WL_EVENT_DATA_SOURCE_SEND, _wl_selection_send, &wl_cnp_selection); ecore_event_handler_add(ECORE_WL_EVENT_SELECTION_DATA_READY, @@ -1821,17 +1842,10 @@ // common internal funcs //////////////////////////////////////////////////////////////////////////// static Eina_Bool -_elm_cnp_init(Evas_Object *obj) +_elm_cnp_init(void) { if (_elm_cnp_init_count > 0) return EINA_TRUE; _elm_cnp_init_count++; -#ifdef HAVE_ELEMENTARY_X - if (_x11_elm_widget_xwin_get(obj)) _x11_elm_cnp_init(); -#endif -#ifdef HAVE_ELEMENTARY_WAYLAND - if (elm_win_wl_window_get(obj)) _wl_elm_cnp_init(); -#endif - _local_elm_cnp_init(); text_uri = eina_stringshare_add("text/uri-list"); return EINA_TRUE; } @@ -1955,7 +1969,7 @@ Elm_Sel_Format format, const void *selbuf, size_t buflen) { if (selection > ELM_SEL_TYPE_CLIPBOARD) return EINA_FALSE; - if (!_elm_cnp_init_count) _elm_cnp_init(obj); + if (!_elm_cnp_init_count) _elm_cnp_init(); #ifdef HAVE_ELEMENTARY_X if (_x11_elm_widget_xwin_get(obj)) return _x11_elm_cnp_selection_set(obj, selection, format, selbuf, buflen); @@ -1973,7 +1987,7 @@ const void *data) { if (selection > ELM_SEL_TYPE_CLIPBOARD) return; - if (!_elm_cnp_init_count) _elm_cnp_init(obj); + if (!_elm_cnp_init_count) _elm_cnp_init(); #ifdef HAVE_ELEMENTARY_X if (_x11_elm_widget_xwin_get(obj)) _x11_elm_cnp_selection_loss_callback_set(obj, selection, func, data); @@ -1985,7 +1999,7 @@ elm_object_cnp_selection_clear(Evas_Object *obj, Elm_Sel_Type selection) { if (selection > ELM_SEL_TYPE_CLIPBOARD) return EINA_FALSE; - if (!_elm_cnp_init_count) _elm_cnp_init(obj); + if (!_elm_cnp_init_count) _elm_cnp_init(); #ifdef HAVE_ELEMENTARY_X if (_x11_elm_widget_xwin_get(obj)) return _x11_elm_object_cnp_selection_clear(obj, selection); @@ -1998,7 +2012,7 @@ Elm_Sel_Format format, Elm_Drop_Cb datacb, void *udata) { if (selection > ELM_SEL_TYPE_CLIPBOARD) return EINA_FALSE; - if (!_elm_cnp_init_count) _elm_cnp_init(obj); + if (!_elm_cnp_init_count) _elm_cnp_init(); #ifdef HAVE_ELEMENTARY_X if (_x11_elm_widget_xwin_get(obj)) return _x11_elm_cnp_selection_get(obj, selection, format, datacb, udata); @@ -2019,7 +2033,7 @@ elm_drop_target_add(Evas_Object *obj, Elm_Sel_Type format, Elm_Drop_Cb dropcb, void *cbdata) { - if (!_elm_cnp_init_count) _elm_cnp_init(obj); + if (!_elm_cnp_init_count) _elm_cnp_init(); #ifdef HAVE_ELEMENTARY_X if (_x11_elm_widget_xwin_get(obj)) return _x11_elm_drop_target_add(obj, format, dropcb, cbdata); @@ -2030,7 +2044,7 @@ EAPI Eina_Bool elm_drop_target_del(Evas_Object *obj) { - if (!_elm_cnp_init_count) _elm_cnp_init(obj); + if (!_elm_cnp_init_count) _elm_cnp_init(); #ifdef HAVE_ELEMENTARY_X if (_x11_elm_widget_xwin_get(obj)) return _x11_elm_drop_target_del(obj); @@ -2042,7 +2056,7 @@ elm_drag_start(Evas_Object *obj, Elm_Sel_Format format, const char *data, void (*dragdone) (void *data, Evas_Object *), void *donecbdata) { - if (!_elm_cnp_init_count) _elm_cnp_init(obj); + if (!_elm_cnp_init_count) _elm_cnp_init(); #ifdef HAVE_ELEMENTARY_X if (_x11_elm_widget_xwin_get(obj)) return _x11_elm_drag_start(obj, format, data, dragdone, donecbdata); @@ -2053,7 +2067,7 @@ EAPI Eina_Bool elm_selection_selection_has_owner(Evas_Object *obj) { - if (!_elm_cnp_init_count) _elm_cnp_init(obj); + if (!_elm_cnp_init_count) _elm_cnp_init(); #ifdef HAVE_ELEMENTARY_X if (_x11_elm_widget_xwin_get(obj)) return _x11_elm_selection_selection_has_owner(obj); |
From: Enlightenment S. <no-...@en...> - 2012-08-31 06:21:05
|
Log: Elementary: Make entry compile again when using Wayland. NB: Hmmm, not sure if this got into the 1.7 release or not. Perhaps needs to be backported ? Author: devilhorns Date: 2012-08-30 23:20:58 -0700 (Thu, 30 Aug 2012) New Revision: 75917 Trac: http://trac.enlightenment.org/e/changeset/75917 Modified: trunk/elementary/src/lib/elm_entry.c Modified: trunk/elementary/src/lib/elm_entry.c =================================================================== --- trunk/elementary/src/lib/elm_entry.c 2012-08-31 06:17:33 UTC (rev 75916) +++ trunk/elementary/src/lib/elm_entry.c 2012-08-31 06:20:58 UTC (rev 75917) @@ -1104,10 +1104,10 @@ { #ifdef HAVE_ELEMENTARY_WAYLAND Elm_Sel_Format formats = ELM_SEL_FORMAT_MARKUP; - wd->selection_asked = EINA_TRUE; - if (wd->cnp_mode == ELM_CNP_MODE_PLAINTEXT) + sd->selection_asked = EINA_TRUE; + if (sd->cnp_mode == ELM_CNP_MODE_PLAINTEXT) formats = ELM_SEL_FORMAT_TEXT; - else if (wd->cnp_mode != ELM_CNP_MODE_NO_IMAGE) + else if (sd->cnp_mode != ELM_CNP_MODE_NO_IMAGE) formats |= ELM_SEL_FORMAT_IMAGE; elm_cnp_selection_get(data, ELM_SEL_TYPE_CLIPBOARD, formats, NULL, NULL); #endif |
From: Enlightenment S. <no-...@en...> - 2012-09-03 06:32:47
|
Log: Elementary: (elm_flip) Not much point in fetching the Z values here if we are not going to use them. Author: devilhorns Date: 2012-09-02 23:32:40 -0700 (Sun, 02 Sep 2012) New Revision: 75953 Trac: http://trac.enlightenment.org/e/changeset/75953 Modified: trunk/elementary/src/lib/elm_flip.c Modified: trunk/elementary/src/lib/elm_flip.c =================================================================== --- trunk/elementary/src/lib/elm_flip.c 2012-09-03 06:24:51 UTC (rev 75952) +++ trunk/elementary/src/lib/elm_flip.c 2012-09-03 06:32:40 UTC (rev 75953) @@ -261,8 +261,8 @@ evas_map_util_3d_perspective(m, x + (w / 2), y + (h / 2), 0, 1024); for (i = 0; i < 4; i++) { - Evas_Coord xx, yy, zz; - evas_map_point_coord_get(m, i, &xx, &yy, &zz); + Evas_Coord xx, yy; + evas_map_point_coord_get(m, i, &xx, &yy, NULL); evas_map_point_coord_set(m, i, xx, yy, 0); } |
From: Enlightenment S. <no-...@en...> - 2012-09-03 12:04:50
|
Log: Elm: Fix stupid hover widget to account for framespace. Fixes ticket 1417. Author: devilhorns Date: 2012-09-03 05:04:39 -0700 (Mon, 03 Sep 2012) New Revision: 76003 Trac: http://trac.enlightenment.org/e/changeset/76003 Modified: trunk/elementary/src/lib/elm_hover.c Modified: trunk/elementary/src/lib/elm_hover.c =================================================================== --- trunk/elementary/src/lib/elm_hover.c 2012-09-03 12:02:00 UTC (rev 76002) +++ trunk/elementary/src/lib/elm_hover.c 2012-09-03 12:04:39 UTC (rev 76003) @@ -296,7 +296,17 @@ if (sd->on_del) return; - if (sd->parent) evas_object_geometry_get(sd->parent, &x, &y, &w, &h); + if (sd->parent) + { + Evas_Coord fx, fy; + + evas_output_framespace_get(evas_object_evas_get(obj), + &fx, &fy, NULL, NULL); + evas_object_geometry_get(sd->parent, &x, &y, &w, &h); + x += fx; + y += fy; + } + evas_object_geometry_get(obj, &x2, &y2, &w2, &h2); if (elm_widget_mirrored_get(obj)) ofs_x = w - (x2 - x) - w2; |
From: Enlightenment S. <no-...@en...> - 2012-09-04 09:42:38
|
Log: Elm: Fix toolbar widget to account for framespace. Fixes ticket 1418 where the 'more' button was showing the popup incorrectly. Author: devilhorns Date: 2012-09-04 02:42:27 -0700 (Tue, 04 Sep 2012) New Revision: 76116 Trac: http://trac.enlightenment.org/e/changeset/76116 Modified: trunk/elementary/src/lib/elm_toolbar.c Modified: trunk/elementary/src/lib/elm_toolbar.c =================================================================== --- trunk/elementary/src/lib/elm_toolbar.c 2012-09-04 08:56:46 UTC (rev 76115) +++ trunk/elementary/src/lib/elm_toolbar.c 2012-09-04 09:42:27 UTC (rev 76116) @@ -471,11 +471,14 @@ void *event_info __UNUSED__) { Evas_Coord x, y, h; + Evas_Coord fy; ELM_TOOLBAR_DATA_GET(data, sd); + evas_output_framespace_get(evas_object_evas_get(data), + NULL, &fy, NULL, NULL); evas_object_geometry_get(data, &x, &y, NULL, &h); - evas_object_move(sd->more, x, y + h); + evas_object_move(sd->more, x, (y + h) - fy); if (!sd->resize_job) sd->resize_job = ecore_job_add(_resize_job, data); @@ -538,12 +541,12 @@ void *event_info __UNUSED__) { Elm_Toolbar_Item *it = data; - Evas_Coord x, y, w, h; + Evas_Coord x, y, h; ELM_TOOLBAR_DATA_GET(WIDGET(it), sd); if (!sd->menu_parent) return; - evas_object_geometry_get(VIEW(it), &x, &y, &w, &h); + evas_object_geometry_get(VIEW(it), &x, &y, NULL, &h); elm_menu_move(it->o_menu, x, y + h); } |
From: Enlightenment S. <no-...@en...> - 2012-09-04 09:50:56
|
Log: Elm: Fix menus which get placed inside a toolbar for proper placement in wayland. NB: This also removes some unused variables. Author: devilhorns Date: 2012-09-04 02:50:46 -0700 (Tue, 04 Sep 2012) New Revision: 76118 Trac: http://trac.enlightenment.org/e/changeset/76118 Modified: trunk/elementary/src/lib/elm_menu.c Modified: trunk/elementary/src/lib/elm_menu.c =================================================================== --- trunk/elementary/src/lib/elm_menu.c 2012-09-04 09:50:42 UTC (rev 76117) +++ trunk/elementary/src/lib/elm_menu.c 2012-09-04 09:50:46 UTC (rev 76118) @@ -85,6 +85,7 @@ EINA_LIST_FOREACH (parent_it->submenu.items, l, item) _item_sizing_eval(item); + evas_object_geometry_get (parent_it->submenu.location, &x_p, &y_p, &w_p, &h_p); evas_object_geometry_get(VIEW(parent_it), &x2, &y2, &w2, &h2); @@ -129,7 +130,8 @@ { Eina_List *l; Elm_Menu_Item *item; - Evas_Coord x_p, y_p, w_p, h_p, x2, y2, w2, h2, bx, by, bw, bh; + Evas_Coord x_p, y_p, w_p, h_p, x2, y2, w2, h2, bw, bh; + Evas_Coord fy; ELM_MENU_DATA_GET(obj, sd); @@ -137,12 +139,15 @@ EINA_LIST_FOREACH (sd->items, l, item) _item_sizing_eval(item); - evas_object_geometry_get(sd->location, &x_p, &y_p, &w_p, &h_p); + + evas_object_geometry_get(sd->location, NULL, NULL, &w_p, &h_p); evas_object_geometry_get(sd->parent, &x2, &y2, &w2, &h2); - evas_object_geometry_get(sd->bx, &bx, &by, &bw, &bh); + evas_object_geometry_get(sd->bx, NULL, NULL, &bw, &bh); + evas_output_framespace_get(evas_object_evas_get(sd->bx), + NULL, &fy, NULL, NULL); x_p = sd->xloc; - y_p = sd->yloc; + y_p = sd->yloc - fy; if (elm_widget_mirrored_get(obj)) x_p -= w_p; |
From: Enlightenment S. <no-...@en...> - 2012-09-04 12:46:17
|
Log: Elm: Fix naviframe shrinking when you change to a different frame. Ticket #1383. Author: devilhorns Date: 2012-09-04 05:46:02 -0700 (Tue, 04 Sep 2012) New Revision: 76128 Trac: http://trac.enlightenment.org/e/changeset/76128 Modified: trunk/elementary/src/lib/elc_naviframe.c Modified: trunk/elementary/src/lib/elc_naviframe.c =================================================================== --- trunk/elementary/src/lib/elc_naviframe.c 2012-09-04 11:27:43 UTC (rev 76127) +++ trunk/elementary/src/lib/elc_naviframe.c 2012-09-04 12:46:02 UTC (rev 76128) @@ -703,14 +703,17 @@ Evas_Coord minw = -1, minh = -1; Elm_Naviframe_Item *it; Evas_Coord x, y, w, h; + Evas_Coord fy; ELM_NAVIFRAME_DATA_GET(obj, sd); + evas_output_framespace_get(evas_object_evas_get(obj), + NULL, &fy, NULL, NULL); + evas_object_geometry_get(obj, &x, &y, &w, &h); - EINA_INLIST_FOREACH (sd->stack, it) { - evas_object_move(VIEW(it), x, y); + evas_object_move(VIEW(it), x, y + fy); evas_object_resize(VIEW(it), w, h); edje_object_size_min_calc(VIEW(it), &it->minw, &it->minh); if (it->minw > minw) minw = it->minw; |
From: Enlightenment S. <no-...@en...> - 2012-09-04 12:52:07
|
Log: Elm: Account for framespace X also. Thanks for spotting this Daniel ;) Author: devilhorns Date: 2012-09-04 05:51:57 -0700 (Tue, 04 Sep 2012) New Revision: 76129 Trac: http://trac.enlightenment.org/e/changeset/76129 Modified: trunk/elementary/src/lib/elc_naviframe.c trunk/elementary/src/lib/elm_menu.c Modified: trunk/elementary/src/lib/elc_naviframe.c =================================================================== --- trunk/elementary/src/lib/elc_naviframe.c 2012-09-04 12:46:02 UTC (rev 76128) +++ trunk/elementary/src/lib/elc_naviframe.c 2012-09-04 12:51:57 UTC (rev 76129) @@ -703,17 +703,17 @@ Evas_Coord minw = -1, minh = -1; Elm_Naviframe_Item *it; Evas_Coord x, y, w, h; - Evas_Coord fy; + Evas_Coord fx, fy; ELM_NAVIFRAME_DATA_GET(obj, sd); evas_output_framespace_get(evas_object_evas_get(obj), - NULL, &fy, NULL, NULL); + &fx, &fy, NULL, NULL); evas_object_geometry_get(obj, &x, &y, &w, &h); EINA_INLIST_FOREACH (sd->stack, it) { - evas_object_move(VIEW(it), x, y + fy); + evas_object_move(VIEW(it), x + fx, y + fy); evas_object_resize(VIEW(it), w, h); edje_object_size_min_calc(VIEW(it), &it->minw, &it->minh); if (it->minw > minw) minw = it->minw; Modified: trunk/elementary/src/lib/elm_menu.c =================================================================== --- trunk/elementary/src/lib/elm_menu.c 2012-09-04 12:46:02 UTC (rev 76128) +++ trunk/elementary/src/lib/elm_menu.c 2012-09-04 12:51:57 UTC (rev 76129) @@ -131,7 +131,7 @@ Eina_List *l; Elm_Menu_Item *item; Evas_Coord x_p, y_p, w_p, h_p, x2, y2, w2, h2, bw, bh; - Evas_Coord fy; + Evas_Coord fx, fy; ELM_MENU_DATA_GET(obj, sd); @@ -144,9 +144,9 @@ evas_object_geometry_get(sd->parent, &x2, &y2, &w2, &h2); evas_object_geometry_get(sd->bx, NULL, NULL, &bw, &bh); evas_output_framespace_get(evas_object_evas_get(sd->bx), - NULL, &fy, NULL, NULL); + &fx, &fy, NULL, NULL); - x_p = sd->xloc; + x_p = sd->xloc - fx; y_p = sd->yloc - fy; if (elm_widget_mirrored_get(obj)) x_p -= w_p; |
From: Enlightenment S. <no-...@en...> - 2012-09-05 07:43:07
|
Log: Elementary: Revert all framespace changes. NB: This means elm will be broken in wayland for a while while I sort out what went wrong in evas. Author: devilhorns Date: 2012-09-05 00:42:57 -0700 (Wed, 05 Sep 2012) New Revision: 76173 Trac: http://trac.enlightenment.org/e/changeset/76173 Modified: trunk/elementary/src/lib/elc_naviframe.c trunk/elementary/src/lib/elm_hover.c trunk/elementary/src/lib/elm_menu.c trunk/elementary/src/lib/elm_slider.c trunk/elementary/src/lib/elm_toolbar.c Modified: trunk/elementary/src/lib/elc_naviframe.c =================================================================== --- trunk/elementary/src/lib/elc_naviframe.c 2012-09-05 07:38:05 UTC (rev 76172) +++ trunk/elementary/src/lib/elc_naviframe.c 2012-09-05 07:42:57 UTC (rev 76173) @@ -703,17 +703,13 @@ Evas_Coord minw = -1, minh = -1; Elm_Naviframe_Item *it; Evas_Coord x, y, w, h; - Evas_Coord fx, fy; ELM_NAVIFRAME_DATA_GET(obj, sd); - evas_output_framespace_get(evas_object_evas_get(obj), - &fx, &fy, NULL, NULL); - evas_object_geometry_get(obj, &x, &y, &w, &h); EINA_INLIST_FOREACH (sd->stack, it) { - evas_object_move(VIEW(it), x + fx, y + fy); + evas_object_move(VIEW(it), x, y); evas_object_resize(VIEW(it), w, h); edje_object_size_min_calc(VIEW(it), &it->minw, &it->minh); if (it->minw > minw) minw = it->minw; Modified: trunk/elementary/src/lib/elm_hover.c =================================================================== --- trunk/elementary/src/lib/elm_hover.c 2012-09-05 07:38:05 UTC (rev 76172) +++ trunk/elementary/src/lib/elm_hover.c 2012-09-05 07:42:57 UTC (rev 76173) @@ -296,17 +296,7 @@ if (sd->on_del) return; - if (sd->parent) - { - Evas_Coord fx, fy; - - evas_output_framespace_get(evas_object_evas_get(obj), - &fx, &fy, NULL, NULL); - evas_object_geometry_get(sd->parent, &x, &y, &w, &h); - x += fx; - y += fy; - } - + if (sd->parent) evas_object_geometry_get(sd->parent, &x, &y, &w, &h); evas_object_geometry_get(obj, &x2, &y2, &w2, &h2); if (elm_widget_mirrored_get(obj)) ofs_x = w - (x2 - x) - w2; Modified: trunk/elementary/src/lib/elm_menu.c =================================================================== --- trunk/elementary/src/lib/elm_menu.c 2012-09-05 07:38:05 UTC (rev 76172) +++ trunk/elementary/src/lib/elm_menu.c 2012-09-05 07:42:57 UTC (rev 76173) @@ -131,7 +131,6 @@ Eina_List *l; Elm_Menu_Item *item; Evas_Coord x_p, y_p, w_p, h_p, x2, y2, w2, h2, bw, bh; - Evas_Coord fx, fy; ELM_MENU_DATA_GET(obj, sd); @@ -143,11 +142,9 @@ evas_object_geometry_get(sd->location, NULL, NULL, &w_p, &h_p); evas_object_geometry_get(sd->parent, &x2, &y2, &w2, &h2); evas_object_geometry_get(sd->bx, NULL, NULL, &bw, &bh); - evas_output_framespace_get(evas_object_evas_get(sd->bx), - &fx, &fy, NULL, NULL); - x_p = sd->xloc - fx; - y_p = sd->yloc - fy; + x_p = sd->xloc; + y_p = sd->yloc; if (elm_widget_mirrored_get(obj)) x_p -= w_p; Modified: trunk/elementary/src/lib/elm_slider.c =================================================================== --- trunk/elementary/src/lib/elm_slider.c 2012-09-05 07:38:05 UTC (rev 76172) +++ trunk/elementary/src/lib/elm_slider.c 2012-09-05 07:42:57 UTC (rev 76173) @@ -589,12 +589,10 @@ void *event_info __UNUSED__) { Evas_Coord x, y; - int fy = 0; ELM_SLIDER_DATA_GET(data, sd); evas_object_geometry_get(obj, &x, &y, NULL, NULL); - evas_output_framespace_get(e, NULL, &fy, NULL, NULL); - evas_object_move(sd->popup, x, y - fy); + evas_object_move(sd->popup, x, y); } static void Modified: trunk/elementary/src/lib/elm_toolbar.c =================================================================== --- trunk/elementary/src/lib/elm_toolbar.c 2012-09-05 07:38:05 UTC (rev 76172) +++ trunk/elementary/src/lib/elm_toolbar.c 2012-09-05 07:42:57 UTC (rev 76173) @@ -471,14 +471,11 @@ void *event_info __UNUSED__) { Evas_Coord x, y, h; - Evas_Coord fy; ELM_TOOLBAR_DATA_GET(data, sd); - evas_output_framespace_get(evas_object_evas_get(data), - NULL, &fy, NULL, NULL); evas_object_geometry_get(data, &x, &y, NULL, &h); - evas_object_move(sd->more, x, (y + h) - fy); + evas_object_move(sd->more, x, y + h); if (!sd->resize_job) sd->resize_job = ecore_job_add(_resize_job, data); |
From: Enlightenment S. <no-...@en...> - 2012-09-06 07:43:19
|
Log: Elm: Fix Escape namespace to compile on Windows. Author: devilhorns Date: 2012-09-06 00:43:10 -0700 (Thu, 06 Sep 2012) New Revision: 76226 Trac: http://trac.enlightenment.org/e/changeset/76226 Modified: trunk/elementary/src/lib/elm_cnp.c Modified: trunk/elementary/src/lib/elm_cnp.c =================================================================== --- trunk/elementary/src/lib/elm_cnp.c 2012-09-06 07:40:30 UTC (rev 76225) +++ trunk/elementary/src/lib/elm_cnp.c 2012-09-06 07:43:10 UTC (rev 76226) @@ -39,7 +39,7 @@ typedef struct _Tmp_Info Tmp_Info; typedef struct _Saved_Type Saved_Type; -typedef struct _Escape Escape; +typedef struct _Cnp_Escape Cnp_Escape; typedef struct _Dropable Dropable; struct _Tmp_Info @@ -59,7 +59,7 @@ Eina_Bool textreq: 1; }; -struct _Escape +struct _Cnp_Escape { const char *escape; const char *value; |
From: Enlightenment S. <no-...@en...> - 2012-09-06 07:48:31
|
Log: Elm: Add missing unused for parameter. Author: devilhorns Date: 2012-09-06 00:48:24 -0700 (Thu, 06 Sep 2012) New Revision: 76227 Trac: http://trac.enlightenment.org/e/changeset/76227 Modified: trunk/elementary/src/lib/elm_slider.c Modified: trunk/elementary/src/lib/elm_slider.c =================================================================== --- trunk/elementary/src/lib/elm_slider.c 2012-09-06 07:43:10 UTC (rev 76226) +++ trunk/elementary/src/lib/elm_slider.c 2012-09-06 07:48:24 UTC (rev 76227) @@ -584,7 +584,7 @@ static void _track_move_cb(void *data, - Evas *e, + Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) { |
From: Enlightenment S. <no-...@en...> - 2012-12-06 07:30:36
|
Log: Patch from Juan Zhao <jua...@li...> to fix correct usage of HAVE_ELEMENTARY_WAYLAND. Signed-off-by: Christopher Michael <cp....@sa...> Author: devilhorns Date: 2012-12-05 23:30:27 -0800 (Wed, 05 Dec 2012) New Revision: 80301 Trac: http://trac.enlightenment.org/e/changeset/80301 Modified: trunk/elementary/src/lib/elm_win.c trunk/elementary/src/lib/elm_win.h Modified: trunk/elementary/src/lib/elm_win.c =================================================================== --- trunk/elementary/src/lib/elm_win.c 2012-12-06 07:28:57 UTC (rev 80300) +++ trunk/elementary/src/lib/elm_win.c 2012-12-06 07:30:27 UTC (rev 80301) @@ -5008,6 +5008,7 @@ *ret = 0; } +#if HAVE_ELEMENTARY_WAYLAND EAPI Ecore_Wl_Window * elm_win_wl_window_get(const Evas_Object *obj) { @@ -5029,7 +5030,6 @@ _wl_window_get(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list) { Ecore_Wl_Window **ret = va_arg(*list, Ecore_Wl_Window **); -#if HAVE_ELEMENTARY_WAYLAND Elm_Win_Smart_Data *sd = _pd; if (sd->wl.win) { @@ -5041,9 +5041,9 @@ *ret = elm_win_wl_window_get(sd->parent); return; } -#endif *ret = NULL; } +#endif EAPI Eina_Bool elm_win_trap_set(const Elm_Win_Trap *t) Modified: trunk/elementary/src/lib/elm_win.h =================================================================== --- trunk/elementary/src/lib/elm_win.h 2012-12-06 07:28:57 UTC (rev 80300) +++ trunk/elementary/src/lib/elm_win.h 2012-12-06 07:30:27 UTC (rev 80301) @@ -2651,6 +2651,7 @@ */ EAPI Ecore_X_Window elm_win_xwindow_get(const Evas_Object *obj); +#ifdef HAVE_ELEMENTARY_WAYLAND /* Wayland specific call - returns NULL on non-Wayland engines */ /** * Get the Ecore_Wl_Window of and Evas_Object @@ -2662,6 +2663,7 @@ * @ingroup Win */ EAPI Ecore_Wl_Window *elm_win_wl_window_get(const Evas_Object *obj); +#endif /** * @typedef Elm_Win_Trap |
From: Enlightenment S. <no-...@en...> - 2012-12-19 14:41:56
|
Log: If elementary is built with wayland support (and X support), then we need to run an engine compare before trying to get wayland specific items (in this case, the ecore_evas window). NB: Fixes ticket #1992 Signed-off-by: Christopher Michael <cp....@sa...> Author: devilhorns Date: 2012-12-19 06:41:45 -0800 (Wed, 19 Dec 2012) New Revision: 81369 Trac: http://trac.enlightenment.org/e/changeset/81369 Modified: trunk/elementary/src/lib/elm_win.c Modified: trunk/elementary/src/lib/elm_win.c =================================================================== --- trunk/elementary/src/lib/elm_win.c 2012-12-19 14:21:50 UTC (rev 81368) +++ trunk/elementary/src/lib/elm_win.c 2012-12-19 14:41:45 UTC (rev 81369) @@ -2786,7 +2786,8 @@ #endif #ifdef HAVE_ELEMENTARY_WAYLAND - sd->wl.win = ecore_evas_wayland_window_get(sd->ee); + if ((ENGINE_COMPARE(ELM_WAYLAND_SHM)) || (ENGINE_COMPARE(ELM_WAYLAND_EGL))) + sd->wl.win = ecore_evas_wayland_window_get(sd->ee); #endif if ((_elm_config->bgpixmap) @@ -5012,6 +5013,10 @@ { if (!obj) return NULL; + if ((!ENGINE_COMPARE(ELM_WAYLAND_SHM)) || + (!ENGINE_COMPARE(ELM_WAYLAND_EGL))) + return NULL; + if (!evas_object_smart_type_check_ptr(obj, MY_CLASS_NAME)) { Ecore_Evas *ee = ecore_evas_ecore_evas_get(evas_object_evas_get(obj)); |
From: Enlightenment S. <no-...@en...> - 2013-01-10 14:06:53
|
Log: Do not try to get the genlist Smart_Data from the data pointer in show_region_hook, but rather get it from the actual Object. Fixes a crash that happens if someone overrides the show_region_hook (via elm_widget call) and passes an Int or String or something else as the data parameter. Signed-off-by: Christopher Michael <cp....@sa...> Author: devilhorns Date: 2013-01-10 06:06:46 -0800 (Thu, 10 Jan 2013) New Revision: 82571 Trac: http://trac.enlightenment.org/e/changeset/82571 Modified: trunk/elementary/src/lib/elm_genlist.c Modified: trunk/elementary/src/lib/elm_genlist.c =================================================================== --- trunk/elementary/src/lib/elm_genlist.c 2013-01-10 14:05:08 UTC (rev 82570) +++ trunk/elementary/src/lib/elm_genlist.c 2013-01-10 14:06:46 UTC (rev 82571) @@ -2528,12 +2528,12 @@ /* FIXME: take off later. maybe this show region coords belong in the * interface (new api functions, set/get)? */ static void -_show_region_hook(void *data, +_show_region_hook(void *data EINA_UNUSED, Evas_Object *obj) { Evas_Coord x, y, w, h; - ELM_GENLIST_DATA_GET(data, sd); + ELM_GENLIST_DATA_GET_OR_RETURN(obj, sd); elm_widget_show_region_get(obj, &x, &y, &w, &h); //x & y are screen coordinates, Add with pan coordinates @@ -4624,7 +4624,7 @@ evas_object_repeat_events_set(priv->hit_rect, EINA_TRUE); elm_widget_can_focus_set(obj, EINA_TRUE); - elm_widget_on_show_region_hook_set(obj, _show_region_hook, obj); + elm_widget_on_show_region_hook_set(obj, _show_region_hook, NULL); priv->generation = 1; |
From: Enlightenment S. <no-...@en...> - 2013-01-10 14:06:56
|
Log: Data is not used in the show_region_hook anyway, so no need to pass it. Signed-off-by: Christopher Michael <cp....@sa...> Author: devilhorns Date: 2013-01-10 06:06:50 -0800 (Thu, 10 Jan 2013) New Revision: 82572 Trac: http://trac.enlightenment.org/e/changeset/82572 Modified: trunk/elementary/src/lib/elm_entry.c Modified: trunk/elementary/src/lib/elm_entry.c =================================================================== --- trunk/elementary/src/lib/elm_entry.c 2013-01-10 14:06:46 UTC (rev 82571) +++ trunk/elementary/src/lib/elm_entry.c 2013-01-10 14:06:50 UTC (rev 82572) @@ -4494,7 +4494,7 @@ else eo_do(obj, elm_scrollable_interface_policy_set(sd->policy_h, sd->policy_v)); eo_do(obj, elm_scrollable_interface_content_set(sd->entry_edje)); - elm_widget_on_show_region_hook_set(obj, _show_region_hook, obj); + elm_widget_on_show_region_hook_set(obj, _show_region_hook, NULL); } else { |