From 8832b1004e86b6a4aee4798d8cc2a40f0291cb65 Mon Sep 17 00:00:00 2001 From: xbezdick <255993@mail.muni.cz> Date: Tue, 19 Apr 2011 18:06:35 +0200 Subject: [PATCH] [presentation] resize presentation when window allocation changes --- libview/ev-view-presentation.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/libview/ev-view-presentation.c b/libview/ev-view-presentation.c index be8c336c..14cd0dab 100644 --- a/libview/ev-view-presentation.c +++ b/libview/ev-view-presentation.c @@ -1235,8 +1235,9 @@ ev_view_presentation_motion_notify_event (GtkWidget *widget, return FALSE; } -void ev_view_presentation_resize_cb (EvViewPresentation *pview, - gpointer data) +static void +ev_view_presentation_resize_cb (EvViewPresentation *pview, + gpointer data) { GdkScreen *screen = gtk_widget_get_screen (GTK_WIDGET(pview)); GdkRectangle monitor; @@ -1244,8 +1245,15 @@ void ev_view_presentation_resize_cb (EvViewPresentation *pview, monitor_num = gdk_screen_get_monitor_at_window (screen, gtk_widget_get_window (GTK_WIDGET(pview))); gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor); - g_printf("%d %d\n",monitor.width,monitor.height); - } + if(!(pview->monitor_width == monitor.width)||!(pview->monitor_height = monitor.height)) { + pview->monitor_width = monitor.width; + pview->monitor_height = monitor.height; + + pview->scale = 0; + ev_view_presentation_reset_jobs (pview); + ev_view_presentation_update_current_page (pview, pview->current_page); + } +} static gboolean init_presentation (GtkWidget *widget) @@ -1255,9 +1263,8 @@ init_presentation (GtkWidget *widget) GdkRectangle monitor; gint monitor_num; - g_signal_connect_swapped(G_OBJECT(screen), "size-changed", - G_CALLBACK(ev_view_presentation_resize_cb),G_OBJECT(pview)); - + g_signal_connect_swapped(G_OBJECT(widget), "size-allocate", + G_CALLBACK(ev_view_presentation_resize_cb),G_OBJECT(pview)); monitor_num = gdk_screen_get_monitor_at_window (screen, gtk_widget_get_window (widget)); gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor); -- 2.39.3