From cd303522106f5ce836d426697f8ce3334d955d60 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Fri, 31 Dec 2004 17:10:25 +0000 Subject: Add a changed event that is emitted when the page content changes. This is 2004-12-31 Marco Pesenti Gritti * backend/ev-document.c: (ev_document_base_init), (ev_document_changed): * backend/ev-document.h: Add a changed event that is emitted when the page content changes. This is necessary to deal with the fact that in ps backend rendering happen asycrounously. This makes the ps backend mostly work. * pdf/xpdf/pdf-document.cc: Emit changed event * ps/gtkgs.c: (set_up_page), (gtk_gs_widget_event), (ps_document_set_target): Emit changed event * shell/ev-view.c: (document_changed_callback), (ev_view_set_document), (ev_view_set_page): Redraw on the changed signal --- (limited to 'shell') diff --git a/shell/ev-view.c b/shell/ev-view.c index 07fdecd..bde7d33 100644 --- a/shell/ev-view.c +++ b/shell/ev-view.c @@ -596,6 +596,13 @@ ev_view_new (void) return g_object_new (EV_TYPE_VIEW, NULL); } +static void +document_changed_callback (EvDocument *document, + EvView *view) +{ + gtk_widget_queue_draw (GTK_WIDGET (view)); +} + void ev_view_set_document (EvView *view, EvDocument *document) @@ -624,6 +631,10 @@ ev_view_set_document (EvView *view, "found", G_CALLBACK (found_results_callback), view); + g_signal_connect (view->document, + "changed", + G_CALLBACK (document_changed_callback), + view); } if (GTK_WIDGET_REALIZED (view)) @@ -648,9 +659,7 @@ ev_view_set_page (EvView *view, g_signal_emit (view, page_changed_signal, 0); view->find_percent_complete = 0.0; - update_find_results (view); - - gtk_widget_queue_draw (GTK_WIDGET (view)); + update_find_results (view); } } } -- cgit v0.9.1