DragAndDropManager.st
changeset 1842 f033c7b344de
parent 1835 d6db8466019b
child 1939 f72ff9a773e5
--- a/DragAndDropManager.st	Thu Oct 30 17:51:12 2003 +0100
+++ b/DragAndDropManager.st	Fri Oct 31 07:57:05 2003 +0100
@@ -269,6 +269,14 @@
     ^ DragOriginatorQuerySignal
 ! !
 
+!DragAndDropManager class methodsFor:'defaults'!
+
+autoScrollDelayTimeMs
+    "time measured in milli-seconds the the autoscroll task is delayed
+    "
+    ^ 200
+! !
+
 !DragAndDropManager class methodsFor:'helpers'!
 
 saveDraw:aBlock device:aDevice
@@ -1107,8 +1115,15 @@
 buttonMotion:button x:x y:y view:aView
     |device screenPoint oldWg oldId oldPt newId newWg oldTgt newTgt isDroppable cursor|
 
+    escapePressed == true ifTrue:[
+        self removePassiveAction.
+        ^ self
+    ].
+
+    (dragView notNil and:[dragView sensor motionEventPending]) ifTrue:[
+        ^ self
+    ].
     self removePassiveAction.
-    escapePressed == true ifTrue:[^ self].
 
     device := dragView device.
     oldWg  := dropContext targetWidget.
@@ -1430,7 +1445,7 @@
             sensor := windowGroup sensor.
 
             [ self isActive ] whileTrue:[
-                Delay waitForSeconds:0.4.
+                Delay waitForMilliseconds:(self class autoScrollDelayTimeMs).
 
                 self isActive ifTrue:[
                     sensor pushUserEvent:#processAutoScroll for:self.
@@ -1479,7 +1494,7 @@
 !DragAndDropManager class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview2/DragAndDropManager.st,v 1.54 2003-10-28 15:32:24 ca Exp $'
+    ^ '$Header: /cvs/stx/stx/libview2/DragAndDropManager.st,v 1.55 2003-10-31 06:57:05 ca Exp $'
 ! !
 
 DragAndDropManager initialize!