]> www.fi.muni.cz Git - evince.git/blobdiff - previewer/ev-previewer-window.c
Remove zoom-invalid signal from EvView
[evince.git] / previewer / ev-previewer-window.c
index 15a16071b9822344345b5be36c37fc846b9e6132..c406a2237accd1cf15525e2a484b56868601ad47 100644 (file)
@@ -20,7 +20,9 @@
 
 #include <config.h>
 
+#if GTKUNIXPRINT_ENABLED
 #include <gtk/gtkunixprint.h>
+#endif
 #include <glib/gi18n.h>
 #include <evince-view.h>
 #include "ev-page-action.h"
@@ -42,7 +44,9 @@ struct _EvPreviewerWindow {
        /* Printing */
        GtkPrintSettings *print_settings;
        GtkPageSetup     *print_page_setup;
+#if GTKUNIXPRINT_ENABLED
        GtkPrinter       *printer;
+#endif
        gchar            *print_job_title;
        gchar            *source_file;
 };
@@ -67,42 +71,7 @@ get_screen_dpi (GtkWindow *window)
        return (xdpi + ydpi) / 2.0;
 }
 
-static void
-ev_previewer_window_set_view_size (EvPreviewerWindow *window)
-{
-       gint width, height;
-       GtkRequisition vsb_requisition;
-       GtkRequisition hsb_requisition;
-       gint scrollbar_spacing;
-
-       if (!window->view)
-               return;
-
-       /* Calculate the width available for the content */
-       width  = window->swindow->allocation.width;
-       height = window->swindow->allocation.height;
-
-       if (gtk_scrolled_window_get_shadow_type (GTK_SCROLLED_WINDOW (window->swindow)) == GTK_SHADOW_IN) {
-               width -=  2 * GTK_WIDGET (window->view)->style->xthickness;
-               height -= 2 * GTK_WIDGET (window->view)->style->ythickness;
-       }
-
-       gtk_widget_size_request (GTK_SCROLLED_WINDOW (window->swindow)->vscrollbar,
-                                &vsb_requisition);
-       gtk_widget_size_request (GTK_SCROLLED_WINDOW (window->swindow)->hscrollbar,
-                                &hsb_requisition);
-       gtk_widget_style_get (window->swindow,
-                             "scrollbar_spacing",
-                             &scrollbar_spacing,
-                             NULL);
-
-       ev_view_set_zoom_for_size (window->view,
-                                  MAX (1, width),
-                                  MAX (1, height),
-                                  vsb_requisition.width + scrollbar_spacing,
-                                  hsb_requisition.height + scrollbar_spacing);
-}
-
+#if GTKUNIXPRINT_ENABLED
 static void
 ev_previewer_window_error_dialog_run (EvPreviewerWindow *window,
                                      GError            *error)
@@ -120,6 +89,7 @@ ev_previewer_window_error_dialog_run (EvPreviewerWindow *window,
        gtk_dialog_run (GTK_DIALOG (dialog));
        gtk_widget_destroy (dialog);
 }
+#endif
 
 static void
 ev_previewer_window_previous_page (GtkAction         *action,
@@ -157,7 +127,6 @@ ev_previewer_window_zoom_best_fit (GtkToggleAction   *action,
 {
        if (gtk_toggle_action_get_active (action)) {
                ev_view_set_sizing_mode (window->view, EV_SIZING_BEST_FIT);
-               ev_previewer_window_set_view_size (window);
        } else {
                ev_view_set_sizing_mode (window->view, EV_SIZING_FREE);
        }
@@ -169,7 +138,6 @@ ev_previewer_window_zoom_page_width (GtkToggleAction   *action,
 {
        if (gtk_toggle_action_get_active (action)) {
                ev_view_set_sizing_mode (window->view, EV_SIZING_FIT_WIDTH);
-               ev_previewer_window_set_view_size (window);
        } else {
                ev_view_set_sizing_mode (window->view, EV_SIZING_FREE);
        }
@@ -184,6 +152,7 @@ ev_previewer_window_action_page_activated (GtkAction         *action,
        gtk_widget_grab_focus (GTK_WIDGET (window->view));
 }
 
+#if GTKUNIXPRINT_ENABLED
 static void
 ev_previewer_window_print_finished (GtkPrintJob       *print_job,
                                    EvPreviewerWindow *window,
@@ -273,6 +242,7 @@ ev_previewer_window_print (GtkAction         *action,
                                (GDestroyNotify)ev_previewer_window_enumerate_finished,
                                FALSE);
 }
+#endif
 
 static const GtkActionEntry action_entries[] = {
        { "GoPreviousPage", GTK_STOCK_GO_UP, N_("_Previous Page"), "<control>Page_Up",
@@ -287,9 +257,11 @@ static const GtkActionEntry action_entries[] = {
         { "ViewZoomOut", GTK_STOCK_ZOOM_OUT, NULL, "<control>minus",
           N_("Shrink the document"),
           G_CALLBACK (ev_previewer_window_zoom_out) },
+#if GTKUNIXPRINT_ENABLED
        { "PreviewPrint", GTK_STOCK_PRINT, N_("Print"), NULL,
          N_("Print this document"),
          G_CALLBACK (ev_previewer_window_print) }
+#endif
 };
 
 static const GtkToggleActionEntry toggle_action_entries[] = {
@@ -368,10 +340,12 @@ ev_previewer_window_dispose (GObject *object)
                window->print_page_setup = NULL;
        }
 
+#if GTKUNIXPRINT_ENABLED
        if (window->printer) {
                g_object_unref (window->printer);
                window->printer = NULL;
        }
+#endif
 
        if (window->print_job_title) {
                g_free (window->print_job_title);
@@ -466,10 +440,7 @@ ev_previewer_window_init (EvPreviewerWindow *window)
        g_signal_connect (window->view, "notify::sizing-mode",
                          G_CALLBACK (view_sizing_mode_changed),
                          window);
-       g_signal_connect_swapped (window->view, "zoom_invalid",
-                                 G_CALLBACK (ev_previewer_window_set_view_size),
-                                 window);
-       
+
        ev_view_set_screen_dpi (window->view, get_screen_dpi (GTK_WINDOW (window)));
        ev_view_set_continuous (window->view, FALSE);
        ev_view_set_sizing_mode (window->view, EV_SIZING_FIT_WIDTH);