Revision: 13928
http://sourceforge.net/p/skim-app/code/13928
Author: hofman
Date: 2023-12-19 10:17:47 +0000 (Tue, 19 Dec 2023)
Log Message:
-----------
use drag image for dragged page for items in overvier that are not yet loaded,
get frame from collection view
Modified Paths:
--------------
trunk/SKThumbnailView.m
Modified: trunk/SKThumbnailView.m
===================================================================
--- trunk/SKThumbnailView.m 2023-12-19 00:21:38 UTC (rev 13927)
+++ trunk/SKThumbnailView.m 2023-12-19 10:17:47 UTC (rev 13928)
@@ -49,6 +49,7 @@
#import "NSColor_SKExtensions.h"
#import "SKThumbnailImageView.h"
#import "NSPasteboard_SKExtensions.h"
+#import "NSGeometry_SKExtensions.h"
#define MARGIN 8.0
#define TEXT_MARGIN 4.0
@@ -456,15 +457,21 @@
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) {
- NSPasteboardItem *dummyItem = [[NSPasteboardItem
alloc] init];
- [dummyItem setData:[NSData data]
forType:SKPasteboardTypeDummy];
- NSDraggingItem *dummyDragItem = [[NSDraggingItem
alloc] initWithPasteboardWriter:dummyItem];
- NSRect rect = [self convertRect:[view
draggingFrame] fromView:view];
- [dummyDragItem setDraggingFrame:rect
contents:[view draggingImage]];
+ rect = [self convertRect:[view draggingFrame]
fromView:view];
+ } else {
+ NSPoint point = [self convertRect:[collectionView
frameForItemAtIndex:idx] fromView:collectionView].origin;
+ rect = [self draggingFrame];
+ rect.origin.x += point.x;
+ rect.origin.y += point.y;
+ }
+ [dummyDragItem setDraggingFrame:rect contents:[view ?:
self draggingImage]];
[dragItems addObject:dummyDragItem];
- }
}
}];
}
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