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 --- riscos/search.c | 42 +++++++++++++++--------------------------- 1 file changed, 15 insertions(+), 27 deletions(-) (limited to 'riscos/search.c') diff --git a/riscos/search.c b/riscos/search.c index 3d3b7ba4a..230edc2e4 100644 --- a/riscos/search.c +++ b/riscos/search.c @@ -76,14 +76,16 @@ static void ro_gui_search_set_status(bool found, void *p); static void ro_gui_search_set_hourglass(bool active, void *p); static void ro_gui_search_add_recent(const char *string, void *p); -static struct gui_search_callbacks ro_gui_search_callbacks = { - ro_gui_search_set_forward_state, - ro_gui_search_set_back_state, +static struct gui_search_table search_table = { ro_gui_search_set_status, ro_gui_search_set_hourglass, - ro_gui_search_add_recent + ro_gui_search_add_recent, + ro_gui_search_set_forward_state, + ro_gui_search_set_back_state, }; +struct gui_search_table *riscos_search_table = &search_table; + void ro_gui_search_init(void) { dialog_search = ro_gui_dialog_create("search"); @@ -122,8 +124,7 @@ bool ro_gui_search_next(wimp_w w) search_data.search_insert = true; search_flags_t flags = SEARCH_FLAG_FORWARDS | ro_gui_search_update_flags(); - browser_window_search(search_data.search_window, - &ro_gui_search_callbacks, NULL, flags, + browser_window_search(search_data.search_window, NULL, flags, ro_gui_get_icon_string(dialog_search, ICON_SEARCH_TEXT)); return false; @@ -163,8 +164,7 @@ bool ro_gui_search_click(wimp_pointer *pointer) search_data.search_insert = true; flags = ~SEARCH_FLAG_FORWARDS & ro_gui_search_update_flags(); - browser_window_search(search_data.search_window, - &ro_gui_search_callbacks, NULL, + browser_window_search(search_data.search_window, NULL, flags, ro_gui_get_icon_string(dialog_search, ICON_SEARCH_TEXT)); @@ -172,8 +172,7 @@ bool ro_gui_search_click(wimp_pointer *pointer) case ICON_SEARCH_CASE_SENSITIVE: flags = SEARCH_FLAG_FORWARDS | ro_gui_search_update_flags(); - browser_window_search(search_data.search_window, - &ro_gui_search_callbacks, NULL, + browser_window_search(search_data.search_window, NULL, flags, ro_gui_get_icon_string(dialog_search, ICON_SEARCH_TEXT)); @@ -182,8 +181,7 @@ bool ro_gui_search_click(wimp_pointer *pointer) flags = ro_gui_get_icon_selected_state( pointer->w, pointer->i) ? SEARCH_FLAG_SHOWALL : SEARCH_FLAG_NONE; - browser_window_search(search_data.search_window, - &ro_gui_search_callbacks, NULL, + browser_window_search(search_data.search_window, NULL, flags, ro_gui_get_icon_string(dialog_search, ICON_SEARCH_TEXT)); @@ -313,8 +311,7 @@ bool ro_gui_search_keypress(wimp_key *key) case 1: { flags = ro_gui_search_update_flags() ^ SEARCH_FLAG_SHOWALL; - browser_window_search(search_data.search_window, - &ro_gui_search_callbacks, NULL, + browser_window_search(search_data.search_window, NULL, flags, ro_gui_get_icon_string(dialog_search, ICON_SEARCH_TEXT)); @@ -327,8 +324,7 @@ bool ro_gui_search_keypress(wimp_key *key) ICON_SEARCH_CASE_SENSITIVE, !state); flags = SEARCH_FLAG_FORWARDS | ro_gui_search_update_flags(); - browser_window_search(search_data.search_window, - &ro_gui_search_callbacks, NULL, + browser_window_search(search_data.search_window, NULL, flags, ro_gui_get_icon_string(dialog_search, ICON_SEARCH_TEXT)); @@ -337,8 +333,7 @@ bool ro_gui_search_keypress(wimp_key *key) search_data.search_insert = true; flags = ~SEARCH_FLAG_FORWARDS & ro_gui_search_update_flags(); - browser_window_search(search_data.search_window, - &ro_gui_search_callbacks, NULL, + browser_window_search(search_data.search_window, NULL, flags, ro_gui_get_icon_string(dialog_search, ICON_SEARCH_TEXT)); @@ -347,8 +342,7 @@ bool ro_gui_search_keypress(wimp_key *key) search_data.search_insert = true; flags = SEARCH_FLAG_FORWARDS | ro_gui_search_update_flags(); - browser_window_search(search_data.search_window, - &ro_gui_search_callbacks, NULL, + browser_window_search(search_data.search_window, NULL, flags, ro_gui_get_icon_string(dialog_search, ICON_SEARCH_TEXT)); @@ -360,10 +354,6 @@ bool ro_gui_search_keypress(wimp_key *key) * a new search */ browser_window_search_clear( search_data.search_window); - ro_gui_search_set_forward_state(true, - search_data.search_window); - ro_gui_search_set_back_state(true, - search_data.search_window); search_data.search_insert = true; } if (key->c == 8 || /* backspace */ @@ -376,7 +366,7 @@ bool ro_gui_search_keypress(wimp_key *key) ro_gui_search_set_back_state(true, search_data.search_window); browser_window_search(search_data.search_window, - &ro_gui_search_callbacks, NULL, + NULL, flags, ro_gui_get_icon_string( dialog_search, @@ -396,8 +386,6 @@ bool ro_gui_search_keypress(wimp_key *key) void ro_gui_search_end(wimp_w w) { browser_window_search_clear(search_data.search_window); - ro_gui_search_set_forward_state(true, search_data.search_window); - ro_gui_search_set_back_state(true, search_data.search_window); } /** -- cgit v1.2.3