]> www.fi.muni.cz Git - evince.git/commitdiff
Restore zoom settings when back from presentation mode.
authorCarlos Garcia Campos <carlosgc@gnome.org>
Sun, 24 Dec 2006 15:19:13 +0000 (15:19 +0000)
committerCarlos Garcia Campos <carlosgc@src.gnome.org>
Sun, 24 Dec 2006 15:19:13 +0000 (15:19 +0000)
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.

ChangeLog
shell/ev-view-private.h
shell/ev-view.c
shell/ev-window.c

index e64bb7d379af084592255e8ae32eec7c38c3521a..361fc71d71a3e6ea4d60832d77d93ef176f10e89 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+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):
index e60795e769a1f6f94addcc9c929f5fb424992649..d03a93678add9af9b8798a68e5048abe47e5e206 100644 (file)
@@ -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;
 
index 0db053638093c100e84f92c07c3fad96f3b7a6a0..8d65fb49407824b5de9b1763c32e89daad8f4551 100644 (file)
@@ -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)) {
index db296f1691d98fc1026e0234a01c528056b891f4..ce956b97c5b5f650af08676ba7a3fc43e9712891 100644 (file)
@@ -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));