[evince] libview: Add ev_view_find_started to conect find update signal to the view



commit 64475bd09c0a6c2bffa8591aa1da8514e1268a88
Author: Gonzalo Odiard <godiard gmail com>
Date:   Thu Sep 6 15:41:05 2012 -0300

    libview: Add ev_view_find_started to conect find update signal to the view
    
    The method ev_view_find_changed is not introspectable
    because use a pointer to a array as parameter.
    As proposed in bug #682875 [1], this patch add a method ev_view_find_started
    
    Signed-off-by: Gonzalo Odiard <gonzalo laptop org>
    
    https://bugzilla.gnome.org/show_bug.cgi?id=682875#c8

 libview/ev-view.c |   12 ++++++++++++
 libview/ev-view.h |    2 ++
 shell/ev-window.c |    6 ++----
 3 files changed, 16 insertions(+), 4 deletions(-)
---
diff --git a/libview/ev-view.c b/libview/ev-view.c
index 7ccad3c..9c9adc5 100644
--- a/libview/ev-view.c
+++ b/libview/ev-view.c
@@ -5766,6 +5766,18 @@ jump_to_find_page (EvView *view, EvViewFindDirection direction, gint shift)
 	}
 }
 
+static void
+find_job_updated_cb (EvJobFind *job, gint page, EvView *view)
+{
+	ev_view_find_changed (view, ev_job_find_get_results (job), page);
+}
+
+void
+ev_view_find_started (EvView *view, EvJobFind *job)
+{
+	g_signal_connect (job, "updated", G_CALLBACK (find_job_updated_cb), view);
+}
+
 void
 ev_view_find_changed (EvView *view, GList **results, gint page)
 {
diff --git a/libview/ev-view.h b/libview/ev-view.h
index 06f5b30..0f7d166 100644
--- a/libview/ev-view.h
+++ b/libview/ev-view.h
@@ -69,6 +69,8 @@ gboolean        ev_view_can_zoom_out      (EvView         *view);
 void		ev_view_zoom_out	  (EvView         *view);
 
 /* Find */
+void            ev_view_find_started              (EvView         *view,
+						   EvJobFind      *job);
 void            ev_view_find_next                 (EvView         *view);
 void            ev_view_find_previous             (EvView         *view);
 void            ev_view_find_search_changed       (EvView         *view);
diff --git a/shell/ev-window.c b/shell/ev-window.c
index d21c4dd..e2c14b1 100644
--- a/shell/ev-window.c
+++ b/shell/ev-window.c
@@ -5377,10 +5377,6 @@ ev_window_find_job_updated_cb (EvJobFind *job,
 			       EvWindow  *ev_window)
 {
 	ev_window_update_actions (ev_window);
-	
-	ev_view_find_changed (EV_VIEW (ev_window->priv->view),
-			      ev_job_find_get_results (job),
-			      page);
 	ev_window_update_find_status_message (ev_window);
 }
 
@@ -5453,6 +5449,8 @@ ev_window_search_start (EvWindow *ev_window)
 			options |= EV_FIND_WHOLE_WORDS_ONLY;
 		ev_job_find_set_options (EV_JOB_FIND (ev_window->priv->find_job), options);
 
+		ev_view_find_started (EV_VIEW (ev_window->priv->view), EV_JOB_FIND (ev_window->priv->find_job));
+
 		g_signal_connect (ev_window->priv->find_job, "finished",
 				  G_CALLBACK (ev_window_find_job_finished_cb),
 				  ev_window);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]