+static void
+view_page_changed_cb (EvView *view,
+ EvWindow *ev_window)
+{
+ update_action_sensitivity (ev_window);
+}
+
+static void
+find_bar_previous_cb (EggFindBar *find_bar,
+ EvWindow *ev_window)
+{
+ /* FIXME - highlight previous result */
+ g_printerr ("Find Previous\n");
+
+}
+
+static void
+find_bar_next_cb (EggFindBar *find_bar,
+ EvWindow *ev_window)
+{
+ /* FIXME - highlight next result */
+ g_printerr ("Find Next\n");
+}
+
+static void
+find_bar_close_cb (EggFindBar *find_bar,
+ EvWindow *ev_window)
+{
+ gtk_widget_hide (ev_window->priv->find_bar);
+}
+
+static void
+find_bar_search_changed_cb (EggFindBar *find_bar,
+ GParamSpec *param,
+ EvWindow *ev_window)
+{
+ gboolean case_sensitive;
+ gboolean visible;
+ const char *search_string;
+
+ g_return_if_fail (EV_IS_WINDOW (ev_window));
+
+ /* Either the string or case sensitivity could have changed,
+ * we connect this callback to both. We also connect it
+ * to ::visible so when the find bar is hidden, we should
+ * pretend the search string is NULL/""
+ */
+
+ case_sensitive = egg_find_bar_get_case_sensitive (find_bar);
+ visible = GTK_WIDGET_VISIBLE (find_bar);
+ search_string = egg_find_bar_get_search_string (find_bar);
+
+#if 0
+ g_printerr ("search for '%s'\n", search_string ? search_string : "(nil)");
+#endif
+
+ /* We don't require begin/end find calls to be matched up, it's really
+ * start_find and cancel_any_find_that_may_not_be_finished
+ */
+ if (visible && search_string) {
+ ev_document_begin_find (ev_window->priv->document, search_string, case_sensitive);
+ } else {
+ ev_document_end_find (ev_window->priv->document);
+ }
+}
+