gchar *password;
PopplerOrientation orientation;
+ gboolean orientation_set;
PopplerFontInfo *font_info;
PopplerFontsIter *fonts_iter;
pdf_document_init (PdfDocument *pdf_document)
{
pdf_document->password = NULL;
- pdf_document->orientation = POPPLER_ORIENTATION_PORTRAIT;
}
static void
return FALSE;
}
- pdf_document->orientation = get_document_orientation (pdf_document);
-
return TRUE;
}
return poppler_document_get_n_pages (PDF_DOCUMENT (document)->document);
}
+/* FIXME This should not be necessary, poppler should rember it */
+static void
+set_page_orientation (PdfDocument *pdf_document, PopplerPage *page)
+{
+ if (pdf_document->orientation_set) {
+ poppler_page_set_orientation (page, pdf_document->orientation);
+ }
+}
+
static void
pdf_document_get_page_size (EvDocument *document,
int page,
PopplerPage *poppler_page;
poppler_page = poppler_document_get_page (pdf_document->document, page);
- poppler_page_set_orientation (poppler_page, pdf_document->orientation);
+ set_page_orientation (pdf_document, poppler_page);
poppler_page_get_size (poppler_page, width, height);
}
pdf_document = PDF_DOCUMENT (document);
poppler_page = poppler_document_get_page (pdf_document->document,
page);
- poppler_page_set_orientation (poppler_page, pdf_document->orientation);
+ set_page_orientation (pdf_document, poppler_page);
poppler_page_get_size (poppler_page, &width_points, &height_points);
width = (int) ((width_points * scale) + 0.5);
double height;
poppler_page = poppler_document_get_page (pdf_document->document, page);
+ set_page_orientation (pdf_document, poppler_page);
g_return_val_if_fail (poppler_page != NULL, NULL);
poppler_page_get_size (poppler_page, NULL, &height);
{
EvOrientation result;
PdfDocument *pdf_document = PDF_DOCUMENT (document);
+
+ if (!pdf_document->orientation_set) {
+ pdf_document->orientation = get_document_orientation (pdf_document);
+ }
switch (pdf_document->orientation) {
case POPPLER_ORIENTATION_PORTRAIT:
}
pdf_document->orientation = poppler_orientation;
+ pdf_document->orientation_set = TRUE;
}
static void
const char *name;
name = poppler_fonts_iter_get_name (iter);
+ if (name == NULL) {
+ name = _("No name");
+ }
+
gtk_list_store_append (GTK_LIST_STORE (model), &list_iter);
gtk_list_store_set (GTK_LIST_STORE (model), &list_iter,
EV_DOCUMENT_FONTS_COLUMN_NAME, name,
if (iter != NULL) {
model = (GtkTreeModel *) gtk_tree_store_new (EV_DOCUMENT_LINKS_COLUMN_NUM_COLUMNS,
G_TYPE_STRING,
- G_TYPE_POINTER,
+ G_TYPE_OBJECT,
G_TYPE_BOOLEAN);
build_tree (pdf_document, model, NULL, iter);
poppler_index_iter_free (iter);
gdouble unscaled_width, unscaled_height;
poppler_page = poppler_document_get_page (pdf_document->document, page);
-
+ set_page_orientation (pdf_document, poppler_page);
g_return_val_if_fail (poppler_page != NULL, NULL);
pdf_document_thumbnails_get_dimensions (EV_DOCUMENT_THUMBNAILS (pdf_document), page, size, &width, &height);
pdf_document = PDF_DOCUMENT (document_thumbnails);
poppler_page = poppler_document_get_page (pdf_document->document, page);
+ set_page_orientation (pdf_document, poppler_page);
g_return_val_if_fail (poppler_page != NULL, NULL);
pixbuf = poppler_page_get_thumbnail (poppler_page);
pdf_document = PDF_DOCUMENT (document_thumbnails);
poppler_page = poppler_document_get_page (pdf_document->document, page);
+ set_page_orientation (pdf_document, poppler_page);
g_return_if_fail (width != NULL);
g_return_if_fail (height != NULL);
page = poppler_document_get_page (search->document->document,
search->search_page);
+ set_page_orientation (pdf_document, page);
ev_document_doc_mutex_lock ();
matches = poppler_page_find_text (page, search->text);
return FALSE;
poppler_page = poppler_document_get_page (pdf_document->document, page);
+ set_page_orientation (pdf_document, poppler_page);
poppler_page_get_size (poppler_page, NULL, &height);
rectangle->x1 = r->x1;
rectangle->y1 = height - r->y2;
g_return_if_fail (pdf_document->ps_file != NULL);
poppler_page = poppler_document_get_page (pdf_document->document, page);
+ set_page_orientation (pdf_document, poppler_page);
poppler_page_render_to_ps (poppler_page, pdf_document->ps_file);
}