static void add_photos_to_photoset_ready_cb (GObject *source_object, GAsyncResult *result, gpointer user_data) { DialogData *data = user_data; GError *error = NULL; if (! flickr_service_add_photos_to_set_finish (FLICKR_SERVICE (source_object), result, &error)) { _gtk_error_dialog_from_gerror_show (GTK_WINDOW (data->browser), _("Could not create the album"), error); g_clear_error (&error); gtk_dialog_response (GTK_DIALOG (data->dialog), GTK_RESPONSE_DELETE_EVENT); return; } export_completed_with_success (data); }
static void post_photos_ready_cb (GObject *source_object, GAsyncResult *result, gpointer user_data) { DialogData *data = user_data; PicasaWebService *picasaweb = PICASA_WEB_SERVICE (source_object); GError *error = NULL; if (! picasa_web_service_post_photos_finish (picasaweb, result, &error)) { gth_task_dialog (GTH_TASK (data->service), TRUE, NULL); _gtk_error_dialog_from_gerror_show (GTK_WINDOW (data->browser), _("Could not upload the files"), error); g_clear_error (&error); return; } export_completed_with_success (data); }
static void post_photos_ready_cb (GObject *source_object, GAsyncResult *result, gpointer user_data) { DialogData *data = user_data; GError *error = NULL; data->photos_ids = flickr_service_post_photos_finish (FLICKR_SERVICE (source_object), result, &error); if (error != NULL) { _gtk_error_dialog_from_gerror_show (GTK_WINDOW (data->browser), _("Could not upload the files"), error); g_clear_error (&error); gtk_dialog_response (GTK_DIALOG (data->dialog), GTK_RESPONSE_DELETE_EVENT); return; } if (data->photoset == NULL) { export_completed_with_success (data); return; } /* create the photoset if it doesn't exists */ if (data->photoset->id == NULL) { char *first_id; first_id = data->photos_ids->data; flickr_photoset_set_primary (data->photoset, first_id); flickr_service_create_photoset (data->service, data->photoset, data->cancellable, create_photoset_ready_cb, data); } else add_photos_to_photoset (data); }