add "current directory" to fileman menu browser when activating it from an fwin
SVN revision: 76724
This commit is contained in:
parent
0f35a6bf3c
commit
87ab5d8968
|
@ -2081,7 +2081,7 @@ _e_fwin_cb_menu_extend_start(void *data,
|
|||
selected = e_fm2_selected_list_get(page->fm_obj);
|
||||
|
||||
#ifdef ENABLE_FILES
|
||||
subm = e_mod_menu_add(m);
|
||||
subm = e_mod_menu_add(m, e_fm2_real_path_get(page->fm_obj));
|
||||
|
||||
if (((!page->fwin->zone) || fileman_config->view.desktop_navigation) && e_fm2_has_parent_get(obj))
|
||||
{
|
||||
|
|
|
@ -209,7 +209,7 @@ _e_mod_action_fileman_cb(E_Object *obj,
|
|||
void
|
||||
_e_mod_menu_add(void *data __UNUSED__, E_Menu *m)
|
||||
{
|
||||
e_mod_menu_add(m);
|
||||
e_mod_menu_add(m, NULL);
|
||||
}
|
||||
|
||||
/* Abstract fileman config load/create to one function for maintainability */
|
||||
|
|
|
@ -120,7 +120,7 @@ EAPI int e_modapi_save(E_Module *m);
|
|||
extern Config *fileman_config;
|
||||
Fileman_Path *e_mod_fileman_path_find(E_Zone *zone);
|
||||
|
||||
E_Menu *e_mod_menu_add(E_Menu *m);
|
||||
E_Menu *e_mod_menu_add(E_Menu *m, const char *path);
|
||||
|
||||
E_Config_Dialog *e_int_config_fileman(E_Container *con, const char *params __UNUSED__);
|
||||
|
||||
|
|
|
@ -296,10 +296,11 @@ _e_mod_menu_free(void *data)
|
|||
|
||||
/* menu item add hook */
|
||||
static void
|
||||
_e_mod_menu_generate(void *data __UNUSED__, E_Menu *m)
|
||||
_e_mod_menu_generate(void *data, E_Menu *m)
|
||||
{
|
||||
E_Volume *vol;
|
||||
E_Menu_Item *mi;
|
||||
const char *path = data;
|
||||
const char *s;
|
||||
const Eina_List *l;
|
||||
Eina_Bool need_separator;
|
||||
|
@ -308,6 +309,15 @@ _e_mod_menu_generate(void *data __UNUSED__, E_Menu *m)
|
|||
if (eina_list_count(m->items) > 4) return; /* parent, clone,, copy, and separator */
|
||||
e_object_free_attach_func_set(E_OBJECT(m), _e_mod_menu_free);
|
||||
|
||||
if (path)
|
||||
{
|
||||
mi = e_menu_item_new(m);
|
||||
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));
|
||||
}
|
||||
eina_stringshare_del(path);
|
||||
|
||||
/* Home */
|
||||
mi = e_menu_item_new(m);
|
||||
e_menu_item_label_set(mi, _("Home"));
|
||||
|
@ -373,7 +383,7 @@ _e_mod_menu_generate(void *data __UNUSED__, E_Menu *m)
|
|||
|
||||
/* returns submenu so we can add Go to Parent */
|
||||
E_Menu *
|
||||
e_mod_menu_add(E_Menu *m)
|
||||
e_mod_menu_add(E_Menu *m, const char *path)
|
||||
{
|
||||
#ifdef ENABLE_FILES
|
||||
E_Menu_Item *mi;
|
||||
|
@ -385,7 +395,7 @@ e_mod_menu_add(E_Menu *m)
|
|||
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, NULL);
|
||||
e_menu_pre_activate_callback_set(sub, _e_mod_menu_generate, (void*)eina_stringshare_ref(path));
|
||||
return sub;
|
||||
#else
|
||||
(void)m;
|
||||
|
|
Loading…
Reference in New Issue