diff options
author | Nickolay V. Shmyrev <nshmyrev@src.gnome.org> | 2006-02-10 04:36:12 (GMT) |
---|---|---|
committer | Nickolay V. Shmyrev <nshmyrev@src.gnome.org> | 2006-02-10 04:36:12 (GMT) |
commit | f2511820a5499da40ae972bc833616a176d78f8f (patch) | |
tree | 3397621dd1267eb8d899cd52e08e0f3ba55d06cb /shell/ev-window.c | |
parent | fb037eb2a0842976deddd8df6793ed642eea5674 (diff) |
Make printing support optional. Patch from Eduardo de Barros Lima
* configure.ac:
* shell/Makefile.am:
* shell/ev-sidebar-links.c: (print_section_cb):
* shell/ev-utils.c:
* shell/ev-utils.h:
* shell/ev-window.c: (update_action_sensitivity),
(ev_window_close_dialogs), (ev_window_print):
* shell/ev-window.h:
Make printing support optional. Patch from Eduardo de Barros Lima
<eduardo.lima@indt.org.br> for the bug #330546.
Diffstat (limited to 'shell/ev-window.c')
-rw-r--r-- | shell/ev-window.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/shell/ev-window.c b/shell/ev-window.c index 5424c6a..60479ba 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -37,7 +37,6 @@ #include "ev-view.h" #include "ev-password.h" #include "ev-password-view.h" -#include "ev-print-job.h" #include "ev-properties-dialog.h" #include "ev-ps-exporter.h" #include "ev-document-thumbnails.h" @@ -65,12 +64,16 @@ #include "ev-utils.h" #include "ev-debug.h" +#ifdef WITH_GNOME_PRINT +#include "ev-print-job.h" +#include <libgnomeprintui/gnome-print-dialog.h> +#endif + #include <poppler.h> #include <glib/gi18n.h> #include <gtk/gtk.h> #include <gnome.h> -#include <libgnomeprintui/gnome-print-dialog.h> #include <libgnomevfs/gnome-vfs-utils.h> #include <gconf/gconf-client.h> @@ -108,7 +111,9 @@ struct _EvWindowPrivate { /* Dialogs */ GtkWidget *properties; +#ifdef WITH_GNOME_PRINT GtkWidget *print_dialog; +#endif GtkWidget *password_dialog; /* UI Builders */ @@ -139,7 +144,9 @@ struct _EvWindowPrivate { /* Job used to load document */ EvJob *xfer_job; EvJob *load_job; +#ifdef WITH_GNOME_PRINT GnomePrintJob *print_job; +#endif }; static const GtkTargetEntry ev_drop_types[] = { @@ -275,6 +282,10 @@ update_action_sensitivity (EvWindow *ev_window) ok_to_copy_text = ev_view_get_has_selection (view); } +#ifndef WITH_GNOME_PRINT + ok_to_print = FALSE; +#endif + /* File menu */ /* "FileOpen": always sensitive */ set_action_sensitive (ev_window, "FileSaveAs", has_document && ok_to_copy); @@ -1047,12 +1058,14 @@ ev_window_close_dialogs (EvWindow *ev_window) gtk_widget_destroy (ev_window->priv->password_dialog); ev_window->priv->password_dialog = NULL; +#ifdef WITH_GNOME_PRINT if (ev_window->priv->print_dialog) { gtk_widget_destroy (ev_window->priv->print_dialog); g_object_unref (ev_window->priv->print_job); } ev_window->priv->print_dialog = NULL; ev_window->priv->print_job = NULL; +#endif if (ev_window->priv->properties) gtk_widget_destroy (ev_window->priv->properties); @@ -1261,10 +1274,13 @@ ev_window_print (EvWindow *window) page_cache = ev_page_cache_get (window->priv->document); last_page = ev_page_cache_get_n_pages (page_cache); +#ifdef WITH_GNOME_PRINT ev_window_print_range (window, 1, last_page); +#endif } +#ifdef WITH_GNOME_PRINT static gboolean ev_window_print_dialog_response_cb (GtkDialog *print_dialog, gint response, gpointer data) { @@ -1368,6 +1384,7 @@ ev_window_print_range (EvWindow *ev_window, int first_page, int last_page) gtk_widget_show (ev_window->priv->print_dialog); return; } +#endif /* WITH_GNOME_PRINT */ static void ev_window_cmd_file_print (GtkAction *action, EvWindow *ev_window) |