forked from enlightenment/enlightenment
introducing desktop navigation mode for fileman! enable and type away on your desktop to navigate the filesystem!
see http://e17releasemanager.wordpress.com in about an hour for a screenshot with more details SVN revision: 74934
This commit is contained in:
parent
0af70764a1
commit
01b94ccc04
|
@ -343,6 +343,7 @@ e_fwin_zone_new(E_Zone *zone,
|
||||||
* 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_zone", page);
|
||||||
e_scrollframe_extern_pan_set(o, page->fm_obj,
|
e_scrollframe_extern_pan_set(o, page->fm_obj,
|
||||||
_e_fwin_pan_set,
|
_e_fwin_pan_set,
|
||||||
_e_fwin_pan_get,
|
_e_fwin_pan_get,
|
||||||
|
@ -1285,7 +1286,7 @@ _e_fwin_config_set(E_Fwin_Page *page)
|
||||||
fmc.icon.fixed.w = 0;
|
fmc.icon.fixed.w = 0;
|
||||||
fmc.icon.fixed.h = 0;
|
fmc.icon.fixed.h = 0;
|
||||||
#endif
|
#endif
|
||||||
fmc.view.no_typebuf_set = 1;
|
fmc.view.no_typebuf_set = !fileman_config->view.desktop_navigation;
|
||||||
fmc.view.open_dirs_in_place = 0;
|
fmc.view.open_dirs_in_place = 0;
|
||||||
fmc.view.fit_custom_pos = 1;
|
fmc.view.fit_custom_pos = 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,7 @@ struct _E_Config_Dialog_Data
|
||||||
int show_desktop_icons;
|
int show_desktop_icons;
|
||||||
int show_toolbar;
|
int show_toolbar;
|
||||||
int show_sidebar;
|
int show_sidebar;
|
||||||
|
int desktop_navigation;
|
||||||
int menu_shows_files;
|
int menu_shows_files;
|
||||||
} view;
|
} view;
|
||||||
struct
|
struct
|
||||||
|
@ -133,6 +134,7 @@ _fill_data(E_Config_Dialog_Data *cfdata)
|
||||||
cfdata->view.show_desktop_icons = fileman_config->view.show_desktop_icons;
|
cfdata->view.show_desktop_icons = fileman_config->view.show_desktop_icons;
|
||||||
cfdata->view.show_toolbar = fileman_config->view.show_toolbar;
|
cfdata->view.show_toolbar = fileman_config->view.show_toolbar;
|
||||||
cfdata->view.show_sidebar = fileman_config->view.show_sidebar;
|
cfdata->view.show_sidebar = fileman_config->view.show_sidebar;
|
||||||
|
cfdata->view.desktop_navigation = fileman_config->view.desktop_navigation;
|
||||||
cfdata->view.menu_shows_files = fileman_config->view.menu_shows_files;
|
cfdata->view.menu_shows_files = fileman_config->view.menu_shows_files;
|
||||||
cfdata->icon.icon.w = fileman_config->icon.icon.w;
|
cfdata->icon.icon.w = fileman_config->icon.icon.w;
|
||||||
cfdata->icon.icon.h = fileman_config->icon.icon.h;
|
cfdata->icon.icon.h = fileman_config->icon.icon.h;
|
||||||
|
@ -166,6 +168,7 @@ _basic_apply(E_Config_Dialog *cfd __UNUSED__,
|
||||||
fileman_config->view.show_desktop_icons = cfdata->view.show_desktop_icons;
|
fileman_config->view.show_desktop_icons = cfdata->view.show_desktop_icons;
|
||||||
fileman_config->view.show_toolbar = cfdata->view.show_toolbar;
|
fileman_config->view.show_toolbar = cfdata->view.show_toolbar;
|
||||||
fileman_config->view.show_sidebar = cfdata->view.show_sidebar;
|
fileman_config->view.show_sidebar = cfdata->view.show_sidebar;
|
||||||
|
fileman_config->view.desktop_navigation = cfdata->view.desktop_navigation;
|
||||||
fileman_config->view.menu_shows_files = cfdata->view.menu_shows_files;
|
fileman_config->view.menu_shows_files = cfdata->view.menu_shows_files;
|
||||||
fileman_config->icon.extension.show = cfdata->icon.extension.show;
|
fileman_config->icon.extension.show = cfdata->icon.extension.show;
|
||||||
|
|
||||||
|
@ -209,6 +212,7 @@ _basic_check_changed(E_Config_Dialog *cfd __UNUSED__,
|
||||||
(fileman_config->view.show_desktop_icons != cfdata->view.show_desktop_icons) ||
|
(fileman_config->view.show_desktop_icons != cfdata->view.show_desktop_icons) ||
|
||||||
(fileman_config->view.show_toolbar != cfdata->view.show_toolbar) ||
|
(fileman_config->view.show_toolbar != cfdata->view.show_toolbar) ||
|
||||||
(fileman_config->view.show_sidebar != cfdata->view.show_sidebar) ||
|
(fileman_config->view.show_sidebar != cfdata->view.show_sidebar) ||
|
||||||
|
(fileman_config->view.desktop_navigation != cfdata->view.desktop_navigation) ||
|
||||||
(fileman_config->view.menu_shows_files != cfdata->view.menu_shows_files) ||
|
(fileman_config->view.menu_shows_files != cfdata->view.menu_shows_files) ||
|
||||||
(fileman_config->icon.extension.show != cfdata->icon.extension.show) ||
|
(fileman_config->icon.extension.show != cfdata->icon.extension.show) ||
|
||||||
(fileman_config->selection.windows_modifiers != cfdata->selection.windows_modifiers) ||
|
(fileman_config->selection.windows_modifiers != cfdata->selection.windows_modifiers) ||
|
||||||
|
@ -301,6 +305,9 @@ _basic_create(E_Config_Dialog *cfd __UNUSED__,
|
||||||
ob = e_widget_check_add(evas, _("Use Alternate Selection Modifiers"),
|
ob = e_widget_check_add(evas, _("Use Alternate Selection Modifiers"),
|
||||||
&(cfdata->selection.windows_modifiers));
|
&(cfdata->selection.windows_modifiers));
|
||||||
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
||||||
|
ob = e_widget_check_add(evas, _("Allow Navigation On Desktop"),
|
||||||
|
&(cfdata->view.desktop_navigation));
|
||||||
|
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
||||||
e_widget_toolbook_page_append(otb, NULL, _("Behavior"), o, 0, 0, 0, 0, 0.5, 0.0);
|
e_widget_toolbook_page_append(otb, NULL, _("Behavior"), o, 0, 0, 0, 0, 0.5, 0.0);
|
||||||
/////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
|
@ -265,7 +265,8 @@ _e_mod_menu_gtk_cb(void *data,
|
||||||
|
|
||||||
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 (fileman_config->view.open_dirs_in_place && fm && evas_object_data_get(fm, "page_is_window"))
|
if (fileman_config->view.open_dirs_in_place && fm &&
|
||||||
|
(fileman_config->view.desktop_navigation || evas_object_data_get(fm, "page_is_window")))
|
||||||
e_fm2_path_set(fm, NULL, data);
|
e_fm2_path_set(fm, NULL, data);
|
||||||
else if (m->zone) e_fwin_new(m->zone->container, NULL, data);
|
else if (m->zone) e_fwin_new(m->zone->container, NULL, data);
|
||||||
}
|
}
|
||||||
|
@ -279,7 +280,8 @@ _e_mod_menu_virtual_cb(void *data,
|
||||||
|
|
||||||
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 (fileman_config->view.open_dirs_in_place && fm && evas_object_data_get(fm, "page_is_window"))
|
if (fileman_config->view.open_dirs_in_place && fm &&
|
||||||
|
(fileman_config->view.desktop_navigation || evas_object_data_get(fm, "page_is_window")))
|
||||||
e_fm2_path_set(fm, data, "/");
|
e_fm2_path_set(fm, data, "/");
|
||||||
else if (m->zone) e_fwin_new(m->zone->container, data, "/");
|
else if (m->zone) e_fwin_new(m->zone->container, data, "/");
|
||||||
}
|
}
|
||||||
|
@ -296,7 +298,8 @@ _e_mod_menu_volume_cb(void *data,
|
||||||
fm = e_object_data_get(E_OBJECT(m));
|
fm = e_object_data_get(E_OBJECT(m));
|
||||||
if (vol->mounted)
|
if (vol->mounted)
|
||||||
{
|
{
|
||||||
if (fileman_config->view.open_dirs_in_place && fm && evas_object_data_get(fm, "page_is_window"))
|
if (fileman_config->view.open_dirs_in_place && fm &&
|
||||||
|
(fileman_config->view.desktop_navigation || evas_object_data_get(fm, "page_is_window")))
|
||||||
e_fm2_path_set(fm, NULL, vol->mount_point);
|
e_fm2_path_set(fm, NULL, vol->mount_point);
|
||||||
else if (m->zone)
|
else if (m->zone)
|
||||||
e_fwin_new(m->zone->container, NULL, vol->mount_point);
|
e_fwin_new(m->zone->container, NULL, vol->mount_point);
|
||||||
|
@ -306,7 +309,8 @@ _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);
|
||||||
if (fileman_config->view.open_dirs_in_place && fm && evas_object_data_get(fm, "page_is_window"))
|
if (fileman_config->view.open_dirs_in_place && fm &&
|
||||||
|
(fileman_config->view.desktop_navigation || evas_object_data_get(fm, "page_is_window")))
|
||||||
e_fm2_path_set(fm, buf, "/");
|
e_fm2_path_set(fm, buf, "/");
|
||||||
else if (m->zone)
|
else if (m->zone)
|
||||||
e_fwin_new(m->zone->container, buf, "/");
|
e_fwin_new(m->zone->container, buf, "/");
|
||||||
|
@ -397,7 +401,8 @@ _e_mod_menu_populate_cb(void *data,
|
||||||
|
|
||||||
fm = e_object_data_get(E_OBJECT(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));
|
||||||
if (fileman_config->view.open_dirs_in_place && fm && evas_object_data_get(fm, "page_is_window"))
|
if (fileman_config->view.open_dirs_in_place && fm &&
|
||||||
|
(fileman_config->view.desktop_navigation || evas_object_data_get(fm, "page_is_window")))
|
||||||
e_fm2_path_set(fm, data, path ?: "/");
|
e_fm2_path_set(fm, data, path ?: "/");
|
||||||
else if (m->zone)
|
else if (m->zone)
|
||||||
e_fwin_new(m->zone->container, data, path ?: "/");
|
e_fwin_new(m->zone->container, data, path ?: "/");
|
||||||
|
@ -677,6 +682,7 @@ _e_mod_fileman_config_load(void)
|
||||||
E_CONFIG_VAL(D, T, view.show_desktop_icons, UCHAR);
|
E_CONFIG_VAL(D, T, view.show_desktop_icons, UCHAR);
|
||||||
E_CONFIG_VAL(D, T, view.show_toolbar, UCHAR);
|
E_CONFIG_VAL(D, T, view.show_toolbar, UCHAR);
|
||||||
E_CONFIG_VAL(D, T, view.show_sidebar, UCHAR);
|
E_CONFIG_VAL(D, T, view.show_sidebar, UCHAR);
|
||||||
|
E_CONFIG_VAL(D, T, view.desktop_navigation, UCHAR);
|
||||||
E_CONFIG_VAL(D, T, icon.icon.w, INT);
|
E_CONFIG_VAL(D, T, icon.icon.w, INT);
|
||||||
E_CONFIG_VAL(D, T, icon.icon.h, INT);
|
E_CONFIG_VAL(D, T, icon.icon.h, INT);
|
||||||
E_CONFIG_VAL(D, T, icon.list.w, INT);
|
E_CONFIG_VAL(D, T, icon.list.w, INT);
|
||||||
|
@ -780,6 +786,10 @@ _e_mod_fileman_config_load(void)
|
||||||
fileman_config->view.menu_shows_files = 0;
|
fileman_config->view.menu_shows_files = 0;
|
||||||
IFMODCFGEND;
|
IFMODCFGEND;
|
||||||
|
|
||||||
|
IFMODCFG(0x0109);
|
||||||
|
fileman_config->view.desktop_navigation = 0;
|
||||||
|
IFMODCFGEND;
|
||||||
|
|
||||||
fileman_config->config_version = MOD_CONFIG_FILE_VERSION;
|
fileman_config->config_version = MOD_CONFIG_FILE_VERSION;
|
||||||
|
|
||||||
/* UCHAR's give nasty compile warnings about comparisons so not gonna limit those */
|
/* UCHAR's give nasty compile warnings about comparisons so not gonna limit those */
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* Increment for Major Changes */
|
/* Increment for Major Changes */
|
||||||
#define MOD_CONFIG_FILE_EPOCH 0x0001
|
#define MOD_CONFIG_FILE_EPOCH 0x0001
|
||||||
/* Increment for Minor Changes (ie: user doesn't need a new config) */
|
/* Increment for Minor Changes (ie: user doesn't need a new config) */
|
||||||
#define MOD_CONFIG_FILE_GENERATION 0x0108
|
#define MOD_CONFIG_FILE_GENERATION 0x0109
|
||||||
#define MOD_CONFIG_FILE_VERSION ((MOD_CONFIG_FILE_EPOCH << 16) | MOD_CONFIG_FILE_GENERATION)
|
#define MOD_CONFIG_FILE_VERSION ((MOD_CONFIG_FILE_EPOCH << 16) | MOD_CONFIG_FILE_GENERATION)
|
||||||
|
|
||||||
typedef struct _Config Config;
|
typedef struct _Config Config;
|
||||||
|
@ -39,6 +39,7 @@ struct _Config
|
||||||
unsigned char show_desktop_icons;
|
unsigned char show_desktop_icons;
|
||||||
unsigned char show_toolbar;
|
unsigned char show_toolbar;
|
||||||
unsigned char show_sidebar;
|
unsigned char show_sidebar;
|
||||||
|
unsigned char desktop_navigation;
|
||||||
unsigned char menu_shows_files;
|
unsigned char menu_shows_files;
|
||||||
} view;
|
} view;
|
||||||
struct
|
struct
|
||||||
|
|
Loading…
Reference in New Issue