X-Git-Url: http://git.code-monkey.de/?p=raktpdf.git;a=blobdiff_plain;f=src%2Frakt-window.c;h=13b35d8c7a39dc6900b5b9f1b2ae782235a18d06;hp=dbd3c78f8396e3315717edae16364b27a27eca18;hb=e8ff9ad0234828d58e8b4cf81680b7650d6b43b3;hpb=c54a5801f39e05b684c2c526f9079da4181203df diff --git a/src/rakt-window.c b/src/rakt-window.c index dbd3c78..13b35d8 100644 --- a/src/rakt-window.c +++ b/src/rakt-window.c @@ -141,7 +141,7 @@ render_page (RaktWindow *window) n_pages = poppler_document_get_n_pages (priv->document); gtk_action_set_sensitive (priv->action_prev, priv->page_no > 0); - gtk_action_set_sensitive (priv->action_next, priv->page_no < n_pages); + gtk_action_set_sensitive (priv->action_next, priv->page_no < n_pages - 1); page = poppler_document_get_page (priv->document, priv->page_no); @@ -156,23 +156,18 @@ render_page (RaktWindow *window) poppler_page_render_to_pixbuf (page, 0, 0, width, height, 1.0, 0, priv->pixbuf); gtk_image_set_from_pixbuf (GTK_IMAGE (priv->image), priv->pixbuf); + gtk_widget_show (priv->image); } static void -open_document (RaktWindow *window, gchar *file) +open_document (RaktWindow *window, gchar *uri) { RaktWindowPriv *priv; GError *error = NULL; - gchar real[PATH_MAX], buf[16 + PATH_MAX]; priv = GET_PRIV (window); - realpath (file, real); - - g_strlcpy (buf, "file://", sizeof (buf)); - g_strlcat (buf, real, sizeof (buf)); - - priv->document = poppler_document_new_from_file (buf, NULL, &error); + priv->document = poppler_document_new_from_file (uri, NULL, &error); priv->page_no = 0; render_page (window); @@ -226,7 +221,7 @@ on_delete_event (GtkWidget *widget, GdkEvent *event, gpointer user_data) { gtk_main_quit (); - return FALSE; + return TRUE; } static void @@ -247,7 +242,6 @@ rakt_window_init (RaktWindow *window) priv->image = gtk_image_new (); - gtk_widget_show (priv->image); gtk_box_pack_start (GTK_BOX (priv->content_vbox), priv->image, TRUE, TRUE, 0); @@ -308,11 +302,11 @@ on_action_open (GtkAction *action, RaktWindow *window) n = gtk_dialog_run (GTK_DIALOG (dialog)); if (n == GTK_RESPONSE_ACCEPT) { - gchar *file; + gchar *uri; - file = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog)); - open_document (window, file); - g_free (file); + uri = gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (dialog)); + open_document (window, uri); + g_free (uri); } gtk_widget_destroy (dialog);