Revision: 15134 http://sourceforge.net/p/skim-app/code/15134 Author: hofman Date: 2025-04-14 14:43:22 +0000 (Mon, 14 Apr 2025) Log Message: ----------- Simplify dragging from dra image view
Modified Paths: -------------- trunk/SKDragImageView.m Modified: trunk/SKDragImageView.m =================================================================== --- trunk/SKDragImageView.m 2025-04-14 14:01:45 UTC (rev 15133) +++ trunk/SKDragImageView.m 2025-04-14 14:43:22 UTC (rev 15134) @@ -122,45 +122,24 @@ - (void)mouseDown:(NSEvent *)theEvent { if ([self isEditable] == NO) { - return; } else if ([theEvent clickCount] == 2) { [self show:self]; - return; - } - - NSEvent *downEvent = theEvent; - BOOL keepOn = YES; - BOOL isInside = YES; - NSPoint mouseLoc; - while(keepOn){ + } else if ([delegate respondsToSelector:@selector(draggedObjectForDragImageView)]) { + NSEvent *downEvent = theEvent; theEvent = [[self window] nextEventMatchingMask: NSEventMaskLeftMouseUp | NSEventMaskLeftMouseDragged]; - mouseLoc = [theEvent locationInView:self]; - isInside = [self mouse:mouseLoc inRect:[self bounds]]; - switch ([theEvent type]) { - case NSEventTypeLeftMouseDragged: - if(isInside && [delegate respondsToSelector:@selector(draggedObjectForDragImageView)]) { - id<NSPasteboardWriting> object = [delegate draggedObjectForDragImageView]; - if (object) { - - NSRect bounds = [self bounds]; - - NSImage *dragImage = [NSImage bitmapImageWithSize:bounds.size forView:self drawingHandler:^(NSRect rect){ - [[self cell] drawInteriorWithFrame:rect inView:self]; - }]; - - NSDraggingItem *dragItem = [[NSDraggingItem alloc] initWithPasteboardWriter:object]; - [dragItem setDraggingFrame:bounds contents:dragImage]; - [self beginDraggingSessionWithItems:@[dragItem] event:downEvent source:self]; - } - keepOn = NO; - break; - } - case NSEventTypeLeftMouseUp: - keepOn = NO; - break; - default: - keepOn = NO; - break; + if ([theEvent type] == NSEventTypeLeftMouseDragged) { + id<NSPasteboardWriting> object = [delegate draggedObjectForDragImageView]; + if (object) { + NSRect bounds = [self bounds]; + + NSImage *dragImage = [NSImage bitmapImageWithSize:bounds.size forView:self drawingHandler:^(NSRect rect){ + [[self cell] drawInteriorWithFrame:rect inView:self]; + }]; + + NSDraggingItem *dragItem = [[NSDraggingItem alloc] initWithPasteboardWriter:object]; + [dragItem setDraggingFrame:bounds contents:dragImage]; + [self beginDraggingSessionWithItems:@[dragItem] event:downEvent source:self]; + } } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ Skim-app-commit mailing list Skim-app-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/skim-app-commit