]> www.fi.muni.cz Git - evince.git/commitdiff
presentation: Enable screensaver again when window loses the focus
authorCarlos Garcia Campos <carlosgc@gnome.org>
Sun, 20 Mar 2011 10:52:12 +0000 (11:52 +0100)
committerCarlos Garcia Campos <carlosgc@gnome.org>
Sun, 20 Mar 2011 10:52:12 +0000 (11:52 +0100)
Fixes bug #644133.

shell/ev-window.c

index ad9eb143a931c69f8abdf568d3c25753ad330825..ee6160b79f20dd581b2cdcad809210cd63b562c8 100644 (file)
@@ -3976,6 +3976,22 @@ ev_window_view_presentation_finished (EvWindow *window)
        ev_window_stop_presentation (window, TRUE);
 }
 
+static gboolean
+ev_window_view_presentation_focus_in (EvWindow *window)
+{
+       ev_application_screensaver_disable (EV_APP);
+
+       return FALSE;
+}
+
+static gboolean
+ev_window_view_presentation_focus_out (EvWindow *window)
+{
+       ev_application_screensaver_enable (EV_APP);
+
+       return FALSE;
+}
+
 static void
 ev_window_run_presentation (EvWindow *window)
 {
@@ -4005,6 +4021,12 @@ ev_window_run_presentation (EvWindow *window)
        g_signal_connect_swapped (window->priv->presentation_view, "external-link",
                                  G_CALLBACK (view_external_link_cb),
                                  window);
+       g_signal_connect_swapped (window->priv->presentation_view, "focus-in-event",
+                                 G_CALLBACK (ev_window_view_presentation_focus_in),
+                                 window);
+       g_signal_connect_swapped (window->priv->presentation_view, "focus-out-event",
+                                 G_CALLBACK (ev_window_view_presentation_focus_out),
+                                 window);
 
        gtk_box_pack_start (GTK_BOX (window->priv->main_box),
                            window->priv->presentation_view,