From fc3de8814c8826f17857cd18aa8774cda1925bff Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Fri, 6 Jan 2012 23:10:04 +0000 Subject: Search-as-you-type. svn path=/trunk/netsurf/; revision=13385 --- gtk/search.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'gtk/search.c') diff --git a/gtk/search.c b/gtk/search.c index 66acf3be8..13740784a 100644 --- a/gtk/search.c +++ b/gtk/search.c @@ -134,11 +134,25 @@ gboolean nsgtk_search_entry_changed(GtkWidget *widget, gpointer data) struct browser_window *bw = nsgtk_get_browser_window( nsgtk_scaffolding_top_level(g)); - if (bw != NULL) - browser_window_search_destroy_context(bw); + assert(bw != NULL); + + browser_window_search_destroy_context(bw); nsgtk_search_set_forward_state(true, (void *)bw); nsgtk_search_set_back_state(true, (void *)bw); + + search_flags_t flags = SEARCH_FLAG_FORWARDS | + (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON( + nsgtk_scaffolding_search(g)->caseSens)) ? + SEARCH_FLAG_CASE_SENSITIVE : 0) | + (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON( + nsgtk_scaffolding_search(g)->checkAll)) ? + SEARCH_FLAG_SHOWALL : 0); + + if (browser_window_search_verify_new(bw, &nsgtk_search_callbacks, + (void *)bw)) + browser_window_search_step(bw, flags, gtk_entry_get_text( + nsgtk_scaffolding_search(g)->entry)); return TRUE; } -- cgit v1.2.3