forked from enlightenment/enlightenment
fix path setting when opening fileman windows from "No listable items"
This commit is contained in:
parent
445ae27fad
commit
f92b638061
|
@ -33,16 +33,17 @@ _e_mod_menu_gtk_cb(void *data,
|
||||||
static void
|
static void
|
||||||
_e_mod_menu_virtual_cb(void *data,
|
_e_mod_menu_virtual_cb(void *data,
|
||||||
E_Menu *m,
|
E_Menu *m,
|
||||||
E_Menu_Item *mi __UNUSED__)
|
E_Menu_Item *mi)
|
||||||
{
|
{
|
||||||
Evas_Object *fm;
|
Evas_Object *fm;
|
||||||
|
Eina_Stringshare *path = e_object_data_get(E_OBJECT(mi));
|
||||||
|
|
||||||
m = _e_mod_menu_top_get(m);
|
m = _e_mod_menu_top_get(m);
|
||||||
fm = e_object_data_get(E_OBJECT(m));
|
fm = e_object_data_get(E_OBJECT(m));
|
||||||
if (fm && ((fileman_config->view.open_dirs_in_place && evas_object_data_get(fm, "page_is_window")) ||
|
if (fm && ((fileman_config->view.open_dirs_in_place && evas_object_data_get(fm, "page_is_window")) ||
|
||||||
(fileman_config->view.desktop_navigation && evas_object_data_get(fm, "page_is_zone"))))
|
(fileman_config->view.desktop_navigation && evas_object_data_get(fm, "page_is_zone"))))
|
||||||
e_fm2_path_set(fm, data, "/");
|
e_fm2_path_set(fm, data, path ?: "/");
|
||||||
else if (m->zone) e_fwin_new(m->zone->container, data, "/");
|
else if (m->zone) e_fwin_new(m->zone->container, data, path ?: "/");
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -234,11 +235,17 @@ _e_mod_menu_populate_done(void *data, Eio_File *handler __UNUSED__)
|
||||||
if (!m->items)
|
if (!m->items)
|
||||||
{
|
{
|
||||||
E_Menu_Item *mi;
|
E_Menu_Item *mi;
|
||||||
|
Eina_Stringshare *dev, *path;
|
||||||
|
|
||||||
mi = e_menu_item_new(m);
|
mi = e_menu_item_new(m);
|
||||||
e_menu_item_label_set(mi, _("No listable items"));
|
e_menu_item_label_set(mi, _("No listable items"));
|
||||||
e_object_data_set(E_OBJECT(mi), eina_stringshare_ref(e_object_data_get(data)));
|
dev = e_object_data_get(data);
|
||||||
e_menu_item_callback_set(mi, _e_mod_menu_populate_cb, NULL);
|
path = e_object_data_get(E_OBJECT(e_menu_item_active_get()));
|
||||||
|
e_object_data_set(E_OBJECT(mi), eina_stringshare_ref(path));
|
||||||
|
if (dev && (dev[0] == '/'))
|
||||||
|
e_menu_item_callback_set(mi, _e_mod_menu_populate_cb, dev);
|
||||||
|
else
|
||||||
|
e_menu_item_callback_set(mi, _e_mod_menu_virtual_cb, dev);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
m->items = eina_list_sort(m->items, 0, (Eina_Compare_Cb)_e_mod_menu_populate_sort);
|
m->items = eina_list_sort(m->items, 0, (Eina_Compare_Cb)_e_mod_menu_populate_sort);
|
||||||
|
|
Loading…
Reference in New Issue