summaryrefslogtreecommitdiff
path: root/render/html_interaction.c
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2012-08-16 20:39:45 +0100
committerMichael Drake <tlsa@netsurf-browser.org>2012-08-16 20:39:45 +0100
commitf04845b2cf3aaa6b15dbaa2acaa20197075d3234 (patch)
treea2ff803fcf79123adabd84784db72ae5e811cd81 /render/html_interaction.c
parent1919c8e07168859cc6362c5283d47d0ced3a9bc2 (diff)
downloadnetsurf-f04845b2cf3aaa6b15dbaa2acaa20197075d3234.tar.gz
netsurf-f04845b2cf3aaa6b15dbaa2acaa20197075d3234.tar.bz2
Broadcast message for drag save start and avoid messing inside bw.
Diffstat (limited to 'render/html_interaction.c')
-rw-r--r--render/html_interaction.c32
1 files changed, 22 insertions, 10 deletions
diff --git a/render/html_interaction.c b/render/html_interaction.c
index 4cdff7608..e013b54a8 100644
--- a/render/html_interaction.c
+++ b/render/html_interaction.c
@@ -526,12 +526,16 @@ void html_mouse_action(struct content *c, struct browser_window *bw,
} else if (object && (mouse & BROWSER_MOUSE_MOD_2)) {
- if (mouse & BROWSER_MOUSE_DRAG_2)
- gui_drag_save_object(GUI_SAVE_OBJECT_NATIVE, object,
- bw->window);
- else if (mouse & BROWSER_MOUSE_DRAG_1)
- gui_drag_save_object(GUI_SAVE_OBJECT_ORIG, object,
- bw->window);
+ if (mouse & BROWSER_MOUSE_DRAG_2) {
+ msg_data.dragsave.type = CONTENT_SAVE_NATIVE;
+ msg_data.dragsave.content = object;
+ content_broadcast(c, CONTENT_MSG_DRAGSAVE, msg_data);
+
+ } else if (mouse & BROWSER_MOUSE_DRAG_1) {
+ msg_data.dragsave.type = CONTENT_SAVE_ORIG;
+ msg_data.dragsave.content = object;
+ content_broadcast(c, CONTENT_MSG_DRAGSAVE, msg_data);
+ }
/* \todo should have a drag-saving object msg */
status = content_get_status_message(h);
@@ -647,8 +651,12 @@ void html_mouse_action(struct content *c, struct browser_window *bw,
if (mouse & BROWSER_MOUSE_DRAG_1) {
if (mouse & BROWSER_MOUSE_MOD_2) {
- gui_drag_save_object(GUI_SAVE_COMPLETE,
- h, bw->window);
+ msg_data.dragsave.type =
+ CONTENT_SAVE_COMPLETE;
+ msg_data.dragsave.content = h;
+ content_broadcast(c,
+ CONTENT_MSG_DRAGSAVE,
+ msg_data);
} else {
if (drag_candidate == NULL)
browser_window_page_drag_start(
@@ -663,8 +671,12 @@ void html_mouse_action(struct content *c, struct browser_window *bw,
}
else if (mouse & BROWSER_MOUSE_DRAG_2) {
if (mouse & BROWSER_MOUSE_MOD_2) {
- gui_drag_save_object(GUI_SAVE_SOURCE,
- h, bw->window);
+ msg_data.dragsave.type =
+ CONTENT_SAVE_SOURCE;
+ msg_data.dragsave.content = h;
+ content_broadcast(c,
+ CONTENT_MSG_DRAGSAVE,
+ msg_data);
} else {
if (drag_candidate == NULL)
browser_window_page_drag_start(