From 203e0d150b68df48a2bd29248f3fc4dbe5dcfe0c Mon Sep 17 00:00:00 2001 From: Ross Boucher Date: Sat, 27 Feb 2010 12:22:52 -0800 Subject: [PATCH] Update table headers to return the cursor to normal if the window doesn't accept mousemoved events. --- AppKit/CPTableHeaderView.j | 12 +++--------- Tests/Manual/TableTest/AppController.j | 2 +- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/AppKit/CPTableHeaderView.j b/AppKit/CPTableHeaderView.j index d04103956..e7dda0eb1 100644 --- a/AppKit/CPTableHeaderView.j +++ b/AppKit/CPTableHeaderView.j @@ -279,14 +279,7 @@ var _CPTableColumnHeaderViewStringValueKey = @"_CPTableColumnHeaderViewStringVal return; } -/* - else if (type & CPLeftMouseDragged && [_tableView allowsColumnREordering]) - { - // Start dragging here - [[CPCursor closedHandCursor] set]; - return; - } -*/ + [CPApp setTarget:self selector:@selector(trackMouseWithEvent:) forNextEventMatchingMask:CPLeftMouseDraggedMask | CPLeftMouseUpMask | CPLeftMouseDownMask untilDate:nil inMode:nil dequeue:YES]; } @@ -344,7 +337,8 @@ var _CPTableColumnHeaderViewStringValueKey = @"_CPTableColumnHeaderViewStringVal - (void)_updateResizeCursor:(CPEvent)theEvent { - if (![_tableView allowsColumnResizing]) + // never get stuck in resize cursor mode (FIXME take out when we turn on tracking rects) + if (![_tableView allowsColumnResizing] || ([theEvent type] === CPLeftMouseUp && ![[self window] acceptsMouseMovedEvents])) { [[CPCursor arrowCursor] set]; return; diff --git a/Tests/Manual/TableTest/AppController.j b/Tests/Manual/TableTest/AppController.j index bf6f6bbfd..c766f5507 100644 --- a/Tests/Manual/TableTest/AppController.j +++ b/Tests/Manual/TableTest/AppController.j @@ -90,7 +90,7 @@ CPLogRegister(CPLogConsole); [tableView setVerticalMotionCanBeginDrag:NO]; [tableView setDraggingDestinationFeedbackStyle:CPTableViewDropOn]; [tableView registerForDraggedTypes:[CPArray arrayWithObject:tableTestDragType]]; - + [window1 setAcceptsMouseMovedEvents:YES]; [window1 orderFront:self]; [self newWindow]; [self sourceList];