static void _e_fileman_scroll_get(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
static void _e_fileman_scroll_max_get(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
static void _e_fileman_scroll_child_size_get(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
-
+static int _e_fileman_reconfigure_cb(void *data, int type, void *event);
+
E_Fileman *
e_fileman_new(E_Container *con)
evas_event_thaw(fileman->evas);
+ fileman->event_handlers = evas_list_append(fileman->event_handlers,
+ ecore_event_handler_add(E_EVENT_FM_RECONFIGURE,
+ _e_fileman_reconfigure_cb,
+ fileman));
+
+
D(("e_fileman_new: ok\n"));
return fileman;
fileman->selector.func(fileman, file, fileman->selector.data);
//e_object_del(E_OBJECT(fileman));
}
+
+static int
+ _e_fileman_reconfigure_cb(void *data, int type, void *event)
+{
+ E_Event_Fm_Reconfigure *ev;
+ E_Fileman *fileman;
+
+ fileman = data;
+ ev = event;
+
+ e_scrollframe_child_region_show(fileman->main, ev->x, ev->y, ev->w, ev->h);
+}
sd->x = x;
sd->y = y;
-
evas_object_move(sd->bg, x, y);
evas_object_move(sd->clip, x, y);
evas_object_move(sd->layout, sd->x - sd->child.x, sd->y - sd->child.y);
ev->object = sd->object;
ev->w = sd->child.w;
ev->h = sd->child.h;
- ecore_event_add(E_EVENT_FM_RECONFIGURE, ev, NULL, NULL);
+ //ecore_event_add(E_EVENT_FM_RECONFIGURE, ev, NULL, NULL);
}
}
ev->object = sd->object;
ev->w = sd->child.w;
ev->h = sd->child.h;
- ecore_event_add(E_EVENT_FM_RECONFIGURE, ev, NULL, NULL);
+ //ecore_event_add(E_EVENT_FM_RECONFIGURE, ev, NULL, NULL);
}
}
ev->object = sd->object;
ev->w = sd->child.w;
ev->h = sd->child.h;
- ecore_event_add(E_EVENT_FM_RECONFIGURE, ev, NULL, NULL);
+ //ecore_event_add(E_EVENT_FM_RECONFIGURE, ev, NULL, NULL);
}
}
_e_fm_selections_clear(sd);
_e_fm_selections_add(l->data, l);
}
+ if(l)
+ {
+ E_Fm_Icon *icon;
+ Evas_Coord x, y, w, h;
+ icon = l->data;
+ evas_object_geometry_get(icon->icon_object, &x, &y, &w, &h);
+ if(!E_CONTAINS(sd->x, sd->y, sd->w, sd->h, x, y, w, h))
+ {
+ E_Event_Fm_Reconfigure *ev;
+
+ ev = E_NEW(E_Event_Fm_Reconfigure, 1);
+ if (ev)
+ {
+ ev->object = sd->object;
+ ev->x = sd->x;
+ ev->y = sd->child.y - (sd->y - (y - sd->icon_info.y_space));
+ ev->w = sd->w;
+ ev->h = sd->h;
+ ecore_event_add(E_EVENT_FM_RECONFIGURE, ev, NULL, NULL);
+ }
+ }
+ }
}
else
_e_fm_selections_add(sd->files->data, sd->files);
_e_fm_selections_clear(sd);
_e_fm_selections_add(l->data, l);
}
+ if(l)
+ {
+ E_Fm_Icon *icon;
+ Evas_Coord x, y, w, h;
+ icon = l->data;
+ evas_object_geometry_get(icon->icon_object, &x, &y, &w, &h);
+ if(!E_CONTAINS(sd->x, sd->y, sd->w, sd->h, x, y, w, h))
+ {
+ E_Event_Fm_Reconfigure *ev;
+
+ ev = E_NEW(E_Event_Fm_Reconfigure, 1);
+ if (ev)
+ {
+ ev->object = sd->object;
+ ev->x = sd->x;
+ ev->y = sd->child.y + y + h + sd->icon_info.y_space - (sd->y + sd->h);
+ ev->w = sd->w;
+ ev->h = sd->h;
+ ecore_event_add(E_EVENT_FM_RECONFIGURE, ev, NULL, NULL);
+ }
+ }
+ }
}
else
_e_fm_selections_add(sd->files->data, sd->files);
_e_fm_selections_clear(sd);
_e_fm_selections_add(prev->data, prev);
}
+ {
+ E_Fm_Icon *icon;
+ Evas_Coord x, y, w, h;
+ icon = prev->data;
+ evas_object_geometry_get(icon->icon_object, &x, &y, &w, &h);
+ if(!E_CONTAINS(sd->x, sd->y, sd->w, sd->h, x, y, w, h))
+ {
+ E_Event_Fm_Reconfigure *ev;
+
+ ev = E_NEW(E_Event_Fm_Reconfigure, 1);
+ if (ev)
+ {
+ ev->object = sd->object;
+ ev->x = sd->x;
+ ev->y = sd->child.y - (sd->y - (y - sd->icon_info.y_space));
+ ev->w = sd->w;
+ ev->h = sd->h;
+ ecore_event_add(E_EVENT_FM_RECONFIGURE, ev, NULL, NULL);
+ }
+ }
+ }
}
}
else
{
_e_fm_selections_clear(sd);
_e_fm_selections_add(next->data, next);
+ }
+ {
+ E_Fm_Icon *icon;
+ Evas_Coord x, y, w, h;
+ icon = next->data;
+ evas_object_geometry_get(icon->icon_object, &x, &y, &w, &h);
+ if(!E_CONTAINS(sd->x, sd->y, sd->w, sd->h, x, y, w, h))
+ {
+ E_Event_Fm_Reconfigure *ev;
+
+ ev = E_NEW(E_Event_Fm_Reconfigure, 1);
+ if (ev)
+ {
+ ev->object = sd->object;
+ ev->x = sd->x;
+ ev->y = sd->child.y + y + h + sd->icon_info.y_space - (sd->y + sd->h);
+ ev->w = sd->w;
+ ev->h = sd->h;
+ ecore_event_add(E_EVENT_FM_RECONFIGURE, ev, NULL, NULL);
+ }
+ }
}
}
}