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

Reply via email to