summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorRob Kendrick <rjek@rjek.com>2014-01-05 16:04:35 +0000
committerRob Kendrick <rjek@rjek.com>2014-01-05 16:04:35 +0000
commit0d7f1cfc93008add9a082c2c54de8427ac0f1786 (patch)
tree73bfabddbd734eb5a705ed313c260be893637355 /desktop
parentd8ad3b8e7893630d3866bc56c90f6f7556ab1740 (diff)
downloadnetsurf-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.c17
-rw-r--r--desktop/browser.h3
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);