diff options
author | Michael Drake <tlsa@netsurf-browser.org> | 2012-01-06 23:10:04 +0000 |
---|---|---|
committer | Michael Drake <tlsa@netsurf-browser.org> | 2012-01-06 23:10:04 +0000 |
commit | fc3de8814c8826f17857cd18aa8774cda1925bff (patch) | |
tree | 2781906b1494f65c9a3080a39ba9fef086fe1c12 | |
parent | 3b492b48428799b0eae21cbc8eee37bc834ebbb7 (diff) | |
download | netsurf-fc3de8814c8826f17857cd18aa8774cda1925bff.tar.gz netsurf-fc3de8814c8826f17857cd18aa8774cda1925bff.tar.bz2 |
Search-as-you-type.
svn path=/trunk/netsurf/; revision=13385
-rw-r--r-- | gtk/search.c | 18 |
1 files changed, 16 insertions, 2 deletions
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; } |