static void pdf_load_job_from_pdf (PdfLoadJob *job) { EvJob *ev_job; gchar *uri = NULL; GFile *file; if (job->pdf_path != NULL) { file = g_file_new_for_path (job->pdf_path); uri = g_file_get_uri (file); g_object_unref (file); } ev_job = ev_job_load_new ((uri != NULL) ? (uri) : (job->uri)); if (job->passwd != NULL) ev_job_load_set_password (EV_JOB_LOAD (ev_job), job->passwd); g_signal_connect (ev_job, "finished", G_CALLBACK (ev_load_job_done), job); ev_job_scheduler_push_job (ev_job, EV_JOB_PRIORITY_NONE); g_object_unref (ev_job); g_free (uri); }
static void ev_load_job_done (EvJob *ev_job, gpointer user_data) { PdfLoadJob *job = user_data; if (ev_job_is_failed (ev_job) || (ev_job->document == NULL)) { if (job->from_old_cache) { pdf_load_job_force_refresh_cache (job); } else if (g_error_matches (ev_job->error, EV_DOCUMENT_ERROR, EV_DOCUMENT_ERROR_ENCRYPTED) && job->passwd != NULL && !job->passwd_tried) { /* EvJobLoad tries using the password only after the job has * failed once. */ ev_job_scheduler_push_job (ev_job, EV_JOB_PRIORITY_NONE); job->passwd_tried = TRUE; } else { pdf_load_job_complete_error (job, (ev_job->error != NULL) ? g_error_copy (ev_job->error) : g_error_new_literal (G_IO_ERROR, G_IO_ERROR_FAILED, _("Unable to load the document"))); } return; } job->document = g_object_ref (ev_job->document); pdf_load_job_complete_success (job); }
static void load_pdf (NemoPreviewPdfLoader *self, const gchar *uri) { EvJob *job; job = ev_job_load_new (uri); g_signal_connect (job, "finished", G_CALLBACK (load_job_done), self); ev_job_scheduler_push_job (job, EV_JOB_PRIORITY_NONE); }
static void ev_previewer_load_document (GFile *file, EvDocumentModel *model) { EvJob *job; gchar *uri; uri = g_file_get_uri (file); job = ev_job_load_new (uri); g_signal_connect (job, "finished", G_CALLBACK (ev_previewer_load_job_finished), model); ev_job_scheduler_push_job (job, EV_JOB_PRIORITY_NONE); g_free (uri); }
static void ev_previewer_load_document (const gchar *filename, EvDocumentModel *model) { EvJob *job; gchar *uri; GFile *file; file = g_file_new_for_commandline_arg (filename); uri = g_file_get_uri (file); g_object_unref (file); job = ev_job_load_new (uri); g_signal_connect (job, "finished", G_CALLBACK (ev_previewer_load_job_finished), model); ev_job_scheduler_push_job (job, EV_JOB_PRIORITY_NONE); g_free (uri); }