Enlightenment CVS committal Author : raster Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: Makefile.am e_actions.c e_includes.h e_utils.c Added Files: e_flowlayout.c e_flowlayout.h Log Message: patches applied as per emails :) =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/Makefile.am,v retrieving revision 1.172 retrieving revision 1.173 diff -u -3 -r1.172 -r1.173 --- Makefile.am 5 Feb 2007 10:32:28 -0000 1.172 +++ Makefile.am 10 Feb 2007 17:23:05 -0000 1.173 @@ -43,6 +43,7 @@ e_object.h \ e_icon.h \ e_box.h \ +e_flowlayout.h \ e_int_menus.h \ e_module.h \ e_apps.h \ @@ -199,6 +200,7 @@ e_object.c \ e_icon.c \ e_box.c \ +e_flowlayout.c \ e_int_menus.c \ e_module.c \ e_apps.c \ =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_actions.c,v retrieving revision 1.89 retrieving revision 1.90 diff -u -3 -r1.89 -r1.90 --- e_actions.c 29 Dec 2006 02:56:25 -0000 1.89 +++ e_actions.c 10 Feb 2007 17:23:05 -0000 1.90 @@ -728,6 +728,90 @@ } /***************************************************************************/ +ACT_FN_GO(window_push) +{ + if (!obj) obj = E_OBJECT(e_border_focused_get()); + if (!obj) return; + if (obj->type != E_BORDER_TYPE) + { + obj = E_OBJECT(e_border_focused_get()); + if (!obj) return; + } + + if (params) + { + E_Border *bd, *cur; + E_Border_List *bd_list; + E_Direction dir; + int x, y; + + if (strcmp(params, "left") == 0) + dir = E_DIRECTION_LEFT; + else if (strcmp(params, "right") == 0) + dir = E_DIRECTION_RIGHT; + else if (strcmp(params, "up") == 0) + dir = E_DIRECTION_UP; + else if (strcmp(params, "down") == 0) + dir = E_DIRECTION_DOWN; + else + return; + + bd = (E_Border *)obj; + + /* Target x and y. */ + x = bd->x; + y = bd->y; + + if (dir == E_DIRECTION_LEFT) + x = 0; + else if (dir == E_DIRECTION_RIGHT) + x = bd->zone->w - bd->w; + else if (dir == E_DIRECTION_UP) + y = 0; + else // dir == E_DIRECTION_DOWN + y = bd->zone->h - bd->h; + + bd_list = e_container_border_list_first(bd->zone->container); + cur = e_container_border_list_next(bd_list); + + while (cur != NULL) + { + if ((bd->desk == cur->desk) && (bd != cur)) + { + if ((dir == E_DIRECTION_LEFT) + && (cur->x + cur->w < bd->x) + && (E_SPANS_COMMON(bd->y, bd->h, cur->y, cur->h))) + x = MAX(x, cur->x + cur->w); + else if ((dir == E_DIRECTION_RIGHT) + && (cur->x > bd->x + bd->w) + && (E_SPANS_COMMON(bd->y, bd->h, cur->y, cur->h))) + x = MIN(x, cur->x - bd->w); + else if ((dir == E_DIRECTION_UP) + && (cur->y + cur->h < bd->y) + && (E_SPANS_COMMON(bd->x, bd->w, cur->x, cur->w))) + y = MAX(y, cur->y + cur->h); + else if ((dir == E_DIRECTION_DOWN) + && (cur->y > bd->y + bd->h) + && (E_SPANS_COMMON(bd->x, bd->w, cur->x, cur->w))) + y = MIN(y, cur->y - bd->h); + } + cur = e_container_border_list_next(bd_list); + } + e_container_border_list_free(bd_list); + + if ((x != bd->x) || (y != bd->y)) + { + e_border_move(bd, x, y); + + if (e_config->focus_policy != E_FOCUS_CLICK) + ecore_x_pointer_warp(bd->zone->container->win, + bd->x + (bd->w / 2), + bd->y + (bd->h / 2)); + } + } +} + +/***************************************************************************/ ACT_FN_GO(window_drag_icon) { if (!obj) obj = E_OBJECT(e_border_focused_get()); @@ -1949,6 +2033,11 @@ ACT_GO(window_resize_by); e_action_predef_name_set(_("Window : Actions"), "Resize By...", "window_resize_by", NULL, "syntax: W H, example: 100 150", 1); + + /* window_push */ + ACT_GO(window_push); + e_action_predef_name_set(_("Window : Actions"), "Push in Direction...", "window_push", NULL, + "syntax: direction, example: up, down, left, right", 1); /* window_drag_icon */ ACT_GO(window_drag_icon); =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_includes.h,v retrieving revision 1.145 retrieving revision 1.146 diff -u -3 -r1.145 -r1.146 --- e_includes.h 3 Feb 2007 02:13:02 -0000 1.145 +++ e_includes.h 10 Feb 2007 17:23:05 -0000 1.146 @@ -17,6 +17,7 @@ #include "e_menu.h" #include "e_icon.h" #include "e_box.h" +#include "e_flowlayout.h" #include "e_editable.h" #include "e_entry.h" #include "e_init.h" =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_utils.c,v retrieving revision 1.57 retrieving revision 1.58 diff -u -3 -r1.57 -r1.58 --- e_utils.c 12 Jan 2007 13:24:53 -0000 1.57 +++ e_utils.c 10 Feb 2007 17:23:05 -0000 1.58 @@ -783,6 +783,7 @@ } static char *prev_ld_library_path = NULL; +static char *prev_path = NULL; EAPI void e_util_library_path_strip(void) @@ -798,6 +799,15 @@ if (p2) p2++; e_util_env_set("LD_LIBRARY_PATH", p2); } + p = getenv("PATH"); + E_FREE(prev_path); + if (p) + { + prev_path = strdup(p); + p2 = strchr(p, ':'); + if (p2) p2++; + e_util_env_set("PATH", p2); + } } EAPI void @@ -806,6 +816,9 @@ if (!prev_ld_library_path) return; e_util_env_set("LD_LIBRARY_PATH", prev_ld_library_path); E_FREE(prev_ld_library_path); + if (!prev_path) return; + e_util_env_set("PATH", prev_path); + E_FREE(prev_path); } /* local subsystem functions */ ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs