diff options
author | Rob Kendrick <rjek@rjek.com> | 2014-01-05 16:04:35 +0000 |
---|---|---|
committer | Rob Kendrick <rjek@rjek.com> | 2014-01-05 16:04:35 +0000 |
commit | 0d7f1cfc93008add9a082c2c54de8427ac0f1786 (patch) | |
tree | 73bfabddbd734eb5a705ed313c260be893637355 /desktop | |
parent | d8ad3b8e7893630d3866bc56c90f6f7556ab1740 (diff) | |
download | netsurf-0d7f1cfc93008add9a082c2c54de8427ac0f1786.tar.gz netsurf-0d7f1cfc93008add9a082c2c54de8427ac0f1786.tar.bz2 |
Add infrastructure for calling front ends to set file gadget filenames via clicking in addition to drag-and-drop
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/browser.c | 17 | ||||
-rw-r--r-- | desktop/browser.h | 3 |
2 files changed, 19 insertions, 1 deletions
diff --git a/desktop/browser.c b/desktop/browser.c index 83b06bac5..3d279f727 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,6 +1562,14 @@ 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, c, + event->data.gadget_click.gadget); + } + + break; + default: break; } 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); |