Enlightenment CVS committal

Author  : codewarrior
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_fileman_smart.c e_icon_canvas.c 


Log Message:
EFM:
- e_icon_canvas cleanup and more work on white bug problem

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_fileman_smart.c,v
retrieving revision 1.114
retrieving revision 1.115
diff -u -3 -r1.114 -r1.115
--- e_fileman_smart.c   13 Dec 2005 14:56:21 -0000      1.114
+++ e_fileman_smart.c   19 Dec 2005 14:11:27 -0000      1.115
@@ -1529,7 +1529,7 @@
        _e_fm_file_free(sd->files->data);
        sd->files = evas_list_remove_list(sd->files, sd->files);
     }
-   e_icon_canvas_reset(sd->layout);   
+   e_icon_canvas_reset(sd->layout);
 
    /* Get new files */
    if (sd->monitor) ecore_file_monitor_del(sd->monitor);
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_icon_canvas.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- e_icon_canvas.c     19 Dec 2005 13:05:23 -0000      1.5
+++ e_icon_canvas.c     19 Dec 2005 14:11:28 -0000      1.6
@@ -108,7 +108,7 @@
      return -1;
          
    sd->frozen--;
-   //if (sd->frozen <= 0) _e_icon_canvas_reconfigure(sd);
+   if (sd->frozen <= 0) _e_icon_canvas_reconfigure(sd);
    return sd->frozen;
 }
 
@@ -138,7 +138,7 @@
    sd->vw = w;
    sd->vh = 0;
    sd->changed = 1;
-   //if (sd->frozen <= 0) _e_icon_canvas_reconfigure(sd);
+   if (sd->frozen <= 0) _e_icon_canvas_reconfigure(sd);
 }
 
 void
@@ -155,7 +155,7 @@
    sd->vw = 0;
    sd->vh = h;
    sd->changed = 1;
-   //if (sd->frozen <= 0) _e_icon_canvas_reconfigure(sd);   
+   if (sd->frozen <= 0) _e_icon_canvas_reconfigure(sd);
 }
 
 void
@@ -318,7 +318,7 @@
    
    sd->changed = 1;
    
-   //if (sd->frozen <= 0) _e_icon_canvas_reconfigure(sd);
+   if (sd->frozen <= 0) _e_icon_canvas_reconfigure(sd);
 }
 
 void         
@@ -342,9 +342,9 @@
    
    if ((!obj) || !(sd = evas_object_smart_data_get(obj)))
      return;
-   
-   sd->xc = sd->x + sd->xs;
-   sd->yc = sd->y + sd->ys;
+
+   sd->xc = sd->viewport.x + sd->xs;
+   sd->yc = sd->viewport.y + sd->ys;
    sd->mw = 0;
    sd->mh = 0;
 
@@ -376,6 +376,9 @@
               }
          }
      }
+   
+   sd->x = sd->viewport.x;
+   sd->y = sd->viewport.y;
 }
 
 void
@@ -412,7 +415,7 @@
    sd->viewport.obj = viewport;
    evas_object_geometry_get(sd->viewport.obj, &(sd->viewport.x), 
&(sd->viewport.y),
                            &(sd->viewport.w), &(sd->viewport.h));
-   //if (sd->frozen <= 0) _e_icon_canvas_reconfigure(sd);
+   if (sd->frozen <= 0) _e_icon_canvas_reconfigure(sd);
 }
 
 Evas_Object *
@@ -481,87 +484,37 @@
 static void
 _e_icon_canvas_reconfigure(E_Smart_Data *sd)
 {
-   Evas_Coord x, y, w, h, maxw, maxh;
-   Evas_List *l;
-
-   _e_icon_canvas_smart_resize(sd->obj, sd->w, sd->h);
-   
-   return;
-   
-   if (!sd->changed) return;
-   
-   x = sd->x + sd->xs;
-   y = sd->y + sd->ys;
-   w = sd->vw;
-   h = sd->vh;   
-   maxw = 0;
-   maxh = 0;
+   int i, j;
 
-#if 0   
-   while(sd->xlist.list)
-     sd->xlist.list = evas_list_remove_list(sd->xlist.list, sd->xlist.list);
-   while(sd->xlist.list)
-     sd->ylist.list = evas_list_remove_list(sd->ylist.list, sd->ylist.list);   
+   if(!sd->changed) return;
    
-   if (sd->fixed == 0)
-    {
-       for (l = sd->items; l; l = l->next)
-       {
-          E_Icon_Canvas_Item *li;
-          Evas_Object *obj;
-          
-          obj = l->data;
-          li = evas_object_data_get(obj, "e_icon_canvas_data");
-          
-          if(li->h > maxh) maxh = li->h;
-
-          if(x > sd->x + w || x + li->w > sd->x + w)
-           {
-              x = sd->x + sd->xs;
-              y += maxh + sd->ys;
-              maxh = 0;
-           }
-          
-          li->x = x;
-          li->y = y;
-          
-          _e_icon_canvas_pack(sd, obj);
-                  
-          x += li->w + sd->xs;    
-       }       
-       sd->vh = y - sd->y;
-    }
-   else
-    {
-       for (l = sd->items; l; l = l->next)
-       {
-          E_Icon_Canvas_Item *li;
-          Evas_Object *obj;
-          
-          obj = l->data;
-          li = evas_object_data_get(obj, "e_icon_canvas_data");
-          
-          if(li->w > maxw) maxw = li->w;          
-          
-          if(y > sd->y + h || y + li->h > sd->y + h)
-           {
-              y = sd->y + sd->ys;
-              x += maxw + sd->xs;
-              maxw = 0;
-           }
-          
-          li->x = x;
-          li->y = y;
-          
-          _e_icon_canvas_pack(sd, obj);
-          
-          y += li->h + sd->ys;    
-       }       
-       sd->vw = x - sd->x;
-    }
-#endif   
-   sd->xc = x;
-   sd->yc = y;      
+   for(i = 0; i < TILE_NUM; i++)
+     {
+       for(j = 0; j < TILE_NUM; j++)
+         {
+            if(sd->tiles[i][j])
+              {
+                 E_Icon_Canvas_Tile *t;
+                 
+                 t = sd->tiles[i][j];
+                 
+                 if(E_INTERSECTS(sd->viewport.x, sd->viewport.y,
+                                 sd->viewport.w, sd->viewport.h,
+                                 t->x, t->y, t->w, t->h))
+                   {
+                      if(t->visible == 1)
+                        continue;
+                      _e_icon_canvas_tile_show(t);                    
+                   }
+                 else
+                   {
+                      if(!t->visible)
+                        continue;
+                      _e_icon_canvas_tile_hide(t);                    
+                   }
+              }
+         }
+     }   
    
    sd->changed = 0;
 }
@@ -594,6 +547,9 @@
 {
    int tx, ty;
    E_Icon_Canvas_Tile *tile;
+
+   if(x < 0 || y < 0)
+     return NULL;
    
    if(x == 0)
      tx = 0;
@@ -623,7 +579,7 @@
      {
        _e_icon_canvas_tile_show(tile);
      }
-   
+      
    return tile;
 }
 
@@ -658,8 +614,8 @@
    
    if(t->visible == 1) return;   
    t->visible = 1;
-   for(l = t->items; l; l = l->next)     
-     _e_icon_canvas_icon_show(l->data);     
+   for(l = t->items; l; l = l->next)
+     _e_icon_canvas_icon_show(l->data);
 }
 
 static void
@@ -757,8 +713,7 @@
 {
    E_Smart_Data *sd;
    
-   sd = evas_object_smart_data_get(obj);
-   
+   sd = evas_object_smart_data_get(obj);   
    evas_object_show(sd->clip);
 }
 
@@ -768,7 +723,6 @@
    E_Smart_Data *sd;
    
    sd = evas_object_smart_data_get(obj);
-   
    evas_object_hide(sd->clip);
 }
    
@@ -852,7 +806,7 @@
    
    dx = x - sd->x;
    dy = y - sd->y;   
-   
+      
    for(i = 0; i < TILE_NUM; i++)
      {
        for(j = 0; j < TILE_NUM; j++)
@@ -906,33 +860,8 @@
                              &(sd->viewport.x), &(sd->viewport.y),
                              &(sd->viewport.w), &(sd->viewport.h));
    
-   for(i = 0; i < TILE_NUM; i++)
-     {
-       for(j = 0; j < TILE_NUM; j++)
-         {
-            if(sd->tiles[i][j])
-              {
-                 E_Icon_Canvas_Tile *t;
-                 
-                 t = sd->tiles[i][j];
-                 
-                 if(E_INTERSECTS(sd->viewport.x, sd->viewport.y,
-                                 sd->viewport.w, sd->viewport.h,
-                                 t->x, t->y, t->w, t->h))
-                   {
-                      if(t->visible == 1)
-                        continue;
-                      _e_icon_canvas_tile_show(t);                    
-                   }
-                 else
-                   {
-                      if(!t->visible)
-                        continue;
-                      _e_icon_canvas_tile_hide(t);                    
-                   }
-              }
-         }
-     }   
+   sd->changed = 1;
+   _e_icon_canvas_reconfigure(sd);   
 }
  
 static void




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to