Enlightenment CVS committal

Author  : codewarrior
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_fileman_icon.c e_fileman_icon.h e_fileman_smart.c 
        e_icon_layout.c 


Log Message:
- fix icon file names
- fix spacing


===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_fileman_icon.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- e_fileman_icon.c    31 Oct 2005 09:31:04 -0000      1.11
+++ e_fileman_icon.c    2 Nov 2005 01:37:11 -0000       1.12
@@ -7,7 +7,7 @@
 
 struct _E_Smart_Data
 {
-   Evas_Coord       x, y, w, h;
+   Evas_Coord       x, y, w, h, iw, ih;
 
    Evas            *evas;
    Evas_Object     *obj;
@@ -19,6 +19,7 @@
    Evas_Object     *icon_object;
    Evas_Object     *image_object;
    Evas_Object     *entry_object;
+   Evas_Object     *title_object;
 
    E_Fm_File       *file;
       
@@ -132,8 +133,8 @@
        if (e_thumb_exists(sd->file->path))
          sd->image_object = e_thumb_evas_object_get(sd->file->path,
                                                     sd->evas,
-                                                    sd->w,
-                                                    sd->h);
+                                                    sd->iw,
+                                                    sd->ih);
        else
          {
             thumb_files = evas_list_append(thumb_files, sd);
@@ -148,23 +149,47 @@
    
    _e_fm_icon_type_set(sd);
    
-   edje_object_size_min_calc(sd->icon_object, &icon_w, &icon_h);
-   evas_object_resize(sd->icon_object, icon_w, icon_h);
-   evas_object_resize(sd->event_object, icon_w, icon_h);
-   evas_object_resize(sd->obj, icon_w, icon_h);   
+   //edje_object_size_min_calc(sd->icon_object, &icon_w, &icon_h);
+   //evas_object_resize(sd->icon_object, icon_w, icon_h);
+   //evas_object_resize(sd->event_object, icon_w, icon_h);
+   //evas_object_resize(sd->obj, icon_w, icon_h);
 }
 
 void
 e_fm_icon_title_set(Evas_Object *obj, const char *title)
 {
-   E_Smart_Data *sd;
-
+   E_Smart_Data *sd;   
+   
    sd = evas_object_smart_data_get(obj);
    if (!sd) return;
    E_FREE(sd->saved_title);
    sd->saved_title = E_NEW(char, strlen(title) + 1);
    snprintf(sd->saved_title, strlen(title) + 1, "%s", title);
-   if (sd->icon_object) edje_object_part_text_set(sd->icon_object, 
"icon_title", title);
+   //if (sd->icon_object) edje_object_part_text_set(sd->icon_object, 
"icon_title", title);
+   if(sd->icon_object)
+     {
+       Evas_Textblock_Style *e_editable_text_style;
+       Evas_Coord fw, fh, il, ir, it, ib;
+       
+       e_editable_text_style = evas_textblock_style_new();
+       evas_textblock_style_set(e_editable_text_style, "DEFAULT='font=Vera 
font_size=10 style=shadow shadow_color=#ffffff80 align=center color=#000000 
wrap=char'");
+       
+
+       evas_object_textblock_style_set(sd->title_object, 
e_editable_text_style);
+       evas_object_textblock_text_markup_set(sd->title_object, sd->file->name);
+       
+       evas_object_resize(sd->title_object,  sd->w, 1);
+       evas_object_textblock_size_formatted_get(sd->title_object, &fw, &fh);
+       evas_object_textblock_style_insets_get(sd->title_object, &il, &ir, &it, 
&ib);
+       
+       sd->h = sd->ih + fh + it + ib;
+       
+       evas_object_resize(sd->title_object, sd->w, fh + it + ib);
+       edje_extern_object_min_size_set(sd->title_object, sd->w, fh + it + ib);
+       evas_object_resize(sd->icon_object, sd->w, sd->h);
+        evas_object_resize(sd->obj, sd->w, sd->h);
+       edje_object_part_swallow(sd->icon_object, "icon_title", 
sd->title_object);
+     }
 }
 
 void
@@ -206,6 +231,19 @@
    return 0;
 }
 
+void
+e_fm_icon_image_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
+{
+   E_Smart_Data *sd;
+   
+   sd = evas_object_smart_data_get(obj);
+   if (!sd) return;
+   sd->iw = w;
+   sd->ih = h;
+   evas_object_resize(sd->image_object, w, h);
+}
+   
+
 /* local subsystem functions */
 static void
 _e_fm_icon_smart_add(Evas_Object *obj)
@@ -219,12 +257,19 @@
    sd->obj = obj;
    sd->saved_title = NULL;
    sd->type = E_FM_ICON_NORMAL;
+   sd->w = 64;
+   sd->h = 64;
+   sd->iw = 48;
+   sd->ih = 48;
    sd->event_object = evas_object_rectangle_add(sd->evas);
    evas_object_color_set(sd->event_object, 0, 0, 0, 0);
    evas_object_smart_member_add(sd->event_object, obj);
    evas_object_show(sd->event_object);
    evas_object_smart_data_set(obj, sd);
-     
+   
+   sd->title_object = evas_object_textblock_add(sd->evas);
+   evas_object_smart_member_add(sd->title_object, obj);   
+   
    sd->visible = 1;
    sd->icon_object = edje_object_add(sd->evas);
    evas_object_smart_member_add(sd->icon_object, obj);
@@ -257,6 +302,11 @@
        evas_object_smart_member_del(sd->image_object);
        evas_object_del(sd->image_object);
      }
+   if (sd->title_object)
+     {
+       evas_object_smart_member_del(sd->title_object);
+       evas_object_del(sd->title_object);
+     }
    E_FREE(sd->saved_title);
    if (sd->file) e_object_unref(E_OBJECT(sd->file));
    free(sd);
@@ -289,10 +339,13 @@
 
    if(sd->w == w && sd->h == h) return;   
    
-   evas_object_resize(sd->event_object, w, h);
-   if (sd->icon_object) evas_object_resize(sd->icon_object, w, h);
    sd->w = w;
-   sd->h = h;
+   if(sd->h < h)
+     sd->h = h;
+
+   evas_object_resize(sd->event_object, sd->w, sd->h);
+   if (sd->icon_object) evas_object_resize(sd->icon_object, sd->w, sd->h);
+
    //if (sd->image_object) evas_object_resize(sd->image_object, w, h);
 }
 
@@ -402,7 +455,7 @@
        if (sd->image_object) evas_object_del(sd->image_object);
        sd->image_object = e_thumb_evas_object_get(sd->file->path,
                                                   sd->evas,
-                                                  sd->w, sd->h);
+                                                  sd->iw, sd->ih);
        edje_object_part_swallow(sd->icon_object, "icon_swallow",
                                 sd->image_object);
      }
@@ -440,8 +493,52 @@
        evas_object_show(sd->image_object);
      }
    
-   if(sd->saved_title)
-     edje_object_part_text_set(sd->icon_object, "icon_title", sd->saved_title);
+   if(sd->saved_title) 
+     {
+       Evas_Textblock_Style *e_editable_text_style;
+       Evas_Coord fw, fh, il, ir, it, ib;
+       
+       e_editable_text_style = evas_textblock_style_new();
+       evas_textblock_style_set(e_editable_text_style, "DEFAULT='font=Vera 
font_size=10 align=center color=#000000 wrap=char'");
+       
+
+       evas_object_textblock_style_set(sd->title_object, 
e_editable_text_style);
+       evas_object_textblock_text_markup_set(sd->title_object, sd->file->name);
+       
+       evas_object_resize(sd->title_object,  sd->w, 1);
+       evas_object_textblock_size_formatted_get(sd->title_object, &fw, &fh);
+       evas_object_textblock_style_insets_get(sd->title_object, &il, &ir, &it, 
&ib);
+       
+       sd->h = sd->ih + fh + it + ib;
+       
+       evas_object_resize(sd->title_object, sd->w, fh + it + ib);
+       edje_extern_object_min_size_set(sd->title_object, sd->w, fh + it + ib);
+       evas_object_resize(sd->icon_object, sd->w, sd->h);
+        evas_object_resize(sd->obj, sd->w, sd->h);
+       edje_object_part_swallow(sd->icon_object, "icon_title", 
sd->title_object);
+     }
    else
-     edje_object_part_text_set(sd->icon_object, "icon_title", sd->file->name);
+     {
+       Evas_Textblock_Style *e_editable_text_style;
+       Evas_Coord fw, fh, il, ir, it, ib;
+       
+       e_editable_text_style = evas_textblock_style_new();
+       evas_textblock_style_set(e_editable_text_style, "DEFAULT='font=Vera 
font_size=10 align=center color=#000000 wrap=char'");
+       
+
+       evas_object_textblock_style_set(sd->title_object, 
e_editable_text_style);
+       evas_object_textblock_text_markup_set(sd->title_object, sd->file->name);
+       
+       evas_object_resize(sd->title_object,  sd->w, 1);
+       evas_object_textblock_size_formatted_get(sd->title_object, &fw, &fh);
+       evas_object_textblock_style_insets_get(sd->title_object, &il, &ir, &it, 
&ib);
+
+       sd->h = sd->ih + fh + it + ib;
+
+       evas_object_resize(sd->title_object, sd->w, fh + it + ib);
+       edje_extern_object_min_size_set(sd->title_object, sd->w, fh + it + ib);
+       evas_object_resize(sd->icon_object, sd->w, sd->h);
+        evas_object_resize(sd->obj, sd->w, sd->h);
+       edje_object_part_swallow(sd->icon_object, "icon_title", 
sd->title_object);
+     }   
 }
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_fileman_icon.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- e_fileman_icon.h    29 Oct 2005 11:48:18 -0000      1.3
+++ e_fileman_icon.h    2 Nov 2005 01:37:11 -0000       1.4
@@ -23,6 +23,7 @@
 EAPI void         e_fm_icon_type_set(Evas_Object *obj, int type);
 EAPI void         e_fm_icon_edit_entry_set(Evas_Object *obj, Evas_Object 
*entry);
 EAPI void         e_fm_icon_signal_emit(Evas_Object *obj, const char *source, 
const char *emission);
+EAPI void         e_fm_icon_image_resize(Evas_Object *obj, Evas_Coord w, 
Evas_Coord h);
 
 #endif
 #endif
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_fileman_smart.c,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -3 -r1.68 -r1.69
--- e_fileman_smart.c   1 Nov 2005 22:08:07 -0000       1.68
+++ e_fileman_smart.c   2 Nov 2005 01:37:11 -0000       1.69
@@ -513,8 +513,8 @@
 
    sd->icon_info.w = 48;
    sd->icon_info.h = 48;
-   sd->icon_info.x_space = 25;
-   sd->icon_info.y_space = 25;
+   sd->icon_info.x_space = 12;
+   sd->icon_info.y_space = 10;
 
    sd->evas = evas_object_evas_get(object);
    sd->frozen = 0;
@@ -1352,10 +1352,12 @@
      {
        E_Fm_Icon *icon;
        Evas_Coord icon_w, icon_h;
-
+       Evas_Coord w, h;
+       
        icon = l->data;
 
-       evas_object_resize(icon->icon_object, sd->icon_info.w, sd->icon_info.h);
+       //evas_object_resize(icon->icon_object, sd->icon_info.w, 
sd->icon_info.h);
+       e_fm_icon_image_resize(icon->icon_object, sd->icon_info.w, 
sd->icon_info.h);    
        evas_object_show(icon->icon_object);
        evas_object_geometry_get(icon->icon_object, NULL, NULL, &icon_w, 
&icon_h);
        D(("_e_fm_dir_set: Icon, w=%d h=%d\n", icon_w, icon_h));
@@ -1427,10 +1429,12 @@
         }
        else
         {
+           Evas_Coord w, h;
+           
            icon->icon_object = e_fm_icon_add(sd->evas);
            icon->sd = sd;
            e_fm_icon_file_set(icon->icon_object, icon->file);
-           evas_object_resize(icon->icon_object, sd->icon_info.w, 
sd->icon_info.h);
+           e_fm_icon_image_resize(icon->icon_object, sd->icon_info.w, 
sd->icon_info.h);
            files = evas_list_append(files, icon);
         }
     }
@@ -1479,6 +1483,7 @@
    char *dir;
    E_Fm_Icon *icon;
    Evas_List *l;
+   Evas_Coord w, h;
    
    sd = data;
    
@@ -1502,8 +1507,7 @@
        icon->sd = sd;
        e_icon_layout_freeze(sd->layout);
        e_fm_icon_file_set(icon->icon_object, icon->file);
-       evas_object_resize(icon->icon_object, sd->icon_info.w, sd->icon_info.h);
-       evas_object_resize(icon->icon_object, sd->icon_info.w, sd->icon_info.h);
+       e_fm_icon_image_resize(icon->icon_object, sd->icon_info.w, 
sd->icon_info.h);
        evas_object_show(icon->icon_object);
        e_icon_layout_pack(sd->layout, icon->icon_object);
        evas_object_event_callback_add(icon->icon_object, 
EVAS_CALLBACK_MOUSE_DOWN, _e_fm_icon_mouse_down_cb, icon);
@@ -2073,7 +2077,6 @@
    icon = data;
 
    e_fm_icon_signal_emit(icon->icon_object, "hilight", "");
-
 }
 
 static void
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_icon_layout.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- e_icon_layout.c     28 Oct 2005 23:37:14 -0000      1.10
+++ e_icon_layout.c     2 Nov 2005 01:37:11 -0000       1.11
@@ -308,7 +308,7 @@
 static void
 _e_icon_layout_smart_reconfigure(E_Smart_Data *sd)
 {
-   Evas_Coord x, y, w, h;
+   Evas_Coord x, y, w, h, maxw, maxh;
    Evas_List *l;
    
    //if (!sd->changed) return;
@@ -317,6 +317,8 @@
    y = sd->y + sd->ys;
    w = sd->vw;
    h = sd->vh;   
+   maxw = 0;
+   maxh = 0;
    
    if (sd->fixed == 0)
     {
@@ -327,11 +329,14 @@
           
           obj = l->data;
           li = evas_object_data_get(obj, "e_icon_layout_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 += li->h + sd->ys;
+              y += maxh + sd->ys;
+              maxh = 0;
            }
           
           li->x = x;
@@ -355,10 +360,13 @@
           obj = l->data;
           li = evas_object_data_get(obj, "e_icon_layout_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 += li->w + sd->xs;
+              x += maxw + sd->xs;
+              maxw = 0;
            }
           
           li->x = x;




-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to