void
ev_job_xfer_run (EvJobXfer *job)
{
- GType document_type;
+ EvDocument *document;
GError *error = NULL;
GnomeVFSURI *source_uri;
GnomeVFSURI *target_uri;
job->error = NULL;
}
- document_type = ev_document_type_lookup (job->uri, NULL, &error);
+ document = ev_document_types_get_document (job->uri, NULL, &error);
- if (document_type != G_TYPE_INVALID) {
- EV_JOB (job)->document = g_object_new (document_type, NULL);
+ if (document != NULL) {
+ EV_JOB (job)->document = document;
} else {
job->error = error;
EV_JOB (job)->finished = TRUE;
source_uri = gnome_vfs_uri_new (job->uri);
if (!gnome_vfs_uri_is_local (source_uri)) {
char *tmp_name;
+ char *base_name;
tmp_name = ev_tmp_filename ();
- job->local_uri = g_strconcat ("file:", tmp_name, NULL);
+ base_name = g_path_get_basename (job->uri);
+ job->local_uri = g_strconcat ("file:", tmp_name, base_name, NULL);
g_free (tmp_name);
target_uri = gnome_vfs_uri_new (job->local_uri);