Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_actions.c e_bindings.c e_utils.c e_utils.h e_zone.c e_zone.h 


Log Message:


more bindings and actions

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_actions.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- e_actions.c 29 Apr 2005 19:47:30 -0000      1.4
+++ e_actions.c 30 Apr 2005 04:21:55 -0000      1.5
@@ -168,43 +168,79 @@
 /***************************************************************************/
 ACT_FN_GO(desk_flip_by)
 {
-   E_Container *con;
+   E_Zone *zone;
    
    if (!obj) return;
    if (obj->type != E_MANAGER_TYPE) return;
-   con = e_manager_container_current_get((E_Manager *)obj);
-   /* FIXME: this shoudl really go into desk logic and zone... */
-   if (con)
+   zone = e_util_zone_current_get((E_Manager *)obj);
+   if (zone)
      {
-       E_Zone *zone;
+       if (params)
+         {
+            int dx = 0, dy = 0;
        
-       zone = e_zone_current_get(con);
-       if (zone)
+            if (sscanf(params, "%i %i", &dx, &dy) == 2)
+              e_zone_desk_flip_by(zone, dx, dy);
+         }
+     }
+}
+
+/***************************************************************************/
+ACT_FN_GO(desk_flip_to)
+{
+   E_Zone *zone;
+   
+   if (!obj) return;
+   if (obj->type != E_MANAGER_TYPE) return;
+   zone = e_util_zone_current_get((E_Manager *)obj);
+   if (zone)
+     {
+       if (params)
          {
-            E_Desk *desk;
             int dx = 0, dy = 0;
-            
-            if (params)
-              {
-                 if (sscanf(params, "%i %i", &dx, &dy) != 2)
-                   {
-                      dx = 0;
-                      dy = 0;
-                   }
-              }
-            dx = zone->desk_x_current + dx;
-            if (dx < 0) dx = 0;
-            else if (dx >= zone->desk_x_count) dx = zone->desk_x_count  - 1;
-            dy = zone->desk_x_current + dy;
-            if (dy < 0) dy = 0;
-            else if (dy >= zone->desk_y_count) dy = zone->desk_y_count  - 1;
-            desk = e_desk_at_xy_get(zone, dx, dy);
-            if (desk)
-              {  
-                 ecore_x_window_focus(con->manager->root);
-                 e_desk_show(desk);
-                 e_zone_update_flip(zone);
-              }
+       
+            if (sscanf(params, "%i %i", &dx, &dy) == 2)
+              e_zone_desk_flip_to(zone, dx, dy);       
+         }
+     }
+}
+
+/***************************************************************************/
+ACT_FN_GO(desk_linear_flip_by)
+{
+   E_Zone *zone;
+   
+   if (!obj) return;
+   if (obj->type != E_MANAGER_TYPE) return;
+   zone = e_util_zone_current_get((E_Manager *)obj);
+   if (zone)
+     {
+       if (params)
+         {
+            int dx = 0;
+       
+            if (sscanf(params, "%i", &dx) == 1)
+              e_zone_desk_linear_flip_by(zone, dx);
+         }
+     }
+}
+
+/***************************************************************************/
+ACT_FN_GO(desk_linear_flip_to)
+{
+   E_Zone *zone;
+   
+   if (!obj) return;
+   if (obj->type != E_MANAGER_TYPE) return;
+   zone = e_util_zone_current_get((E_Manager *)obj);
+   if (zone)
+     {
+       if (params)
+         {
+            int dx = 0;
+       
+            if (sscanf(params, "%i", &dx) == 1)
+              e_zone_desk_linear_flip_to(zone, dx);
          }
      }
 }
@@ -238,6 +274,12 @@
    ACT_GO(window_close);
 
    ACT_GO(desk_flip_by);
+
+   ACT_GO(desk_flip_to);
+
+   ACT_GO(desk_linear_flip_by);
+   
+   ACT_GO(desk_linear_flip_to);
    
    return 1;
 }
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_bindings.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- e_bindings.c        29 Apr 2005 19:42:18 -0000      1.6
+++ e_bindings.c        30 Apr 2005 04:21:55 -0000      1.7
@@ -82,6 +82,48 @@
    e_bindings_key_add(E_BINDING_CONTEXT_ANY,
                      "x", E_BINDING_MODIFIER_CTRL | E_BINDING_MODIFIER_ALT, 0,
                      "window_close", "");
+   e_bindings_key_add(E_BINDING_CONTEXT_ANY,
+                     "Left", E_BINDING_MODIFIER_CTRL | E_BINDING_MODIFIER_ALT, 
0,
+                     "desk_linear_flip_by", "-1");
+   e_bindings_key_add(E_BINDING_CONTEXT_ANY,
+                     "Right", E_BINDING_MODIFIER_CTRL | 
E_BINDING_MODIFIER_ALT, 0,
+                     "desk_linear_flip_by", "1");
+   e_bindings_key_add(E_BINDING_CONTEXT_ANY,
+                     "F1", E_BINDING_MODIFIER_ALT, 0,
+                     "desk_linear_flip_to", "0");
+   e_bindings_key_add(E_BINDING_CONTEXT_ANY,
+                     "F2", E_BINDING_MODIFIER_ALT, 0,
+                     "desk_linear_flip_to", "1");
+   e_bindings_key_add(E_BINDING_CONTEXT_ANY,
+                     "F3", E_BINDING_MODIFIER_ALT, 0,
+                     "desk_linear_flip_to", "2");
+   e_bindings_key_add(E_BINDING_CONTEXT_ANY,
+                     "F4", E_BINDING_MODIFIER_ALT, 0,
+                     "desk_linear_flip_to", "3");
+   e_bindings_key_add(E_BINDING_CONTEXT_ANY,
+                     "F5", E_BINDING_MODIFIER_ALT, 0,
+                     "desk_linear_flip_to", "4");
+   e_bindings_key_add(E_BINDING_CONTEXT_ANY,
+                     "F6", E_BINDING_MODIFIER_ALT, 0,
+                     "desk_linear_flip_to", "5");
+   e_bindings_key_add(E_BINDING_CONTEXT_ANY,
+                     "F7", E_BINDING_MODIFIER_ALT, 0,
+                     "desk_linear_flip_to", "6");
+   e_bindings_key_add(E_BINDING_CONTEXT_ANY,
+                     "F8", E_BINDING_MODIFIER_ALT, 0,
+                     "desk_linear_flip_to", "7");
+   e_bindings_key_add(E_BINDING_CONTEXT_ANY,
+                     "F9", E_BINDING_MODIFIER_ALT, 0,
+                     "desk_linear_flip_to", "8");
+   e_bindings_key_add(E_BINDING_CONTEXT_ANY,
+                     "F10", E_BINDING_MODIFIER_ALT, 0,
+                     "desk_linear_flip_to", "9");
+   e_bindings_key_add(E_BINDING_CONTEXT_ANY,
+                     "F11", E_BINDING_MODIFIER_ALT, 0,
+                     "desk_linear_flip_to", "10");
+   e_bindings_key_add(E_BINDING_CONTEXT_ANY,
+                     "F12", E_BINDING_MODIFIER_ALT, 0,
+                     "desk_linear_flip_to", "11");
    return 1;
 }
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_utils.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- e_utils.c   19 Apr 2005 10:45:39 -0000      1.5
+++ e_utils.c   30 Apr 2005 04:21:55 -0000      1.6
@@ -76,6 +76,22 @@
      }
 }
 
+E_Zone *
+e_util_zone_current_get(E_Manager *man)
+{
+   E_Container *con;
+   
+   con = e_manager_container_current_get(man);
+   if (con)
+     {
+       E_Zone *zone;
+       
+       zone = e_zone_current_get(con);
+       return zone;
+     }
+   return NULL;
+}
+
 /* local subsystem functions */
 static void
 _e_util_container_fake_mouse_up_cb(void *data)
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_utils.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- e_utils.h   14 Apr 2005 09:09:22 -0000      1.5
+++ e_utils.h   30 Apr 2005 04:21:55 -0000      1.6
@@ -10,6 +10,7 @@
 EAPI void e_util_container_fake_mouse_up_all_later(E_Container *con);
 EAPI void e_util_wakeup(void);
 EAPI void e_util_env_set(const char *var, const char *val);
-    
+EAPI E_Zone *e_util_zone_current_get(E_Manager *man);
+
 #endif
 #endif
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_zone.c,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -3 -r1.39 -r1.40
--- e_zone.c    29 Apr 2005 19:42:18 -0000      1.39
+++ e_zone.c    30 Apr 2005 04:21:55 -0000      1.40
@@ -499,6 +499,49 @@
    _e_zone_update_flip(zone);
 }
 
+void
+e_zone_desk_flip_by(E_Zone *zone, int dx, int dy)
+{
+   dx = zone->desk_x_current + dx;
+   dy = zone->desk_x_current + dy;
+   e_zone_desk_flip_to(zone, dx, dy);
+}
+
+void
+e_zone_desk_flip_to(E_Zone *zone, int x, int y)
+{
+   E_Desk *desk;
+   
+   if (x < 0) x = 0;
+   else if (x >= zone->desk_x_count) x = zone->desk_x_count  - 1;
+   if (y < 0) y = 0;
+   else if (y >= zone->desk_y_count) y = zone->desk_y_count  - 1;
+   desk = e_desk_at_xy_get(zone, x, y);
+   if (desk)
+     {
+       e_desk_show(desk);
+       _e_zone_update_flip(zone);
+     }
+}
+
+void
+e_zone_desk_linear_flip_by(E_Zone *zone, int dx)
+{
+   dx = zone->desk_x_current + 
+     (zone->desk_y_current * zone->desk_x_count) + dx;
+   e_zone_desk_linear_flip_to(zone, dx);
+}
+
+void
+e_zone_desk_linear_flip_to(E_Zone *zone, int x)
+{
+   int y;
+   
+   y = x / zone->desk_x_count;
+   x = x - (y * zone->desk_x_count);
+   e_zone_desk_flip_to(zone, x, y);
+}
+
 static void
 _e_zone_event_zone_desk_count_set_free(void *data, void *ev)
 {
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_zone.h,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -3 -r1.20 -r1.21
--- e_zone.h    29 Apr 2005 19:42:19 -0000      1.20
+++ e_zone.h    30 Apr 2005 04:21:55 -0000      1.21
@@ -58,6 +58,10 @@
 EAPI void       e_zone_desk_count_set(E_Zone *zone, int x_count, int y_count);
 EAPI void       e_zone_desk_count_get(E_Zone *zone, int *x_count, int 
*y_count);
 EAPI void       e_zone_update_flip(E_Zone *zone);
+EAPI void       e_zone_desk_flip_by(E_Zone *zone, int dx, int dy);
+EAPI void       e_zone_desk_flip_to(E_Zone *zone, int x, int y);
+EAPI void       e_zone_desk_linear_flip_by(E_Zone *zone, int dx);
+EAPI void       e_zone_desk_linear_flip_to(E_Zone *zone, int x);
     
 extern EAPI int E_EVENT_ZONE_DESK_COUNT_SET;
 




-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.
Get your fingers limbered up and give it your best shot. 4 great events, 4
opportunities to win big! Highest score wins.NEC IT Guy Games. Play to
win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to