_e_fwin_cb_menu_extend_start(void *data,
Evas_Object *obj,
E_Menu *m,
- E_Fm2_Icon_Info *info __UNUSED__)
+ E_Fm2_Icon_Info *info)
{
E_Menu_Item *mi = NULL;
E_Fwin_Page *page;
E_Menu *subm;
Eina_List *selected = NULL;
Eina_Bool set = EINA_FALSE;
+ char buf[PATH_MAX];
page = data;
selected = e_fm2_selected_list_get(page->fm_obj);
#ifdef ENABLE_FILES
- subm = e_mod_menu_add(m, e_fm2_real_path_get(page->fm_obj));
+ if (info && info->file)
+ snprintf(buf, sizeof(buf), "%s/%s", e_fm2_real_path_get(page->fm_obj), info->file);
+ subm = e_mod_menu_add(m, (info && info->file) ? buf : e_fm2_real_path_get(page->fm_obj));
if (((!page->fwin->zone) || fileman_config->view.desktop_navigation) && e_fm2_has_parent_get(obj))
{
if (path)
{
- mi = e_menu_item_new(m);
+ mi = e_menu_item_new_relative(m, NULL);
e_menu_item_label_set(mi, _("Current Directory"));
e_util_menu_item_theme_icon_set(mi, "folder");
e_menu_item_submenu_pre_callback_set(mi, _e_mod_menu_populate, eina_stringshare_ref(path));
sub = e_menu_new();
e_menu_item_submenu_set(mi, sub);
e_object_unref(E_OBJECT(sub)); //allow deletion whenever main menu deletes
- e_menu_pre_activate_callback_set(sub, _e_mod_menu_generate, (void*)eina_stringshare_ref(path));
+ e_menu_pre_activate_callback_set(sub, _e_mod_menu_generate, (void*)eina_stringshare_add(path));
return sub;
#else
(void)m;