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

Reply via email to