]> www.fi.muni.cz Git - evince.git/blobdiff - shell/ev-dualscreen.c
[shell] [presentation] notify changes
[evince.git] / shell / ev-dualscreen.c
index bb3c89e7d9f2aca01f06faa1a1e43b341d1b0eef..66b08e167accff92b09463895d501070aab827ff 100644 (file)
@@ -197,16 +197,17 @@ ev_dscwindow_page_changed_cb (EvDocumentModel *model,
                           EvDSCWindow     *ev_dscwindow)
 {
        gint page = ev_document_model_get_page (model);
-       g_printf("page:%d\n",page);
-
-       ev_view_presentation_set_page (EV_VIEW_PRESENTATION(ev_dscwindow->priv->presentation_view), page);
+       g_printf("m_page:%d\n",page);
+       if(page != ev_view_presentation_get_current_page (ev_dscwindow->priv->presentation_view))
+               ev_view_presentation_set_page (EV_VIEW_PRESENTATION(ev_dscwindow->priv->presentation_view), page);
 }
 static void
-ev_dscwindow_presentation_page_changed_cb (EvDocumentModel *model,
+ev_dscwindow_presentation_page_changed_cb (EvViewPresentation *pview,
                           GParamSpec      *pspec,
                           EvDSCWindow     *ev_dscwindow)
 {
-       gint page = ev_view_presentation_get_current_page (ev_dscwindow->priv->presentation_view);
+       gint page = ev_view_presentation_get_current_page (pview);
+       g_printf("p_page:%d\n",page);
        ev_document_model_set_page (ev_dscwindow->priv->model, page);
 }
 
@@ -224,12 +225,12 @@ ev_dscwindow_set_presentation (EvDSCWindow *ev_dscwindow,
        ev_dscwindow->priv->presentation_window = GTK_WIDGET(presentation_window);
        ev_dscwindow->priv->presentation_document = document;
        ev_dscwindow->priv->presentation_view = EV_VIEW_PRESENTATION(pview);
+       ev_document_model_set_document(ev_dscwindow->priv->model,
+               document);
        g_signal_connect (ev_dscwindow->priv->presentation_view,
-                         "notify::page",
+                         "notify::current_page",
                          G_CALLBACK (ev_dscwindow_presentation_page_changed_cb),
                          ev_dscwindow);
-       ev_document_model_set_document(ev_dscwindow->priv->model,
-               document);
        ev_dscwindow_window_placement (ev_dscwindow);
 }