X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=shell%2Fev-window.c;h=ef6f0b16ac85271cb1e5207cc7d2508e5d60e4fa;hb=648a3193781bad3fe1cf5e581c8b6ccf1bc2ee15;hp=aac080d49a30b0eeee1f0bf66c64f3c5e4a90fca;hpb=62df37775327697af13682f058c61fabc4229883;p=evince.git diff --git a/shell/ev-window.c b/shell/ev-window.c index aac080d4..ef6f0b16 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -51,6 +51,7 @@ #include "ephy-zoom.h" #include "ev-application.h" +#include "ev-dualscreen.h" #include "ev-document-factory.h" #include "ev-document-find.h" #include "ev-document-fonts.h" @@ -309,9 +310,6 @@ static void ev_window_stop_fullscreen (EvWindow *windo gboolean unfullscreen_window); static void ev_window_cmd_view_fullscreen (GtkAction *action, EvWindow *window); -static void ev_window_run_presentation (EvWindow *window); -static void ev_window_stop_presentation (EvWindow *window, - gboolean unfullscreen_window); static void ev_window_cmd_view_presentation (GtkAction *action, EvWindow *window); static void ev_view_popup_cmd_open_link (GtkAction *action, @@ -3999,7 +3997,7 @@ ev_window_view_presentation_focus_out (EvWindow *window) return FALSE; } -static void +void ev_window_run_presentation (EvWindow *window) { gboolean fullscreen_window = TRUE; @@ -4022,6 +4020,7 @@ ev_window_run_presentation (EvWindow *window) current_page, rotation, inverted_colors); + g_signal_connect_swapped (window->priv->presentation_view, "finished", G_CALLBACK (ev_window_view_presentation_finished), window); @@ -4053,9 +4052,17 @@ ev_window_run_presentation (EvWindow *window) if (window->priv->metadata && !ev_window_is_empty (window)) ev_metadata_set_boolean (window->priv->metadata, "presentation", TRUE); + + if ( get_num_monitors(GTK_WINDOW(window)) > 1) { + EvDSCWindow *control = ev_dscwindow_get_control(); + gtk_window_present (GTK_WINDOW (control)); + ev_dscwindow_set_presentation (control, window, + window->priv->document, + EV_VIEW_PRESENTATION(window->priv->presentation_view)); + } } -static void +void ev_window_stop_presentation (EvWindow *window, gboolean unfullscreen_window) {