diff options
Diffstat (limited to 'shell')
-rw-r--r-- | shell/ev-application.c | 10 | ||||
-rw-r--r-- | shell/main.c | 36 |
2 files changed, 42 insertions, 4 deletions
diff --git a/shell/ev-application.c b/shell/ev-application.c index 99ab0da..75c2247 100644 --- a/shell/ev-application.c +++ b/shell/ev-application.c @@ -33,14 +33,18 @@ #include <gtk/gtkstock.h> #include <gtk/gtkwidget.h> #include <gtk/gtkmain.h> + +#if WITH_GNOME #include <libgnomeui/gnome-client.h> -#include <string.h> +#endif #ifdef ENABLE_DBUS #include "ev-application-service.h" #include <dbus/dbus-glib-bindings.h> #endif +#include <string.h> + struct _EvApplication { GObject base_instance; @@ -137,6 +141,7 @@ ev_application_get_instance (void) return instance; } +#if WITH_GNOME static void removed_from_session (GnomeClient *client, EvApplication *application) { @@ -184,6 +189,7 @@ init_session (EvApplication *application) g_signal_connect (client, "die", G_CALLBACK (removed_from_session), application); } +#endif /** * ev_display_open_if_needed: @@ -603,7 +609,9 @@ ev_application_class_init (EvApplicationClass *ev_application_class) static void ev_application_init (EvApplication *ev_application) { +#if WITH_GNOME init_session (ev_application); +#endif ev_application->toolbars_model = egg_toolbars_model_new (); diff --git a/shell/main.c b/shell/main.c index 090b6bf..64b86df 100644 --- a/shell/main.c +++ b/shell/main.c @@ -27,10 +27,15 @@ #include <gtk/gtkmain.h> #include <stdlib.h> #include <string.h> + +#if WITH_GNOME #include <libgnome/gnome-program.h> #include <libgnomeui/gnome-ui-init.h> #include <libgnomeui/gnome-app-helper.h> #include <libgnomeui/gnome-authentication-manager.h> +#endif + +#include <libgnomevfs/gnome-vfs-init.h> #include <libgnomevfs/gnome-vfs-utils.h> #ifdef ENABLE_DBUS @@ -282,7 +287,11 @@ main (int argc, char *argv[]) gboolean enable_metadata = FALSE; GOptionContext *context; GHashTable *args; +#if WITH_GNOME GnomeProgram *program; +#else + GError *error = NULL; +#endif context = g_option_context_new (_("GNOME Document Viewer")); @@ -296,12 +305,24 @@ main (int argc, char *argv[]) g_option_context_add_main_entries (context, goption_options, NULL); #endif +#if WITH_GNOME program = gnome_program_init (PACKAGE, VERSION, LIBGNOMEUI_MODULE, argc, argv, GNOME_PARAM_GOPTION_CONTEXT, context, GNOME_PARAM_HUMAN_READABLE_NAME, _("Evince"), GNOME_PARAM_APP_DATADIR, GNOMEDATADIR, NULL); +#else + g_option_context_add_group (context, gtk_get_option_group (TRUE)); + if (!g_option_context_parse (context, &argc, &argv, &error)) { + g_warning ("Cannot parse arguments: %s", error->message); + g_error_free (error); + return 1; + } + g_option_context_free (context); + + gnome_vfs_init (); +#endif args = arguments_parse (); @@ -309,16 +330,19 @@ main (int argc, char *argv[]) if (!ev_application_register_service (EV_APP)) { if (load_files_remote (file_arguments, args)) { g_hash_table_destroy (args); +#if WITH_GNOME g_object_unref (program); - +#endif return 0; } } else { enable_metadata = TRUE; } #endif - + +#if WITH_GNOME gnome_authentication_manager_init (); +#endif if (enable_metadata) { ev_metadata_manager_init (); @@ -336,13 +360,19 @@ main (int argc, char *argv[]) gtk_main (); +#if WITH_GNOME gnome_accelerators_sync (); +#endif + ev_file_helpers_shutdown (); if (enable_metadata) { ev_metadata_manager_shutdown (); } - g_object_unref (program); +#if WITH_GNOME + g_object_unref (program); +#endif + return 0; } |