diff options
author | Nickolay V. Shmyrev <nshmyrev@src.gnome.org> | 2005-07-03 09:59:32 (GMT) |
---|---|---|
committer | Nickolay V. Shmyrev <nshmyrev@src.gnome.org> | 2005-07-03 09:59:32 (GMT) |
commit | 4d67007ded4eea4362878c78248ccb3d5ba3f5ee (patch) | |
tree | 5b7ffa80344bd3b89b0429656427f2ae897a9048 /shell | |
parent | ffa0624bf1b57634e5445c97e50a47134182e213 (diff) |
Exit from fullscreen mode when switch to presentation. Fix for bug 309365
* shell/ev-window.c: (update_document_mode),
(ev_window_run_fullscreen), (ev_window_stop_fullscreen),
(ev_window_cmd_view_fullscreen), (ev_window_stop_presentation),
(ev_window_cmd_view_presentation), (ev_window_cmd_escape):
Exit from fullscreen mode when switch to presentation. Fix for
bug 309365
Diffstat (limited to 'shell')
-rw-r--r-- | shell/ev-window.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/shell/ev-window.c b/shell/ev-window.c index b61926d..72b7a38 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -180,8 +180,8 @@ static void ev_window_zoom_changed_cb (EvView *view, EvWindow *ev_window); static void ev_window_add_recent (EvWindow *window, const char *filename); -static void ev_window_fullscreen (EvWindow *window); -static void ev_window_unfullscreen (EvWindow *window); +static void ev_window_run_fullscreen (EvWindow *window); +static void ev_window_stop_fullscreen (EvWindow *window); static void ev_window_cmd_view_fullscreen (GtkAction *action, EvWindow *window); static void ev_window_run_presentation (EvWindow *window); @@ -623,7 +623,7 @@ update_document_mode (EvWindow *window, EvDocumentMode mode) ev_window_run_presentation (window); } else if (mode == EV_DOCUMENT_MODE_FULL_SCREEN) { - ev_window_fullscreen (window); + ev_window_run_fullscreen (window); } } @@ -1634,7 +1634,7 @@ ev_window_update_fullscreen_action (EvWindow *window) } static void -ev_window_fullscreen (EvWindow *window) +ev_window_run_fullscreen (EvWindow *window) { ev_view_set_fullscreen (EV_VIEW (window->priv->view), TRUE); if (window->priv->fullscreen_popup == NULL) @@ -1663,10 +1663,13 @@ ev_window_fullscreen (EvWindow *window) } static void -ev_window_unfullscreen (EvWindow *window) +ev_window_stop_fullscreen (EvWindow *window) { EvView *view = EV_VIEW (window->priv->view); + if (!ev_view_get_fullscreen (EV_VIEW (view))) + return; + ev_view_set_fullscreen (view, FALSE); g_object_set (G_OBJECT (window->priv->scrolled_window), "shadow-type", GTK_SHADOW_IN, @@ -1695,9 +1698,9 @@ ev_window_cmd_view_fullscreen (GtkAction *action, EvWindow *window) fullscreen = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)); if (fullscreen) { - ev_window_fullscreen (window); + ev_window_run_fullscreen (window); } else { - ev_window_unfullscreen (window); + ev_window_stop_fullscreen (window); } } @@ -1732,7 +1735,7 @@ ev_window_run_presentation (EvWindow *window) static void ev_window_stop_presentation (EvWindow *window) { - if (! ev_view_get_presentation (EV_VIEW (window->priv->view))) + if (!ev_view_get_presentation (EV_VIEW (window->priv->view))) return; g_object_set (G_OBJECT (window->priv->scrolled_window), @@ -1750,6 +1753,7 @@ ev_window_cmd_view_presentation (GtkAction *action, EvWindow *window) gboolean presentation; g_return_if_fail (EV_IS_WINDOW (window)); + ev_window_stop_fullscreen (window); presentation = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)); if (presentation) { @@ -2042,7 +2046,7 @@ ev_window_cmd_escape (GtkAction *action, EvWindow *window) NULL); if (fullscreen) - ev_window_unfullscreen (window); + ev_window_stop_fullscreen (window); if (presentation) ev_window_stop_presentation (window); |