X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?p=evince.git;a=blobdiff_plain;f=shell%2Fev-dualscreen.c;fp=shell%2Fev-dualscreen.c;h=0fa9782179e591efeba0be1756013fa49c6e79be;hp=c439e84df2612b1c9b30c291e42252d007f51b2d;hb=156da1afa7b81a00d6308bbf519db965db01fcf2;hpb=aab1fa5bcd4045b0f2278c4c8b3d4598c6f4491e diff --git a/shell/ev-dualscreen.c b/shell/ev-dualscreen.c index c439e84d..0fa97821 100644 --- a/shell/ev-dualscreen.c +++ b/shell/ev-dualscreen.c @@ -108,16 +108,18 @@ static void ev_dscwindow_set_page (EvDSCWindow *ev_dscwindow, gint page) { guint n_pages = ev_document_get_n_pages(ev_dscwindow->priv->presentation_document); - if((ev_dscwindow->priv->page == 0) && (page == 1)) - ; - if((ev_dscwindow->priv->page == n_pages-1) && (page == n_pages)) - ; - ev_view_presentation_set_page (EV_VIEW_PRESENTATION(ev_dscwindow->priv->presentation_view), page); - ev_document_model_set_page(ev_dscwindow->priv->model, page); - ev_document_model_set_page(ev_dscwindow->priv->notes_model, page); + ev_presentation_timer_start (EV_PRESENTATION_TIMER (ev_dscwindow->priv->timer)); + if(ev_dscwindow->priv->page != page) { + if(ev_view_presentation_get_current_page (EV_VIEW_PRESENTATION(ev_dscwindow->priv->presentation_view)) != page); + ev_view_presentation_set_page (EV_VIEW_PRESENTATION(ev_dscwindow->priv->presentation_view), page); + if(ev_document_model_get_page (ev_dscwindow->priv->model) != page) + ev_document_model_set_page(ev_dscwindow->priv->model, page); + if(ev_document_model_get_page (ev_dscwindow->priv->notes_model) != page) + ev_document_model_set_page(ev_dscwindow->priv->notes_model, page); + ev_dscwindow->priv->page = page; + } ev_presentation_timer_set_page (EV_PRESENTATION_TIMER(ev_dscwindow->priv->timer), page); - ev_dscwindow->priv->page = page; } static void @@ -360,7 +362,7 @@ ev_dscwindow_init (EvDSCWindow *ev_dscwindow) static void ev_dscwindow_dispose (GObject *obj) { - EvDSCWindow * ev_dscwindow = EV_DSCWINDOW (obj); + EvDSCWindow *ev_dscwindow = EV_DSCWINDOW (obj); EvDSCWindowPrivate *priv = ev_dscwindow->priv; if (priv->moveback_monitor >= 0) { @@ -373,12 +375,12 @@ ev_dscwindow_dispose (GObject *obj) gtk_window_move (presentation_window, coords.x, coords.y); } - ev_window_stop_presentation (EV_WINDOW(priv->presentation_window), TRUE); - /*if (priv->overview) { - g_object_unref (priv->overview); - priv->overview = NULL; + /*if (priv->timer) { + g_object_unref (priv->timer); + priv->timer = NULL; }*/ - + ev_presentation_timer_stop(priv->timer); + ev_window_stop_presentation (EV_WINDOW(priv->presentation_window), TRUE); G_OBJECT_CLASS (ev_dscwindow_parent_class)->dispose (obj); }