From 3b037bdefd43c3dcaddce05ad0cee9f82035da9d Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 31 Jul 2012 08:04:22 +0000 Subject: [PATCH] fileman no longer annoys the crap out of me by forgetting my desktop icon view mode SVN revision: 74622 --- src/modules/fileman/e_fwin.c | 5 +++-- src/modules/fileman/e_mod_main.c | 6 ++++++ src/modules/fileman/e_mod_main.h | 3 ++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/modules/fileman/e_fwin.c b/src/modules/fileman/e_fwin.c index f71343960..4fa7dedb5 100644 --- a/src/modules/fileman/e_fwin.c +++ b/src/modules/fileman/e_fwin.c @@ -362,9 +362,10 @@ e_fwin_zone_shutdown(E_Zone *zone) Eina_List *f, *fn; E_Fwin *win; - EINA_LIST_FOREACH_SAFE (fwins, f, fn, win) + EINA_LIST_FOREACH_SAFE(fwins, f, fn, win) { if (win->zone != zone) continue; + fileman_config->view.desktop_mode = e_fm2_view_mode_get(win->cur_page->fm_obj); e_object_del(E_OBJECT(win)); win = NULL; } @@ -1169,7 +1170,7 @@ _e_fwin_config_set(E_Fwin_Page *page) fmc.icon.fixed.w = 1; fmc.icon.fixed.h = 1; #else - fmc.view.mode = E_FM2_VIEW_MODE_CUSTOM_ICONS; + fmc.view.mode = fileman_config->view.desktop_mode; fmc.icon.icon.w = fileman_config->icon.icon.w * e_scale; fmc.icon.icon.h = fileman_config->icon.icon.h * e_scale; fmc.icon.fixed.w = 0; diff --git a/src/modules/fileman/e_mod_main.c b/src/modules/fileman/e_mod_main.c index dfea967ca..eb55ecce6 100644 --- a/src/modules/fileman/e_mod_main.c +++ b/src/modules/fileman/e_mod_main.c @@ -181,6 +181,7 @@ e_modapi_shutdown(E_Module *m __UNUSED__) e_configure_registry_item_del("fileman/fileman"); e_configure_registry_category_del("fileman"); + e_config_domain_save("module.fileman", conf_edd, fileman_config); _e_mod_fileman_config_free(); E_CONFIG_DD_FREE(conf_edd); @@ -611,6 +612,7 @@ _e_mod_fileman_config_load(void) #define D conf_edd E_CONFIG_VAL(D, T, config_version, INT); E_CONFIG_VAL(D, T, view.mode, INT); + E_CONFIG_VAL(D, T, view.desktop_mode, INT); E_CONFIG_VAL(D, T, view.open_dirs_in_place, UCHAR); E_CONFIG_VAL(D, T, view.selector, UCHAR); E_CONFIG_VAL(D, T, view.single_click, UCHAR); @@ -713,6 +715,10 @@ _e_mod_fileman_config_load(void) e_config->filemanager_single_click = fileman_config->view.single_click; IFMODCFGEND; + IFMODCFG(0x0106); + fileman_config->view.desktop_mode = E_FM2_VIEW_MODE_CUSTOM_ICONS; + IFMODCFGEND; + fileman_config->config_version = MOD_CONFIG_FILE_VERSION; /* UCHAR's give nasty compile warnings about comparisons so not gonna limit those */ diff --git a/src/modules/fileman/e_mod_main.h b/src/modules/fileman/e_mod_main.h index e4e0a4333..ad30b094d 100644 --- a/src/modules/fileman/e_mod_main.h +++ b/src/modules/fileman/e_mod_main.h @@ -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 0x0105 +#define MOD_CONFIG_FILE_GENERATION 0x0106 #define MOD_CONFIG_FILE_VERSION ((MOD_CONFIG_FILE_EPOCH << 16) | MOD_CONFIG_FILE_GENERATION) typedef struct _Config Config; @@ -26,6 +26,7 @@ struct _Config struct { E_Fm2_View_Mode mode; + E_Fm2_View_Mode desktop_mode; unsigned char open_dirs_in_place; unsigned char selector; unsigned char single_click;