Ephoto: fix an issue where directories were considered images in single browser.
This commit is contained in:
parent
6e58fcf23e
commit
a59450718f
|
@ -118,6 +118,7 @@ struct _Ephoto
|
||||||
Evas_Object *slideshow;
|
Evas_Object *slideshow;
|
||||||
|
|
||||||
Eina_List *entries;
|
Eina_List *entries;
|
||||||
|
Eina_List *direntries;
|
||||||
Eina_List *thumbs; /* live thumbs that need to be regenerated on changes */
|
Eina_List *thumbs; /* live thumbs that need to be regenerated on changes */
|
||||||
|
|
||||||
int thumb_gen_size; /* pending value for thumb_regen */
|
int thumb_gen_size; /* pending value for thumb_regen */
|
||||||
|
|
|
@ -298,19 +298,39 @@ _ephoto_populate_main(void *data, Eio_File *handler EINA_UNUSED, const Eina_File
|
||||||
|
|
||||||
e = ephoto_entry_new(ephoto, info->path, info->path + info->name_start, info->type);
|
e = ephoto_entry_new(ephoto, info->path, info->path + info->name_start, info->type);
|
||||||
|
|
||||||
if (!ephoto->entries)
|
if (e->is_dir)
|
||||||
ephoto->entries = eina_list_append(ephoto->entries, e);
|
{
|
||||||
|
if (!ephoto->direntries)
|
||||||
|
ephoto->direntries = eina_list_append(ephoto->direntries, e);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
int near_cmp;
|
||||||
|
Eina_List *near_node = eina_list_search_sorted_near_list
|
||||||
|
(ephoto->direntries, ephoto_entries_cmp, e, &near_cmp);
|
||||||
|
if (near_cmp < 0)
|
||||||
|
ephoto->direntries = eina_list_append_relative_list
|
||||||
|
(ephoto->direntries, e, near_node);
|
||||||
|
else
|
||||||
|
ephoto->direntries = eina_list_prepend_relative_list
|
||||||
|
(ephoto->direntries, e, near_node);
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int near_cmp;
|
if (!ephoto->entries)
|
||||||
Eina_List *near_node = eina_list_search_sorted_near_list
|
ephoto->entries = eina_list_append(ephoto->entries, e);
|
||||||
(ephoto->entries, ephoto_entries_cmp, e, &near_cmp);
|
|
||||||
if (near_cmp < 0)
|
|
||||||
ephoto->entries = eina_list_append_relative_list
|
|
||||||
(ephoto->entries, e, near_node);
|
|
||||||
else
|
else
|
||||||
ephoto->entries = eina_list_prepend_relative_list
|
{
|
||||||
(ephoto->entries, e, near_node);
|
int near_cmp;
|
||||||
|
Eina_List *near_node = eina_list_search_sorted_near_list
|
||||||
|
(ephoto->entries, ephoto_entries_cmp, e, &near_cmp);
|
||||||
|
if (near_cmp < 0)
|
||||||
|
ephoto->entries = eina_list_append_relative_list
|
||||||
|
(ephoto->entries, e, near_node);
|
||||||
|
else
|
||||||
|
ephoto->entries = eina_list_prepend_relative_list
|
||||||
|
(ephoto->entries, e, near_node);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
ev = calloc(1, sizeof(Ephoto_Event_Entry_Create));
|
ev = calloc(1, sizeof(Ephoto_Event_Entry_Create));
|
||||||
ev->entry = e;
|
ev->entry = e;
|
||||||
|
@ -593,4 +613,5 @@ ephoto_entries_free(Ephoto *ephoto)
|
||||||
{
|
{
|
||||||
Ephoto_Entry *entry;
|
Ephoto_Entry *entry;
|
||||||
EINA_LIST_FREE(ephoto->entries, entry) ephoto_entry_free(entry);
|
EINA_LIST_FREE(ephoto->entries, entry) ephoto_entry_free(entry);
|
||||||
|
EINA_LIST_FREE(ephoto->direntries, entry) ephoto_entry_free(entry);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue