mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-23 20:01:11 +00:00
NSTextView: support drop for NSFilenamesPboardType
This commit is contained in:
parent
7a42b1d04c
commit
187f58beea
1 changed files with 35 additions and 0 deletions
|
@ -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)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue