From 109157dc278e09fe32d7a28688cfe0024ad5e890 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Wed, 30 Aug 2006 13:37:35 +0000 Subject: [PATCH] was hacking a bit with borders and desktops - just ignore that codee. it's unused - at the moment. SVN revision: 25210 --- src/bin/e_border.c | 150 ++++++++++++++++++++++++++---------------- src/bin/e_border.h | 5 ++ src/bin/e_desk.c | 109 ++++++++++++++++++++++++++++++ src/bin/e_fm.c | 78 +++++++++++++++++++++- src/bin/e_fm.h | 4 +- src/bin/e_int_menus.c | 2 +- 6 files changed, 286 insertions(+), 62 deletions(-) diff --git a/src/bin/e_border.c b/src/bin/e_border.c index 47146d3a2..84b5976a7 100644 --- a/src/bin/e_border.c +++ b/src/bin/e_border.c @@ -790,11 +790,11 @@ e_border_move(E_Border *bd, int x, int y) #endif if (bd->internal_ecore_evas) ecore_evas_managed_move(bd->internal_ecore_evas, - bd->x + bd->client_inset.l, - bd->y + bd->client_inset.t); + bd->x + bd->fx.x + bd->client_inset.l, + bd->y + bd->fx.y + bd->client_inset.t); ecore_x_icccm_move_resize_send(bd->client.win, - bd->x + bd->client_inset.l, - bd->y + bd->client_inset.t, + bd->x + bd->fx.x + bd->client_inset.l, + bd->y + bd->fx.y + bd->client_inset.t, bd->client.w, bd->client.h); _e_border_move_update(bd); @@ -806,6 +806,30 @@ e_border_move(E_Border *bd, int x, int y) _e_border_zone_update(bd); } +EAPI void +e_border_fx_offset(E_Border *bd, int x, int y) +{ + E_OBJECT_CHECK(bd); + E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE); + + if ((x == bd->fx.x) && (y == bd->fx.y)) return; + bd->pre_res_change.valid = 0; + bd->fx.x = x; + bd->fx.y = y; + bd->changed = 1; + bd->changes.pos = 1; + if (bd->internal_ecore_evas) + ecore_evas_managed_move(bd->internal_ecore_evas, + bd->x + bd->fx.x + bd->client_inset.l, + bd->y + bd->fx.y + bd->client_inset.t); + ecore_x_icccm_move_resize_send(bd->client.win, + bd->x + bd->fx.x + bd->client_inset.l, + bd->y + bd->fx.y + bd->client_inset.t, + bd->client.w, + bd->client.h); + _e_border_move_update(bd); +} + EAPI void e_border_resize(E_Border *bd, int w, int h) { @@ -849,11 +873,11 @@ e_border_resize(E_Border *bd, int w, int h) } if (bd->internal_ecore_evas) ecore_evas_managed_move(bd->internal_ecore_evas, - bd->x + bd->client_inset.l, - bd->y + bd->client_inset.t); + bd->x + bd->fx.x + bd->client_inset.l, + bd->y + bd->fx.y + bd->client_inset.t); ecore_x_icccm_move_resize_send(bd->client.win, - bd->x + bd->client_inset.l, - bd->y + bd->client_inset.t, + bd->x + bd->fx.x + bd->client_inset.l, + bd->y + bd->fx.y + bd->client_inset.t, bd->client.w, bd->client.h); ev = calloc(1, sizeof(E_Event_Border_Resize)); @@ -914,11 +938,11 @@ e_border_move_resize(E_Border *bd, int x, int y, int w, int h) } if (bd->internal_ecore_evas) ecore_evas_managed_move(bd->internal_ecore_evas, - bd->x + bd->client_inset.l, - bd->y + bd->client_inset.t); + bd->x + bd->fx.x + bd->client_inset.l, + bd->y + bd->fx.y + bd->client_inset.t); ecore_x_icccm_move_resize_send(bd->client.win, - bd->x + bd->client_inset.l, - bd->y + bd->client_inset.t, + bd->x + bd->fx.x + bd->client_inset.l, + bd->y + bd->fx.y + bd->client_inset.t, bd->client.w, bd->client.h); _e_border_resize_update(bd); @@ -2439,8 +2463,8 @@ e_border_act_menu_begin(E_Border *bd, Ecore_X_Event_Mouse_Button_Down *ev, int k if (ev) { e_int_border_menu_show(bd, - bd->x + ev->x - bd->zone->container->x, - bd->y + ev->y - bd->zone->container->y, key, + bd->x + bd->fx.x + ev->x - bd->zone->container->x, + bd->y + bd->fx.y + ev->y - bd->zone->container->y, key, ev->time); } else @@ -2749,11 +2773,11 @@ e_border_frame_recalc(E_Border *bd) } if (bd->internal_ecore_evas) ecore_evas_managed_move(bd->internal_ecore_evas, - bd->x + bd->client_inset.l, - bd->y + bd->client_inset.t); + bd->x + bd->fx.x + bd->client_inset.l, + bd->y + bd->fx.y + bd->client_inset.t); ecore_x_icccm_move_resize_send(bd->client.win, - bd->x + bd->client_inset.l, - bd->y + bd->client_inset.t, + bd->x + bd->fx.x + bd->client_inset.l, + bd->y + bd->fx.y + bd->client_inset.t, bd->client.w, bd->client.h); } @@ -4372,15 +4396,15 @@ _e_border_cb_mouse_down(void *data, int type, void *event) { bd->mouse.last_down[ev->button - 1].mx = ev->root.x; bd->mouse.last_down[ev->button - 1].my = ev->root.y; - bd->mouse.last_down[ev->button - 1].x = bd->x; - bd->mouse.last_down[ev->button - 1].y = bd->y; + bd->mouse.last_down[ev->button - 1].x = bd->x + bd->fx.x; + bd->mouse.last_down[ev->button - 1].y = bd->y + bd->fx.y; bd->mouse.last_down[ev->button - 1].w = bd->w; bd->mouse.last_down[ev->button - 1].h = bd->h; } else { - bd->moveinfo.down.x = bd->x; - bd->moveinfo.down.y = bd->y; + bd->moveinfo.down.x = bd->x + bd->fx.x; + bd->moveinfo.down.y = bd->y + bd->fx.y; bd->moveinfo.down.w = bd->w; bd->moveinfo.down.h = bd->h; } @@ -4415,15 +4439,15 @@ _e_border_cb_mouse_down(void *data, int type, void *event) { bd->mouse.last_down[ev->button - 1].mx = ev->root.x; bd->mouse.last_down[ev->button - 1].my = ev->root.y; - bd->mouse.last_down[ev->button - 1].x = bd->x; - bd->mouse.last_down[ev->button - 1].y = bd->y; + bd->mouse.last_down[ev->button - 1].x = bd->x + bd->fx.x; + bd->mouse.last_down[ev->button - 1].y = bd->y + bd->fx.y; bd->mouse.last_down[ev->button - 1].w = bd->w; bd->mouse.last_down[ev->button - 1].h = bd->h; } else { - bd->moveinfo.down.x = bd->x; - bd->moveinfo.down.y = bd->y; + bd->moveinfo.down.x = bd->x + bd->fx.x; + bd->moveinfo.down.y = bd->y + bd->fx.y; bd->moveinfo.down.w = bd->w; bd->moveinfo.down.h = bd->h; } @@ -4464,8 +4488,8 @@ _e_border_cb_mouse_up(void *data, int type, void *event) { bd->mouse.last_up[ev->button - 1].mx = ev->root.x; bd->mouse.last_up[ev->button - 1].my = ev->root.y; - bd->mouse.last_up[ev->button - 1].x = bd->x; - bd->mouse.last_up[ev->button - 1].y = bd->y; + bd->mouse.last_up[ev->button - 1].x = bd->x + bd->fx.x; + bd->mouse.last_up[ev->button - 1].y = bd->y + bd->fx.y; } bd->mouse.current.mx = ev->root.x; bd->mouse.current.my = ev->root.y; @@ -4491,8 +4515,8 @@ _e_border_cb_mouse_up(void *data, int type, void *event) { bd->mouse.last_up[ev->button - 1].mx = ev->root.x; bd->mouse.last_up[ev->button - 1].my = ev->root.y; - bd->mouse.last_up[ev->button - 1].x = bd->x; - bd->mouse.last_up[ev->button - 1].y = bd->y; + bd->mouse.last_up[ev->button - 1].x = bd->x + bd->fx.x; + bd->mouse.last_up[ev->button - 1].y = bd->y + bd->fx.y; } bd->mouse.current.mx = ev->root.x; bd->mouse.current.my = ev->root.y; @@ -4603,7 +4627,9 @@ _e_border_cb_mouse_move(void *data, int type, void *event) evas_object_geometry_get(bd->icon_object, &x, &y, &w, &h); - drag = e_drag_new(bd->zone->container, bd->x + x, bd->y + y, + drag = e_drag_new(bd->zone->container, + bd->x + bd->fx.x + x, + bd->y + bd->fx.y + y, drag_types, 1, bd, -1, NULL); edje_object_file_get(bd->icon_object, &file, &part); if ((file) && (part)) @@ -5669,11 +5695,11 @@ _e_border_eval(E_Border *bd) if (bd->internal_ecore_evas) ecore_evas_managed_move(bd->internal_ecore_evas, - bd->x + bd->client_inset.l, - bd->y + bd->client_inset.t); + bd->x + bd->fx.x + bd->client_inset.l, + bd->y + bd->fx.y + bd->client_inset.t); ecore_x_icccm_move_resize_send(bd->client.win, - bd->x + bd->client_inset.l, - bd->y + bd->client_inset.t, + bd->x + bd->fx.x + bd->client_inset.l, + bd->y + bd->fx.y + bd->client_inset.t, bd->client.w, bd->client.h); /* if the explicit geometry request asks for the app to be @@ -5757,13 +5783,16 @@ _e_border_eval(E_Border *bd) { if (bd->internal_ecore_evas) ecore_evas_managed_move(bd->internal_ecore_evas, - bd->x + bd->client_inset.l, - bd->y + bd->client_inset.t); + bd->x + bd->fx.x + bd->client_inset.l, + bd->y + bd->fx.y + bd->client_inset.t); // printf("##- BORDER NEEDS POS/SIZE CHANGE 0x%x\n", bd->client.win); if ((bd->shaded) && (!bd->shading)) { evas_obscured_clear(bd->bg_evas); - ecore_x_window_move_resize(bd->win, bd->x, bd->y, bd->w, bd->h); + ecore_x_window_move_resize(bd->win, + bd->x + bd->fx.x, + bd->y + bd->fx.y, + bd->w, bd->h); ecore_x_window_move_resize(bd->event_win, 0, 0, bd->w, bd->h); if (bd->internal_ecore_evas) ecore_evas_move_resize(bd->internal_ecore_evas, 0, 0, bd->client.w, bd->client.h); @@ -5772,7 +5801,9 @@ _e_border_eval(E_Border *bd) ecore_evas_move_resize(bd->bg_ecore_evas, 0, 0, bd->w, bd->h); evas_object_resize(bd->bg_object, bd->w, bd->h); e_container_shape_resize(bd->shape, bd->w, bd->h); - e_container_shape_move(bd->shape, bd->x, bd->y); + e_container_shape_move(bd->shape, + bd->x + bd->fx.x, + bd->y + bd->fx.y); } else { @@ -5781,7 +5812,10 @@ _e_border_eval(E_Border *bd) bd->client_inset.l, bd->client_inset.t, bd->w - (bd->client_inset.l + bd->client_inset.r), bd->h - (bd->client_inset.t + bd->client_inset.b)); - ecore_x_window_move_resize(bd->win, bd->x, bd->y, bd->w, bd->h); + ecore_x_window_move_resize(bd->win, + bd->x + bd->fx.x, + bd->y + bd->fx.y, + bd->w, bd->h); ecore_x_window_move_resize(bd->event_win, 0, 0, bd->w, bd->h); ecore_x_window_move_resize(bd->client.shell_win, bd->client_inset.l, bd->client_inset.t, @@ -5837,7 +5871,9 @@ _e_border_eval(E_Border *bd) ecore_evas_move_resize(bd->bg_ecore_evas, 0, 0, bd->w, bd->h); evas_object_resize(bd->bg_object, bd->w, bd->h); e_container_shape_resize(bd->shape, bd->w, bd->h); - e_container_shape_move(bd->shape, bd->x, bd->y); + e_container_shape_move(bd->shape, + bd->x + bd->fx.x, + bd->y + bd->fx.y); } bd->changes.pos = 0; bd->changes.size = 0; @@ -5848,10 +5884,10 @@ _e_border_eval(E_Border *bd) { if (bd->internal_ecore_evas) ecore_evas_managed_move(bd->internal_ecore_evas, - bd->x + bd->client_inset.l, - bd->y + bd->client_inset.t); - ecore_x_window_move(bd->win, bd->x, bd->y); - e_container_shape_move(bd->shape, bd->x, bd->y); + bd->x + bd->fx.x + bd->client_inset.l, + bd->y + bd->fx.x + bd->client_inset.t); + ecore_x_window_move(bd->win, bd->x + bd->fx.x, bd->y + bd->fx.y); + e_container_shape_move(bd->shape, bd->x + bd->fx.x, bd->y + bd->fx.y); bd->changes.pos = 0; rem_change = 1; send_event = 0; @@ -5860,8 +5896,8 @@ _e_border_eval(E_Border *bd) { if (bd->internal_ecore_evas) ecore_evas_managed_move(bd->internal_ecore_evas, - bd->x + bd->client_inset.l, - bd->y + bd->client_inset.t); + bd->x + bd->fx.x + bd->client_inset.l, + bd->y + bd->fx.y + bd->client_inset.t); // printf("##- BORDER NEEDS SIZE CHANGE 0x%x\n", bd->client.win); if (bd->shaded && !bd->shading) { @@ -6113,11 +6149,11 @@ _e_border_eval(E_Border *bd) bd->changes.pos = 1; if (bd->internal_ecore_evas) ecore_evas_managed_move(bd->internal_ecore_evas, - bd->x + bd->client_inset.l, - bd->y + bd->client_inset.t); + bd->x + bd->fx.x + bd->client_inset.l, + bd->y + bd->fx.y + bd->client_inset.t); ecore_x_icccm_move_resize_send(bd->client.win, - bd->x + bd->client_inset.l, - bd->y + bd->client_inset.t, + bd->x + bd->fx.x + bd->client_inset.l, + bd->y + bd->fx.y + bd->client_inset.t, bd->client.w, bd->client.h); } } @@ -6126,8 +6162,8 @@ _e_border_eval(E_Border *bd) ecore_x_window_show(bd->win); if (bd->cur_mouse_action) { - bd->moveinfo.down.x = bd->x; - bd->moveinfo.down.y = bd->y; + bd->moveinfo.down.x = bd->x + bd->fx.x; + bd->moveinfo.down.y = bd->y + bd->fx.y; bd->moveinfo.down.w = bd->w; bd->moveinfo.down.h = bd->h; bd->mouse.current.mx = x; @@ -6740,7 +6776,7 @@ _e_border_resize_begin(E_Border *bd) bd->client.netwm.sync.send_time = ecore_time_get(); } if (e_config->resize_info_follows) - e_move_resize_object_coords_set(bd->x, bd->y, bd->w, bd->h); + e_move_resize_object_coords_set(bd->x + bd->fx.x, bd->y + bd->fx.y, bd->w, bd->h); else e_move_resize_object_coords_set(bd->zone->x, bd->zone->y, bd->zone->w, bd->zone->h); e_resize_begin(bd->zone, w, h); @@ -6799,7 +6835,7 @@ _e_border_resize_update(E_Border *bd) h = bd->client.h; } if (e_config->resize_info_follows) - e_move_resize_object_coords_set(bd->x, bd->y, bd->w, bd->h); + e_move_resize_object_coords_set(bd->x + bd->fx.x, bd->y + bd->fx.y, bd->w, bd->h); else e_move_resize_object_coords_set(bd->zone->x, bd->zone->y, bd->zone->w, bd->zone->h); e_resize_update(w, h); @@ -6829,7 +6865,7 @@ _e_border_move_begin(E_Border *bd) } #endif if (e_config->move_info_follows) - e_move_resize_object_coords_set(bd->x, bd->y, bd->w, bd->h); + e_move_resize_object_coords_set(bd->x + bd->fx.x, bd->y + bd->fx.y, bd->w, bd->h); else e_move_resize_object_coords_set(bd->zone->x, bd->zone->y, bd->zone->w, bd->zone->h); e_move_begin(bd->zone, bd->x, bd->y); @@ -6859,7 +6895,7 @@ static void _e_border_move_update(E_Border *bd) { if (e_config->move_info_follows) - e_move_resize_object_coords_set(bd->x, bd->y, bd->w, bd->h); + e_move_resize_object_coords_set(bd->x + bd->fx.x, bd->y + bd->fx.y, bd->w, bd->h); else e_move_resize_object_coords_set(bd->zone->x, bd->zone->y, bd->zone->w, bd->zone->h); e_move_update(bd->x, bd->y); diff --git a/src/bin/e_border.h b/src/bin/e_border.h index c24aff8b5..6878f6a47 100644 --- a/src/bin/e_border.h +++ b/src/bin/e_border.h @@ -123,6 +123,10 @@ struct _E_Border E_Desk *desk; Evas_List *handlers; + struct { + int x, y; + } fx; + struct { int l, r, t, b; } client_inset; @@ -558,6 +562,7 @@ EAPI void e_border_desk_set(E_Border *bd, E_Desk *desk); EAPI void e_border_show(E_Border *bd); EAPI void e_border_hide(E_Border *bd, int manage); EAPI void e_border_move(E_Border *bd, int x, int y); +EAPI void e_border_fx_offset(E_Border *bd, int x, int y); EAPI void e_border_resize(E_Border *bd, int w, int h); EAPI void e_border_move_resize(E_Border *bd, int x, int y, int w, int h); EAPI void e_border_layer_set(E_Border *bd, int layer); diff --git a/src/bin/e_desk.c b/src/bin/e_desk.c index 693c27e11..ace591e88 100644 --- a/src/bin/e_desk.c +++ b/src/bin/e_desk.c @@ -183,6 +183,113 @@ e_desk_name_update(void) } } +static void _e_desk_show_begin(E_Desk *desk); +static void _e_desk_show_end(E_Desk *desk); +static int _e_desk_show_animator(void *data); + +static void +_e_desk_show_begin(E_Desk *desk) +{ + E_Border_List *bl; + E_Border *bd; + + bl = e_container_border_list_first(desk->zone->container); + while ((bd = e_container_border_list_next(bl))) + { + if ((bd->desk->zone == desk->zone) && (!bd->iconic)) + { + if ((bd->desk == desk) && (!bd->sticky)) + { + e_border_fx_offset(bd, -desk->zone->w, 0); + e_border_show(bd); + if (bd->want_fullscreen) + { + e_border_fullscreen(bd, e_config->fullscreen_policy); + bd->want_fullscreen = 0; + } + } + else if (bd->moving) + e_border_desk_set(bd, desk); + } + } + e_container_border_list_free(bl); + ecore_animator_add(_e_desk_show_animator, desk); +} + +static void +_e_desk_show_end(E_Desk *desk) +{ + E_Border_List *bl; + E_Border *bd; + + bl = e_container_border_list_first(desk->zone->container); + while ((bd = e_container_border_list_next(bl))) + { + if ((bd->desk->zone == desk->zone) && (!bd->iconic)) + { + if ((bd->desk == desk) && (!bd->sticky)) + { + e_border_fx_offset(bd, 0, 0); + } + else if (bd->moving) + { + e_border_fx_offset(bd, 0, 0); + e_border_desk_set(bd, desk); + } + } + } + e_container_border_list_free(bl); +} + +static int +_e_desk_show_animator(void *data) +{ + E_Desk *desk; + E_Border_List *bl; + E_Border *bd; + int done = 1; + + desk = data; + bl = e_container_border_list_first(desk->zone->container); + while ((bd = e_container_border_list_next(bl))) + { + if ((bd->desk->zone == desk->zone) && (!bd->iconic)) + { + if (bd->moving) + { + } + else if ((bd->desk == desk) || (!bd->sticky)) + { + e_border_fx_offset(bd, bd->fx.x + 20, 0); + if (bd->fx.x < 0) + done = 0; + } + } + } + e_container_border_list_free(bl); + if (done) + { + _e_desk_show_end(desk); + return 0; + } + return 1; +} + +static void +_e_desk_hide_begin(E_Desk *desk) +{ +} + +static void +_e_desk_hide_end(E_Desk *desk) +{ +} + +static int +_e_desk_hide_animator(void *data) +{ +} + EAPI void e_desk_show(E_Desk *desk) { @@ -196,6 +303,8 @@ e_desk_show(E_Desk *desk) E_OBJECT_TYPE_CHECK(desk, E_DESK_TYPE); if (desk->visible) return; +// _e_desk_show_begin(desk); + for (x = 0; x < desk->zone->desk_x_count; x++) { for (y = 0; y < desk->zone->desk_y_count; y++) diff --git a/src/bin/e_fm.c b/src/bin/e_fm.c index 30229518e..0f897e3a4 100644 --- a/src/bin/e_fm.c +++ b/src/bin/e_fm.c @@ -36,6 +36,12 @@ struct _E_Fm2_Smart_Data Evas_List *list; int member_max; } regions; + struct { + struct { + void (*func) (void *data, Evas_Object *obj, E_Menu *m); + void *data; + } start, end; + } icon_menu; Evas_List *icons; Evas_List *queue; @@ -478,6 +484,33 @@ e_fm2_file_show(Evas_Object *obj, const char *file) } } +EAPI void +e_fm2_icon_menu_start_extend_callback_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, E_Menu *m), void *data) +{ + E_Fm2_Smart_Data *sd; + + 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 + sd->icon_menu.start.func = func; + sd->icon_menu.start.data = data; +} + +EAPI void +e_fm2_icon_menu_end_extend_callback_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, E_Menu *m), void *data) +{ + E_Fm2_Smart_Data *sd; + + 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 + sd->icon_menu.end.func = func; + sd->icon_menu.end.data = data; +} + + EAPI void e_fm2_pan_set(Evas_Object *obj, Evas_Coord x, Evas_Coord y) { @@ -2465,14 +2498,21 @@ _e_fm2_icon_menu(E_Fm2_Icon *ic, Evas_Object *obj, unsigned int timestamp) E_Manager *man; E_Container *con; E_Zone *zone; - int x, y; + int x, y, can_w; char buf[4096]; sd = ic->sd; mn = e_menu_new(); e_menu_category_set(mn, "e/fileman/action"); - + + if (sd->icon_menu.start.func) + { + sd->icon_menu.start.func(sd->icon_menu.start.data, sd->obj, mn); + mi = e_menu_item_new(mn); + e_menu_item_separator_set(mi, 1); + } + mi = e_menu_item_new(mn); e_menu_item_label_set(mi, _("Refresh View")); e_menu_item_icon_edje_set(mi, @@ -2497,7 +2537,32 @@ _e_fm2_icon_menu(E_Fm2_Icon *ic, Evas_Object *obj, unsigned int timestamp) } snprintf(buf, sizeof(buf), "%s/%s", sd->realpath, ic->info.file); - if (ecore_file_can_write(buf)) + can_w = 0; + if (ic->info.link) + { + struct stat st; + + if (lstat(buf, &st) == 0) + { + if (st.st_uid == getuid()) + { + if (st.st_mode & S_IWUSR) can_w = 1; + } + else if (st.st_gid == getgid()) + { + if (st.st_mode & S_IWGRP) can_w = 1; + } + else + { + if (st.st_mode & S_IWOTH) can_w = 1; + } + } + } + else + { + if (ecore_file_can_write(buf)) can_w = 1; + } + if (can_w) { mi = e_menu_item_new(mn); e_menu_item_separator_set(mi, 1); @@ -2518,6 +2583,13 @@ _e_fm2_icon_menu(E_Fm2_Icon *ic, Evas_Object *obj, unsigned int timestamp) "e/fileman/button/rename"); e_menu_item_callback_set(mi, _e_fm2_file_rename, ic); } + + if (sd->icon_menu.end.func) + { + sd->icon_menu.end.func(sd->icon_menu.end.data, sd->obj, mn); + mi = e_menu_item_new(mn); + e_menu_item_separator_set(mi, 1); + } man = e_manager_current_get(); if (!man) diff --git a/src/bin/e_fm.h b/src/bin/e_fm.h index e69ebdccf..d3761ba93 100644 --- a/src/bin/e_fm.h +++ b/src/bin/e_fm.h @@ -111,7 +111,9 @@ EAPI Evas_List *e_fm2_selected_list_get(Evas_Object *obj); EAPI Evas_List *e_fm2_all_list_get(Evas_Object *obj); EAPI void e_fm2_select_set(Evas_Object *obj, const char *file, int select); EAPI void e_fm2_file_show(Evas_Object *obj, const char *file); - +EAPI void e_fm2_icon_menu_start_extend_callback_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, E_Menu *m), void *data); +EAPI void e_fm2_icon_menu_end_extend_callback_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, E_Menu *m), void *data); + 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); diff --git a/src/bin/e_int_menus.c b/src/bin/e_int_menus.c index 4c8af7b39..6f596770c 100644 --- a/src/bin/e_int_menus.c +++ b/src/bin/e_int_menus.c @@ -75,7 +75,7 @@ e_int_menus_main_new(void) e_object_data_set(E_OBJECT(m), dat); e_object_del_attach_func_set(E_OBJECT(m), _e_int_menus_main_del_hook); - e_menu_category_set(m,"main"); + e_menu_category_set(m, "main"); subm = e_int_menus_favorite_apps_new(); dat->apps = subm; mi = e_menu_item_new(m);