+2006-12-24 Carlos Garcia Campos <carlosgc@gnome.org>
+
+ * 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 <wbolster@cvs.gnome.org>
* shell/ev-window.c: (ev_window_run_presentation):
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;
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)) {
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));