From 2ac12292618a8e3377cb1a06a255bfe2e828e99e Mon Sep 17 00:00:00 2001 From: Chidambar Zinnoury Date: Sun, 15 Jul 2012 20:05:58 +0000 Subject: [PATCH] e file manager: hide open menu items if there is no selection. SVN revision: 73893 --- src/bin/e_fm.c | 13 ++----------- src/modules/fileman/e_fwin.c | 8 ++++++++ 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/bin/e_fm.c b/src/bin/e_fm.c index f4b147da0..beb08bcd3 100644 --- a/src/bin/e_fm.c +++ b/src/bin/e_fm.c @@ -7814,11 +7814,7 @@ _e_fm2_menu(Evas_Object *obj, unsigned int timestamp) else { if (sd->icon_menu.start.func) - { - sd->icon_menu.start.func(sd->icon_menu.start.data, sd->obj, mn, NULL); - mi = e_menu_item_new(mn); - e_menu_item_separator_set(mi, 1); - } + sd->icon_menu.start.func(sd->icon_menu.start.data, sd->obj, mn, NULL); if ((!(sd->icon_menu.flags & E_FM2_MENU_NO_INHERIT_PARENT)) && (sd->view_flags & E_FM2_VIEW_INHERIT_DIR_CUSTOM)) { @@ -7973,12 +7969,7 @@ _e_fm2_icon_menu(E_Fm2_Icon *ic, Evas_Object *obj, unsigned int timestamp) else { if (sd->icon_menu.start.func) - { - sd->icon_menu.start.func(sd->icon_menu.start.data, sd->obj, mn, NULL); - mi = e_menu_item_new(mn); - e_menu_item_separator_set(mi, 1); - } - + sd->icon_menu.start.func(sd->icon_menu.start.data, sd->obj, mn, NULL); if ((!(sd->icon_menu.flags & E_FM2_MENU_NO_INHERIT_PARENT)) && (sd->view_flags & E_FM2_VIEW_INHERIT_DIR_CUSTOM)) { diff --git a/src/modules/fileman/e_fwin.c b/src/modules/fileman/e_fwin.c index 77a67e6b0..58e4b686b 100644 --- a/src/modules/fileman/e_fwin.c +++ b/src/modules/fileman/e_fwin.c @@ -1712,8 +1712,13 @@ _e_fwin_cb_menu_extend_start(void *data, E_Menu_Item *mi; E_Fwin_Page *page; E_Menu *subm; + Eina_List *selected = NULL; page = data; + + selected = e_fm2_selected_list_get(page->fm_obj); + if (!selected) return; + mi = e_menu_item_new(m); e_menu_item_label_set(mi, _("Open")); e_util_menu_item_theme_icon_set(mi, "document-open"); @@ -1726,6 +1731,9 @@ _e_fwin_cb_menu_extend_start(void *data, subm = e_menu_new(); e_menu_item_submenu_set(mi, subm); e_menu_pre_activate_callback_set(subm, _e_fwin_cb_menu_extend_open_with, page); + + mi = e_menu_item_new(m); + e_menu_item_separator_set(mi, 1); } static void