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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs