void upload_done(Upload *ul, Enlil_Photo *photo) { Enlil_Photo_Data *photo_data = enlil_photo_user_data_get(photo); Enlil_Album *album = enlil_photo_album_get(photo); Enlil_Album_Data *album_data = enlil_album_user_data_get(album); evas_object_hide(ul->main); photo_data->netsync.state = PHOTO_NETSYNC_NONE; }
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); } }
static int count_photos(Enlil_Album *album, Photo_NetSync_Enum type) { Eina_List *l; Enlil_Photo *photo; int nb_photos = 0; EINA_LIST_FOREACH(enlil_album_photos_get(album), l, photo) { Enlil_Photo_Data *photo_data = enlil_photo_user_data_get(photo); if (photo_data && photo_data->netsync.state == type) { nb_photos++; } }
void flickr_sync_update(Enlil_Album *album) { Enlil_Album_Data *album_data = enlil_album_user_data_get(album); Evas_Object *fr, *tb2, *lbl, *bt, *sep, *pb, *pager; Evas_Object *inwin = album_data->netsync.inwin.win; Evas_Object *tb = album_data->netsync.inwin.tb; int i = 0; Eina_List *l; Enlil_Photo *photo; int nb_photos; char buf[1024]; if (album_data->netsync.inwin.fr) evas_object_del( album_data->netsync.inwin.fr); // fr = elm_frame_add(inwin); album_data->netsync.inwin.fr = fr; elm_object_text_set(fr, D_("Synchronise an album with flickr")); evas_object_size_hint_weight_set(fr, 1.0, 1.0); evas_object_size_hint_align_set(fr, -1.0, -1.0); evas_object_show(fr); elm_table_padding_set(tb, 1, 1); elm_table_pack(tb, fr, 0, 0, 3, 1); tb2 = elm_table_add(inwin); evas_object_size_hint_weight_set(tb2, 1.0, 0.0); evas_object_size_hint_align_set(tb2, -1.0, 1.0); elm_table_padding_set(tb2, 15, 5); evas_object_show(tb2); elm_object_content_set(fr, tb2); // if (album_data->netsync.album_netsync_notuptodate) { lbl = elm_label_add(inwin); elm_object_text_set(lbl, D_("Update the flickr album header.")); evas_object_show(lbl); elm_table_pack(tb2, lbl, 0, i, 1, 1); bt = elm_button_add(inwin); album_data->netsync.inwin.bt1 = bt; elm_object_text_set(bt, D_("Update")); evas_object_smart_callback_add(bt, "clicked", _netsync_notuptodate_cb, album); evas_object_size_hint_align_set(bt, 0.5, 0.5); evas_object_size_hint_weight_set(bt, 1.0, 0.0); evas_object_show(bt); elm_table_pack(tb2, bt, 1, i, 1, 1); i++; sep = elm_separator_add(inwin); evas_object_show(sep); elm_table_pack(tb2, sep, 0, i, 2, 1); i++; } if (album_data->netsync.album_notinnetsync) { lbl = elm_label_add(inwin); elm_object_text_set(lbl, D_("The album is not in Flickr.")); evas_object_show(lbl); elm_table_pack(tb2, lbl, 0, i, 1, 1); bt = elm_button_add(inwin); album_data->netsync.inwin.bt2 = bt; elm_object_text_set(bt, D_("Add the album in Flickr")); evas_object_size_hint_align_set(bt, 0.5, 0.5); evas_object_size_hint_weight_set(bt, 1.0, 0.0); evas_object_smart_callback_add(bt, "clicked", _album_notinnetsync_cb, album); evas_object_show(bt); elm_table_pack(tb2, bt, 1, i, 1, 1); i++; sep = elm_separator_add(inwin); evas_object_show(sep); elm_table_pack(tb2, sep, 0, i, 2, 1); i++; } if (album_data->netsync.album_local_notuptodate) { lbl = elm_label_add(inwin); elm_object_text_set(lbl, D_("Update the local album header.")); evas_object_show(lbl); elm_table_pack(tb2, lbl, 0, i, 1, 1); bt = elm_button_add(inwin); album_data->netsync.inwin.bt3 = bt; evas_object_size_hint_align_set(bt, 0.5, 0.5); evas_object_size_hint_weight_set(bt, 1.0, 0.0); evas_object_smart_callback_add(bt, "clicked", _local_notuptodate_cb, album); elm_object_text_set(bt, D_("Update")); evas_object_show(bt); elm_table_pack(tb2, bt, 1, i, 1, 1); i++; sep = elm_separator_add(inwin); evas_object_show(sep); elm_table_pack(tb2, sep, 0, i, 2, 1); i++; } if (album_data->netsync.photos_notinlocal) { lbl = elm_label_add(inwin); elm_object_text_set(lbl, D_("Some photos are not in the local album.")); evas_object_show(lbl); elm_table_pack(tb2, lbl, 0, i, 1, 1); pager = elm_naviframe_add(inwin); album_data->netsync.inwin.notinlocal.pager = pager; evas_object_size_hint_align_set(pager, 0.5, 0.5); evas_object_size_hint_weight_set(pager, 1.0, 0.0); evas_object_show(pager); elm_table_pack(tb2, pager, 1, i, 1, 1); elm_object_style_set(pager, "fade_invisible"); bt = elm_button_add(inwin); album_data->netsync.inwin.notinlocal.bt = bt; album_data->netsync.inwin.bt4 = bt; evas_object_size_hint_align_set(bt, -1.0, 0.5); evas_object_size_hint_weight_set(bt, 1.0, 0.0); elm_object_text_set(bt, D_("Download Them All")); evas_object_smart_callback_add(bt, "clicked", _photos_notinlocal_cb, album); evas_object_show(bt); elm_naviframe_item_simple_push(pager, bt); pb = elm_progressbar_add(inwin); album_data->netsync.inwin.notinlocal.pb = pb; evas_object_size_hint_align_set(pb, -1.0, 0.5); evas_object_size_hint_weight_set(pb, 1.0, 0.0); elm_progressbar_pulse_set(pb, EINA_TRUE); elm_object_text_set(pb, D_("Downloads in progress ...")); evas_object_show(pb); elm_naviframe_item_simple_push(pager, pb); evas_object_size_hint_max_set(pb, 0, 0); if (album_data->netsync.inwin.notinlocal.is_updating) { elm_progressbar_pulse(pb, EINA_TRUE); elm_naviframe_item_simple_promote(pager, pb); } else elm_naviframe_item_simple_promote(pager, bt); i++; sep = elm_separator_add(inwin); evas_object_show(sep); elm_table_pack(tb2, sep, 0, i, 2, 1); i++; } nb_photos = 0; EINA_LIST_FOREACH(enlil_album_photos_get(album), l, photo) { Enlil_Photo_Data *photo_data = enlil_photo_user_data_get(photo); if (photo_data && photo_data->netsync.state == PHOTO_FLICKR_NOTINFLICKR) { nb_photos++; } }