efm now saves your first screen's desktop directory when desktop navigation is enabled so that it can display that directory on subsequent startups

SVN revision: 76547
This commit is contained in:
Mike Blumenkrantz 2012-09-12 16:42:29 +00:00
parent 5193de5919
commit 1ba91398ee
3 changed files with 25 additions and 11 deletions

View File

@ -459,7 +459,7 @@ e_fwin_reload_all(void)
if (e_fwin_zone_find(zone)) continue;
if ((zone->container->num == 0) && (zone->num == 0) &&
(fileman_config->view.show_desktop_icons))
e_fwin_zone_new(zone, "desktop", "/");
e_fwin_zone_new(zone, fileman_config->dev, fileman_config->path);
else
{
char buf[256];
@ -1604,7 +1604,14 @@ _e_fwin_changed(void *data,
e_fm2_custom_theme_set(obj, NULL);
_e_fwin_icon_mouse_out(fwin, NULL, NULL);
if (fwin->zone) return;
if (fwin->zone)
{
if (fwin->zone->num) return;
e_fm2_path_get(page->fm_obj, &dev, &path);
eina_stringshare_replace(&fileman_config->dev, dev);
eina_stringshare_replace(&fileman_config->path, path);
return;
}
_e_fwin_window_title_set(page);
if (page->setting) return;
if (page->flist) e_fm2_deselect_all(page->flist);

View File

@ -93,7 +93,7 @@ e_modapi_init(E_Module *m)
if (e_fwin_zone_find(zone)) continue;
if ((zone->container->num == 0) && (zone->num == 0) &&
(fileman_config->view.show_desktop_icons))
e_fwin_zone_new(zone, "desktop", "/");
e_fwin_zone_new(zone, fileman_config->dev, fileman_config->path);
else
{
char buf[256];
@ -701,6 +701,8 @@ _e_mod_fileman_config_load(void)
E_CONFIG_VAL(D, T, tooltip.delay, DOUBLE);
E_CONFIG_VAL(D, T, tooltip.size, DOUBLE);
E_CONFIG_VAL(D, T, tooltip.enable, UCHAR);
E_CONFIG_VAL(D, T, dev, STR);
E_CONFIG_VAL(D, T, path, STR);
fileman_config = e_config_domain_load("module.fileman", conf_edd);
if (fileman_config)
@ -772,6 +774,11 @@ _e_mod_fileman_config_load(void)
fileman_config->tooltip.enable = 1;
IFMODCFGEND;
IFMODCFG(0x0111);
fileman_config->dev = eina_stringshare_add("desktop");
fileman_config->path = eina_stringshare_add("/");
IFMODCFGEND;
fileman_config->config_version = MOD_CONFIG_FILE_VERSION;
/* UCHAR's give nasty compile warnings about comparisons so not gonna limit those */
@ -790,12 +797,11 @@ _e_mod_fileman_config_load(void)
static void
_e_mod_fileman_config_free(void)
{
if (fileman_config->theme.background)
eina_stringshare_del(fileman_config->theme.background);
if (fileman_config->theme.frame)
eina_stringshare_del(fileman_config->theme.frame);
if (fileman_config->theme.icons)
eina_stringshare_del(fileman_config->theme.icons);
eina_stringshare_del(fileman_config->theme.background);
eina_stringshare_del(fileman_config->theme.frame);
eina_stringshare_del(fileman_config->theme.icons);
eina_stringshare_del(fileman_config->dev);
eina_stringshare_del(fileman_config->path);
E_FREE(fileman_config);
}
@ -813,7 +819,7 @@ _e_mod_zone_add(__UNUSED__ void *data,
if (e_fwin_zone_find(zone)) return ECORE_CALLBACK_PASS_ON;
if ((zone->container->num == 0) && (zone->num == 0) &&
(fileman_config->view.show_desktop_icons))
e_fwin_zone_new(zone, "desktop", "/");
e_fwin_zone_new(zone, fileman_config->dev, fileman_config->path);
else
{
char buf[256];

View File

@ -4,7 +4,7 @@
/* Increment for Major Changes */
#define MOD_CONFIG_FILE_EPOCH 0x0001
/* Increment for Minor Changes (ie: user doesn't need a new config) */
#define MOD_CONFIG_FILE_GENERATION 0x0111
#define MOD_CONFIG_FILE_GENERATION 0x0112
#define MOD_CONFIG_FILE_VERSION ((MOD_CONFIG_FILE_EPOCH << 16) | MOD_CONFIG_FILE_GENERATION)
typedef struct _Config Config;
@ -101,6 +101,7 @@ struct _Config
const char *icons;
unsigned char fixed;
} theme;
const char *dev, *path; // stored from desktop navigation mode
};
EAPI extern E_Module_Api e_modapi;