From 3afd9c97310d58c0c6588d18887244328590731e Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Tue, 7 May 2013 14:41:40 +0100 Subject: Remove search context from browser window, simplify search interface for front ends. Added content interface for search. Removed bw->cur_search search context. Desktop layer now does nothing except pass search requests from front end onto the bw's current_content via the content interface. Search API reduced to a pair of functions at each level: {desktop|content|html|textplain}_search and {desktop|content|html|textplain}_search_clear Updated front ends to use simplified search API. Only tested GTK and RO builds. These confine the search stuff to render/. However search still uses struct selection. The handling for which is still spread over desktop/ and render/. Also the render/search code itself still fiddles inside html and textplain privates. --- amiga/search.c | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) (limited to 'amiga/search.c') diff --git a/amiga/search.c b/amiga/search.c index 12fe582cb..dd2aa2320 100755 --- a/amiga/search.c +++ b/amiga/search.c @@ -86,15 +86,11 @@ static struct gui_search_callbacks ami_search_callbacks = { */ void ami_search_open(struct gui_window *gwin) { - if (browser_window_search_create_context(gwin->shared->bw, - &ami_search_callbacks, NULL) == false) - return; - search_insert = true; if(fwin) { - browser_window_search_destroy_context(fwin->gwin->shared->bw); + browser_window_search_clear(fwin->gwin->shared->bw); ami_search_set_forward_state(true, NULL); ami_search_set_back_state(true, NULL); fwin->gwin->shared->searchwin = NULL; @@ -181,7 +177,7 @@ void ami_search_open(struct gui_window *gwin) void ami_search_close(void) { - browser_window_search_destroy_context(fwin->gwin->shared->bw); + browser_window_search_clear(fwin->gwin->shared->bw); ami_search_set_forward_state(true, NULL); ami_search_set_back_state(true, NULL); fwin->gwin->shared->searchwin = NULL; @@ -206,7 +202,7 @@ BOOL ami_search_event(void) switch(result & WMHI_GADGETMASK) { case GID_SEARCHSTRING: - browser_window_search_destroy_context( + browser_window_search_clear( fwin->gwin->shared->bw); ami_search_set_forward_state( true, NULL); @@ -229,13 +225,10 @@ BOOL ami_search_event(void) search_insert = true; flags = SEARCH_FLAG_FORWARDS | ami_search_flags(); - if (browser_window_search_verify_new( + browser_window_search( fwin->gwin->shared->bw, - &ami_search_callbacks, NULL)) - browser_window_search_step( - fwin->gwin->shared->bw, - flags, - ami_search_string()); + &ami_search_callbacks, NULL, + flags, ami_search_string()); ActivateWindow(fwin->gwin->shared->win); break; @@ -243,13 +236,10 @@ BOOL ami_search_event(void) search_insert = true; flags = ~SEARCH_FLAG_FORWARDS & ami_search_flags(); - if (browser_window_search_verify_new( + browser_window_search( fwin->gwin->shared->bw, - &ami_search_callbacks, NULL)) - browser_window_search_step( - fwin->gwin->shared->bw, - flags, - ami_search_string()); + &ami_search_callbacks, NULL, + flags, ami_search_string()); ActivateWindow(fwin->gwin->shared->win); break; } -- cgit v1.2.3