Revision: 13937
          http://sourceforge.net/p/skim-app/code/13937
Author:   hofman
Date:     2023-12-19 23:59:42 +0000 (Tue, 19 Dec 2023)
Log Message:
-----------
always stack drag images in page index order, by putting the first page index 
as leader

Modified Paths:
--------------
    trunk/SKThumbnailView.m

Modified: trunk/SKThumbnailView.m
===================================================================
--- trunk/SKThumbnailView.m     2023-12-19 23:43:54 UTC (rev 13936)
+++ trunk/SKThumbnailView.m     2023-12-19 23:59:42 UTC (rev 13937)
@@ -450,26 +450,31 @@
             NSDraggingItem *dragItem = [[NSDraggingItem alloc] 
initWithPasteboardWriter:item];
             
             [dragItem setDraggingFrame:[self draggingFrame] contents:[self 
draggingImage]];
-            [dragItems addObject:dragItem];
-            if (selectionIndexes) {
+            if (selectionIndexes == nil) {
+                [dragItems addObject:dragItem];
+            } else {
                 [selectionIndexes enumerateIndexesUsingBlock:^(NSUInteger idx, 
BOOL *stop){
-                    if (idx == pageIndex) return;
-                    NSPasteboardItem *dummyItem = [[NSPasteboardItem alloc] 
init];
-                    [dummyItem setData:[NSData data] 
forType:SKPasteboardTypeDummy];
-                    NSDraggingItem *dummyDragItem = [[NSDraggingItem alloc] 
initWithPasteboardWriter:dummyItem];
-                    NSRect rect;
-                    SKThumbnailView *view = (SKThumbnailView 
*)[[collectionView itemAtIndexPath:[NSIndexPath indexPathForItem:idx 
inSection:0]] view];
-                    if (view)
-                        rect = [self convertRect:[view draggingFrame] 
fromView:view];
-                    else
-                        rect = [self draggingFrame];
-                    [dummyDragItem setDraggingFrame:rect contents:[view 
draggingImage]];
+                    if (idx == pageIndex) {
+                        [dragItems addObject:dragItem];
+                    } else {
+                        NSPasteboardItem *dummyItem = [[NSPasteboardItem 
alloc] init];
+                        [dummyItem setData:[NSData data] 
forType:SKPasteboardTypeDummy];
+                        NSDraggingItem *dummyDragItem = [[NSDraggingItem 
alloc] initWithPasteboardWriter:dummyItem];
+                        NSRect rect;
+                        SKThumbnailView *view = (SKThumbnailView 
*)[[collectionView itemAtIndexPath:[NSIndexPath indexPathForItem:idx 
inSection:0]] view];
+                        if (view)
+                            rect = [self convertRect:[view draggingFrame] 
fromView:view];
+                        else
+                            rect = [self draggingFrame];
+                        [dummyDragItem setDraggingFrame:rect contents:[view 
draggingImage]];
                         [dragItems addObject:dummyDragItem];
+                    }
                 }];
             }
             
             NSDraggingSession *session = [self 
beginDraggingSessionWithItems:dragItems event:theEvent source:self];
             [session setDraggingFormation:NSDraggingFormationStack];
+            [session setDraggingLeaderIndex:0];
         }
         
     } else {

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

Reply via email to