summaryrefslogtreecommitdiff
path: root/amiga/tree.c
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2011-11-10 18:58:47 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2011-11-10 18:58:47 +0000
commit36599a09cead791900935aeadcea49d46ff6a786 (patch)
tree29793cc6bdb33317df0cbe55ad29a0eabddd901a /amiga/tree.c
parentb14c4f0a0b9ee3c3f2f1239c0c05b7b5a19ee1fa (diff)
downloadnetsurf-36599a09cead791900935aeadcea49d46ff6a786.tar.gz
netsurf-36599a09cead791900935aeadcea49d46ff6a786.tar.bz2
Clicks become drags only after 2px
svn path=/trunk/netsurf/; revision=13145
Diffstat (limited to 'amiga/tree.c')
-rwxr-xr-xamiga/tree.c34
1 files changed, 20 insertions, 14 deletions
diff --git a/amiga/tree.c b/amiga/tree.c
index 1ace82d13..60bf21aaa 100755
--- a/amiga/tree.c
+++ b/amiga/tree.c
@@ -871,23 +871,25 @@ BOOL ami_tree_event(struct treeview_window *twin)
if(twin->mouse_state & BROWSER_MOUSE_PRESS_1)
{
- tree_mouse_action(twin->tree,
- BROWSER_MOUSE_DRAG_1 | twin->key_state, x, y);
- twin->mouse_state = BROWSER_MOUSE_HOLDING_1 |
- BROWSER_MOUSE_DRAG_ON;
- if(twin->drag_x == 0) twin->drag_x = x;
- if(twin->drag_y == 0) twin->drag_y = y;
- ami_tree_drag_icon_show(twin);
+ if((abs(x - twin->drag_x) + abs(y - twin->drag_y)) > 2)
+ {
+ tree_mouse_action(twin->tree,
+ BROWSER_MOUSE_DRAG_1 | twin->key_state, x, y);
+ twin->mouse_state = BROWSER_MOUSE_HOLDING_1 |
+ BROWSER_MOUSE_DRAG_ON;
+ ami_tree_drag_icon_show(twin);
+ }
}
else if(twin->mouse_state & BROWSER_MOUSE_PRESS_2)
{
- tree_mouse_action(twin->tree,
- BROWSER_MOUSE_DRAG_2 | twin->key_state, x, y);
- twin->mouse_state = BROWSER_MOUSE_HOLDING_2 |
- BROWSER_MOUSE_DRAG_ON;
- if(twin->drag_x == 0) twin->drag_x = x;
- if(twin->drag_y == 0) twin->drag_y = y;
- ami_tree_drag_icon_show(twin);
+ if((abs(x - twin->drag_x) + abs(y - twin->drag_y)) > 2)
+ {
+ tree_mouse_action(twin->tree,
+ BROWSER_MOUSE_DRAG_2 | twin->key_state, x, y);
+ twin->mouse_state = BROWSER_MOUSE_HOLDING_2 |
+ BROWSER_MOUSE_DRAG_ON;
+ ami_tree_drag_icon_show(twin);
+ }
}
}
twin->lastclick.tv_sec = 0;
@@ -910,9 +912,13 @@ BOOL ami_tree_event(struct treeview_window *twin)
{
case SELECTDOWN:
twin->mouse_state = BROWSER_MOUSE_PRESS_1;
+ if(twin->drag_x == 0) twin->drag_x = x;
+ if(twin->drag_y == 0) twin->drag_y = y;
break;
case MIDDLEDOWN:
twin->mouse_state = BROWSER_MOUSE_PRESS_2;
+ if(twin->drag_x == 0) twin->drag_x = x;
+ if(twin->drag_y == 0) twin->drag_y = y;
break;
}
}