diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2014-01-05 17:03:17 +0000 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2014-01-05 17:03:17 +0000 |
commit | 9a9cb399f9fc5503cf64a906d44ec016564d06bb (patch) | |
tree | 3eafe6402d08b56ae7d616c79fdf5b9664bea8a4 /desktop | |
parent | 0d5960a68cc031758dd17edf7e83c342c13ea144 (diff) | |
parent | ef5c516ee372d29ca636fa0f7bd422c312be0acf (diff) | |
download | netsurf-9a9cb399f9fc5503cf64a906d44ec016564d06bb.tar.gz netsurf-9a9cb399f9fc5503cf64a906d44ec016564d06bb.tar.bz2 |
Merge branch 'rjek/click-file-gadget'
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/browser.c | 19 | ||||
-rw-r--r-- | desktop/browser.h | 3 | ||||
-rw-r--r-- | desktop/gui.h | 3 | ||||
-rw-r--r-- | desktop/searchweb.c | 8 |
4 files changed, 23 insertions, 10 deletions
diff --git a/desktop/browser.c b/desktop/browser.c index d159a5599..6ec31d22f 100644 --- a/desktop/browser.c +++ b/desktop/browser.c @@ -661,6 +661,13 @@ bool browser_window_drop_file_at_point(struct browser_window *bw, return false; } +void browser_window_set_gadget_filename(struct browser_window *bw, + struct form_control *gadget, const char *fn) +{ + html_set_file_gadget_filename(bw->current_content, + gadget, fn); +} + /* exported interface, documented in browser.h */ void browser_window_debug_dump(struct browser_window *bw, FILE *f) { @@ -1162,7 +1169,7 @@ static void browser_window_convert_to_download(struct browser_window *bw, /** - * Callback for fetchcache() for browser window fetches. + * Callback handler for content event messages. */ static nserror browser_window_callback(hlcache_handle *c, @@ -1555,8 +1562,16 @@ static nserror browser_window_callback(hlcache_handle *c, event->data.selection.read_only); break; + case CONTENT_MSG_GADGETCLICK: + if (event->data.gadget_click.gadget->type == GADGET_FILE) { + gui_file_gadget_open(bw->window, c, + event->data.gadget_click.gadget); + } + + break; + default: - assert(0); + break; } return NSERROR_OK; diff --git a/desktop/browser.h b/desktop/browser.h index ee55e72c4..0ca2e009b 100644 --- a/desktop/browser.h +++ b/desktop/browser.h @@ -173,6 +173,9 @@ bool browser_window_scroll_at_point(struct browser_window *bw, bool browser_window_drop_file_at_point(struct browser_window *bw, int x, int y, char *file); +void browser_window_set_gadget_filename(struct browser_window *bw, + struct form_control *gadget, const char *fn); + void browser_window_refresh_url_bar(struct browser_window *bw, nsurl *url, lwc_string *frag); diff --git a/desktop/gui.h b/desktop/gui.h index 9d35e1727..26a9f4b43 100644 --- a/desktop/gui.h +++ b/desktop/gui.h @@ -116,7 +116,8 @@ void gui_drag_save_selection(struct gui_window *g, const char *selection); void gui_start_selection(struct gui_window *g); void gui_clear_selection(struct gui_window *g); - +void gui_file_gadget_open(struct gui_window *g, hlcache_handle *hl, + struct form_control *gadget); /** * Core asks front end for clipboard contents. diff --git a/desktop/searchweb.c b/desktop/searchweb.c index 87e3e21f1..4c050d97a 100644 --- a/desktop/searchweb.c +++ b/desktop/searchweb.c @@ -304,9 +304,6 @@ nserror search_web_ico_callback(hlcache_handle *ico, const hlcache_event *event, void *pw) { switch (event->type) { - case CONTENT_MSG_LOADING: - case CONTENT_MSG_READY: - break; case CONTENT_MSG_DONE: LOG(("got favicon '%s'", nsurl_access(hlcache_handle_get_url(ico)))); @@ -322,11 +319,8 @@ nserror search_web_ico_callback(hlcache_handle *ico, search_web_retrieve_ico(true); break; - case CONTENT_MSG_STATUS: - break; - default: - assert(0); + break; } return NSERROR_OK; |