From 69e9b806bc1420056bcd4d21d81aba0e74f3afdf Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Sun, 24 Dec 2006 15:19:13 +0000 Subject: Restore zoom settings when back from presentation mode. 2006-12-24 Carlos Garcia Campos * shell/ev-window.c: (ev_window_run_presentation): * shell/ev-view-private.h: * shell/ev-view.c: (ev_view_set_presentation): Restore zoom settings when back from presentation mode. --- diff --git a/ChangeLog b/ChangeLog index e64bb7d..361fc71 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2006-12-24 Carlos Garcia Campos + + * shell/ev-window.c: (ev_window_run_presentation): + * shell/ev-view-private.h: + * shell/ev-view.c: (ev_view_set_presentation): + + Restore zoom settings when back from presentation mode. + 2006-12-24 Wouter Bolsterlee * shell/ev-window.c: (ev_window_run_presentation): diff --git a/shell/ev-view-private.h b/shell/ev-view-private.h index e60795e..d03a936 100644 --- a/shell/ev-view-private.h +++ b/shell/ev-view-private.h @@ -105,9 +105,13 @@ struct _EvView { gboolean dual_page; gboolean fullscreen; gboolean presentation; - EvPresentationState presentation_state; EvSizingMode sizing_mode; + /* Presentation */ + EvPresentationState presentation_state; + EvSizingMode sizing_mode_saved; + double scale_saved; + /* Common for button press handling */ int pressed_button; diff --git a/shell/ev-view.c b/shell/ev-view.c index 0db0536..8d65fb4 100644 --- a/shell/ev-view.c +++ b/shell/ev-view.c @@ -3409,6 +3409,16 @@ ev_view_set_presentation (EvView *view, view->presentation = presentation; view->pending_scroll = SCROLL_TO_PAGE_POSITION; + + if (presentation) { + view->sizing_mode_saved = view->sizing_mode; + view->scale_saved = view->scale; + ev_view_set_sizing_mode (view, EV_SIZING_BEST_FIT); + } else { + ev_view_set_sizing_mode (view, view->sizing_mode_saved); + ev_view_set_zoom (view, view->scale_saved, FALSE); + } + gtk_widget_queue_resize (GTK_WIDGET (view)); if (GTK_WIDGET_REALIZED (view)) { diff --git a/shell/ev-window.c b/shell/ev-window.c index db296f1..ce956b9 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -2570,8 +2570,6 @@ ev_window_run_presentation (EvWindow *window) ev_view_set_presentation (EV_VIEW (window->priv->view), TRUE); ev_window_update_presentation_action (window); - ev_view_set_sizing_mode (EV_VIEW (window->priv->view), EV_SIZING_BEST_FIT); - gtk_widget_grab_focus (window->priv->view); gtk_window_fullscreen (GTK_WINDOW (window)); -- cgit v0.9.1