Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_bindings.c e_bindings.h e_box.c e_container.c e_init.c 


Log Message:


work in multihead again! :)

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_bindings.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- e_bindings.c        25 Apr 2005 05:58:45 -0000      1.2
+++ e_bindings.c        25 Apr 2005 08:29:52 -0000      1.3
@@ -21,15 +21,46 @@
    return 1;
 }
 
+void
+e_bindings_mouse_add(E_Binding_Context ctxt, int button, E_Binding_Modifier 
mod, int any_mod, char *action, char *param)
+{
+}
+
+void
+e_bindings_mouse_grab(Ecore_X_Window win)
+{
+}
+
+void
+e_bindings_mouse_ungrab(Ecore_X_Window win)
+{
+}
+
 int
 e_bindings_mouse_down_event_handle(E_Binding_Context ctxt, E_Object *obj, 
Ecore_X_Event_Mouse_Button_Down *ev)
 {
+   E_Binding_Modifier mod = 0;
+   Evas_List *l;
+   
+   if (ev->modifiers & ECORE_X_MODIFIER_SHIFT) mod |= E_BINDING_MODIFIER_SHIFT;
+   if (ev->modifiers & ECORE_X_MODIFIER_CTRL) mod |= E_BINDING_MODIFIER_CTRL;
+   if (ev->modifiers & ECORE_X_MODIFIER_ALT) mod |= E_BINDING_MODIFIER_ALT;
+   if (ev->modifiers & ECORE_X_MODIFIER_WIN) mod |= E_BINDING_MODIFIER_WIN;
+   
    return 0;
 }
 
 int
 e_bindings_key_down_event_handle(E_Binding_Context ctxt, E_Object *obj, 
Ecore_X_Event_Key_Down *ev)
 {
+   E_Binding_Modifier mod = 0;
+   Evas_List *l;
+
+   if (ev->modifiers & ECORE_X_MODIFIER_SHIFT) mod |= E_BINDING_MODIFIER_SHIFT;
+   if (ev->modifiers & ECORE_X_MODIFIER_CTRL) mod |= E_BINDING_MODIFIER_CTRL;
+   if (ev->modifiers & ECORE_X_MODIFIER_ALT) mod |= E_BINDING_MODIFIER_ALT;
+   if (ev->modifiers & ECORE_X_MODIFIER_WIN) mod |= E_BINDING_MODIFIER_WIN;
+   
    return 0;
 }
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_bindings.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- e_bindings.h        25 Apr 2005 05:58:45 -0000      1.2
+++ e_bindings.h        25 Apr 2005 08:29:53 -0000      1.3
@@ -11,6 +11,18 @@
    E_BINDING_CONTEXT_ZONE
 } E_Binding_Context;
 
+/* why do we do this? config stored bindings must be fixed. x's modifier masks
+ * may change from time to time, xserver to xserver - so we cant do a 
+ * simple match without translating to fixed values
+ */
+typedef enum _E_Binding_Modifier
+{
+   E_BINDING_MODIFIER_SHIFT = (1 << 0),
+   E_BINDING_MODIFIER_CTRL = (1 << 1),
+   E_BINDING_MODIFIER_ALT = (1 << 2),
+   E_BINDING_MODIFIER_WIN = (1 << 3)
+} E_Binding_Modifier;
+
 #else
 #ifndef E_BINDINGS_H
 #define E_BINDINGS_H
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_box.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- e_box.c     13 Mar 2005 08:21:01 -0000      1.6
+++ e_box.c     25 Apr 2005 08:29:53 -0000      1.7
@@ -80,6 +80,7 @@
    E_Smart_Data *sd;
    
    sd = evas_object_smart_data_get(obj);
+   if (!sd) return 0;
    sd->frozen++;
    return sd->frozen;
 }
@@ -90,6 +91,7 @@
    E_Smart_Data *sd;
    
    sd = evas_object_smart_data_get(obj);
+   if (!sd) return 0;
    sd->frozen--;
    if (sd->frozen <= 0) _e_box_smart_reconfigure(sd);
    return sd->frozen;
@@ -101,6 +103,7 @@
    E_Smart_Data *sd;
    
    sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
    if (((sd->horizontal) && (horizontal)) ||
        ((!sd->horizontal) && (!horizontal))) return;
    sd->horizontal = horizontal;
@@ -114,6 +117,7 @@
    E_Smart_Data *sd;
    
    sd = evas_object_smart_data_get(obj);
+   if (!sd) return 0;
    return sd->horizontal;
 }
 
@@ -123,6 +127,7 @@
    E_Smart_Data *sd;
    
    sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
    if (sd->homogenous == homogenous) return;
    sd->homogenous = homogenous;
    sd->changed = 1;
@@ -135,6 +140,7 @@
    E_Smart_Data *sd;
    
    sd = evas_object_smart_data_get(obj);
+   if (!sd) return 0;
    _e_box_smart_adopt(sd, child);
    sd->items = evas_list_prepend(sd->items, child);
    sd->changed = 1;
@@ -148,6 +154,7 @@
    E_Smart_Data *sd;
    
    sd = evas_object_smart_data_get(obj);
+   if (!sd) return 0;
    _e_box_smart_adopt(sd, child);
    sd->items = evas_list_append(sd->items, child);   
    sd->changed = 1;
@@ -163,6 +170,7 @@
    Evas_List *l;
    
    sd = evas_object_smart_data_get(obj);
+   if (!sd) return 0;
    _e_box_smart_adopt(sd, child);
    sd->items = evas_list_prepend_relative(sd->items, child, before);
    for (i = 0, l = sd->items; l; l = l->next, i++)
@@ -182,6 +190,7 @@
    Evas_List *l;
    
    sd = evas_object_smart_data_get(obj);
+   if (!sd) return 0;
    _e_box_smart_adopt(sd, child);
    sd->items = evas_list_append_relative(sd->items, child, after);
    for (i = 0, l = sd->items; l; l = l->next, i++)
@@ -199,6 +208,7 @@
    E_Smart_Data *sd;
    
    sd = evas_object_smart_data_get(obj);
+   if (!sd) return 0;
    return evas_list_count(sd->items);
 }
 
@@ -208,6 +218,7 @@
    E_Smart_Data *sd;
    
    sd = evas_object_smart_data_get(obj);
+   if (!sd) return NULL;
    return evas_list_nth(sd->items, n);
 }
 
@@ -217,6 +228,7 @@
    E_Smart_Data *sd;
    
    sd = evas_object_smart_data_get(obj);
+   if (!sd) return NULL;
    return evas_list_data(sd->items);
 }
 
@@ -226,6 +238,7 @@
    E_Smart_Data *sd;
    
    sd = evas_object_smart_data_get(obj);
+   if (!sd) return NULL;
    return evas_list_data(evas_list_last(sd->items));
 }
 
@@ -259,6 +272,7 @@
    bi = evas_object_data_get(obj, "e_box_data");
    if (!bi) return;
    sd = bi->sd;
+   if (!sd) return;
    sd->items = evas_list_remove(sd->items, obj);
    _e_box_smart_disown(obj);
    sd->changed = 1;
@@ -271,6 +285,7 @@
    E_Smart_Data *sd;
    
    sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
    if (sd->changed) _e_box_smart_extents_calcuate(sd);
    if (minw) *minw = sd->min.w;
    if (minh) *minh = sd->min.h;
@@ -282,6 +297,7 @@
    E_Smart_Data *sd;
    
    sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
    if (sd->changed) _e_box_smart_extents_calcuate(sd);
    if (maxw) *maxw = sd->max.w;
    if (maxh) *maxh = sd->max.h;
@@ -293,6 +309,7 @@
    E_Smart_Data *sd;
    
    sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
    if (ax) *ax = sd->align.x;
    if (ay) *ay = sd->align.y;
 }
@@ -303,6 +320,7 @@
    E_Smart_Data *sd;
    
    sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
    if ((sd->align.x == ax) && (sd->align.y == ay)) return;
    sd->align.x = ax;
    sd->align.y = ay;
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_container.c,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -3 -r1.37 -r1.38
--- e_container.c       13 Apr 2005 15:52:33 -0000      1.37
+++ e_container.c       25 Apr 2005 08:29:53 -0000      1.38
@@ -99,12 +99,19 @@
    con->name = strdup(name);
 
    screens = (Evas_List *)e_xinerama_screens_get();
-   for (l = screens; l; l = l->next)
+   if (screens)
      {
-       E_Screen *scr;
-       
-       scr = l->data;
-       zone = e_zone_new(con, scr->screen, scr->x, scr->y, scr->w, scr->h);
+       for (l = screens; l; l = l->next)
+         {
+            E_Screen *scr;
+            
+            scr = l->data;
+            zone = e_zone_new(con, scr->screen, scr->x, scr->y, scr->w, 
scr->h);
+         }
+     }
+   else
+     {
+       zone = e_zone_new(con, 0, 0, 0, con->w, con->h);
      }
    con->gadman = e_gadman_new(con);
    
@@ -525,25 +532,36 @@
    e_xinerama_update();
    
    screens = (Evas_List *)e_xinerama_screens_get();
-   for (l = screens; l; l = l->next)
+   if (screens)
      {
-       E_Screen *scr;
-       E_Zone *zone;
-       
-       scr = l->data;
-       zone = e_container_zone_number_get(con, scr->screen);
-       if (zone)
-         {
-            e_zone_move(zone, scr->x, scr->y);
-            e_zone_resize(zone, scr->w, scr->h);
-         }
-       else
+       for (l = screens; l; l = l->next)
          {
-            zone = e_zone_new(con, scr->screen, scr->x, scr->y, scr->w, 
scr->h);
+            E_Screen *scr;
+            E_Zone *zone;
+            
+            scr = l->data;
+            zone = e_container_zone_number_get(con, scr->screen);
+            if (zone)
+              {
+                 e_zone_move(zone, scr->x, scr->y);
+                 e_zone_resize(zone, scr->w, scr->h);
+              }
+            else
+              {
+                 zone = e_zone_new(con, scr->screen, scr->x, scr->y, scr->w, 
scr->h);
+              }
+            /* FIXME: what if a zone exists for a screen that doesn't exist?
+             *        not sure this will ever happen...
+             */
          }
-       /* FIXME: what if a zone exists for a screen that doesn't exist?
-        *        not sure this will ever happen...
-        */
+     }
+   else
+     {
+       E_Zone *zone;
+       
+       zone = e_container_zone_number_get(con, 0);
+       e_zone_move(zone, 0, 0);
+       e_zone_resize(zone, con->w, con->h);
      }
    
    e_gadman_container_resize(con->gadman);
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_init.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- e_init.c    14 Apr 2005 10:03:59 -0000      1.18
+++ e_init.c    25 Apr 2005 08:29:53 -0000      1.19
@@ -51,29 +51,44 @@
    ecore_evas_show(_e_init_ecore_evas);
 
    screens = (Evas_List *)e_xinerama_screens_get();
-   for (l = screens; l; l = l->next)
+   if (screens)
      {
-       E_Screen *scr;
-       
-       scr = l->data;
-       o = edje_object_add(_e_init_evas);
-       /* first screen */
-       if (l == screens)
+       for (l = screens; l; l = l->next)
          {
-            edje_object_file_set(o,
-                                 /* FIXME: "init.edj" needs to come from 
config */
-                                 e_path_find(path_init, "init.edj"),
-                                 "init/splash");
-            _e_init_object = o;
+            E_Screen *scr;
+            
+            scr = l->data;
+            o = edje_object_add(_e_init_evas);
+            /* first screen */
+            if (l == screens)
+              {
+                 edje_object_file_set(o,
+                                      /* FIXME: "init.edj" needs to come from 
config */
+                                      e_path_find(path_init, "init.edj"),
+                                      "init/splash");
+                 _e_init_object = o;
+              }
+            /* other screens */
+            else
+              edje_object_file_set(o,
+                                   /* FIXME: "init.edj" needs to come from 
config */
+                                   e_path_find(path_init, "init.edj"),
+                                   "init/extra_screen");
+            evas_object_move(o, scr->x, scr->y);
+            evas_object_resize(o, scr->w, scr->h);
+            evas_object_show(o);
          }
-       /* other screens */
-       else
-         edje_object_file_set(o,
-                              /* FIXME: "init.edj" needs to come from config */
-                              e_path_find(path_init, "init.edj"),
-                              "init/extra_screen");
-       evas_object_move(o, scr->x, scr->y);
-       evas_object_resize(o, scr->w, scr->h);
+     }
+   else
+     {
+       o = edje_object_add(_e_init_evas);
+       edje_object_file_set(o,
+                            /* FIXME: "init.edj" needs to come from config */
+                            e_path_find(path_init, "init.edj"),
+                            "init/splash");
+       _e_init_object = o;
+       evas_object_move(o, 0, 0);
+       evas_object_resize(o, w, h);
        evas_object_show(o);
      }
    




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to