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/browser.c | |
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/browser.c')
-rw-r--r-- | desktop/browser.c | 19 |
1 files changed, 17 insertions, 2 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; |