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
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit