X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;ds=sidebyside;f=shell%2Fev-window.c;h=a6097ce4b19e0e2043594525a1a4b8a2343e56b2;hb=a4cf673a3347ec011ebc90b22b6541bae0b9f6b4;hp=14733fe243cb11380c1ac5fdfcd30da604b0ca6d;hpb=d6198ac2024d229d47b631648fe8352ffb4d3e80;p=evince.git diff --git a/shell/ev-window.c b/shell/ev-window.c index 14733fe2..a6097ce4 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -30,6 +30,8 @@ #include "ev-sidebar.h" #include "eggfindbar.h" +#include "pdf-document.h" + #include #include #include @@ -57,6 +59,8 @@ struct _EvWindowPrivate { GtkUIManager *ui_manager; GtkWidget *statusbar; guint help_message_cid; + + EvDocument *document; }; #if 0 @@ -147,6 +151,31 @@ ev_window_is_empty (const EvWindow *ev_window) void ev_window_open (EvWindow *ev_window, const char *uri) { + EvDocument *document = g_object_new (PDF_TYPE_DOCUMENT, NULL); + GError *error = NULL; + + if (ev_document_load (document, uri, &error)) { + if (ev_window->priv->document) + g_object_unref (ev_window->priv->document); + ev_window->priv->document = document; + + } else { + GtkWidget *dialog; + + g_object_unref (document); + + dialog = gtk_message_dialog_new (GTK_WINDOW (ev_window), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_ERROR, + GTK_BUTTONS_CLOSE, + _("Unable to open document")); + gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), + "%s", error->message); + gtk_dialog_run (GTK_DIALOG (dialog)); + + g_error_free (error); + } + #if 0 char *mime_type; BonoboObject *bonobo_control;