diff options
author | Vincent Sanders <vince@kyllikki.org> | 2014-03-18 22:32:52 +0000 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2014-03-18 22:32:52 +0000 |
commit | 4d4d74c8cd1a77a46cbe0816cf6150f8b4980947 (patch) | |
tree | cdc747443b58963a17b2844da25c7b2fab9deb99 /riscos | |
parent | fec9f916b640b8ffc18b7ff9f9d04fd742b32ad1 (diff) | |
download | netsurf-4d4d74c8cd1a77a46cbe0816cf6150f8b4980947.tar.gz netsurf-4d4d74c8cd1a77a46cbe0816cf6150f8b4980947.tar.bz2 |
move page search gui callbacks to their own operations table
Diffstat (limited to 'riscos')
-rw-r--r-- | riscos/gui.c | 1 | ||||
-rw-r--r-- | riscos/gui.h | 1 | ||||
-rw-r--r-- | riscos/search.c | 42 |
3 files changed, 17 insertions, 27 deletions
diff --git a/riscos/gui.c b/riscos/gui.c index 59a0138e7..4f9856b83 100644 --- a/riscos/gui.c +++ b/riscos/gui.c @@ -2387,6 +2387,7 @@ int main(int argc, char** argv) .download = riscos_download_table, .fetch = &riscos_fetch_table, .utf8 = riscos_utf8_table, + .search = riscos_search_table, }; /* Consult NetSurf$Logging environment variable to decide if logging diff --git a/riscos/gui.h b/riscos/gui.h index 3ea0c0b72..548d030a8 100644 --- a/riscos/gui.h +++ b/riscos/gui.h @@ -203,6 +203,7 @@ nserror riscos_schedule(int t, void (*callback)(void *p), void *p); /* in search.c */ void ro_gui_search_init(void); void ro_gui_search_prepare(struct browser_window *g); +struct gui_search_table *riscos_search_table; /* in print.c */ void ro_gui_print_init(void); 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); } /** |