another user suggestion: efm sorting by mtime
SVN revision: 76164
This commit is contained in:
parent
236c282692
commit
75e8629ebf
|
@ -7694,6 +7694,13 @@ _e_fm2_cb_icon_sort(const void *data1, const void *data2)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (ic1->sd->config->list.sort.mtime)
|
||||||
|
{
|
||||||
|
if (ic1->info.statinfo.st_mtime > ic2->info.statinfo.st_mtime)
|
||||||
|
return -1;
|
||||||
|
if (ic1->info.statinfo.st_mtime < ic2->info.statinfo.st_mtime)
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
if (ic1->sd->config->list.sort.extension)
|
if (ic1->sd->config->list.sort.extension)
|
||||||
{
|
{
|
||||||
int cmp;
|
int cmp;
|
||||||
|
@ -8685,6 +8692,15 @@ _e_fm2_view_menu_sorting_change_size(void *data, E_Menu *m __UNUSED__, E_Menu_It
|
||||||
_e_fm2_refresh(sd, NULL, NULL);
|
_e_fm2_refresh(sd, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_fm2_view_menu_sorting_change_mtime(void *data, E_Menu *m __UNUSED__, E_Menu_Item *mi)
|
||||||
|
{
|
||||||
|
E_Fm2_Smart_Data *sd = data;
|
||||||
|
|
||||||
|
sd->config->list.sort.mtime = mi->toggle;
|
||||||
|
_e_fm2_refresh(sd, NULL, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_e_fm2_view_menu_sorting_change_extension(void *data, E_Menu *m __UNUSED__, E_Menu_Item *mi)
|
_e_fm2_view_menu_sorting_change_extension(void *data, E_Menu *m __UNUSED__, E_Menu_Item *mi)
|
||||||
{
|
{
|
||||||
|
@ -8735,6 +8751,12 @@ _e_fm2_view_menu_sorting_pre(void *data, E_Menu *m __UNUSED__, E_Menu_Item *mi)
|
||||||
e_menu_item_toggle_set(mi, sd->config->list.sort.extension);
|
e_menu_item_toggle_set(mi, sd->config->list.sort.extension);
|
||||||
e_menu_item_callback_set(mi, _e_fm2_view_menu_sorting_change_extension, sd);
|
e_menu_item_callback_set(mi, _e_fm2_view_menu_sorting_change_extension, sd);
|
||||||
|
|
||||||
|
mi = e_menu_item_new(subm);
|
||||||
|
e_menu_item_label_set(mi, _("Sort By Modification Time"));
|
||||||
|
e_menu_item_check_set(mi, 1);
|
||||||
|
e_menu_item_toggle_set(mi, sd->config->list.sort.mtime);
|
||||||
|
e_menu_item_callback_set(mi, _e_fm2_view_menu_sorting_change_mtime, sd);
|
||||||
|
|
||||||
mi = e_menu_item_new(subm);
|
mi = e_menu_item_new(subm);
|
||||||
e_menu_item_label_set(mi, _("Sort By Size"));
|
e_menu_item_label_set(mi, _("Sort By Size"));
|
||||||
e_menu_item_check_set(mi, 1);
|
e_menu_item_check_set(mi, 1);
|
||||||
|
|
|
@ -98,6 +98,7 @@ struct _E_Fm2_Config
|
||||||
Eina_Bool no_case : 1;
|
Eina_Bool no_case : 1;
|
||||||
Eina_Bool size : 1;
|
Eina_Bool size : 1;
|
||||||
Eina_Bool extension : 1;
|
Eina_Bool extension : 1;
|
||||||
|
Eina_Bool mtime : 1;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
Eina_Bool first : 1;
|
Eina_Bool first : 1;
|
||||||
|
|
|
@ -1305,6 +1305,7 @@ _e_fwin_config_set(E_Fwin_Page *page)
|
||||||
fmc.icon.extension.show = fileman_config->icon.extension.show;
|
fmc.icon.extension.show = fileman_config->icon.extension.show;
|
||||||
fmc.list.sort.no_case = fileman_config->list.sort.no_case;
|
fmc.list.sort.no_case = fileman_config->list.sort.no_case;
|
||||||
fmc.list.sort.extension = fileman_config->list.sort.extension;
|
fmc.list.sort.extension = fileman_config->list.sort.extension;
|
||||||
|
fmc.list.sort.mtime = fileman_config->list.sort.mtime;
|
||||||
fmc.list.sort.size = fileman_config->list.sort.size;
|
fmc.list.sort.size = fileman_config->list.sort.size;
|
||||||
fmc.list.sort.dirs.first = fileman_config->list.sort.dirs.first;
|
fmc.list.sort.dirs.first = fileman_config->list.sort.dirs.first;
|
||||||
fmc.list.sort.dirs.last = fileman_config->list.sort.dirs.last;
|
fmc.list.sort.dirs.last = fileman_config->list.sort.dirs.last;
|
||||||
|
|
|
@ -52,6 +52,7 @@ struct _E_Config_Dialog_Data
|
||||||
{
|
{
|
||||||
int case_sen;
|
int case_sen;
|
||||||
int extension;
|
int extension;
|
||||||
|
int mtime;
|
||||||
int size;
|
int size;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
|
@ -151,6 +152,7 @@ _fill_data(E_Config_Dialog_Data *cfdata)
|
||||||
cfdata->list.sort.dirs.first = fileman_config->list.sort.dirs.first;
|
cfdata->list.sort.dirs.first = fileman_config->list.sort.dirs.first;
|
||||||
cfdata->list.sort.case_sen = !(fileman_config->list.sort.no_case);
|
cfdata->list.sort.case_sen = !(fileman_config->list.sort.no_case);
|
||||||
cfdata->list.sort.extension = fileman_config->list.sort.extension;
|
cfdata->list.sort.extension = fileman_config->list.sort.extension;
|
||||||
|
cfdata->list.sort.mtime = fileman_config->list.sort.mtime;
|
||||||
cfdata->list.sort.size = fileman_config->list.sort.size;
|
cfdata->list.sort.size = fileman_config->list.sort.size;
|
||||||
cfdata->dbus.desktop = e_config->device_desktop;
|
cfdata->dbus.desktop = e_config->device_desktop;
|
||||||
cfdata->dbus.auto_mount = e_config->device_auto_mount;
|
cfdata->dbus.auto_mount = e_config->device_auto_mount;
|
||||||
|
@ -193,6 +195,7 @@ _basic_apply(E_Config_Dialog *cfd __UNUSED__,
|
||||||
fileman_config->list.sort.dirs.first = cfdata->list.sort.dirs.first;
|
fileman_config->list.sort.dirs.first = cfdata->list.sort.dirs.first;
|
||||||
fileman_config->list.sort.dirs.last = !(cfdata->list.sort.dirs.first);
|
fileman_config->list.sort.dirs.last = !(cfdata->list.sort.dirs.first);
|
||||||
fileman_config->list.sort.extension = cfdata->list.sort.extension;
|
fileman_config->list.sort.extension = cfdata->list.sort.extension;
|
||||||
|
fileman_config->list.sort.mtime = cfdata->list.sort.mtime;
|
||||||
fileman_config->list.sort.size = cfdata->list.sort.size;
|
fileman_config->list.sort.size = cfdata->list.sort.size;
|
||||||
fileman_config->list.sort.no_case = !(cfdata->list.sort.case_sen);
|
fileman_config->list.sort.no_case = !(cfdata->list.sort.case_sen);
|
||||||
|
|
||||||
|
@ -233,6 +236,7 @@ _basic_check_changed(E_Config_Dialog *cfd __UNUSED__,
|
||||||
(fileman_config->list.sort.dirs.last != !(cfdata->list.sort.dirs.first)) ||
|
(fileman_config->list.sort.dirs.last != !(cfdata->list.sort.dirs.first)) ||
|
||||||
(fileman_config->list.sort.size != cfdata->list.sort.size) ||
|
(fileman_config->list.sort.size != cfdata->list.sort.size) ||
|
||||||
(fileman_config->list.sort.extension != cfdata->list.sort.extension) ||
|
(fileman_config->list.sort.extension != cfdata->list.sort.extension) ||
|
||||||
|
(fileman_config->list.sort.mtime != cfdata->list.sort.mtime) ||
|
||||||
(fileman_config->list.sort.no_case != !(cfdata->list.sort.case_sen)) ||
|
(fileman_config->list.sort.no_case != !(cfdata->list.sort.case_sen)) ||
|
||||||
(fileman_config->tooltip.delay != !(cfdata->tooltip.delay)) ||
|
(fileman_config->tooltip.delay != !(cfdata->tooltip.delay)) ||
|
||||||
(fileman_config->tooltip.size != !(cfdata->tooltip.size)) ||
|
(fileman_config->tooltip.size != !(cfdata->tooltip.size)) ||
|
||||||
|
@ -325,6 +329,9 @@ _basic_create(E_Config_Dialog *cfd __UNUSED__,
|
||||||
ob = e_widget_check_add(evas, _("Sort By Extension"),
|
ob = e_widget_check_add(evas, _("Sort By Extension"),
|
||||||
&(cfdata->list.sort.extension));
|
&(cfdata->list.sort.extension));
|
||||||
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, _("Sort By Modification Time"),
|
||||||
|
&(cfdata->list.sort.mtime));
|
||||||
|
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
||||||
ob = e_widget_check_add(evas, _("Sort By Size"),
|
ob = e_widget_check_add(evas, _("Sort By Size"),
|
||||||
&(cfdata->list.sort.size));
|
&(cfdata->list.sort.size));
|
||||||
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
||||||
|
|
|
@ -689,6 +689,7 @@ _e_mod_fileman_config_load(void)
|
||||||
E_CONFIG_VAL(D, T, icon.extension.show, UCHAR);
|
E_CONFIG_VAL(D, T, icon.extension.show, UCHAR);
|
||||||
E_CONFIG_VAL(D, T, list.sort.no_case, UCHAR);
|
E_CONFIG_VAL(D, T, list.sort.no_case, UCHAR);
|
||||||
E_CONFIG_VAL(D, T, list.sort.extension, UCHAR);
|
E_CONFIG_VAL(D, T, list.sort.extension, UCHAR);
|
||||||
|
E_CONFIG_VAL(D, T, list.sort.mtime, UCHAR);
|
||||||
E_CONFIG_VAL(D, T, list.sort.size, UCHAR);
|
E_CONFIG_VAL(D, T, list.sort.size, UCHAR);
|
||||||
E_CONFIG_VAL(D, T, list.sort.dirs.first, UCHAR);
|
E_CONFIG_VAL(D, T, list.sort.dirs.first, UCHAR);
|
||||||
E_CONFIG_VAL(D, T, list.sort.dirs.last, UCHAR);
|
E_CONFIG_VAL(D, T, list.sort.dirs.last, UCHAR);
|
||||||
|
|
|
@ -78,6 +78,7 @@ struct _Config
|
||||||
unsigned char no_case;
|
unsigned char no_case;
|
||||||
unsigned char extension;
|
unsigned char extension;
|
||||||
unsigned char size;
|
unsigned char size;
|
||||||
|
unsigned char mtime;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
unsigned char first;
|
unsigned char first;
|
||||||
|
|
Loading…
Reference in New Issue