? file.diff ? src/doc_info.xpm ? src/rotate_left.xpm ? src/rotate_right.xpm Index: po/ca.po =================================================================== RCS file: /pack/anoncvs/sylpheedclaws/plugins/pdf_viewer/po/Attic/ca.po,v retrieving revision 1.1.2.3 diff -u -p -r1.1.2.3 ca.po --- po/ca.po 2007/02/26 17:49:01 1.1.2.3 +++ po/ca.po 2007/02/28 15:47:50 @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: pdf_viewer\n" "Report-Msgid-Bugs-To: iwkse@users.sourceforge.net\n" -"POT-Creation-Date: 2007-02-19 09:37+0000\n" +"POT-Creation-Date: 2007-02-27 00:34+0100\n" "PO-Revision-Date: 2007-02-25 23:51+0001\n" "Last-Translator: Miquel Oliete i Baliarda \n" "Language-Team: Miquel Oliete i Baliarda \n" @@ -15,28 +15,28 @@ msgstr "" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" -#: src/poppler_viewer.c:158 +#: src/poppler_viewer.c:176 src/poppler_viewer.c:434 +msgid "Loading..." +msgstr "Carregant..." + +#: src/poppler_viewer.c:240 #, c-format msgid "%s document, page %d/%d" msgstr "document %s, pàgina %d/%d" -#: src/poppler_viewer.c:167 +#: src/poppler_viewer.c:248 msgid "Prev page" msgstr "Pàgina prèvia" -#: src/poppler_viewer.c:170 +#: src/poppler_viewer.c:251 msgid "Next page" msgstr "Pàgina següent" - -#: src/poppler_viewer.c:191 src/poppler_viewer.c:348 -msgid "Loading..." -msgstr "Carregant..." -#: src/poppler_viewer.c:385 src/poppler_viewer.c:398 +#: src/poppler_viewer.c:471 src/poppler_viewer.c:484 msgid "PDF Viewer" msgstr "Visor PDF" -#: src/poppler_viewer.c:403 +#: src/poppler_viewer.c:489 msgid "" "This plugin enables the viewing of PDF and PostScript attachments using the " "Poppler lib." Index: po/fi.po =================================================================== RCS file: /pack/anoncvs/sylpheedclaws/plugins/pdf_viewer/po/Attic/fi.po,v retrieving revision 1.1.2.1 diff -u -p -r1.1.2.1 fi.po --- po/fi.po 2007/02/26 16:09:58 1.1.2.1 +++ po/fi.po 2007/02/28 15:47:50 @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: lpoppler_viewer-0\n" "Report-Msgid-Bugs-To: iwkse@users.sourceforge.net\n" -"POT-Creation-Date: 2007-02-19 09:37+0000\n" +"POT-Creation-Date: 2007-02-27 00:34+0100\n" "PO-Revision-Date: 2007-02-20 03:47+0200\n" "Last-Translator: Flammie Pirinen \n" "Language-Team: Finnish \n" @@ -15,28 +15,28 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: src/poppler_viewer.c:158 +#: src/poppler_viewer.c:176 src/poppler_viewer.c:434 +msgid "Loading..." +msgstr "Ladataanâ " + +#: src/poppler_viewer.c:240 #, c-format msgid "%s document, page %d/%d" msgstr "%sâ‐teksti, sivu %dâ∕%d" -#: src/poppler_viewer.c:167 +#: src/poppler_viewer.c:248 msgid "Prev page" msgstr "Edellinen sivu" -#: src/poppler_viewer.c:170 +#: src/poppler_viewer.c:251 msgid "Next page" msgstr "Seuraava sivu" - -#: src/poppler_viewer.c:191 src/poppler_viewer.c:348 -msgid "Loading..." -msgstr "Ladataanâ " -#: src/poppler_viewer.c:385 src/poppler_viewer.c:398 +#: src/poppler_viewer.c:471 src/poppler_viewer.c:484 msgid "PDF Viewer" msgstr "PDFâ‐nÀytin" -#: src/poppler_viewer.c:403 +#: src/poppler_viewer.c:489 msgid "" "This plugin enables the viewing of PDF and PostScript attachments using the " "Poppler lib." Index: po/fr.po =================================================================== RCS file: /pack/anoncvs/sylpheedclaws/plugins/pdf_viewer/po/Attic/fr.po,v retrieving revision 1.1.2.1.2.1 diff -u -p -r1.1.2.1.2.1 fr.po --- po/fr.po 2007/02/23 23:28:47 1.1.2.1.2.1 +++ po/fr.po 2007/02/28 15:47:50 @@ -6,7 +6,11 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: iwkse@users.sourceforge.net\n" +<<<<<<< fr.po +"POT-Creation-Date: 2007-02-27 00:34+0100\n" +======= "POT-Creation-Date: 2007-02-24 00:27+0100\n" +>>>>>>> 1.1.2.1.2.1 "PO-Revision-Date: 2007-02-17 19:05+0100\n" "Last-Translator: Colin Leroy \n" "Language-Team: fr \n" @@ -14,20 +18,42 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +<<<<<<< fr.po +#: src/poppler_viewer.c:176 src/poppler_viewer.c:434 +msgid "Loading..." +msgstr "Chargement..." + +#: src/poppler_viewer.c:240 +#, fuzzy, c-format +msgid "%s document, page %d/%d" +======= #: src/poppler_viewer.c:374 #, fuzzy, c-format msgid "%s document" +>>>>>>> 1.1.2.1.2.1 msgstr "Document PDF, page %d/%d" +<<<<<<< fr.po +#: src/poppler_viewer.c:248 +msgid "Prev page" +======= #: src/poppler_viewer.c:652 #, fuzzy msgid "Previous Page" +>>>>>>> 1.1.2.1.2.1 msgstr "Page préc." +<<<<<<< fr.po +#: src/poppler_viewer.c:251 +msgid "Next page" +======= #: src/poppler_viewer.c:656 #, fuzzy msgid "Next Page" +>>>>>>> 1.1.2.1.2.1 msgstr "Page suiv." +<<<<<<< fr.po +======= #: src/poppler_viewer.c:660 msgid "Zoom In" @@ -36,7 +62,15 @@ msgstr "" #: src/poppler_viewer.c:664 msgid "Zoom Out" msgstr "" +>>>>>>> 1.1.2.1.2.1 + +<<<<<<< fr.po +#: src/poppler_viewer.c:471 src/poppler_viewer.c:484 +msgid "PDF Viewer" +msgstr "" +#: src/poppler_viewer.c:489 +======= #: src/poppler_viewer.c:667 msgid "Fit Page" msgstr "" @@ -50,7 +84,20 @@ msgid "PDF Viewer" msgstr "" #: src/poppler_viewer.c:729 +>>>>>>> 1.1.2.1.2.1 msgid "" +<<<<<<< fr.po +"This plugin enables the viewing of PDF and PostScript attachments using the " +"Poppler lib." +msgstr "" + +#~ msgid "" +#~ "This plugin renders PDF attachments in mails using the poppler lib.\n" +#~ "The extended name is Red Poppler PDF Viewer." +#~ msgstr "" +#~ "Ce plugin affiche les fichiers PDF joints.Son nom complet est Red Poppler " +#~ "PDF Viewer." +======= "This plugin enables the viewing of PDF and PostScript attachments using the " "Poppler lib." msgstr "" @@ -64,3 +111,4 @@ msgstr "" #~ msgstr "" #~ "Ce plugin affiche les fichiers PDF joints.Son nom complet est Red Poppler " #~ "PDF Viewer." +>>>>>>> 1.1.2.1.2.1 Index: po/hu.po =================================================================== RCS file: /pack/anoncvs/sylpheedclaws/plugins/pdf_viewer/po/Attic/hu.po,v retrieving revision 1.1.2.1 diff -u -p -r1.1.2.1 hu.po --- po/hu.po 2007/02/26 16:09:59 1.1.2.1 +++ po/hu.po 2007/02/28 15:47:50 @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Poppler viewer 0.1\n" "Report-Msgid-Bugs-To: iwkse@users.sourceforge.net\n" -"POT-Creation-Date: 2007-02-19 09:37+0000\n" +"POT-Creation-Date: 2007-02-27 00:34+0100\n" "PO-Revision-Date: 2007-02-19 23:04+0100\n" "Last-Translator: rezso \n" "Language-Team: \n" @@ -17,30 +17,31 @@ msgstr "" "X-Poedit-Language: Hungarian\n" "X-Poedit-Country: HUNGARY\n" -#: src/poppler_viewer.c:158 +#: src/poppler_viewer.c:176 src/poppler_viewer.c:434 +msgid "Loading..." +msgstr "Betöltés..." + +#: src/poppler_viewer.c:240 #, c-format msgid "%s document, page %d/%d" msgstr "%s dokumentum, %d/%d oldal" -#: src/poppler_viewer.c:167 +#: src/poppler_viewer.c:248 msgid "Prev page" msgstr "ElÅÅ‘zÅÅ‘ oldal" -#: src/poppler_viewer.c:170 +#: src/poppler_viewer.c:251 msgid "Next page" msgstr "KövetkezÅÅ‘ oldal" -#: src/poppler_viewer.c:191 -#: src/poppler_viewer.c:348 -msgid "Loading..." -msgstr "Betöltés..." - -#: src/poppler_viewer.c:385 -#: src/poppler_viewer.c:398 +#: src/poppler_viewer.c:471 src/poppler_viewer.c:484 msgid "PDF Viewer" msgstr "PDF megjelenítÅÅ‘" - -#: src/poppler_viewer.c:403 -msgid "This plugin enables the viewing of PDF and PostScript attachments using the Poppler lib." -msgstr "A plugin PDF és PostScript mellékletek megjelenítését teszi lehetÅÅ‘vé a Poppler fÌgvénykönyvtár használatával." +#: src/poppler_viewer.c:489 +msgid "" +"This plugin enables the viewing of PDF and PostScript attachments using the " +"Poppler lib." +msgstr "" +"A plugin PDF és PostScript mellékletek megjelenítését teszi lehetÅÅ‘vé a " +"Poppler fÌgvénykönyvtár használatával." Index: po/it.po =================================================================== RCS file: /pack/anoncvs/sylpheedclaws/plugins/pdf_viewer/po/Attic/it.po,v retrieving revision 1.1.2.1.2.1 diff -u -p -r1.1.2.1.2.1 it.po --- po/it.po 2007/02/23 23:28:47 1.1.2.1.2.1 +++ po/it.po 2007/02/28 15:47:50 @@ -5,7 +5,11 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: iwkse@users.sourceforge.net\n" +<<<<<<< it.po +"POT-Creation-Date: 2007-02-27 00:34+0100\n" +======= "POT-Creation-Date: 2007-02-24 00:27+0100\n" +>>>>>>> 1.1.2.1.2.1 "PO-Revision-Date: 2007-02-19 16:38+0100\n" "Last-Translator: Salvatore De Paolis \n" "Language-Team: it Salvatore De Paolis \n" @@ -13,21 +17,44 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +<<<<<<< it.po +#: src/poppler_viewer.c:176 src/poppler_viewer.c:434 +msgid "Loading..." +msgstr "Caricamento..." + +#: src/poppler_viewer.c:240 +#, c-format +msgid "%s document, page %d/%d" +======= #: src/poppler_viewer.c:374 #, fuzzy, c-format msgid "%s document" +>>>>>>> 1.1.2.1.2.1 msgstr "Documento %s, pagina %d/%d" +<<<<<<< it.po +#: src/poppler_viewer.c:248 +msgid "Prev page" +======= #: src/poppler_viewer.c:652 #, fuzzy msgid "Previous Page" +>>>>>>> 1.1.2.1.2.1 msgstr "Pagina prec." +<<<<<<< it.po +#: src/poppler_viewer.c:251 +msgid "Next page" +======= #: src/poppler_viewer.c:656 #, fuzzy msgid "Next Page" +>>>>>>> 1.1.2.1.2.1 msgstr "Pagina succ." +<<<<<<< it.po +#: src/poppler_viewer.c:471 src/poppler_viewer.c:484 +======= #: src/poppler_viewer.c:660 msgid "Zoom In" msgstr "" @@ -45,10 +72,15 @@ msgid "Fit Page Width" msgstr "" #: src/poppler_viewer.c:711 src/poppler_viewer.c:724 +>>>>>>> 1.1.2.1.2.1 msgid "PDF Viewer" msgstr "" +<<<<<<< it.po +#: src/poppler_viewer.c:489 +======= #: src/poppler_viewer.c:729 +>>>>>>> 1.1.2.1.2.1 msgid "" "This plugin enables the viewing of PDF and PostScript attachments using the " "Poppler lib." Index: po/pl.po =================================================================== RCS file: /pack/anoncvs/sylpheedclaws/plugins/pdf_viewer/po/Attic/pl.po,v retrieving revision 1.1.2.1 diff -u -p -r1.1.2.1 pl.po --- po/pl.po 2007/02/26 16:09:59 1.1.2.1 +++ po/pl.po 2007/02/28 15:47:50 @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: poppler_viewer\n" "Report-Msgid-Bugs-To: iwkse@users.sourceforge.net\n" -"POT-Creation-Date: 2007-02-19 09:37+0000\n" +"POT-Creation-Date: 2007-02-27 00:34+0100\n" "PO-Revision-Date: 2007-02-24 16:22+0100\n" "Last-Translator: Pawel Pekala \n" "Language-Team: \n" @@ -16,32 +16,31 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" -#: src/poppler_viewer.c:158 +#: src/poppler_viewer.c:176 src/poppler_viewer.c:434 +msgid "Loading..." +msgstr "Wczytywanie..." + +#: src/poppler_viewer.c:240 #, c-format msgid "%s document, page %d/%d" msgstr "Dokument %s, strona %d/%d" -#: src/poppler_viewer.c:167 +#: src/poppler_viewer.c:248 msgid "Prev page" msgstr "Poprzednia strona" -#: src/poppler_viewer.c:170 +#: src/poppler_viewer.c:251 msgid "Next page" msgstr "Nastêpna strona" -#: src/poppler_viewer.c:191 src/poppler_viewer.c:348 -msgid "Loading..." -msgstr "Wczytywanie..." - -#: src/poppler_viewer.c:385 src/poppler_viewer.c:398 +#: src/poppler_viewer.c:471 src/poppler_viewer.c:484 msgid "PDF Viewer" msgstr "Przegl±darka PDF" -#: src/poppler_viewer.c:403 +#: src/poppler_viewer.c:489 msgid "" "This plugin enables the viewing of PDF and PostScript attachments using the " "Poppler lib." msgstr "" "Ta wtyczka umo¿liwia przegl±danie dokumentów PDF i Postscript przy u¿yciu " "biblioteki Poppler." - Index: po/pt_BR.po =================================================================== RCS file: /pack/anoncvs/sylpheedclaws/plugins/pdf_viewer/po/Attic/pt_BR.po,v retrieving revision 1.1.2.1 diff -u -p -r1.1.2.1 pt_BR.po --- po/pt_BR.po 2007/02/26 16:09:59 1.1.2.1 +++ po/pt_BR.po 2007/02/28 15:47:50 @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: poppler_viewer-pt_BR\n" "Report-Msgid-Bugs-To: iwkse@users.sourceforge.net\n" -"POT-Creation-Date: 2007-02-19 09:37+0000\n" +"POT-Creation-Date: 2007-02-27 00:34+0100\n" "PO-Revision-Date: 2007-02-25 13:27+0000\n" "Last-Translator: Frederico Goncalves Guimaraes \n" "Language-Team: Português do Brasil\n" @@ -16,30 +16,31 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" -#: src/poppler_viewer.c:158 +#: src/poppler_viewer.c:176 src/poppler_viewer.c:434 +msgid "Loading..." +msgstr "Abrindo..." + +#: src/poppler_viewer.c:240 #, c-format msgid "%s document, page %d/%d" msgstr "%s documento, página %d/%d" -#: src/poppler_viewer.c:167 +#: src/poppler_viewer.c:248 msgid "Prev page" msgstr "Página anterior" -#: src/poppler_viewer.c:170 +#: src/poppler_viewer.c:251 msgid "Next page" msgstr "Próxima página" -#: src/poppler_viewer.c:191 src/poppler_viewer.c:348 -msgid "Loading..." -msgstr "Abrindo..." - -#: src/poppler_viewer.c:385 src/poppler_viewer.c:398 +#: src/poppler_viewer.c:471 src/poppler_viewer.c:484 msgid "PDF Viewer" msgstr "Visualizador PDF" -#: src/poppler_viewer.c:403 +#: src/poppler_viewer.c:489 msgid "" "This plugin enables the viewing of PDF and PostScript attachments using the " "Poppler lib." -msgstr "Esse plugin habilita a visualização de anexos em PDF e PostScript usando a biblioteca Poppler." - +msgstr "" +"Esse plugin habilita a visualização de anexos em PDF e PostScript usando a " +"biblioteca Poppler." Index: po/sk.po =================================================================== RCS file: /pack/anoncvs/sylpheedclaws/plugins/pdf_viewer/po/Attic/sk.po,v retrieving revision 1.1.2.1 diff -u -p -r1.1.2.1 sk.po --- po/sk.po 2007/02/26 16:09:59 1.1.2.1 +++ po/sk.po 2007/02/28 15:47:50 @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: pdf_viewer\n" "Report-Msgid-Bugs-To: iwkse@users.sourceforge.net\n" -"POT-Creation-Date: 2007-02-19 09:37+0000\n" +"POT-Creation-Date: 2007-02-27 00:34+0100\n" "PO-Revision-Date: 2007-02-25 20:54+0100\n" "Last-Translator: Andrej Kacian \n" "Language-Team: Slovak \n" @@ -17,32 +17,31 @@ msgstr "" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: src/poppler_viewer.c:158 +#: src/poppler_viewer.c:176 src/poppler_viewer.c:434 +msgid "Loading..." +msgstr "NaÄčítavam..." + +#: src/poppler_viewer.c:240 #, c-format msgid "%s document, page %d/%d" msgstr "%s dokument, strana %d/%d" -#: src/poppler_viewer.c:167 +#: src/poppler_viewer.c:248 msgid "Prev page" msgstr "Predchádzajúca strana" -#: src/poppler_viewer.c:170 +#: src/poppler_viewer.c:251 msgid "Next page" msgstr "ÄÄŽalÅ¡ia strana" -#: src/poppler_viewer.c:191 src/poppler_viewer.c:348 -msgid "Loading..." -msgstr "NaÄčítavam..." - -#: src/poppler_viewer.c:385 src/poppler_viewer.c:398 +#: src/poppler_viewer.c:471 src/poppler_viewer.c:484 msgid "PDF Viewer" msgstr "PrehliadaÄč PDF" -#: src/poppler_viewer.c:403 +#: src/poppler_viewer.c:489 msgid "" "This plugin enables the viewing of PDF and PostScript attachments using the " "Poppler lib." msgstr "" -"Tento plugin umoşÅňuje prehliadanie PDF a PostScript príloh pomocou " -"knişnice Poppler." - +"Tento plugin umoşÅňuje prehliadanie PDF a PostScript príloh pomocou knişnice " +"Poppler." Index: src/poppler_viewer.c =================================================================== RCS file: /pack/anoncvs/sylpheedclaws/plugins/pdf_viewer/src/Attic/poppler_viewer.c,v retrieving revision 1.1.2.1.2.2 diff -u -p -r1.1.2.1.2.2 poppler_viewer.c --- src/poppler_viewer.c 2007/02/24 10:52:16 1.1.2.1.2.2 +++ src/poppler_viewer.c 2007/02/28 15:47:50 @@ -53,12 +53,17 @@ #include "zoom_in.xpm" #include "zoom_out.xpm" #include "zoom_width.xpm" +#include "rotate_right.xpm" +#include "rotate_left.xpm" +#include "doc_info.xpm" #ifdef USE_PTHREAD #include #endif #define ZOOM_FACTOR 0.3 +#define ROTATION 90 + static void poppler_pdf_view_update(MimeViewer *_viewer, gboolean reload_file, int page_num); struct _PopplerViewer @@ -81,14 +86,20 @@ struct _PopplerViewer GtkWidget *zoom_out; GtkWidget *zoom_fit; GtkWidget *zoom_width; + GtkWidget *rotate_left; + GtkWidget *rotate_right; + GtkWidget *doc_info; + GtkWidget *dialog_doc_info; GtkWidget *hbox; GtkTooltips *button_bar_tips; PopplerDocument *pdf_doc; PopplerPage *pdf_page; gchar *filename; gchar *fsname; + gchar *doc_info_text; gint cur_page_int; gint num_pages_int; + gint rotate; double zoom; double width; double height; @@ -106,10 +117,10 @@ typedef struct _PopplerViewer PopplerVie static MimeViewerFactory poppler_viewer_factory; + static GtkWidget *poppler_get_widget(MimeViewer *_viewer) { PopplerViewer *viewer = (PopplerViewer *) _viewer; - debug_print("poppler_get_widget: %p\n", viewer->vbox); return GTK_WIDGET(viewer->vbox); @@ -125,12 +136,10 @@ static void poppler_next_page_cb(GtkButt { if (viewer->cur_page_int < viewer->num_pages_int) poppler_pdf_view_update((MimeViewer *)viewer, FALSE, viewer->cur_page_int + 1); - } static void poppler_zoom_in_cb(GtkButton *button, PopplerViewer *viewer) { - if (viewer->zoom < 4) { viewer->zoom += ZOOM_FACTOR; poppler_pdf_view_update((MimeViewer *)viewer, FALSE, viewer->cur_page_int); @@ -139,7 +148,6 @@ static void poppler_zoom_in_cb(GtkButton static void poppler_zoom_out_cb(GtkButton *button, PopplerViewer *viewer) { - if (viewer->zoom > 0.3) { viewer->zoom -= ZOOM_FACTOR; poppler_pdf_view_update((MimeViewer *)viewer, FALSE, viewer->cur_page_int); @@ -155,6 +163,7 @@ static void poppler_zoom_fit_cb(GtkButto debug_print("height: %d\n", allocation->height); xratio = allocation->width / viewer->width; yratio = allocation->height / viewer->height; + if (xratio >= yratio) viewer->zoom = yratio; else @@ -173,6 +182,75 @@ static void poppler_zoom_width_cb(GtkBut poppler_pdf_view_update((MimeViewer *)viewer, FALSE, viewer->cur_page_int); } +static void poppler_rotate_right_cb(GtkButton *button, PopplerViewer *viewer) +{ + if (viewer->rotate == 360) + viewer->rotate = 0; + + viewer->rotate += (gint) ROTATION; + poppler_pdf_view_update((MimeViewer *)viewer, FALSE, viewer->cur_page_int); +} + +static void poppler_rotate_left_cb(GtkButton *button, PopplerViewer *viewer) +{ + if (viewer->rotate == 0) + viewer->rotate = 360; + + viewer->rotate = abs(viewer->rotate - (gint) ROTATION); + poppler_pdf_view_update((MimeViewer *)viewer, FALSE, viewer->cur_page_int); +} +static void poppler_document_info_cb(GtkButton *button, PopplerViewer *viewer) +{ + gchar *title, *format, *author, *subject, *keywords, *creator, *producer, *linearized; + GTime creation_date, mod_date; + PopplerPageLayout layout; + PopplerPageMode mode; + PopplerViewerPreferences view_prefs; + + g_object_get (viewer->pdf_doc, + "title", &title, + "format", &format, + "author", &author, + "subject", &subject, + "keywords", &keywords, + "creation-date", &creation_date, + "mod-date", &mod_date, + "creator", &creator, + "producer", &producer, + "linearized", &linearized, + "page-mode", &mode, + "page-layout", &layout, + "viewer-preferences", &view_prefs, + NULL); + + viewer->dialog_doc_info = gtk_message_dialog_new_with_markup( + GTK_WINDOW(mainwindow_get_mainwindow()->window), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_INFO, + GTK_BUTTONS_CLOSE, + "PDF Viewer Plugin" + ); + + gchar *msg; + msg = g_markup_printf_escaped(_("Title: ")); + + gtk_message_dialog_format_secondary_markup( + GTK_MESSAGE_DIALOG(viewer->dialog_doc_info), + "%s", + msg + ); + + g_free(msg); + + gtk_widget_set_size_request(viewer->dialog_doc_info, -1, -1); + gtk_widget_show(GTK_WIDGET(viewer->dialog_doc_info)); + gtk_widget_ref(GTK_WIDGET(viewer->dialog_doc_info)); + + g_signal_connect_swapped(viewer->dialog_doc_info, + "response", + G_CALLBACK(gtk_widget_destroy), + viewer->dialog_doc_info); +} static gboolean entry_current_page_cb(GtkEntry *entry, GdkEventKey *event, PopplerViewer *viewer) { char *endptr; @@ -266,6 +344,9 @@ static void poppler_show_controls(Popple gtk_widget_show(viewer->zoom_width); gtk_widget_show(viewer->vsep); gtk_widget_show(viewer->vsep1); + gtk_widget_show(viewer->rotate_right); + gtk_widget_show(viewer->rotate_left); + gtk_widget_show(viewer->doc_info); } else { gtk_widget_hide(viewer->cur_page); gtk_widget_hide(viewer->num_pages); @@ -277,6 +358,9 @@ static void poppler_show_controls(Popple gtk_widget_hide(viewer->zoom_width); gtk_widget_hide(viewer->vsep); gtk_widget_hide(viewer->vsep1); + gtk_widget_hide(viewer->rotate_right); + gtk_widget_hide(viewer->rotate_left); + gtk_widget_hide(viewer->doc_info); } } @@ -302,17 +386,26 @@ static void poppler_pdf_view_update(Mime } if (poppler_mimepart_get_type(viewer->to_load) == TYPE_PS) { - stock_pixmap_gdk(viewer->hbox, STOCK_PIXMAP_MIME_PS, &viewer->icon_pixmap, &viewer->icon_bitmap); + stock_pixmap_gdk(viewer->hbox, + STOCK_PIXMAP_MIME_PS, + &viewer->icon_pixmap, + &viewer->icon_bitmap); gtk_image_set_from_pixmap(GTK_IMAGE(viewer->icon_type), viewer->icon_pixmap, viewer->icon_bitmap); } else if (poppler_mimepart_get_type(viewer->to_load) == TYPE_PDF) { - stock_pixmap_gdk(viewer->hbox, STOCK_PIXMAP_MIME_PDF, &viewer->icon_pixmap, &viewer->icon_bitmap); + stock_pixmap_gdk(viewer->hbox, + STOCK_PIXMAP_MIME_PDF, + &viewer->icon_pixmap, + &viewer->icon_bitmap); gtk_image_set_from_pixmap(GTK_IMAGE(viewer->icon_type), viewer->icon_pixmap, viewer->icon_bitmap); } else { - stock_pixmap_gdk(viewer->hbox, STOCK_PIXMAP_MIME_APPLICATION, &viewer->icon_pixmap, &viewer->icon_bitmap); + stock_pixmap_gdk(viewer->hbox, + STOCK_PIXMAP_MIME_APPLICATION, + &viewer->icon_pixmap, + &viewer->icon_bitmap); gtk_image_set_from_pixmap(GTK_IMAGE(viewer->icon_type), viewer->icon_pixmap, viewer->icon_bitmap); } - gtk_label_set_text(GTK_LABEL(viewer->doc_label), "Loading..."); + gtk_label_set_text(GTK_LABEL(viewer->doc_label), _("Loading...")); poppler_show_controls(viewer, FALSE); GTK_EVENTS_FLUSH(); @@ -347,7 +440,12 @@ static void poppler_pdf_view_update(Mime } if (viewer->pdf_doc == NULL) { strretchomp(error->message); - stock_pixmap_gdk(viewer->hbox, STOCK_PIXMAP_MIME_APPLICATION, &viewer->icon_pixmap, &viewer->icon_bitmap); + + stock_pixmap_gdk(viewer->hbox, + STOCK_PIXMAP_MIME_APPLICATION, + &viewer->icon_pixmap, + &viewer->icon_bitmap); + gtk_image_set_from_pixmap(GTK_IMAGE(viewer->icon_type), viewer->icon_pixmap, viewer->icon_bitmap); gtk_label_set_text(GTK_LABEL(viewer->doc_label), error->message); g_error_free(error); @@ -366,14 +464,28 @@ static void poppler_pdf_view_update(Mime } gtk_entry_set_text(GTK_ENTRY(viewer->cur_page), g_strdup_printf("%d",page_num)); - - poppler_page_get_size(viewer->pdf_page, &viewer->width, &viewer->height); - - pb = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, (int)(viewer->width * viewer->zoom), (int)(viewer->height * viewer->zoom)); - poppler_page_render_to_pixbuf (viewer->pdf_page, 0, 0, - (int)(viewer->width * viewer->zoom), (int)(viewer->height * viewer->zoom), viewer->zoom, 0, pb); - gtk_image_set_from_pixbuf(GTK_IMAGE(viewer->pdf_view), - pb); + if(viewer->rotate == 90 || viewer->rotate == 270) { + poppler_page_get_size(viewer->pdf_page, &viewer->height, &viewer->width); + } + else { + poppler_page_get_size(viewer->pdf_page, &viewer->width, &viewer->height); + } + + pb = gdk_pixbuf_new (GDK_COLORSPACE_RGB, + FALSE, 8, + (int)(viewer->width * viewer->zoom), + (int)(viewer->height * viewer->zoom)); + + poppler_page_render_to_pixbuf (viewer->pdf_page, + 0, + 0, + (int)(viewer->width * viewer->zoom), + (int)(viewer->height * viewer->zoom), + viewer->zoom, + viewer->rotate, + pb); + + gtk_image_set_from_pixbuf(GTK_IMAGE(viewer->pdf_view), pb); g_object_unref(G_OBJECT(pb)); g_object_unref(G_OBJECT(viewer->pdf_page)); @@ -436,6 +548,7 @@ static void poppler_show_mimepart(MimeVi { PopplerViewer *viewer = (PopplerViewer *) _viewer; viewer->zoom = 1.0; + viewer->rotate = 0; viewer->to_load = partinfo; gtk_timeout_add(5, (GtkFunction)poppler_show_mimepart_real, viewer); @@ -583,7 +696,21 @@ static MimeViewer *poppler_viewer_create gtk_widget_set_size_request(viewer->zoom_width, -1, -1); button_set_pixmap(viewer->zoom_width, zoom_width_xpm); + viewer->rotate_left = gtk_button_new(); + gtk_widget_set_size_request(viewer->rotate_left, -1, -1); + button_set_pixmap(viewer->rotate_left, rotate_left_xpm); + + viewer->rotate_right = gtk_button_new(); + gtk_widget_set_size_request(viewer->rotate_right, -1, -1); + button_set_pixmap(viewer->rotate_right, rotate_right_xpm); + + viewer->doc_info = gtk_button_new(); + gtk_widget_set_size_request(viewer->doc_info, -1, -1); + button_set_pixmap(viewer->doc_info, doc_info_xpm); + viewer->num_pages = gtk_label_new(""); + + gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW(viewer->scrollwin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); @@ -604,7 +731,10 @@ static MimeViewer *poppler_viewer_create gtk_widget_show(viewer->hbox); - stock_pixmap_gdk(viewer->hbox, STOCK_PIXMAP_MIME_TEXT_PLAIN, &viewer->icon_pixmap, &viewer->icon_bitmap); + stock_pixmap_gdk(viewer->hbox, + STOCK_PIXMAP_MIME_TEXT_PLAIN, + &viewer->icon_pixmap, + &viewer->icon_bitmap); gtk_image_set_from_pixmap(GTK_IMAGE(viewer->icon_type), viewer->icon_pixmap, viewer->icon_bitmap); gtk_box_pack_start(GTK_BOX(viewer->hbox), viewer->icon_type, FALSE, FALSE, 0); @@ -623,7 +753,11 @@ static MimeViewer *poppler_viewer_create gtk_box_pack_start(GTK_BOX(viewer->hbox), viewer->zoom_fit, FALSE, FALSE, 1); gtk_box_pack_start(GTK_BOX(viewer->hbox), viewer->zoom_width, FALSE, FALSE, 1); + gtk_box_pack_start(GTK_BOX(viewer->hbox), viewer->rotate_left, FALSE, FALSE, 1); + gtk_box_pack_start(GTK_BOX(viewer->hbox), viewer->rotate_right, FALSE, FALSE, 1); + gtk_box_pack_start(GTK_BOX(viewer->hbox), viewer->doc_info, FALSE, FALSE, 1); + gtk_box_pack_start(GTK_BOX(viewer->vbox), viewer->hbox, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(viewer->vbox), viewer->scrollwin, TRUE, TRUE, 0); @@ -657,6 +791,12 @@ static MimeViewer *poppler_viewer_create gtk_widget_show(GTK_WIDGET(viewer->zoom_width)); gtk_widget_ref(GTK_WIDGET(viewer->zoom_width)); + gtk_widget_show(GTK_WIDGET(viewer->rotate_right)); + gtk_widget_ref(GTK_WIDGET(viewer->rotate_right)); + gtk_widget_show(GTK_WIDGET(viewer->rotate_left)); + gtk_widget_ref(GTK_WIDGET(viewer->rotate_left)); + gtk_widget_show(GTK_WIDGET(viewer->doc_info)); + gtk_widget_ref(GTK_WIDGET(viewer->doc_info)); gtk_widget_show(GTK_WIDGET(viewer->doc_label)); gtk_widget_ref(GTK_WIDGET(viewer->doc_label)); gtk_widget_show(GTK_WIDGET(viewer->icon_type)); @@ -665,43 +805,109 @@ static MimeViewer *poppler_viewer_create gtk_widget_ref(GTK_WIDGET(viewer->pdf_view)); /* setting tooltips */ - gtk_tooltips_set_tip (GTK_TOOLTIPS (viewer->button_bar_tips), viewer->prev, - _("Previous Page"), - ""); - - gtk_tooltips_set_tip (GTK_TOOLTIPS (viewer->button_bar_tips), viewer->next, - _("Next Page"), - ""); - - gtk_tooltips_set_tip (GTK_TOOLTIPS (viewer->button_bar_tips), viewer->zoom_in, - _("Zoom In"), - ""); - - gtk_tooltips_set_tip (GTK_TOOLTIPS (viewer->button_bar_tips), viewer->zoom_out, - _("Zoom Out"), - ""); - gtk_tooltips_set_tip (GTK_TOOLTIPS (viewer->button_bar_tips), viewer->zoom_fit, - _("Fit Page"), - ""); - gtk_tooltips_set_tip (GTK_TOOLTIPS (viewer->button_bar_tips), viewer->zoom_width, - _("Fit Page Width"), - ""); + gtk_tooltips_set_tip (GTK_TOOLTIPS (viewer->button_bar_tips), + viewer->prev, + _("Previous Page"), + ""); + + gtk_tooltips_set_tip (GTK_TOOLTIPS (viewer->button_bar_tips), + viewer->next, + _("Next Page"), + ""); + + gtk_tooltips_set_tip (GTK_TOOLTIPS (viewer->button_bar_tips), + viewer->zoom_in, + _("Zoom In"), + ""); + + gtk_tooltips_set_tip (GTK_TOOLTIPS (viewer->button_bar_tips), + viewer->zoom_out, + _("Zoom Out"), + ""); + gtk_tooltips_set_tip (GTK_TOOLTIPS (viewer->button_bar_tips), + viewer->zoom_fit, + _("Fit Page"), + ""); + gtk_tooltips_set_tip (GTK_TOOLTIPS (viewer->button_bar_tips), + viewer->zoom_width, + _("Fit Page Width"), + ""); + gtk_tooltips_set_tip (GTK_TOOLTIPS (viewer->button_bar_tips), + viewer->rotate_left, + _("Rotate Left"), + ""); + gtk_tooltips_set_tip (GTK_TOOLTIPS (viewer->button_bar_tips), + viewer->rotate_right, + _("Rotate Right"), + ""); + gtk_tooltips_set_tip (GTK_TOOLTIPS (viewer->button_bar_tips), + viewer->doc_info, + _("Document Info"), + ""); + /* Signals */ - g_signal_connect (G_OBJECT(viewer->cur_page), "key_press_event", G_CALLBACK(entry_current_page_cb), (gpointer) viewer); - - //g_signal_connect (G_OBJECT(viewer->scrollwin), "key_press_event", G_CALLBACK(scrollwin_key_down_cb), (gpointer) viewer); - //g_signal_connect (G_OBJECT(viewer->scrollwin), "key_press_event", G_CALLBACK(scrollwin_key_up_cb), (gpointer) viewer); - //g_signal_connect (G_OBJECT(viewer->scrollwin), "key_press_event", G_CALLBACK(scrollwin_page_down_cb), (gpointer) viewer); - //g_signal_connect (G_OBJECT(viewer->pdf_view), "key_press_event", G_CALLBACK(scrollwin_page_up_cb), (gpointer) viewer); - - g_signal_connect (G_OBJECT(viewer->prev), "clicked", G_CALLBACK(poppler_prev_page_cb), (gpointer) viewer); - g_signal_connect (G_OBJECT(viewer->next), "clicked", G_CALLBACK(poppler_next_page_cb), (gpointer) viewer); - g_signal_connect (G_OBJECT(viewer->zoom_in), "clicked", G_CALLBACK(poppler_zoom_in_cb), (gpointer) viewer); - g_signal_connect (G_OBJECT(viewer->zoom_out), "clicked", G_CALLBACK(poppler_zoom_out_cb), (gpointer) viewer); - - g_signal_connect (G_OBJECT(viewer->zoom_fit), "clicked", G_CALLBACK(poppler_zoom_fit_cb), (gpointer) viewer); - g_signal_connect (G_OBJECT(viewer->zoom_width), "clicked", G_CALLBACK(poppler_zoom_width_cb), (gpointer) viewer); + g_signal_connect (G_OBJECT(viewer->cur_page), + "key_press_event", + G_CALLBACK(entry_current_page_cb), + (gpointer) viewer); + /* + g_signal_connect (G_OBJECT(viewer->scrollwin), + "key_press_event", + G_CALLBACK(scrollwin_key_down_cb), + (gpointer) viewer); + g_signal_connect (G_OBJECT(viewer->scrollwin), + "key_press_event", + G_CALLBACK(scrollwin_key_up_cb), + (gpointer) viewer); + g_signal_connect (G_OBJECT(viewer->scrollwin), + "key_press_event", + G_CALLBACK(scrollwin_page_down_cb), + (gpointer) viewer); + g_signal_connect (G_OBJECT(viewer->pdf_view), + "key_press_event", + G_CALLBACK(scrollwin_page_up_cb), + (gpointer) viewer); + */ + + g_signal_connect (G_OBJECT(viewer->prev), + "clicked", + G_CALLBACK(poppler_prev_page_cb), + (gpointer) viewer); + g_signal_connect (G_OBJECT(viewer->next), + "clicked", + G_CALLBACK(poppler_next_page_cb), + (gpointer) viewer); + g_signal_connect (G_OBJECT(viewer->zoom_in), + "clicked", + G_CALLBACK(poppler_zoom_in_cb), + (gpointer) viewer); + g_signal_connect (G_OBJECT(viewer->zoom_out), + "clicked", + G_CALLBACK(poppler_zoom_out_cb), + (gpointer) viewer); + + g_signal_connect (G_OBJECT(viewer->zoom_fit), + "clicked", + G_CALLBACK(poppler_zoom_fit_cb), + (gpointer) viewer); + g_signal_connect (G_OBJECT(viewer->zoom_width), + "clicked", + G_CALLBACK(poppler_zoom_width_cb), + (gpointer) viewer); + + g_signal_connect (G_OBJECT(viewer->rotate_right), + "clicked", + G_CALLBACK(poppler_rotate_right_cb), + (gpointer) viewer); + g_signal_connect (G_OBJECT(viewer->rotate_left), + "clicked", + G_CALLBACK(poppler_rotate_left_cb), + (gpointer) viewer); + g_signal_connect (G_OBJECT(viewer->doc_info), + "clicked", + G_CALLBACK(poppler_document_info_cb), + (gpointer) viewer); viewer->filename = NULL; return (MimeViewer *) viewer;