forked from enlightenment/enlightenment
file right click -> Files -> X -> Y -> select(Z) now obeys open_dirs_in_place
SVN revision: 74931
This commit is contained in:
parent
1cb4d5f3ce
commit
0af70764a1
|
@ -827,6 +827,7 @@ _e_fwin_page_create(E_Fwin *fwin)
|
||||||
* to specify the .edj files to get the list and icon theme stuff from
|
* to specify the .edj files to get the list and icon theme stuff from
|
||||||
*/
|
*/
|
||||||
evas_object_data_set(page->fm_obj, "fm_page", page);
|
evas_object_data_set(page->fm_obj, "fm_page", page);
|
||||||
|
evas_object_data_set(page->fm_obj, "page_is_window", page);
|
||||||
o = e_widget_scrollframe_pan_add(evas, page->fm_obj,
|
o = e_widget_scrollframe_pan_add(evas, page->fm_obj,
|
||||||
e_fm2_pan_set,
|
e_fm2_pan_set,
|
||||||
e_fm2_pan_get,
|
e_fm2_pan_get,
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
/* actual module specifics */
|
/* actual module specifics */
|
||||||
static void _e_mod_action_fileman_cb(E_Object *obj,
|
static void _e_mod_action_fileman_cb(E_Object *obj,
|
||||||
const char *params);
|
const char *params);
|
||||||
|
static E_Menu *_e_mod_menu_top_get(E_Menu *m);
|
||||||
static void _e_mod_menu_gtk_cb(void *data,
|
static void _e_mod_menu_gtk_cb(void *data,
|
||||||
E_Menu *m,
|
E_Menu *m,
|
||||||
E_Menu_Item *mi);
|
E_Menu_Item *mi);
|
||||||
|
@ -260,10 +261,13 @@ _e_mod_menu_gtk_cb(void *data,
|
||||||
E_Menu *m,
|
E_Menu *m,
|
||||||
E_Menu_Item *mi __UNUSED__)
|
E_Menu_Item *mi __UNUSED__)
|
||||||
{
|
{
|
||||||
char *path;
|
Evas_Object *fm;
|
||||||
|
|
||||||
if (!(path = data)) return;
|
m = _e_mod_menu_top_get(m);
|
||||||
if (m->zone) e_fwin_new(m->zone->container, NULL, path);
|
fm = e_object_data_get(E_OBJECT(m));
|
||||||
|
if (fileman_config->view.open_dirs_in_place && fm && evas_object_data_get(fm, "page_is_window"))
|
||||||
|
e_fm2_path_set(fm, NULL, data);
|
||||||
|
else if (m->zone) e_fwin_new(m->zone->container, NULL, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -271,7 +275,13 @@ _e_mod_menu_virtual_cb(void *data,
|
||||||
E_Menu *m,
|
E_Menu *m,
|
||||||
E_Menu_Item *mi __UNUSED__)
|
E_Menu_Item *mi __UNUSED__)
|
||||||
{
|
{
|
||||||
if (m->zone) e_fwin_new(m->zone->container, data, "/");
|
Evas_Object *fm;
|
||||||
|
|
||||||
|
m = _e_mod_menu_top_get(m);
|
||||||
|
fm = e_object_data_get(E_OBJECT(m));
|
||||||
|
if (fileman_config->view.open_dirs_in_place && fm && evas_object_data_get(fm, "page_is_window"))
|
||||||
|
e_fm2_path_set(fm, data, "/");
|
||||||
|
else if (m->zone) e_fwin_new(m->zone->container, data, "/");
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -280,10 +290,15 @@ _e_mod_menu_volume_cb(void *data,
|
||||||
E_Menu_Item *mi __UNUSED__)
|
E_Menu_Item *mi __UNUSED__)
|
||||||
{
|
{
|
||||||
E_Volume *vol = data;
|
E_Volume *vol = data;
|
||||||
|
Evas_Object *fm;
|
||||||
|
|
||||||
|
m = _e_mod_menu_top_get(m);
|
||||||
|
fm = e_object_data_get(E_OBJECT(m));
|
||||||
if (vol->mounted)
|
if (vol->mounted)
|
||||||
{
|
{
|
||||||
if (m->zone)
|
if (fileman_config->view.open_dirs_in_place && fm && evas_object_data_get(fm, "page_is_window"))
|
||||||
|
e_fm2_path_set(fm, NULL, vol->mount_point);
|
||||||
|
else if (m->zone)
|
||||||
e_fwin_new(m->zone->container, NULL, vol->mount_point);
|
e_fwin_new(m->zone->container, NULL, vol->mount_point);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -291,8 +306,10 @@ _e_mod_menu_volume_cb(void *data,
|
||||||
char buf[PATH_MAX];
|
char buf[PATH_MAX];
|
||||||
|
|
||||||
snprintf(buf, sizeof(buf), "removable:%s", vol->udi);
|
snprintf(buf, sizeof(buf), "removable:%s", vol->udi);
|
||||||
e_fwin_new(e_container_current_get(e_manager_current_get()),
|
if (fileman_config->view.open_dirs_in_place && fm && evas_object_data_get(fm, "page_is_window"))
|
||||||
buf, "/");
|
e_fm2_path_set(fm, buf, "/");
|
||||||
|
else if (m->zone)
|
||||||
|
e_fwin_new(m->zone->container, buf, "/");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -355,16 +372,35 @@ _e_mod_fileman_parse_gtk_bookmarks(E_Menu *m,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static E_Menu *
|
||||||
|
_e_mod_menu_top_get(E_Menu *m)
|
||||||
|
{
|
||||||
|
while (m->parent_item)
|
||||||
|
{
|
||||||
|
if (m->parent_item->menu->header.title)
|
||||||
|
break;
|
||||||
|
m = m->parent_item->menu;
|
||||||
|
}
|
||||||
|
return m;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_e_mod_menu_populate_cb(void *data,
|
_e_mod_menu_populate_cb(void *data,
|
||||||
E_Menu *m,
|
E_Menu *m,
|
||||||
E_Menu_Item *mi)
|
E_Menu_Item *mi)
|
||||||
{
|
{
|
||||||
const char *path;
|
const char *path;
|
||||||
|
Evas_Object *fm;
|
||||||
|
|
||||||
if (!m->zone) return;
|
if (!m->zone) return;
|
||||||
|
m = _e_mod_menu_top_get(m);
|
||||||
|
|
||||||
|
fm = e_object_data_get(E_OBJECT(m));
|
||||||
path = e_object_data_get(E_OBJECT(mi));
|
path = e_object_data_get(E_OBJECT(mi));
|
||||||
e_fwin_new(m->zone->container, data, path ?: "/");
|
if (fileman_config->view.open_dirs_in_place && fm && evas_object_data_get(fm, "page_is_window"))
|
||||||
|
e_fm2_path_set(fm, data, path ?: "/");
|
||||||
|
else if (m->zone)
|
||||||
|
e_fwin_new(m->zone->container, data, path ?: "/");
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Reference in New Issue