NSTextView: support drop for NSFilenamesPboardType

This commit is contained in:
OnFlApp 2022-09-17 15:53:41 +02:00
parent 7a42b1d04c
commit 187f58beea

View file

@ -4982,6 +4982,40 @@ right.)
RELEASE(attachment);
return YES;
}
if ([type isEqualToString: NSFilenamesPboardType])
{
NSArray *list = [pboard propertyListForType: NSFilenamesPboardType];
NSMutableAttributedString *as = [[NSMutableAttributedString alloc] init];
for (NSString *filename in list)
{
NSFileWrapper *fw = [[NSFileWrapper alloc] initWithPath:filename];
if (fw)
{
NSTextAttachment *attachment = [[NSTextAttachment alloc]
initWithFileWrapper: fw];
NSAttributedString *asat =
[NSAttributedString attributedStringWithAttachment: attachment];
RELEASE(fw);
RELEASE(attachment);
[as appendAttributedString:asat];
}
}
if (as && changeRange.location != NSNotFound &&
[self shouldChangeTextInRange: changeRange
replacementString: [as string]])
{
[self replaceCharactersInRange: changeRange
withAttributedString: as];
[self didChangeText];
changeRange.length = [as length];
[self setSelectedRange: NSMakeRange(NSMaxRange(changeRange),0)];
}
return YES;
}
}
// color accepting
@ -5078,6 +5112,7 @@ right.)
[ret addObject: NSRTFDPboardType];
[ret addObject: NSTIFFPboardType];
[ret addObject: NSFileContentsPboardType];
[ret addObject: NSFilenamesPboardType];
}
if (_tf.is_rich_text)
{