"HelpMenu", NULL, "_Help", NULL, NULL, NULL
},
{
- "Open", GTK_STOCK_OPEN,
- "_Open", "<control>O", "Open a PDF file",
+ "Open", GTK_STOCK_OPEN, "_Open",
+ "<control>O", "Open a PDF file",
G_CALLBACK (on_action_open)
},
{
G_CALLBACK (on_action_go_previous)
},
{
- "Quit", GTK_STOCK_QUIT,
- "_Quit", "<control>Q", "Quit the application",
+ "Quit", GTK_STOCK_QUIT, "_Quit",
+ "<control>Q", "Quit the application",
G_CALLBACK (on_action_quit)
},
{
- "About", GTK_STOCK_ABOUT,
- "_About", NULL, "About this application",
+ "About", GTK_STOCK_ABOUT, "_About",
+ NULL, "About this application",
G_CALLBACK (on_action_about)
}
};
}
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);
{
gtk_main_quit ();
- return FALSE;
+ return TRUE;
}
static void
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);