summaryrefslogtreecommitdiff
path: root/amiga/tree.c
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2010-12-16 23:28:33 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2010-12-16 23:28:33 +0000
commit96cb4b40e728830d36ae90d11fc4c405c82fdc21 (patch)
treead658c2e93a473986c3742a0ab8e0c380fc15acf /amiga/tree.c
parentddd677e72a8cdc6c56a467ed75b0e196b8eafbaa (diff)
downloadnetsurf-96cb4b40e728830d36ae90d11fc4c405c82fdc21.tar.gz
netsurf-96cb4b40e728830d36ae90d11fc4c405c82fdc21.tar.bz2
Allow double-clicks in main browser and middle button double-clicks in treeview
svn path=/trunk/netsurf/; revision=11083
Diffstat (limited to 'amiga/tree.c')
-rwxr-xr-xamiga/tree.c25
1 files changed, 24 insertions, 1 deletions
diff --git a/amiga/tree.c b/amiga/tree.c
index 0f6ac3c62..c4d1ffbed 100755
--- a/amiga/tree.c
+++ b/amiga/tree.c
@@ -840,11 +840,34 @@ BOOL ami_tree_event(struct treeview_window *twin)
twin->drag_x = 0;
twin->drag_y = 0;
break;
+
case MIDDLEUP:
if(twin->mouse_state & BROWSER_MOUSE_PRESS_2)
{
+ CurrentTime(&curtime.tv_sec,&curtime.tv_usec);
+
+ twin->mouse_state = BROWSER_MOUSE_CLICK_2;
+
+ if(twin->lastclick.tv_sec)
+ {
+ if(DoubleClick(twin->lastclick.tv_sec,
+ twin->lastclick.tv_usec,
+ curtime.tv_sec, curtime.tv_usec))
+ twin->mouse_state |= BROWSER_MOUSE_DOUBLE_CLICK;
+ }
tree_mouse_action(twin->tree,
- BROWSER_MOUSE_CLICK_2 | twin->key_state, x, y);
+ twin->mouse_state | twin->key_state, x, y);
+
+ if(twin->mouse_state & BROWSER_MOUSE_DOUBLE_CLICK)
+ {
+ twin->lastclick.tv_sec = 0;
+ twin->lastclick.tv_usec = 0;
+ }
+ else
+ {
+ twin->lastclick.tv_sec = curtime.tv_sec;
+ twin->lastclick.tv_usec = curtime.tv_usec;
+ }
}
else ami_tree_drag_end(twin, x, y);