projects
/
raktpdf.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed an off-by-one error that enabled the "next" button on the last page.
[raktpdf.git]
/
src
/
rakt-window.c
diff --git
a/src/rakt-window.c
b/src/rakt-window.c
index 1ada22c1534c51fbe0c9b31c1079253625c70ae6..13b35d8c7a39dc6900b5b9f1b2ae782235a18d06 100644
(file)
--- 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);
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);
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);
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
}
static void
-open_document (RaktWindow *window, gchar *
file
)
+open_document (RaktWindow *window, gchar *
uri
)
{
RaktWindowPriv *priv;
GError *error = NULL;
{
RaktWindowPriv *priv;
GError *error = NULL;
- gchar real[PATH_MAX], buf[16 + PATH_MAX];
priv = GET_PRIV (window);
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);
priv->page_no = 0;
render_page (window);
@@
-226,7
+221,7
@@
on_delete_event (GtkWidget *widget, GdkEvent *event, gpointer user_data)
{
gtk_main_quit ();
{
gtk_main_quit ();
- return
FALS
E;
+ return
TRU
E;
}
static void
}
static void
@@
-247,7
+242,6
@@
rakt_window_init (RaktWindow *window)
priv->image = gtk_image_new ();
priv->image = gtk_image_new ();
- gtk_widget_show (priv->image);
gtk_box_pack_start (GTK_BOX (priv->content_vbox), priv->image,
TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (priv->content_vbox), priv->image,
TRUE, TRUE, 0);
@@
-308,10
+302,11
@@
on_action_open (GtkAction *action, RaktWindow *window)
n = gtk_dialog_run (GTK_DIALOG (dialog));
if (n == GTK_RESPONSE_ACCEPT) {
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);
+ uri = gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (dialog));
+ open_document (window, uri);
+ g_free (uri);
}
gtk_widget_destroy (dialog);
}
gtk_widget_destroy (dialog);