diff --git a/TODO b/TODO index 01587ff51..42e9d5b7f 100644 --- a/TODO +++ b/TODO @@ -32,7 +32,6 @@ Some of the things (in very short form) that need to be done to E17... * fm2 needs a way to bypass thumb gen anim on just a unrealize/realize as well as change state instantly if it already was selected * fm2 needs a mime filter -* fm2: implement e_fm2_all_icons_update() * fm2 will pop up tonnes of error dialogs if u try delete a lot of files in a tree you can't delete - fix to make this a dialog with a log etc. * dnd needs to do xdnd properly. diff --git a/src/bin/e_fm.c b/src/bin/e_fm.c index 63493ac7f..1e7100737 100644 --- a/src/bin/e_fm.c +++ b/src/bin/e_fm.c @@ -6,7 +6,6 @@ #define OVERCLIP 128 /* FIXME: use edje messages & embryo for scrolling of bg's */ -/* FIXME: put in code to allow for custom icons per file/dir somehow */ /* FIXME: this is NOT complete. dnd not complete (started). only list view * works. in icon view it needs to be much better about placement of icons and @@ -708,6 +707,28 @@ e_fm2_window_object_set(Evas_Object *obj, E_Object *eobj) drop, 3, sd->x, sd->y, sd->w, sd->h); } +EAPI void +e_fm2_icons_update(Evas_Object *obj) +{ + E_Fm2_Smart_Data *sd; + Evas_List *l; + E_Fm2_Icon *ic; + + sd = evas_object_smart_data_get(obj); + if (!sd) return; // safety + if (!evas_object_type_get(obj)) return; // safety + if (strcmp(evas_object_type_get(obj), "e_fm")) return; // safety + for (l = sd->icons; l; l = l->next) + { + ic = l->data; + if (ic->realized) + { + _e_fm2_icon_unrealize(ic); + _e_fm2_icon_realize(ic); + } + } +} + EAPI void e_fm2_pan_set(Evas_Object *obj, Evas_Coord x, Evas_Coord y) { @@ -775,7 +796,10 @@ e_fm2_pan_child_size_get(Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EAPI void e_fm2_all_icons_update(void) { - /* FIXME: implement - update all icons in all fm2's as config changed */ + Evas_List *l; + + for (l = _e_fm2_list; l; l = l->next) + e_fm2_icons_update(l->data); } EAPI void diff --git a/src/bin/e_fm.h b/src/bin/e_fm.h index d8d86d1af..86b1ad979 100644 --- a/src/bin/e_fm.h +++ b/src/bin/e_fm.h @@ -126,7 +126,8 @@ EAPI void e_fm2_icon_menu_end_extend_callback_set(Evas_Object * EAPI void e_fm2_icon_menu_flags_set(Evas_Object *obj, E_Fm2_Menu_Flags flags); EAPI E_Fm2_Menu_Flags e_fm2_icon_menu_flags_get(Evas_Object *obj); EAPI void e_fm2_window_object_set(Evas_Object *obj, E_Object *eobj); - +EAPI void e_fm2_icons_update(Evas_Object *obj); + EAPI void e_fm2_pan_set(Evas_Object *obj, Evas_Coord x, Evas_Coord y); EAPI void e_fm2_pan_get(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y); EAPI void e_fm2_pan_max_get(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);