In cocoa, if the mouse is held down (without moving it) for an extended period of time and then released, the clickCount is reset to 0 and the clickCount of the next mouseDown is 1.
In cappuccino, no matter how long you hold the mouse down, the clickCount is always incremented.
Moving the mouse resets the clickCount to zero.
It can been seen in the following example:
@implementation AppController : CPObject
var window = [[CPWindow alloc] initWithContentRect:CPRectMake(30, 30, 200, 200) styleMask:CPTitledWindowMask | CPClosableWindowMask];
@implementation CPView (logClickCount)
console.log(_cmd + " clickCount=" + [anEvent clickCount]);
if ([self mouseDownCanMoveWindow])
Milestone: Someday. Label: #new. What's next? A reviewer should examine this issue.
This is probably the same issue as #1666. The clickCount of mouseDown depends on the time since the previous mouseDown (not since the mouseUp), so this should work like in Cocoa.
Milestone: Someday. Labels: #needs-confirmation, #new, AppKit, bug. What's next? This issue needs a volunteer to independently reproduce the issue.
The fix for issue #1666 although it has made it work better it has not completely fixed this issue. The documents clearly state that when the user holds down the mouse for an extended period of time and then releases it, the clickCount should return 0. With the new fix it returns it still returns 1 and not 0 on mouseUp.
I find that a little strange since there has been exactly 1 mouseUp in recent times when you release the button. But the documentation does agree with you.
Milestone: Someday. Labels: #accepted, AppKit, bug. What's next? A reviewer should examine this issue.
I am not seeing the behavior you described in the latest master. What you did uncover is that CPView -mouseDown is being called twice for each click, which is wrong.
Milestone: Someday. Labels: #fixed, AppKit, bug. What's next? This issue is considered successfully resolved.