efm now remembers sort mode per-directory

ticket #1696


SVN revision: 78861
This commit is contained in:
Mike Blumenkrantz 2012-11-02 12:36:35 +00:00
parent 43fcfbb1d9
commit 2bd9c7f72c
3 changed files with 41 additions and 1 deletions

View File

@ -1247,6 +1247,12 @@ _e_fm2_dir_load_props(E_Fm2_Smart_Data *sd)
sd->order_file = !!cf->dir->prop.order_file;
sd->show_hidden_files = !!cf->dir->prop.show_hidden_files;
sd->inherited_dir_props = EINA_FALSE;
sd->config->list.sort.no_case = cf->dir->prop.sort.no_case;
sd->config->list.sort.size = cf->dir->prop.sort.size;
sd->config->list.sort.extension = cf->dir->prop.sort.extension;
sd->config->list.sort.mtime = cf->dir->prop.sort.mtime;
sd->config->list.sort.dirs.first = cf->dir->prop.sort.dirs.first;
sd->config->list.sort.dirs.last = cf->dir->prop.sort.dirs.last;
return;
}
}
@ -1275,6 +1281,12 @@ _e_fm2_dir_load_props(E_Fm2_Smart_Data *sd)
sd->icon_size = cf->dir->prop.icon_size;
sd->order_file = !!cf->dir->prop.order_file;
sd->show_hidden_files = !!cf->dir->prop.show_hidden_files;
sd->config->list.sort.no_case = cf->dir->prop.sort.no_case;
sd->config->list.sort.size = cf->dir->prop.sort.size;
sd->config->list.sort.extension = cf->dir->prop.sort.extension;
sd->config->list.sort.mtime = cf->dir->prop.sort.mtime;
sd->config->list.sort.dirs.first = cf->dir->prop.sort.dirs.first;
sd->config->list.sort.dirs.last = cf->dir->prop.sort.dirs.last;
}
else
{
@ -1324,6 +1336,16 @@ _e_fm2_dir_save_props(E_Fm2_Smart_Data *sd)
cf->dir->prop.show_hidden_files = sd->show_hidden_files;
cf->dir->prop.in_use = !sd->inherited_dir_props;
if (sd->config)
{
cf->dir->prop.sort.no_case = sd->config->list.sort.no_case;
cf->dir->prop.sort.size = sd->config->list.sort.size;
cf->dir->prop.sort.extension = sd->config->list.sort.extension;
cf->dir->prop.sort.mtime = sd->config->list.sort.mtime;
cf->dir->prop.sort.dirs.first = sd->config->list.sort.dirs.first;
cf->dir->prop.sort.dirs.last = sd->config->list.sort.dirs.last;
}
e_fm2_custom_file_set(sd->realpath, cf);
e_fm2_custom_file_flush();
}

View File

@ -51,8 +51,14 @@ e_fm2_custom_file_init(void)
DAT(prop.order_file, EET_T_UCHAR);
DAT(prop.show_hidden_files, EET_T_UCHAR);
DAT(prop.in_use, EET_T_UCHAR);
#undef DAT
DAT(prop.sort.no_case, EET_T_UCHAR);
DAT(prop.sort.size, EET_T_UCHAR);
DAT(prop.sort.extension, EET_T_UCHAR);
DAT(prop.sort.mtime, EET_T_UCHAR);
DAT(prop.sort.dirs.first, EET_T_UCHAR);
DAT(prop.sort.dirs.last, EET_T_UCHAR);
#undef DAT
eddc.size = sizeof (E_Fm2_Custom_File);
eddc.name = "e_fm_custom_file";

View File

@ -18,6 +18,18 @@ struct _E_Fm2_Custom_Dir
Eina_Bool order_file;
Eina_Bool show_hidden_files;
Eina_Bool in_use;
struct
{
Eina_Bool no_case;
Eina_Bool size;
Eina_Bool extension;
Eina_Bool mtime;
struct
{
Eina_Bool first;
Eina_Bool last;
} dirs;
} sort;
} prop;
};