diff options
Diffstat (limited to 'amiga')
-rw-r--r-- | amiga/gui.c | 1 | ||||
-rwxr-xr-x | amiga/search.c | 24 | ||||
-rwxr-xr-x | amiga/search.h | 2 |
3 files changed, 11 insertions, 16 deletions
diff --git a/amiga/gui.c b/amiga/gui.c index 69b3c8db5..0af7a1ac8 100644 --- a/amiga/gui.c +++ b/amiga/gui.c @@ -5167,6 +5167,7 @@ int main(int argc, char** argv) .download = amiga_download_table, .fetch = &amiga_fetch_table, .utf8 = amiga_utf8_table, + .search = amiga_search_table, }; /* Open popupmenu.library just to check the version. diff --git a/amiga/search.c b/amiga/search.c index 17a2d453c..53754145a 100755 --- a/amiga/search.c +++ b/amiga/search.c @@ -69,14 +69,15 @@ static void ami_search_add_recent(const char *string, void *p); static void ami_search_set_forward_state(bool active, void *p); static void ami_search_set_back_state(bool active, void *p); -static struct gui_search_callbacks ami_search_callbacks = { - ami_search_set_forward_state, - ami_search_set_back_state, +static struct gui_search_table search_table = { ami_search_set_status, ami_search_set_hourglass, - ami_search_add_recent + ami_search_add_recent, + ami_search_set_forward_state, + ami_search_set_back_state, }; +struct gui_search_table *amiga_search_table = &search_table; /** * Change the displayed search status. @@ -90,8 +91,6 @@ void ami_search_open(struct gui_window *gwin) if(fwin) { 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; fwin->gwin = gwin; gwin->shared->searchwin = fwin; @@ -177,8 +176,6 @@ void ami_search_open(struct gui_window *gwin) void ami_search_close(void) { 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; DisposeObject(fwin->objects[OID_MAIN]); DelObject(fwin->node); @@ -201,12 +198,7 @@ BOOL ami_search_event(void) switch(result & WMHI_GADGETMASK) { case GID_SEARCHSTRING: - browser_window_search_clear( - fwin->gwin->shared->bw); - ami_search_set_forward_state( - true, NULL); - ami_search_set_back_state( - true, NULL); + browser_window_search_clear(fwin->gwin->shared->bw); RefreshSetGadgetAttrs((struct Gadget *)fwin->objects[GID_PREV], fwin->win, NULL, @@ -226,7 +218,7 @@ BOOL ami_search_event(void) ami_search_flags(); browser_window_search( fwin->gwin->shared->bw, - &ami_search_callbacks, NULL, + NULL, flags, ami_search_string()); ActivateWindow(fwin->gwin->shared->win); break; @@ -237,7 +229,7 @@ BOOL ami_search_event(void) ami_search_flags(); browser_window_search( fwin->gwin->shared->bw, - &ami_search_callbacks, NULL, + NULL, flags, ami_search_string()); ActivateWindow(fwin->gwin->shared->win); break; diff --git a/amiga/search.h b/amiga/search.h index fde730280..ce5ae7c21 100755 --- a/amiga/search.h +++ b/amiga/search.h @@ -28,6 +28,8 @@ struct find_window { struct gui_window *gwin; }; +struct gui_search_table *amiga_search_table; + void ami_search_open(struct gui_window *gwin); BOOL ami_search_event(void); void ami_search_close(void); |