Esempio n. 1
0
static void
_load_album_done_cb(void *data, Enlil_Load *load, Enlil_Library *library,
                    Enlil_Album *album)
{
   Eina_List *l;
   Enlil_Photo *photo;

EINA_LIST_FOREACH(enlil_album_photos_get(album), l, photo)
{
   Enlil_Photo_Data *data = calloc(1, sizeof(Enlil_Photo_Data));
   enlil_photo_user_data_set(photo, data, NULL);
}
Esempio n. 2
0
void
load_album_done_cb(void *data, Enlil_Load *load, Enlil_Library *library,
                   Enlil_Album *album)
{
   Eina_List *l;
   Enlil_Photo *photo;
   Enlil_Photo *photo_prev = NULL;

   Enlil_Data *enlil_data = (Enlil_Data *) data;
   enlil_album_monitor_start(album);

   Enlil_Album_Data *enlil_album_data = calloc(1, sizeof(Enlil_Album_Data));
   enlil_album_data->enlil_data = enlil_data;
   enlil_album_user_data_set(album, enlil_album_data, enlil_album_data_free);

   enlil_album_collection_process(album);

   list_left_add(enlil_data->list_left, album);
   list_photo_album_add(enlil_data->list_photo, album);

   //photos_list_object_freeze(enlil_data->list_photo->o_list, 1);
EINA_LIST_FOREACH(enlil_album_photos_get(album), l, photo)
{
   Enlil_Photo_Data *enlil_photo_data = calloc(1, sizeof(Enlil_Photo_Data));
   enlil_photo_user_data_set(photo, enlil_photo_data, enlil_photo_data_free);
   enlil_photo_data->enlil_data = enlil_data;

   if(!photo_prev)
   list_photo_photo_append_relative(enlil_data->list_photo, album, photo, NULL);
   else
   {
      Enlil_Photo_Data *photo_data_prev = enlil_photo_user_data_get(photo_prev);
      list_photo_photo_append_relative(enlil_data->list_photo, album, photo,
               photo_data_prev->list_photo_item);
   }
   photo_prev = photo;

   map_photo_add(enlil_data->map, photo);

   enlil_photo_tag_process(photo);

   if(enlil_photo_type_get(photo) == ENLIL_PHOTO_TYPE_PHOTO && !enlil_photo_exif_loaded_get(photo))
   {
      enlil_photo_data->clear_exif_data = EINA_TRUE;
      enlil_photo_data->exif_job = enlil_exif_job_append(photo, exif_load_done, photo);
   }
   if(enlil_photo_type_get(photo) == ENLIL_PHOTO_TYPE_PHOTO && !enlil_photo_iptc_loaded_get(photo))
   {
      enlil_photo_data->clear_iptc_data = EINA_TRUE;
      enlil_photo_data->iptc_job = enlil_iptc_job_append(photo, iptc_load_done, photo);
   }
}
Esempio n. 3
0
void
main_menu_update_libraries_list()
{
   Enlil_String *string;
   Eina_List *list = enlil_library_eet_path_load();

   elm_gengrid_clear(libraries_list);

   //
   Library *lib = calloc(1, sizeof(Library));
   lib->is_new_library = EINA_TRUE;
   lib->path = eina_stringshare_add("Add a new Library");
   elm_gengrid_item_append(libraries_list, &itc_grid, lib, _library_select,
                           NULL);
   //

EINA_LIST_FREE(list, string)
{
   Library *lib = calloc(1, sizeof(Library));
   lib->is_new_library = EINA_FALSE;
   lib->path = eina_stringshare_add(string->string);

   lib->photo1 = enlil_photo_new();
   Enlil_Photo_Data *photo_data1 = calloc(1, sizeof(Enlil_Photo_Data));
   enlil_photo_user_data_set(lib->photo1, photo_data1, enlil_photo_data_free);
   enlil_photo_mustNotBeSaved_set(lib->photo1, EINA_TRUE);

   lib->photo2 = enlil_photo_new();
   Enlil_Photo_Data *photo_data2 = calloc(1, sizeof(Enlil_Photo_Data));
   enlil_photo_user_data_set(lib->photo2, photo_data2, enlil_photo_data_free);
   enlil_photo_mustNotBeSaved_set(lib->photo2, EINA_TRUE);

   photo_data1->library_item = elm_gengrid_item_append(libraries_list, &itc_grid, lib, _library_select, NULL);
   photo_data2->library_item = photo_data1->library_item;

   EINA_STRINGSHARE_DEL(string->string);
   FREE(string);
}