Revision: 29472 http://sourceforge.net/p/bibdesk/svn/29472 Author: hofman Date: 2025-08-25 16:10:57 +0000 (Mon, 25 Aug 2025) Log Message: ----------- allow pasting a url
Modified Paths: -------------- trunk/bibdesk/BDSKTextImportController.m Modified: trunk/bibdesk/BDSKTextImportController.m =================================================================== --- trunk/bibdesk/BDSKTextImportController.m 2025-08-25 16:04:59 UTC (rev 29471) +++ trunk/bibdesk/BDSKTextImportController.m 2025-08-25 16:10:57 UTC (rev 29472) @@ -1465,28 +1465,36 @@ } - (void)tableView:(NSTableView *)tv pasteFromPasteboard:(NSPasteboard *)pboard{ - NSInteger idx = [tv selectedRow]; - if (idx != -1) { - NSArray *strings = [pboard readObjectsForClasses:@[[NSString class]] options:@{}]; - if ([strings count] > 0) { - - NSString *selKey = [fields objectAtIndex:idx]; - NSString *string = [strings objectAtIndex:0]; - NSString *oldValue = [[self publication] valueOfField:selKey]; + NSURL *url = [[pboard readObjectsForClasses:@[[NSURL class]] options:@{}] firstObject]; + if (url) { + if ([[NSUserDefaults standardUserDefaults] boolForKey:BDSKUseLocalUrlAndUrlKey]) + [[self publication] setField:[url isFileURL] ? BDSKLocalUrlString : BDSKUrlString toURLValue:url]; + else + [[self publication] addFileForURL:url autoFile:YES runScriptHook:NO]; + [[self undoManager] setActionName:NSLocalizedString(@"Edit Publication", @"Undo action name")]; + } else { + NSInteger idx = [tv selectedRow]; + if (idx != -1) { + NSString *string = [[pboard readObjectsForClasses:@[[NSString class]] options:@{}] firstObject]; + if (string) { - if(([NSEvent standardModifierFlags] & NSEventModifierFlagControl) != 0 && - [NSString isEmptyString:oldValue] == NO && - [selKey isSingleValuedField] == NO){ + NSString *selKey = [fields objectAtIndex:idx]; + NSString *oldValue = [[self publication] valueOfField:selKey]; - NSString *separator; - if([selKey isPersonField]) - separator = @" and "; - else - separator = [[NSUserDefaults standardUserDefaults] stringForKey:BDSKDefaultGroupFieldSeparatorKey]; - string = [NSString stringWithFormat:@"%@%@%@", oldValue, separator, string]; + if(([NSEvent standardModifierFlags] & NSEventModifierFlagControl) != 0 && + [NSString isEmptyString:oldValue] == NO && + [selKey isSingleValuedField] == NO){ + + NSString *separator; + if([selKey isPersonField]) + separator = @" and "; + else + separator = [[NSUserDefaults standardUserDefaults] stringForKey:BDSKDefaultGroupFieldSeparatorKey]; + string = [NSString stringWithFormat:@"%@%@%@", oldValue, separator, string]; + } + + [self recordChangingField:selKey toValue:string]; } - - [self recordChangingField:selKey toValue:string]; } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ Bibdesk-commit mailing list Bibdesk-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bibdesk-commit