E CVS: e kwo
Enlightenment CVS committal Author : kwo Project : e16 Module : e Dir : e16/e/src Modified Files: x.c Log Message: Eliminate some remainders from Window re-wrapping done a while back. === RCS file: /cvs/e/e16/e/src/x.c,v retrieving revision 1.154 retrieving revision 1.155 diff -u -3 -r1.154 -r1.155 --- x.c 19 Mar 2007 05:37:57 - 1.154 +++ x.c 7 May 2007 23:47:48 - 1.155 @@ -41,12 +41,10 @@ static Colormap argb_cmap = None; #endif -typedef struct _xwin EXID; /* FIXME - Remove */ - static XContext xid_context = 0; -static EXID*xid_first = NULL; -static EXID*xid_last = NULL; +static Win win_first = NULL; +static Win win_last = NULL; #if !EXPOSE_WIN Window @@ -104,95 +102,96 @@ } #endif -static EXID* +static Win EXidCreate(void) { - EXID *xid; + Win win; - xid = ECALLOC(EXID, 1); - xid->bgcol = 0x; + win = ECALLOC(struct _xwin, 1); - return xid; + win->bgcol = 0x; + + return win; } static void -EXidDestroy(EXID * xid) +EXidDestroy(Win win) { #if DEBUG_XWIN - Eprintf("EXidDestroy: %p %#lx\n", xid, xid->xwin); + Eprintf("EXidDestroy: %p %#lx\n", win, win->xwin); #endif - if (xid->rects) - XFree(xid->rects); - if (xid->cbl.lst) - Efree(xid->cbl.lst); - Efree(xid); + if (win->rects) + XFree(win->rects); + if (win->cbl.lst) + Efree(win->cbl.lst); + Efree(win); } static void -EXidAdd(EXID * xid) +EXidAdd(Win win) { #if DEBUG_XWIN - Eprintf("EXidAdd: %p %#lx\n", xid, xid->xwin); + Eprintf("EXidAdd: %p %#lx\n", win, win->xwin); #endif if (!xid_context) xid_context = XUniqueContext(); - XSaveContext(disp, xid->xwin, xid_context, (XPointer) xid); + XSaveContext(disp, win->xwin, xid_context, (XPointer) win); - if (!xid_first) + if (!win_first) { - xid_first = xid_last = xid; + win_first = win_last = win; } else { - xid->prev = xid_last; - xid_last->next = xid; - xid_last = xid; + win->prev = win_last; + win_last->next = win; + win_last = win; } } static void -EXidDel(EXID * xid) +EXidDel(Win win) { #if DEBUG_XWIN - Eprintf("EXidDel: %p %#lx\n", xid, xid->xwin); + Eprintf("EXidDel: %p %#lx\n", win, win->xwin); #endif - if (xid == xid_first) + if (win == win_first) { - if (xid == xid_last) + if (win == win_last) { -xid_first = xid_last = NULL; +win_first = win_last = NULL; } else { -xid_first = xid->next; -xid->next->prev = NULL; +win_first = win->next; +win->next->prev = NULL; } } - else if (xid == xid_last) + else if (win == win_last) { - xid_last = xid->prev; - xid->prev->next = NULL; + win_last = win->prev; + win->prev->next = NULL; } else { - xid->prev->next = xid->next; - xid->next->prev = xid->prev; + win->prev->next = win->next; + win->next->prev = win->prev; } - XDeleteContext(disp, xid->xwin, xid_context); - if (xid->in_use) - xid->do_del = 1; + XDeleteContext(disp, win->xwin, xid_context); + if (win->in_use) + win->do_del = 1; else - EXidDestroy(xid); + EXidDestroy(win); } #define EXidLookup ELookupXwin -EXID * +Win EXidLookup(Window xwin) { - EXID *xid; + Win win; XPointerxp; if (!xid_context) @@ -201,51 +200,50 @@ xp = NULL; if (XFindContext(disp, xwin, xid_context, &xp) == XCNOENT) xp = NULL; - xid = (EXID *) xp; + win = (Win) xp; - return xid; + return win; } -static EXID* +static Win EXidSet(Window xwin, Win parent, int x, int y, int w, int h, int depth, Visual * visual, Colormap cmap) { - EXID *xid; + Win win; - xid = EXidCreate(); - xid->parent = parent; - xid->xwin = xwin; - xid->x = x; - xid->y = y; - xid->w = w; - xid->h = h; - xid->depth = depth; - xid->visual = visual; - xid->cmap = cmap; + win = EXidCreate(); + win->parent = parent; + win->xwin = xwin; + win->x = x; + win->y = y; + win->w = w; + win->h = h; + win->depth = depth; + win->visual = visual; + win->cmap = cmap; #if DEBUG_XWIN - Eprintf("EXidSet: %#lx\n", xid->xwin); + Eprintf("EXidSet: %#lx\n", win->xwin); #endif - EXidAdd(xid); + EXidAdd(win); - return xid; + return win; } void EventCallbackRegister(Win win, int type __UNUSED__, EventCallbackFunc * func, void *prm) { - EXID *xid = win; EventCallbackItem *eci; - if (!xid) + if (!win) return; #if 0 - Eprintf("EventCallbackRegister:
E CVS: e kwo
Enlightenment CVS committal Author : kwo Project : e16 Module : e Dir : e16/e/src Modified Files: E.h eimage.c eimage.h mod-misc.c Log Message: Enable setting imlib2 image cache size (debug only). === RCS file: /cvs/e/e16/e/src/E.h,v retrieving revision 1.582 retrieving revision 1.583 diff -u -3 -r1.582 -r1.583 --- E.h 19 Apr 2007 22:25:25 - 1.582 +++ E.h 7 May 2007 23:26:13 - 1.583 @@ -429,6 +429,7 @@ charargb_internal_clients; charargb_clients; charargb_clients_inherit_attr; + int image_cache_size; int mask_alpha_threshold; } testing; === RCS file: /cvs/e/e16/e/src/eimage.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- eimage.c29 Apr 2007 13:13:03 - 1.16 +++ eimage.c7 May 2007 23:26:13 - 1.17 @@ -53,6 +53,17 @@ imlib_context_set_dither(1); } +int +EImageSetCacheSize(int size) +{ + int size_old; + + size_old = imlib_get_cache_size(); + imlib_set_cache_size(size); + + return size_old; +} + static void _EImageFlagsSet(int flags) { === RCS file: /cvs/e/e16/e/src/eimage.h,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- eimage.h29 Apr 2007 13:13:03 - 1.10 +++ eimage.h7 May 2007 23:26:13 - 1.11 @@ -39,6 +39,7 @@ #define EIMAGE_HIGH_MASK_THR0x04 voidEImageInit(Display * dpy); +int EImageSetCacheSize(int size); EImage *EImageCreate(int w, int h); EImage *EImageCreateFromData(int w, int h, unsigned int *data); === RCS file: /cvs/e/e16/e/src/mod-misc.c,v retrieving revision 1.52 retrieving revision 1.53 diff -u -3 -r1.52 -r1.53 --- mod-misc.c 7 Apr 2007 13:19:30 - 1.52 +++ mod-misc.c 7 May 2007 23:26:13 - 1.53 @@ -22,6 +22,7 @@ */ #include "E.h" #include "dialog.h" +#include "eimage.h" #include "emodule.h" #include "settings.h" #include "snaps.h" @@ -108,6 +109,19 @@ } #endif +static void +_CfgImageCacheSize(void *item __UNUSED__, const char *value) +{ + int size_old, size_new; + + if (!value || !value[0]) + return; + + size_new = atoi(value); + size_old = EImageSetCacheSize(size_new); + IpcPrintf("Image cache size %u->%u byte\n", size_old, size_new); +} + static const CfgItem MiscCfgItems[] = { CFG_ITEM_INT(Conf, animation.step, 10), @@ -166,6 +180,7 @@ CFG_ITEM_BOOL(Conf, testing.argb_internal_clients, 0), CFG_ITEM_BOOL(Conf, testing.argb_clients, 0), CFG_ITEM_BOOL(Conf, testing.argb_clients_inherit_attr, 0), + CFG_FUNC_INT(Conf, testing.image_cache_size, -1, _CfgImageCacheSize), CFG_ITEM_INT(Conf, testing.mask_alpha_threshold, 8), CFG_ITEM_BOOL(Conf, autosave, 1), - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs
E CVS: e kwo
Enlightenment CVS committal Author : kwo Project : e16 Module : e Dir : e16/e Modified Files: configure.in Log Message: Remove trailing dash in release version string. === RCS file: /cvs/e/e16/e/configure.in,v retrieving revision 1.206 retrieving revision 1.207 diff -u -3 -r1.206 -r1.207 --- configure.in6 May 2007 12:55:04 - 1.206 +++ configure.in7 May 2007 23:09:43 - 1.207 @@ -13,9 +13,8 @@ AM_INIT_AUTOMAKE(e16, $E_PKG_VER_REV) AC_DEFINE_UNQUOTED(E_PKG_VERSION, "$E_PKG_VERSION", [Version]) +AC_DEFINE_UNQUOTED(E_PKG_VER_REV, "$E_PKG_VER_REV", [Version, Revision]) AC_SUBST(E_PKG_VERSION) -AC_DEFINE_UNQUOTED(E_PKG_REVISION, "$E_PKG_REVISION", [Revision]) -AC_SUBST(E_PKG_REVISION) AC_SUBST(E_RPM_REVISION) # reasonable guesses for where stuff is installed - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs
E CVS: e kwo
Enlightenment CVS committal Author : kwo Project : e16 Module : e Dir : e16/e/src Modified Files: main.c Log Message: Remove trailing dash in release version string. === RCS file: /cvs/e/e16/e/src/main.c,v retrieving revision 1.157 retrieving revision 1.158 diff -u -3 -r1.157 -r1.158 --- main.c 18 Mar 2007 01:08:10 - 1.157 +++ main.c 7 May 2007 23:09:43 - 1.158 @@ -41,12 +41,7 @@ #include const char e_wm_name[] = "Enlightenment"; - -#ifdef E_PKG_REVISION -const char e_wm_version[] = E_PKG_VERSION "-" E_PKG_REVISION; -#else -const char e_wm_version[] = E_PKG_VERSION; -#endif +const char e_wm_version[] = E_PKG_VER_REV; const char e_wm_date[] = E_CHECKOUT_DATE; Display*disp; - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs
E CVS: e kwo
Enlightenment CVS committal Author : kwo Project : e16 Module : e Dir : e16/e/src Modified Files: windowmatch.c Log Message: Fix parsing title, name, and class matches in windowmatches.cfg (noted by Ted Baltz). === RCS file: /cvs/e/e16/e/src/windowmatch.c,v retrieving revision 1.60 retrieving revision 1.61 diff -u -3 -r1.60 -r1.61 --- windowmatch.c 25 Feb 2007 19:03:19 - 1.60 +++ windowmatch.c 7 May 2007 22:46:01 - 1.61 @@ -190,19 +190,19 @@ if (!wm) break; wm->match = MATCH_TYPE_TITLE; -wm->value = Estrdup(s + len); +wm->value = Estrdup(s2); break; case WINDOWMATCH_MATCHNAME: if (!wm) break; wm->match = MATCH_TYPE_WM_NAME; -wm->value = Estrdup(s + len); +wm->value = Estrdup(s2); break; case WINDOWMATCH_MATCHCLASS: if (!wm) break; wm->match = MATCH_TYPE_WM_CLASS; -wm->value = Estrdup(s + len); +wm->value = Estrdup(s2); break; case WINDOWMATCH_WIDTH: - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs
E CVS: apps/e englebass
Enlightenment CVS committal Author : englebass Project : e17 Module : apps/e Dir : e17/apps/e/src/bin Modified Files: e_dnd.c e_gadcon.c e_gadcon.h e_shelf.c Log Message: Show shelves on dnd enter. === RCS file: /cvs/e/e17/apps/e/src/bin/e_dnd.c,v retrieving revision 1.59 retrieving revision 1.60 diff -u -3 -r1.59 -r1.60 --- e_dnd.c 7 May 2007 18:01:43 - 1.59 +++ e_dnd.c 7 May 2007 19:54:12 - 1.60 @@ -20,6 +20,8 @@ static void _e_drag_move(E_Drag *drag, int x, int y); static void _e_drag_coords_update(E_Drop_Handler *h, int *dx, int *dy, int *dw, int *dh); static int _e_drag_win_matches(E_Drop_Handler *h, Ecore_X_Window win); +static void _e_drag_win_show(E_Drop_Handler *h); +static void _e_drag_win_hide(E_Drop_Handler *h); static void _e_drag_update(int x, int y); static void _e_drag_end(int x, int y); static void _e_drag_xdnd_end(int x, int y); @@ -586,6 +588,46 @@ } static void +_e_drag_win_show(E_Drop_Handler *h) +{ + if (h->obj) + { + switch (h->obj->type) + { + case E_GADCON_TYPE: + e_shelf_toggle(e_gadcon_shelf_get((E_Gadcon *)(h->obj)), 1); + break; + case E_GADCON_CLIENT_TYPE: + e_shelf_toggle(e_gadcon_shelf_get(((E_Gadcon_Client *)(h->obj))->gadcon), 1); + break; +/* FIXME: add more types as needed */ + default: +break; + } + } +} + +static void +_e_drag_win_hide(E_Drop_Handler *h) +{ + if (h->obj) + { + switch (h->obj->type) + { + case E_GADCON_TYPE: + e_shelf_toggle(e_gadcon_shelf_get((E_Gadcon *)(h->obj)), 0); + break; + case E_GADCON_CLIENT_TYPE: + e_shelf_toggle(e_gadcon_shelf_get(((E_Gadcon_Client *)(h->obj))->gadcon), 0); + break; +/* FIXME: add more types as needed */ + default: +break; + } + } +} + +static void _e_drag_update(int x, int y) { Evas_List *l; @@ -632,6 +674,7 @@ { if (!h->entered) { + _e_drag_win_show(h); if (h->cb.enter) { if (_drag_current->cb.convert) @@ -654,6 +697,7 @@ { if (h->cb.leave) h->cb.leave(h->cb.data, h->active_type, &leave_ev); + _e_drag_win_hide(h); h->entered = 0; } } === RCS file: /cvs/e/e17/apps/e/src/bin/e_gadcon.c,v retrieving revision 1.77 retrieving revision 1.78 diff -u -3 -r1.77 -r1.78 --- e_gadcon.c 25 Mar 2007 22:44:59 - 1.77 +++ e_gadcon.c 7 May 2007 19:54:12 - 1.78 @@ -632,7 +632,7 @@ gc->menu_attach.func = func; gc->menu_attach.data = data; } - + EAPI void e_gadcon_dnd_window_set(E_Gadcon *gc, Ecore_X_Window win) { @@ -647,6 +647,22 @@ E_OBJECT_CHECK_RETURN(gc, 0); E_OBJECT_TYPE_CHECK_RETURN(gc, E_GADCON_TYPE, 0); return gc->dnd_win; +} + +EAPI void +e_gadcon_shelf_set(E_Gadcon *gc, E_Shelf *shelf) +{ + E_OBJECT_CHECK(gc); + E_OBJECT_TYPE_CHECK(gc, E_GADCON_TYPE); + gc->shelf = shelf; +} + +EAPI E_Shelf * +e_gadcon_shelf_get(E_Gadcon *gc) +{ + E_OBJECT_CHECK_RETURN(gc, NULL); + E_OBJECT_TYPE_CHECK_RETURN(gc, E_GADCON_TYPE, NULL); + return gc->shelf; } EAPI E_Config_Gadcon_Client * === RCS file: /cvs/e/e17/apps/e/src/bin/e_gadcon.h,v retrieving revision 1.38 retrieving revision 1.39 diff -u -3 -r1.38 -r1.39 --- e_gadcon.h 25 Mar 2007 22:44:59 - 1.38 +++ e_gadcon.h 7 May 2007 19:54:12 - 1.39 @@ -81,6 +81,7 @@ E_Config_Dialog*config_dialog; unsigned char editing : 1; Ecore_X_Window dnd_win; + E_Shelf*shelf; E_Drop_Handler *drop_handler; }; @@ -181,6 +182,8 @@ EAPI void e_gadcon_util_menu_attach_func_set(E_Gadcon *gc, void (*func) (void *data, E_Menu *menu), void *data); EAPI void e_gadcon_dnd_window_set(E_Gadcon *gc, Ecore_X_Window win); EAPI Ecore_X_Window e_gadcon_dnd_window_get(E_Gadcon *gc); +EAPI void e_gadcon_shelf_set(E_Gadcon *gc, E_Shelf *shelf); +EAPI E_Shelf *e_gadcon_shelf_get(E_Gadcon *gc); EAPI E_Config_Gadcon_Client *e_gadcon_client_config_new(E_Gadcon *gc, const char *name); EAPI E_Config_Gadcon_Client *e_gadcon_client_config_get(E_Gadcon *gc, const char *id); === RCS file: /cvs/e/e17/apps/e/src/bin/e_shelf.c,v retrieving revision 1.65 retrieving revision 1.66 diff -
E CVS: proto barbieri
Enlightenment CVS committal Author : barbieri Project : e17 Module : proto Dir : e17/proto/python-efl/python-emotion Log Message: Import Python-Emotion bindings, it's already complete. Status: Vendor Tag: Python-Emotion Release Tags: python-emotion-start N e17/proto/python-efl/python-emotion/setup.cfg N e17/proto/python-efl/python-emotion/README N e17/proto/python-efl/python-emotion/setup.py N e17/proto/python-efl/python-emotion/AUTHORS N e17/proto/python-efl/python-emotion/COPYING-PLAIN N e17/proto/python-efl/python-emotion/COPYING N e17/proto/python-efl/python-emotion/emotion/__init__.py N e17/proto/python-efl/python-emotion/emotion/emotion.c_emotion.pyx N e17/proto/python-efl/python-emotion/emotion/emotion.c_emotion.pxd No conflicts created by this import - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs
E CVS: libs/ecore tilman
Enlightenment CVS committal Author : tilman Project : e17 Module : libs/ecore Dir : e17/libs/ecore Modified Files: configure.in Log Message: unbreak the ecore-x build. that 2nd test doesn't belong there. === RCS file: /cvs/e/e17/libs/ecore/configure.in,v retrieving revision 1.195 retrieving revision 1.196 diff -u -3 -r1.195 -r1.196 --- configure.in7 May 2007 15:39:22 - 1.195 +++ configure.in7 May 2007 19:25:46 - 1.196 @@ -714,7 +714,7 @@ AC_SUBST(requirements_ecore_x) # set up conditionals -AM_CONDITIONAL(BUILD_ECORE_X, test $have_ecore_x = yes -a test $have_ecore_x_xcb = no) +AM_CONDITIONAL(BUILD_ECORE_X, test $have_ecore_x = yes -a $have_ecore_x_xcb = no) AM_CONDITIONAL(BUILD_ECORE_X_XCB, test $have_ecore_x_xcb = yes) AM_CONDITIONAL(BUILD_ECORE_EVAS_GL, test $have_ecore_evas_gl = yes) AM_CONDITIONAL(BUILD_ECORE_EVAS_XRENDER, test $have_ecore_evas_xrender = yes) - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs
E CVS: apps/e englebass
Enlightenment CVS committal Author : englebass Project : e17 Module : apps/e Dir : e17/apps/e/src/bin Modified Files: e_shelf.c e_shelf.h Log Message: Make hiding work on the desktop again. === RCS file: /cvs/e/e17/apps/e/src/bin/e_shelf.c,v retrieving revision 1.64 retrieving revision 1.65 diff -u -3 -r1.64 -r1.65 --- e_shelf.c 7 May 2007 18:38:49 - 1.64 +++ e_shelf.c 7 May 2007 19:16:51 - 1.65 @@ -17,8 +17,8 @@ static void _e_shelf_menu_append(E_Shelf *es, E_Menu *mn); static void _e_shelf_cb_menu_items_append(void *data, E_Menu *mn); static void _e_shelf_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_info); -static void _e_shelf_cb_mouse_in(Ecore_Evas *ee); -static void _e_shelf_cb_mouse_out(Ecore_Evas *ee); +static void _e_shelf_cb_mouse_in(void *data, Evas *evas, Evas_Object *obj, void *event_info); +static void _e_shelf_cb_mouse_out(void *data, Evas *evas, Evas_Object *obj, void *event_info); static int _e_shelf_cb_id_sort(void *data1, void *data2); static int _e_shelf_cb_hide_animator(void *data); static int _e_shelf_cb_hide_animator_timer(void *data); @@ -123,7 +123,6 @@ e_popup_layer_set(es->popup, layer); es->ee = es->popup->ecore_evas; es->evas = es->popup->evas; - ecore_evas_data_set(es->ee, "e_shelf", es); } else { @@ -139,10 +138,14 @@ es->o_event = evas_object_rectangle_add(es->evas); evas_object_color_set(es->o_event, 0, 0, 0, 0); evas_object_resize(es->o_event, es->w, es->h); - evas_object_event_callback_add(es->o_event, EVAS_CALLBACK_MOUSE_DOWN, _e_shelf_cb_mouse_down, es); - ecore_evas_callback_mouse_in_set(es->ee, _e_shelf_cb_mouse_in); - ecore_evas_callback_mouse_out_set(es->ee, _e_shelf_cb_mouse_out); + + es->o_hide = evas_object_rectangle_add(es->evas); + evas_object_color_set(es->o_hide, 0, 0, 0, 0); + evas_object_resize(es->o_hide, es->w, es->h); + evas_object_event_callback_add(es->o_hide, EVAS_CALLBACK_MOUSE_IN, _e_shelf_cb_mouse_in, es); + evas_object_event_callback_add(es->o_hide, EVAS_CALLBACK_MOUSE_OUT, _e_shelf_cb_mouse_out, es); + evas_object_repeat_events_set(es->o_hide, 1); es->o_base = edje_object_add(es->evas); es->name = evas_stringshare_add(name); @@ -153,14 +156,18 @@ "e/shelf/default/base"); if (es->popup) { + evas_object_layer_set(es->o_hide, 1); + evas_object_show(es->o_hide); evas_object_show(es->o_event); evas_object_show(es->o_base); e_popup_edje_bg_object_set(es->popup, es->o_base); } else { + evas_object_move(es->o_hide, es->zone->x + es->x, es->zone->y + es->y); evas_object_move(es->o_event, es->zone->x + es->x, es->zone->y + es->y); evas_object_move(es->o_base, es->zone->x + es->x, es->zone->y + es->y); + evas_object_layer_set(es->o_hide, layer + 1); evas_object_layer_set(es->o_event, layer); evas_object_layer_set(es->o_base, layer); } @@ -250,6 +257,7 @@ e_popup_show(es->popup); else { + evas_object_show(es->o_hide); evas_object_show(es->o_event); evas_object_show(es->o_base); } @@ -264,6 +272,7 @@ e_popup_hide(es->popup); else { + evas_object_hide(es->o_hide); evas_object_hide(es->o_event); evas_object_hide(es->o_base); } @@ -275,8 +284,6 @@ E_OBJECT_CHECK(es); E_OBJECT_TYPE_CHECK(es, E_SHELF_TYPE); - if ((!es->popup) || (!es->cfg->autohide)) return; - if ((show) && (es->hidden)) { es->hidden = 0; @@ -296,7 +303,7 @@ es->hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, es); } } - else if ((!show) && (!es->hidden) && (!es->gadcon->editing)) + else if ((!show) && (!es->hidden) && (!es->gadcon->editing) && (es->cfg->autohide)) { es->hidden = 1; edje_object_signal_emit(es->o_base, "e,state,hidden", "e"); @@ -329,6 +336,7 @@ e_popup_move(es->popup, es->x, es->y); else { + evas_object_move(es->o_hide, es->zone->x + es->x, es->zone->y + es->y); evas_object_move(es->o_event, es->zone->x + es->x, es->zone->y + es->y); evas_object_move(es->o_base, es->zone->x + es->x, es->zone->y + es->y); } @@ -343,6 +351,7 @@ es->h = h; if (es->popup) e_popup_resize(es->popup, es->w, es->h); + evas_object_resize(es->o_hide, es->w, es->h); evas_object_resize(es->o_event, es->w, es->h); evas_object_resize(es->o_base, es->w, es->h); } @@ -360,9 +369,11 @@ e_popup_move_resize(es->popup, es->x, es->y, es->w, es->h); else { + evas_object_move(es->o_hide, es->zone->x + es->x, es->zone->y + es->y); evas_object_move(es->o_event, es->zone->x + es->x, es->zone->y + es->y); evas_object_move(es->o_base, es->zone->x + es->x, es->zone->
E CVS: apps/e englebass
Enlightenment CVS committal Author : englebass Project : e17 Module : apps/e Dir : e17/apps/e/src/bin Modified Files: e_shelf.c Log Message: Disable auto-hide for below all shelves. === RCS file: /cvs/e/e17/apps/e/src/bin/e_shelf.c,v retrieving revision 1.63 retrieving revision 1.64 diff -u -3 -r1.63 -r1.64 --- e_shelf.c 7 May 2007 18:14:28 - 1.63 +++ e_shelf.c 7 May 2007 18:38:49 - 1.64 @@ -275,7 +275,7 @@ E_OBJECT_CHECK(es); E_OBJECT_TYPE_CHECK(es, E_SHELF_TYPE); - if (!es->cfg->autohide) return; + if ((!es->popup) || (!es->cfg->autohide)) return; if ((show) && (es->hidden)) { - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs
E CVS: libs/ecore tilman
Enlightenment CVS committal Author : tilman Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src/lib/ecore_x Modified Files: ecore_xcb.c ecore_xcb_atom.c ecore_xcb_private.h Log Message: keep the atom init cookie list in a local variables, rather than in global variables. memory usage-- === RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_x/ecore_xcb.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- ecore_xcb.c 13 Apr 2007 17:12:09 - 1.1 +++ ecore_xcb.c 7 May 2007 18:21:53 - 1.2 @@ -182,6 +182,8 @@ const xcb_query_extension_reply_t *reply_xprint; #endif /* ECORE_XCB_XPRINT */ + xcb_intern_atom_cookie_t atom_cookies[ECORE_X_ATOMS_COUNT]; + if (_ecore_xcb_init_count > 0) { _ecore_xcb_init_count++; @@ -205,8 +207,9 @@ * */ + /* We request the atoms (non blocking) */ - _ecore_x_atom_init(); + _ecore_x_atom_init(atom_cookies); /* We prefetch all the extension data (non blocking) */ @@ -277,7 +280,7 @@ */ /* We get the atoms (blocking) */ - _ecore_x_atom_init_finalize(); + _ecore_x_atom_init_finalize(atom_cookies); /* We then ask for the extension data (blocking) */ reply_big_requests = xcb_get_extension_data(_ecore_xcb_conn, &xcb_big_requests_id); === RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_x/ecore_xcb_atom.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- ecore_xcb_atom.c7 May 2007 17:57:46 - 1.2 +++ ecore_xcb_atom.c7 May 2007 18:21:53 - 1.3 @@ -11,10 +11,6 @@ * Functions that operate on atoms. */ -#define ECORE_X_ATOMS_COUNT 115 -static xcb_intern_atom_cookie_t ecore_xcb_atom_init_cookies[ECORE_X_ATOMS_COUNT]; - - /*/ /* Atoms */ /*/ @@ -230,12 +226,11 @@ the second one gets the replies and set the atoms. */ #define FETCH_ATOM(s) \ - ecore_xcb_atom_init_cookies[i] = \ - xcb_intern_atom(_ecore_xcb_conn, 0, sizeof(s), s); \ + atom_cookies[i] = xcb_intern_atom(_ecore_xcb_conn, 0, sizeof(s), s); \ i++ void -_ecore_x_atom_init(void) +_ecore_x_atom_init(xcb_intern_atom_cookie_t *atom_cookies) { int i = 0; @@ -411,7 +406,7 @@ } void -_ecore_x_atom_init_finalize(void) +_ecore_x_atom_init_finalize(xcb_intern_atom_cookie_t *atom_cookies) { xcb_intern_atom_reply_t *replies[ECORE_X_ATOMS_COUNT]; int i; @@ -420,7 +415,7 @@ xcb_generic_error_t *error = NULL; replies[i] = xcb_intern_atom_reply(_ecore_xcb_conn, - ecore_xcb_atom_init_cookies[i], + atom_cookies[i], &error); if (!replies[i]) { printf ("pas de reply %d\n", i); === RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_x/ecore_xcb_private.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- ecore_xcb_private.h 13 Apr 2007 17:12:09 - 1.1 +++ ecore_xcb_private.h 7 May 2007 18:21:53 - 1.2 @@ -227,8 +227,10 @@ extern Ecore_X_Atom ECORE_X_ATOM_E_FRAME_SIZE; extern Ecore_X_Atom ECORE_X_ATOM_WM_SIZE_HINTS; -void _ecore_x_atom_init (void); -void _ecore_x_atom_init_finalize (void); +#define ECORE_X_ATOMS_COUNT 115 + +void _ecore_x_atom_init (xcb_intern_atom_cookie_t *); +void _ecore_x_atom_init_finalize (xcb_intern_atom_cookie_t *); /* damage */ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs
E CVS: apps/e englebass
Enlightenment CVS committal Author : englebass Project : e17 Module : apps/e Dir : e17/apps/e/src/bin Modified Files: e_shelf.c Log Message: Keep a hash with winid keys. === RCS file: /cvs/e/e17/apps/e/src/bin/e_shelf.c,v retrieving revision 1.62 retrieving revision 1.63 diff -u -3 -r1.62 -r1.63 --- e_shelf.c 7 May 2007 17:46:25 - 1.62 +++ e_shelf.c 7 May 2007 18:14:28 - 1.63 @@ -27,6 +27,7 @@ static void _e_shelf_menu_pre_cb(void *data, E_Menu *m); static Evas_List *shelves = NULL; +static Evas_Hash *winid_shelves = NULL; /* externally accessible functions */ EAPI int @@ -187,7 +188,10 @@ e_gadcon_zone_set(es->gadcon, zone); e_gadcon_ecore_evas_set(es->gadcon, es->ee); if (popup) - e_gadcon_dnd_window_set(es->gadcon, es->popup->evas_win); + { + e_gadcon_dnd_window_set(es->gadcon, es->popup->evas_win); + winid_shelves = evas_hash_add(winid_shelves, e_util_winid_str_get(es->popup->evas_win), es); + } else e_gadcon_dnd_window_set(es->gadcon, zone->container->event_win); e_gadcon_util_menu_attach_func_set(es->gadcon, @@ -648,6 +652,7 @@ if (es->popup) { e_drop_xdnd_register_set(es->popup->evas_win, 0); + winid_shelves = evas_hash_del(winid_shelves, e_util_winid_str_get(es->popup->evas_win), es); e_object_del(E_OBJECT(es->popup)); } free(es); - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs
E CVS: libs/ecore tilman
Enlightenment CVS committal Author : tilman Project : e17 Module : libs/ecore Dir : e17/libs/ecore Modified Files: Makefile.am Log Message: distribute ecore-x.pc for xcb, too === RCS file: /cvs/e/e17/libs/ecore/Makefile.am,v retrieving revision 1.33 retrieving revision 1.34 diff -u -3 -r1.33 -r1.34 --- Makefile.am 23 Mar 2007 19:14:01 - 1.33 +++ Makefile.am 7 May 2007 18:12:15 - 1.34 @@ -110,6 +110,10 @@ px = ecore-x.pc endif +if BUILD_ECORE_X_XCB +px = ecore-x.pc +endif + pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = \ ecore.pc $(pcon) $(pconfig) $(pdbus) $(pdfb) $(pevas) \ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs
E CVS: apps/e englebass
Enlightenment CVS committal Author : englebass Project : e17 Module : apps/e Dir : e17/apps/e/src/bin Modified Files: e_border.c e_dnd.c e_stolen.c e_utils.c e_utils.h Log Message: No need to duplicate this function. === RCS file: /cvs/e/e17/apps/e/src/bin/e_border.c,v retrieving revision 1.589 retrieving revision 1.590 diff -u -3 -r1.589 -r1.590 --- e_border.c 29 Apr 2007 03:24:16 - 1.589 +++ e_border.c 7 May 2007 18:01:42 - 1.590 @@ -96,8 +96,6 @@ static int _e_border_cb_ping_timer(void *data); static int _e_border_cb_kill_timer(void *data); -static char *_e_border_winid_str_get(Ecore_X_Window win); - static void _e_border_pointer_resize_begin(E_Border *bd); static void _e_border_pointer_resize_end(E_Border *bd); static void _e_border_pointer_move_begin(E_Border *bd); @@ -466,9 +464,9 @@ bd->desk = e_desk_current_get(bd->zone); e_container_border_add(bd); borders = evas_list_append(borders, bd); - borders_hash = evas_hash_add(borders_hash, _e_border_winid_str_get(bd->client.win), bd); - borders_hash = evas_hash_add(borders_hash, _e_border_winid_str_get(bd->bg_win), bd); - borders_hash = evas_hash_add(borders_hash, _e_border_winid_str_get(bd->win), bd); + borders_hash = evas_hash_add(borders_hash, e_util_winid_str_get(bd->client.win), bd); + borders_hash = evas_hash_add(borders_hash, e_util_winid_str_get(bd->bg_win), bd); + borders_hash = evas_hash_add(borders_hash, e_util_winid_str_get(bd->win), bd); managed = 1; ecore_x_window_prop_card32_set(win, E_ATOM_MANAGED, &managed, 1); ecore_x_window_prop_card32_set(win, E_ATOM_CONTAINER, &bd->zone->container->num, 1); @@ -2278,7 +2276,7 @@ { E_Border *bd; - bd = evas_hash_find(borders_hash, _e_border_winid_str_get(win)); + bd = evas_hash_find(borders_hash, e_util_winid_str_get(win)); if ((bd) && (!e_object_is_del(E_OBJECT(bd))) && (bd->client.win == win)) return bd; @@ -2290,7 +2288,7 @@ { E_Border *bd; - bd = evas_hash_find(borders_hash, _e_border_winid_str_get(win)); + bd = evas_hash_find(borders_hash, e_util_winid_str_get(win)); if ((bd) && (!e_object_is_del(E_OBJECT(bd))) && (bd->bg_win == win)) return bd; @@ -2302,7 +2300,7 @@ { E_Border *bd; - bd = evas_hash_find(borders_hash, _e_border_winid_str_get(win)); + bd = evas_hash_find(borders_hash, e_util_winid_str_get(win)); if ((bd) && (!e_object_is_del(E_OBJECT(bd))) && (bd->win == win)) return bd; @@ -3170,9 +3168,9 @@ e_bindings_wheel_ungrab(E_BINDING_CONTEXT_BORDER, bd->win); ecore_x_window_del(bd->win); - borders_hash = evas_hash_del(borders_hash, _e_border_winid_str_get(bd->client.win), bd); - borders_hash = evas_hash_del(borders_hash, _e_border_winid_str_get(bd->bg_win), bd); - borders_hash = evas_hash_del(borders_hash, _e_border_winid_str_get(bd->win), bd); + borders_hash = evas_hash_del(borders_hash, e_util_winid_str_get(bd->client.win), bd); + borders_hash = evas_hash_del(borders_hash, e_util_winid_str_get(bd->bg_win), bd); + borders_hash = evas_hash_del(borders_hash, e_util_winid_str_get(bd->win), bd); borders = evas_list_remove(borders, bd); focus_stack = evas_list_remove(focus_stack, bd); @@ -7253,26 +7251,6 @@ } bd->kill_timer = NULL; return 0; -} - -static char * -_e_border_winid_str_get(Ecore_X_Window win) -{ - const char *vals = "qWeRtYuIoP5-$&<~"; - static char id[9]; - unsigned int val; - - val = (unsigned int)win; - id[0] = vals[(val >> 28) & 0xf]; - id[1] = vals[(val >> 24) & 0xf]; - id[2] = vals[(val >> 20) & 0xf]; - id[3] = vals[(val >> 16) & 0xf]; - id[4] = vals[(val >> 12) & 0xf]; - id[5] = vals[(val >> 8) & 0xf]; - id[6] = vals[(val >> 4) & 0xf]; - id[7] = vals[(val ) & 0xf]; - id[8] = 0; - return id; } static void === RCS file: /cvs/e/e17/apps/e/src/bin/e_dnd.c,v retrieving revision 1.58 retrieving revision 1.59 diff -u -3 -r1.58 -r1.59 --- e_dnd.c 5 Apr 2007 06:59:02 - 1.58 +++ e_dnd.c 7 May 2007 18:01:43 - 1.59 @@ -37,8 +37,6 @@ static int _e_dnd_cb_event_dnd_drop(void *data, int type, void *event); static int _e_dnd_cb_event_dnd_selection(void *data, int type, void *event); -static char *_e_dnd_winid_str_get(Ecore_X_Window win); - /* local subsystem globals */ typedef struct _XDnd XDnd; @@ -391,7 +389,7 @@ { const char *id; - id = _e_dnd_winid_str_get(win); + id = e_util_winid_str_get(win); if (reg) { if (!evas_hash_find(_drop_win_hash, id)) @@ -945,7 +943,7 @@ ev = event; if (ev->source == _drag_win) return 1; - id = _e_dnd_winid_str_get(ev->win); + id = e_util_winid_str_get(ev->win); if (!evas_hash_find(_drop_win_hash, id)) return 1; for (l = _drop_handlers; l; l = l->next) {
E CVS: libs/ecore tilman
Enlightenment CVS committal Author : tilman Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src/lib/ecore_x Modified Files: ecore_xcb_atom.c Log Message: global string tables suck ass. this is better. === RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_x/ecore_xcb_atom.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- ecore_xcb_atom.c13 Apr 2007 17:12:09 - 1.1 +++ ecore_xcb_atom.c7 May 2007 17:57:46 - 1.2 @@ -229,161 +229,160 @@ _ecore_xcb_atom_init_finalize. The first one gets the cookies and the second one gets the replies and set the atoms. */ +#define FETCH_ATOM(s) \ + ecore_xcb_atom_init_cookies[i] = \ + xcb_intern_atom(_ecore_xcb_conn, 0, sizeof(s), s); \ + i++ + void _ecore_x_atom_init(void) { - const char *atom_names[ECORE_X_ATOMS_COUNT] = { - /* generic atoms */ - "COMPOUND_TEXT", - "FILE_NAME", - "TEXT", - "UTF8_STRING", - - /* dnd atoms */ - "JXSelectionWindowProperty", - "XdndSelection", - "XdndAware", - "XdndEnter", - "XdndTypeList", - "XdndPosition", - "XdndActionCopy", - "XdndActionMove", - "XdndActionPrivate", - "XdndActionAsk", - "XdndActionList", - "XdndActionLink", - "XdndActionDescription", - "XdndProxy", - "XdndStatus", - "XdndLeave", - "XdndDrop", - "XdndFinished", - - /* old E atom */ - "_E_FRAME_SIZE", - - /* old Gnome atom */ - "_WIN_LAYER", - - /* ICCCM */ - "WM_PROTOCOLS", - "WM_COLORMAP_WINDOWS", - - "WM_STATE", - - "WM_CHANGE_STATE", - - "WM_TAKE_FOCUS", - "WM_SAVE_YOURSELF", - "WM_DELETE_WINDOW", - - "WM_COLORMAP_NOTIFY", - - "SM_CLIENT_ID", - "WM_CLIENT_LEADER", - "WM_WINDOW_ROLE", - - /* Motif WM atom */ - "_MOTIF_WM_HINTS", - - /* NetWM atoms */ - "_NET_SUPPORTED", - "_NET_CLIENT_LIST", - "_NET_CLIENT_LIST_STACKING", - "_NET_NUMBER_OF_DESKTOPS", - "_NET_DESKTOP_GEOMETRY", - "_NET_DESKTOP_VIEWPORT", - "_NET_CURRENT_DESKTOP", - "_NET_DESKTOP_NAMES", - "_NET_ACTIVE_WINDOW", - "_NET_WORKAREA", - "_NET_SUPPORTING_WM_CHECK", - "_NET_VIRTUAL_ROOTS", - "_NET_DESKTOP_LAYOUT", - "_NET_SHOWING_DESKTOP", - - "_NET_CLOSE_WINDOW", - "_NET_MOVERESIZE_WINDOW", - "_NET_WM_MOVERESIZE", - "_NET_RESTACK_WINDOW", - "_NET_REQUEST_FRAME_EXTENTS", - - "_NET_WM_NAME", - "_NET_WM_VISIBLE_NAME", - "_NET_WM_ICON_NAME", - "_NET_WM_VISIBLE_ICON_NAME", - "_NET_WM_DESKTOP", - - "_NET_WM_WINDOW_TYPE", - "_NET_WM_WINDOW_TYPE_DESKTOP", - "_NET_WM_WINDOW_TYPE_DOCK", - "_NET_WM_WINDOW_TYPE_TOOLBAR", - "_NET_WM_WINDOW_TYPE_MENU", - "_NET_WM_WINDOW_TYPE_UTILITY", - "_NET_WM_WINDOW_TYPE_SPLASH", - "_NET_WM_WINDOW_TYPE_DIALOG", - "_NET_WM_WINDOW_TYPE_NORMAL", - - "_NET_WM_STATE", - "_NET_WM_STATE_MODAL", - "_NET_WM_STATE_STICKY", - "_NET_WM_STATE_MAXIMIZED_VERT", - "_NET_WM_STATE_MAXIMIZED_HORZ", - "_NET_WM_STATE_SHADED", - "_NET_WM_STATE_SKIP_TASKBAR", - "_NET_WM_STATE_SKIP_PAGER", - "_NET_WM_STATE_HIDDEN", - "_NET_WM_STATE_FULLSCREEN", - "_NET_WM_STATE_ABOVE", - "_NET_WM_STATE_BELOW", - "_NET_WM_STATE_DEMANDS_ATTENTION", - - "_NET_WM_ALLOWED_ACTIONS", - "_NET_WM_ACTION_MOVE", - "_NET_WM_ACTION_RESIZE", - "_NET_WM_ACTION_MINIMIZE", - "_NET_WM_ACTION_SHADE", - "_NET_WM_ACTION_STICK", - "_NET_WM_ACTION_MAXIMIZE_HORZ", - "_NET_WM_ACTION_MAXIMIZE_VERT", - "_NET_WM_ACTION_FULLSCREEN", - "_NET_WM_ACTION_CHANGE_DESKTOP", - "_NET_WM_ACTION_CLOSE", - - "_NET_WM_STRUT", - "_NET_WM_STRUT_PARTIAL", - "_NET_WM_ICON_GEOMETRY", - "_NET_WM_ICON", - "_NET_WM_PID", - "_NET_WM_HANDLED_ICONS", - "_NET_WM_USER_TIME", - "_NET_STARTUP_ID", - "_NET_FRAME_EXTENTS", - - "_NET_WM_PING", - "_NET_WM_SYNC_REQUEST", - "_NET_WM_SYNC_REQUEST_COUNTER", - - "_NET_WM_WINDOW_OPACITY", - "_NET_WM_WINDOW_SHADOW", - "_NET_WM_WINDOW_SHADE", - - "_NET_STARTUP_INFO_BEGIN", - "_NET_STARTUP_INFO", - - /* selection atoms */ - "TARGETS", - "CLIPBOARD", - "_ECORE_SELECTION_PRIMARY", - "_ECORE_SELECTION_SECONDARY", - "_ECORE_SELECTION_CLIPBOARD" - }; - int i; - - for (i = 0; i < ECORE_X_ATOMS_COUNT; i++) - ecore_xcb_atom_init_cookies[i] = xcb_intern_atom(_ecore_xcb_conn, 0, - strlen(atom_names[i]), - atom_names[i]); + int i = 0; + + /* generic atoms */ + FETCH_ATOM("COMPOUND_TEXT"); + FETCH_ATOM("FILE_NAME"); + FETCH_ATOM("TEXT"); + FETCH_ATOM("UTF8_STRING"); + + /* dnd atoms */ + FETCH_ATOM("JXSelectionWindowProperty"); + FETCH_ATOM("XdndSelection"); + FETCH_ATOM("Xdnd
E CVS: apps/e englebass
Enlightenment CVS committal Author : englebass Project : e17 Module : apps/e Dir : e17/apps/e/src/bin Modified Files: e_shelf.c Log Message: Honor hide_timeout. === RCS file: /cvs/e/e17/apps/e/src/bin/e_shelf.c,v retrieving revision 1.61 retrieving revision 1.62 diff -u -3 -r1.61 -r1.62 --- e_shelf.c 7 May 2007 16:37:54 - 1.61 +++ e_shelf.c 7 May 2007 17:46:25 - 1.62 @@ -20,8 +20,8 @@ static void _e_shelf_cb_mouse_in(Ecore_Evas *ee); static void _e_shelf_cb_mouse_out(Ecore_Evas *ee); static int _e_shelf_cb_id_sort(void *data1, void *data2); -static int _e_shelf_cb_hide_timer(void *data); static int _e_shelf_cb_hide_animator(void *data); +static int _e_shelf_cb_hide_animator_timer(void *data); static int _e_shelf_cb_instant_hide_timer(void *data); static void _e_shelf_menu_del_hook(void *data); static void _e_shelf_menu_pre_cb(void *data, E_Menu *m); @@ -199,9 +199,7 @@ es->hidden = 0; es->hide_step = 0; - es->hide_timer = NULL; - es->hide_animator = NULL; - + option = edje_object_data_get(es->o_base, "hidden_state_size"); if (option) es->hidden_state_size = atoi(option); @@ -285,6 +283,11 @@ } else { + if (es->hide_timer) + { +ecore_timer_del(es->hide_timer); +es->hide_timer = NULL; + } if (!es->hide_animator) es->hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, es); } @@ -300,8 +303,13 @@ } else { - if (!es->hide_animator) - es->hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, es); + if (es->hide_animator) + { +ecore_animator_del(es->hide_animator); +es->hide_animator = NULL; + } + if (es->hide_timer) ecore_timer_del(es->hide_timer); + es->hide_timer = ecore_timer_add(es->cfg->hide_timeout, _e_shelf_cb_hide_animator_timer, es); } } } @@ -1357,6 +1365,18 @@ end: es->hide_animator = NULL; _e_shelf_toggle_border_fix(es); + return 0; +} + +static int +_e_shelf_cb_hide_animator_timer(void *data) +{ + E_Shelf *es; + + es = data; + if (!es->hide_animator) + es->hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, es); + es->hide_timer = NULL; return 0; } - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs
E CVS: apps/e englebass
Enlightenment CVS committal Author : englebass Project : e17 Module : apps/e Dir : e17/apps/e/src/bin Modified Files: e_shelf.c e_shelf.h Log Message: Don't user timer to hide shelf. === RCS file: /cvs/e/e17/apps/e/src/bin/e_shelf.c,v retrieving revision 1.60 retrieving revision 1.61 diff -u -3 -r1.60 -r1.61 --- e_shelf.c 6 May 2007 16:52:24 - 1.60 +++ e_shelf.c 7 May 2007 16:37:54 - 1.61 @@ -18,6 +18,7 @@ static void _e_shelf_cb_menu_items_append(void *data, E_Menu *mn); static void _e_shelf_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_info); static void _e_shelf_cb_mouse_in(Ecore_Evas *ee); +static void _e_shelf_cb_mouse_out(Ecore_Evas *ee); static int _e_shelf_cb_id_sort(void *data1, void *data2); static int _e_shelf_cb_hide_timer(void *data); static int _e_shelf_cb_hide_animator(void *data); @@ -140,6 +141,7 @@ evas_object_event_callback_add(es->o_event, EVAS_CALLBACK_MOUSE_DOWN, _e_shelf_cb_mouse_down, es); ecore_evas_callback_mouse_in_set(es->ee, _e_shelf_cb_mouse_in); + ecore_evas_callback_mouse_out_set(es->ee, _e_shelf_cb_mouse_out); es->o_base = edje_object_add(es->evas); es->name = evas_stringshare_add(name); @@ -271,29 +273,23 @@ E_OBJECT_CHECK(es); E_OBJECT_TYPE_CHECK(es, E_SHELF_TYPE); - if ((!es->cfg->autohide) && (!es->hidden)) return; + if (!es->cfg->autohide) return; - if (show) -{ - if (!es->hide_timer) es->hide_timer = ecore_timer_add(0.3, _e_shelf_cb_hide_timer, es); - - if ((es->hidden) && (!es->instant_timer)) -{ - es->hidden = 0; - edje_object_signal_emit(es->o_base, "e,state,visible", "e"); - if (es->instant_delay >= 0.0) - { -if (!es->instant_timer) - _e_shelf_cb_instant_hide_timer(es); - } - else - { -if (!es->hide_animator) - es->hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, es); - } + if ((show) && (es->hidden)) +{ + es->hidden = 0; + edje_object_signal_emit(es->o_base, "e,state,visible", "e"); + if (es->instant_delay >= 0.0) +{ + _e_shelf_cb_instant_hide_timer(es); +} + else +{ + if (!es->hide_animator) + es->hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, es); } } - else if ((!show) && (es->cfg->autohide) && (!es->hidden) && (!es->gadcon->editing)) + else if ((!show) && (!es->hidden) && (!es->gadcon->editing)) { es->hidden = 1; edje_object_signal_emit(es->o_base, "e,state,hidden", "e"); @@ -617,11 +613,6 @@ static void _e_shelf_free(E_Shelf *es) { - if (es->hide_timer) - { - ecore_timer_del(es->hide_timer); - es->hide_timer = NULL; - } if (es->hide_animator) { ecore_animator_del(es->hide_animator); @@ -632,7 +623,7 @@ ecore_timer_del(es->instant_timer); es->instant_timer = NULL; } - + if (es->menu) { e_menu_post_deactivate_callback_set(es->menu, NULL, NULL); @@ -1150,11 +1141,20 @@ es = ecore_evas_data_get(ee, "e_shelf"); if (!es) return; - es->last_in = ecore_time_get(); edje_object_signal_emit(es->o_base, "e,state,focused", "e"); e_shelf_toggle(es, 1); } +static void +_e_shelf_cb_mouse_out(Ecore_Evas *ee) +{ + E_Shelf *es; + + es = ecore_evas_data_get(ee, "e_shelf"); + if (!es) return; + e_shelf_toggle(es, 0); +} + static int _e_shelf_cb_id_sort(void *data1, void *data2) { @@ -1163,41 +1163,6 @@ es1 = data1; es2 = data2; return (es1->id) > (es2->id); -} - -static int -_e_shelf_cb_hide_timer(void *data) -{ - Evas_Coord x, y, w, h, px, py; - - E_Shelf *es = data; - - evas_object_geometry_get(es->o_base, &x, &y, &w, &h); - if (es->popup) -ecore_x_pointer_xy_get(es->popup->evas_win, &px, &py); - else -ecore_x_pointer_xy_get(es->zone->black_win, &px, &py); - - if (E_INSIDE(px, py, x, y, w, h)) -{ - es->last_in = ecore_time_get(); - return 1; -} - else -{ - if ((es->last_in + es->cfg->hide_timeout) < ecore_time_get()) -{ - e_shelf_toggle(es, 0); - if (es->hide_timer) - { -ecore_timer_del(es->hide_timer); -es->hide_timer = NULL; - } - return 0; -} - else -return 1; -} } static int === RCS file: /cvs/e/e17/apps/e/src/bin/e_shelf.h,v retrieving revision 1.21 retrieving revision 1.22 diff -u -3 -r1.21 -r1.22 --- e_shelf.h 23 Apr 2007 17:21:38 - 1.21 +++ e_shelf.h 7 May 2007 16:37:54 - 1.22 @@ -37,10 +37,9 @@ Ecore_Animator *hide_animator; int hide_s
E CVS: libs/ecore tilman
Enlightenment CVS committal Author : tilman Project : e17 Module : libs/ecore Dir : e17/libs/ecore Modified Files: configure.in Log Message: don't enable BUILD_ECORE_X and BUILD_ECORE_X_XCB at the same time. this unbreaks the ecore-x-xcb build === RCS file: /cvs/e/e17/libs/ecore/configure.in,v retrieving revision 1.194 retrieving revision 1.195 diff -u -3 -r1.194 -r1.195 --- configure.in5 May 2007 15:14:16 - 1.194 +++ configure.in7 May 2007 15:39:22 - 1.195 @@ -714,8 +714,8 @@ AC_SUBST(requirements_ecore_x) # set up conditionals -AM_CONDITIONAL(BUILD_ECORE_X, test "x$have_ecore_x" = "xyes") -AM_CONDITIONAL(BUILD_ECORE_X_XCB, test "x$have_ecore_x_xcb" = "xyes") +AM_CONDITIONAL(BUILD_ECORE_X, test $have_ecore_x = yes -a test $have_ecore_x_xcb = no) +AM_CONDITIONAL(BUILD_ECORE_X_XCB, test $have_ecore_x_xcb = yes) AM_CONDITIONAL(BUILD_ECORE_EVAS_GL, test $have_ecore_evas_gl = yes) AM_CONDITIONAL(BUILD_ECORE_EVAS_XRENDER, test $have_ecore_evas_xrender = yes) AM_CONDITIONAL(BUILD_ECORE_EVAS_DIRECTFB, test $have_ecore_evas_dfb = yes) - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs
E CVS: proto barbieri
Enlightenment CVS committal Author : barbieri Project : e17 Module : proto Dir : e17/proto/python-efl/python-evas/evas Modified Files: evas.c_evas_object_smart.pxi Log Message: Smart callbacks support more than one callback, like C counterparts. === RCS file: /cvs/e/e17/proto/python-efl/python-evas/evas/evas.c_evas_object_smart.pxi,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- evas.c_evas_object_smart.pxi5 May 2007 05:54:34 - 1.2 +++ evas.c_evas_object_smart.pxi7 May 2007 15:28:22 - 1.3 @@ -62,14 +62,17 @@ if obj._m_clip_unset is not None: obj._m_clip_unset(obj) + cdef void _smart_callback(void *data, Evas_Object *o, void *event_info): cdef SmartObject obj -cdef object t, ei +cdef object event, ei obj = Object_from_instance(o) -t = data +event = data ei = event_info -func, args, kargs = t -func(obj, ei, *args, **kargs) +lst = obj._smart_callbacks[event] +for func, args, kargs in lst: +func(obj, ei, *args, **kargs) + cdef long _smart_object_class_new(char *name) except 0: cdef Evas_Smart_Class *cls_def @@ -222,14 +225,23 @@ return self.members_get() def callback_add(self, char *event, func, *args, **kargs): -t = (func, args, kargs) -self._smart_callbacks[event] = t -evas_object_smart_callback_add(self.obj, event, _smart_callback, - t) - -def callback_del(self, char *event): -del self._smart_callbacks[event] -evas_object_smart_callback_del(self.obj, event, _smart_callback) +e = event +lst = self._smart_callbacks.setdefault(e, []) +if not lst: +evas_object_smart_callback_add(self.obj, event, _smart_callback, + e) +lst.append((func, args, kargs)) + +def callback_del(self, char *event, func): +lst = self._smart_callbacks[event] +i = -1 +for i, (f, a, k) in enumerate(lst): +if func == f: +break +del lst[i] +if not lst: +del self._smart_callbacks[event] +evas_object_smart_callback_del(self.obj, event, _smart_callback) def callback_call(self, char *event, event_info=None): evas_object_smart_callback_call(self.obj, event, event_info) - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs
E CVS: libs/emotion raster
Enlightenment CVS committal Author : raster Project : e17 Module : libs/emotion Dir : e17/libs/emotion/src/modules Modified Files: Makefile.am Log Message: link modules to emotion === RCS file: /cvs/e/e17/libs/emotion/src/modules/Makefile.am,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- Makefile.am 17 Jul 2006 17:11:04 - 1.9 +++ Makefile.am 7 May 2007 14:04:40 - 1.10 @@ -26,7 +26,7 @@ emotion_xine.c \ emotion_xine.h \ emotion_xine_vo_out.c -emotion_decoder_xine_la_LIBADD = @EVAS_LIBS@ @ECORE_LIBS@ @XINE_LIBS@ -lpthread +emotion_decoder_xine_la_LIBADD = @EVAS_LIBS@ @ECORE_LIBS@ @XINE_LIBS@ $(top_builddir)/src/lib/libemotion.la -lpthread emotion_decoder_xine_la_LDFLAGS = -module -avoid-version \ -L$(top_builddir)/src/lib -L$(top_builddir)/src/lib/.libs emotion_decoder_xine_la_DEPENDENCIES = $(top_builddir)/config.h @@ -38,7 +38,7 @@ emotion_gstreamer.h \ emotion_gstreamer_pipeline.c \ emotion_gstreamer_pipeline.h -emotion_decoder_gstreamer_la_LIBADD = @EVAS_LIBS@ @ECORE_LIBS@ @GST_LIBS@ +emotion_decoder_gstreamer_la_LIBADD = @EVAS_LIBS@ @ECORE_LIBS@ @GST_LIBS@ $(top_builddir)/src/lib/libemotion.la emotion_decoder_gstreamer_la_LDFLAGS = -module -avoid-version \ -L$(top_builddir)/src/lib -L$(top_builddir)/src/lib/.libs emotion_decoder_gstreamer_la_DEPENDENCIES = $(top_builddir)/config.h - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs