From 4d4d74c8cd1a77a46cbe0816cf6150f8b4980947 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Tue, 18 Mar 2014 22:32:52 +0000 Subject: move page search gui callbacks to their own operations table --- atari/gui.c | 1 + atari/search.c | 19 +++++++++++-------- atari/search.h | 3 +++ 3 files changed, 15 insertions(+), 8 deletions(-) (limited to 'atari') diff --git a/atari/gui.c b/atari/gui.c index d83864497..4e077bdab 100644 --- a/atari/gui.c +++ b/atari/gui.c @@ -1112,6 +1112,7 @@ int main(int argc, char** argv) .download = atari_download_table, .fetch = &atari_fetch_table, .utf8 = atari_utf8_table, + .search = atari_search_table, }; /* @todo logging file descriptor update belongs in a nslog_init callback */ diff --git a/atari/search.c b/atari/search.c index 6d8f53bec..f73a04a97 100644 --- a/atari/search.c +++ b/atari/search.c @@ -53,13 +53,16 @@ static void nsatari_search_add_recent(const char *string, void *p); void nsatari_search_set_forward_state(bool active, void *p); void nsatari_search_set_back_state(bool active, void *p); -static struct gui_search_callbacks nsatari_search_callbacks = { - nsatari_search_set_forward_state, - nsatari_search_set_back_state, - nsatari_search_set_status, - nsatari_search_set_hourglass, - nsatari_search_add_recent -}; +static struct gui_search_table search_table = { + nsatari_search_set_status, + nsatari_search_set_hourglass, + nsatari_search_add_recent, + nsatari_search_set_forward_state, + nsatari_search_set_back_state, +}; + +struct gui_search_table *atari_search_table = &search_table; + /** @@ -282,7 +285,7 @@ void nsatari_search_perform(struct s_search_form_session *s, OBJECT *obj, else s->state.flags &= (~SEARCH_FLAG_FORWARDS); - browser_window_search(s->bw, &nsatari_search_callbacks, s, + browser_window_search(s->bw, s, s->state.flags, gemtk_obj_get_text(obj, TOOLBAR_TB_SRCH)); diff --git a/atari/search.h b/atari/search.h index 00671e4a7..984fd3704 100644 --- a/atari/search.h +++ b/atari/search.h @@ -49,6 +49,9 @@ typedef struct s_search_form_session * SEARCH_FORM_SESSION; struct s_search_form_session * nsatari_search_session_create(OBJECT * obj, struct browser_window *bw); + +struct gui_search_table *atari_search_table; + void nsatari_search_session_destroy(struct s_search_form_session *s); void nsatari_search_perform(struct s_search_form_session *s, OBJECT *obj, search_flags_t f); -- cgit v1.2.3