diff options
-rw-r--r-- | shell/ChangeLog | 5 | ||||
-rw-r--r-- | shell/e-shell-window-commands.c | 37 |
2 files changed, 17 insertions, 25 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog index 35d58a721d..e63e0331a2 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,8 @@ +2005-02-22 Marco Pesenti Gritti <marco@gnome.org> + + * shell/e-shell-window-commands.c: (command_quick_reference): + Use gnome-vfs API to open quick reference in the pdf viewer + 2005-02-22 William Jon McCann <mccann@jhu.edu> * e-shell-window.c (setup_offline_toggle): Make offline button scale diff --git a/shell/e-shell-window-commands.c b/shell/e-shell-window-commands.c index c6a7ded294..438e5c50cd 100644 --- a/shell/e-shell-window-commands.c +++ b/shell/e-shell-window-commands.c @@ -44,6 +44,7 @@ #include <libgnomevfs/gnome-vfs-mime-handlers.h> #include <libgnomevfs/gnome-vfs-mime-utils.h> +#include <libgnomevfs/gnome-vfs-utils.h> #include <bonobo/bonobo-ui-component.h> @@ -486,9 +487,6 @@ command_quick_reference (BonoboUIComponent *uih, const char *path) { char *quickref; - char *uri; - char *command; - GString *str; GnomeVFSMimeApplication *app; const GList *lang_list = gnome_i18n_get_language_list ("LC_MESSAGES"); @@ -504,29 +502,18 @@ command_quick_reference (BonoboUIComponent *uih, quickref = g_build_filename (EVOLUTION_HELPDIR, "quickref", lang, "quickref.pdf", NULL); if (g_file_test (quickref, G_FILE_TEST_EXISTS)) { app = gnome_vfs_mime_get_default_application ("application/pdf"); + if (app) { - str = g_string_new (""); - str = g_string_append (str, app->command); - - switch (app->expects_uris) { - case GNOME_VFS_MIME_APPLICATION_ARGUMENT_TYPE_URIS: - uri = g_strconcat ("file://", quickref, NULL); - g_string_append_printf (str, " %s", uri); - g_free (uri); - break; - case GNOME_VFS_MIME_APPLICATION_ARGUMENT_TYPE_PATHS: - case GNOME_VFS_MIME_APPLICATION_ARGUMENT_TYPE_URIS_FOR_NON_FILES: - g_string_append_printf (str, " %s", quickref); - break; - } - - command = g_string_free (str, FALSE); - if (command != NULL && - !g_spawn_command_line_async (command, NULL)) { - g_warning ("Could not launch %s", command); - } - - g_free (command); + GList *uris = NULL; + char *uri; + + uri = gnome_vfs_get_uri_from_local_path (quickref); + uris = g_list_append (uris, uri); + + gnome_vfs_mime_application_launch (app, uris); + + g_free (uri); + g_list_free (uris); gnome_vfs_mime_application_free (app); } |