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

Reply via email to