From 8a6f3e4fd0e85ea95564610a27514aa9d6c737b3 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Mon, 06 Apr 2009 17:05:52 +0000 Subject: Move ev_view_update_view_size() from libview to ev-window again and make 2009-04-06 Carlos Garcia Campos * libview/ev-view.[ch]: (ev_view_set_zoom), (ev_view_update_view_size): * shell/ev-window.c: (ev_window_set_view_size), (ev_window_sizing_mode_changed_cb), (ev_window_init): Move ev_view_update_view_size() from libview to ev-window again and make sure the view is not redrawn when calling ev_view_set_zoom more than once with the same zoom scale. svn path=/trunk/; revision=3573 --- (limited to 'libview') diff --git a/libview/ev-view.c b/libview/ev-view.c index 7626f86..8e7fc4a 100644 --- a/libview/ev-view.c +++ b/libview/ev-view.c @@ -2218,9 +2218,7 @@ ev_view_size_allocate (GtkWidget *widget, if (view->sizing_mode == EV_SIZING_FIT_WIDTH || view->sizing_mode == EV_SIZING_BEST_FIT) { - g_signal_emit (view, signals[SIGNAL_ZOOM_INVALID], 0); - ev_view_size_request (widget, &widget->requisition); } @@ -4441,6 +4439,9 @@ ev_view_set_zoom (EvView *view, view->sizing_mode == EV_SIZING_FREE ? view->min_scale : 0, view->max_scale); + if (scale == view->scale) + return; + if (ABS (view->scale - scale) < EPSILON) return; @@ -5834,38 +5835,3 @@ ev_view_previous_page (EvView *view) } } -/*** Enum description for usage in signal ***/ - -void -ev_view_update_view_size (EvView *view, GtkScrolledWindow * scrolled_window) -{ - int width, height; - GtkRequisition vsb_requisition; - GtkRequisition hsb_requisition; - int scrollbar_spacing; - - /* Calculate the width available for the content */ - width = GTK_WIDGET (scrolled_window)->allocation.width; - height = GTK_WIDGET (scrolled_window)->allocation.height; - - if (gtk_scrolled_window_get_shadow_type (scrolled_window) == GTK_SHADOW_IN - && view) { - width -= 2 * GTK_WIDGET(view)->style->xthickness; - height -= 2 * GTK_WIDGET(view)->style->ythickness; - } - - gtk_widget_size_request (scrolled_window->vscrollbar, &vsb_requisition); - gtk_widget_size_request (scrolled_window->hscrollbar, &hsb_requisition); - gtk_widget_style_get (GTK_WIDGET (scrolled_window), - "scrollbar_spacing", - &scrollbar_spacing, - NULL); - - if (EV_IS_VIEW(view)) { - ev_view_set_zoom_for_size (EV_VIEW (view), - MAX (1, width), - MAX (1, height), - vsb_requisition.width + scrollbar_spacing, - hsb_requisition.height + scrollbar_spacing); - } -} diff --git a/libview/ev-view.h b/libview/ev-view.h index 0c9db0a..2ff3aef 100644 --- a/libview/ev-view.h +++ b/libview/ev-view.h @@ -133,9 +133,6 @@ gboolean ev_view_next_page (EvView *view); gboolean ev_view_previous_page (EvView *view); gchar* ev_view_page_label_from_dest (EvView *view, EvLinkDest *dest); -void ev_view_update_view_size (EvView *view, - GtkScrolledWindow *scrolled_window); - void ev_view_autoscroll_start (EvView *view); void ev_view_autoscroll_stop (EvView *view); -- cgit v0.9.1