Revision: 28270
          http://sourceforge.net/p/bibdesk/svn/28270
Author:   hofman
Date:     2023-05-31 17:12:24 +0000 (Wed, 31 May 2023)
Log Message:
-----------
Don't pass tmp citekey to import method and error, as it is always the standard 
one. Pass whether to show temporary citekey warning in options.

Modified Paths:
--------------
    trunk/bibdesk/BDSKDocumentController.m
    trunk/bibdesk/BDSKStringParser.m
    trunk/bibdesk/BibDocument+Scripting.m
    trunk/bibdesk/BibDocument.h
    trunk/bibdesk/BibDocument.m
    trunk/bibdesk/BibDocument_Actions.m
    trunk/bibdesk/NSError_BDSKExtensions.h
    trunk/bibdesk/NSError_BDSKExtensions.m

Modified: trunk/bibdesk/BDSKDocumentController.m
===================================================================
--- trunk/bibdesk/BDSKDocumentController.m      2023-05-30 14:39:06 UTC (rev 
28269)
+++ trunk/bibdesk/BDSKDocumentController.m      2023-05-31 17:12:24 UTC (rev 
28270)
@@ -468,7 +468,7 @@
             if ([NSString isEmptyString:searchString] == NO && [document 
respondsToSelector:@selector(setSearchString:)])
                 [(BibDocument *)document setSearchString:searchString];
             if (shouldReportTempCiteKeys)
-                [(BibDocument *)document reportTemporaryCiteKeys:[BibItem 
placeholderCiteKey] forNewDocument:YES];
+                [(BibDocument *)document 
reportTemporaryCiteKeysForNewDocument:YES];
             if (completionHandler)
                 completionHandler(document, documentWasAlreadyOpen, error);
         }];

Modified: trunk/bibdesk/BDSKStringParser.m
===================================================================
--- trunk/bibdesk/BDSKStringParser.m    2023-05-30 14:39:06 UTC (rev 28269)
+++ trunk/bibdesk/BDSKStringParser.m    2023-05-31 17:12:24 UTC (rev 28270)
@@ -132,8 +132,7 @@
        if(type == BDSKStringTypeNoKeyBibTeX && parseError == nil){
         // return an error when we inserted temporary keys, let the caller 
decide what to do with it
         // don't override a parseError though, as that is probably more 
relevant
-        parseError = [NSError 
mutableLocalErrorWithCode:kBDSKHadMissingCiteKeys 
localizedDescription:NSLocalizedString(@"Temporary Cite Keys", @"Error 
description")];
-        [parseError setValue:[BibItem placeholderCiteKey] 
forKey:BDSKTemporaryCiteKeyErrorKey];
+        parseError = [NSError localErrorWithCode:kBDSKHadMissingCiteKeys 
localizedDescription:NSLocalizedString(@"Temporary Cite Keys", @"Error 
description")];
     }
     
        if(outError) *outError = parseError;

Modified: trunk/bibdesk/BibDocument+Scripting.m
===================================================================
--- trunk/bibdesk/BibDocument+Scripting.m       2023-05-30 14:39:06 UTC (rev 
28269)
+++ trunk/bibdesk/BibDocument+Scripting.m       2023-05-31 17:12:24 UTC (rev 
28270)
@@ -1158,7 +1158,7 @@
                             [pub addFileForURL:url autoFile:NO 
runScriptHook:NO];
                     }
                 }
-                [self importPublications:result publicationsToAutoFile:([url 
isFileURL] ? result : nil) temporaryCiteKey:nil options:BDSKImportAggregate | 
BDSKImportNoEdit];
+                [self importPublications:result publicationsToAutoFile:([url 
isFileURL] ? result : nil) options:BDSKImportAggregate | BDSKImportNoEdit];
             }
         };
     }

Modified: trunk/bibdesk/BibDocument.h
===================================================================
--- trunk/bibdesk/BibDocument.h 2023-05-30 14:39:06 UTC (rev 28269)
+++ trunk/bibdesk/BibDocument.h 2023-05-31 17:12:24 UTC (rev 28270)
@@ -77,7 +77,8 @@
     BDSKImportSelectLibrary = 1 << 0,
     BDSKImportAggregate = 1 << 1,
     BDSKImportNoEdit = 1 << 2,
-    BDSKImportNonVerbose = 1 << 3
+    BDSKImportNonVerbose = 1 << 3,
+    BDSKImportWithTemporaryCiteKey = 1 << 4
 };
 
 typedef NS_OPTIONS(NSInteger, BDSKAutoGenerateStatus) {
@@ -344,7 +345,7 @@
 
 - (BOOL)readFromBibTeXData:(NSData *)data string:(NSString *)string 
fromURL:(NSURL *)absoluteURL encoding:(NSStringEncoding)encoding error:(NSError 
**)outError;
 
-- (void)reportTemporaryCiteKeys:(NSString *)tmpKey 
forNewDocument:(BOOL)isNewFile;
+- (void)reportTemporaryCiteKeysForNewDocument:(BOOL)isNewFile;
 - (void)markAsImported;
 
 - (NSString *)bibTeXStringForPublications:(NSArray *)items;
@@ -374,7 +375,7 @@
 
 @property (nonatomic, readonly) BDSKMacroResolver *macroResolver;
 
-- (void)importPublications:(NSArray *)newPubs publicationsToAutoFile:(NSArray 
*)pubsToAutoFile temporaryCiteKey:(NSString *)tmpCiteKey 
options:(BDSKImportOptions)options;
+- (void)importPublications:(NSArray *)newPubs publicationsToAutoFile:(NSArray 
*)pubsToAutoFile options:(BDSKImportOptions)options;
 - (void)importPublications:(NSArray *)newPubs 
options:(BDSKImportOptions)options;
 - (NSArray *)importPublicationsFromPasteboard:(NSPasteboard *)pb 
options:(BDSKImportOptions)options;
 - (NSArray *)extractPublicationsFromFileURL:(NSURL *)fileURL 
verbose:(BOOL)verbose error:(NSError **)outError;

Modified: trunk/bibdesk/BibDocument.m
===================================================================
--- trunk/bibdesk/BibDocument.m 2023-05-30 14:39:06 UTC (rev 28269)
+++ trunk/bibdesk/BibDocument.m 2023-05-31 17:12:24 UTC (rev 28270)
@@ -1984,10 +1984,11 @@
     [self selectPublications:selItems];
 }
 
-- (void)reportTemporaryCiteKeys:(NSString *)tmpKey forNewDocument:(BOOL)isNew{
+- (void)reportTemporaryCiteKeysForNewDocument:(BOOL)isNew{
     if([publications count] == 0)
         return;
     
+    NSString *tmpKey = [BibItem placeholderCiteKey];
     NSArray *tmpKeyItems = [[self publications] allItemsForCiteKey:tmpKey];
     
     if([tmpKeyItems count] == 0)
@@ -2172,7 +2173,7 @@
     return contentArray;
 }
 
-- (void)importPublications:(NSArray *)newPubs publicationsToAutoFile:(NSArray 
*)pubsToAutoFile temporaryCiteKey:(NSString *)tmpCiteKey 
options:(BDSKImportOptions)options {
+- (void)importPublications:(NSArray *)newPubs publicationsToAutoFile:(NSArray 
*)pubsToAutoFile options:(BDSKImportOptions)options {
     BibItem *pub;
     NSUserDefaults *sud = [NSUserDefaults standardUserDefaults];
     
@@ -2252,8 +2253,8 @@
         [groups addChildGroup:[[[BDSKLastImportGroup alloc] 
initWithLastImport:importedItems] autorelease]];
        [self runScriptHookWithName:BDSKScriptHookNameImportPublications 
forPublications:newPubs];
     
-    if (tmpCiteKey != nil) {
-        [self reportTemporaryCiteKeys:tmpCiteKey forNewDocument:NO];
+    if ((options & BDSKImportWithTemporaryCiteKey)) {
+        [self reportTemporaryCiteKeysForNewDocument:NO];
     } else if (hasDuplicateCiteKey) { // should we do this when we don't edit?
         NSAlert *alert = [[[NSAlert alloc] init] autorelease];
         [alert setMessageText:NSLocalizedString(@"Duplicate Cite Key", 
@"Message in alert dialog when duplicate cite key was found")];
@@ -2264,7 +2265,7 @@
 }
 
 - (void)importPublications:(NSArray *)newPubs 
options:(BDSKImportOptions)options {
-    [self importPublications:newPubs publicationsToAutoFile:nil 
temporaryCiteKey:nil options:options];
+    [self importPublications:newPubs publicationsToAutoFile:nil 
options:options];
 }
 
 - (NSArray *)importPublicationsFromPasteboard:(NSPasteboard *)pboard 
options:(BDSKImportOptions)options {
@@ -2271,7 +2272,6 @@
     NSArray *newPubs = nil;
     NSMutableArray *newFilePubs = nil;
        NSError *error = nil;
-    NSString *temporaryCiteKey = nil;
     BOOL verbose = (options & BDSKImportNonVerbose) == 0;
     
     if ([pboard canReadItemWithDataConformingToTypes:[NSArray 
arrayWithObjects:BDSKPasteboardTypePublications, nil]]) {
@@ -2322,7 +2322,7 @@
     
     if ([error isLocalErrorWithCode:kBDSKHadMissingCiteKeys]) {
         // warning shown later
-        temporaryCiteKey = [[error userInfo] 
objectForKey:BDSKTemporaryCiteKeyErrorKey];
+        options |= BDSKImportWithTemporaryCiteKey;
     } else if ([error isLocalErrorWithCode:kBDSKBibTeXParserFailed]) {
         // this asks whether to ignore partially failed bibtex when verbose, 
otherwise just ignore
         if (verbose == NO || [self presentError:error] == NO)
@@ -2333,7 +2333,7 @@
     }
     
     if([newPubs count] > 0)
-               [self importPublications:newPubs 
publicationsToAutoFile:newFilePubs temporaryCiteKey:temporaryCiteKey 
options:options];
+               [self importPublications:newPubs 
publicationsToAutoFile:newFilePubs options:options];
     
     return newPubs;
 }

Modified: trunk/bibdesk/BibDocument_Actions.m
===================================================================
--- trunk/bibdesk/BibDocument_Actions.m 2023-05-30 14:39:06 UTC (rev 28269)
+++ trunk/bibdesk/BibDocument_Actions.m 2023-05-31 17:12:24 UTC (rev 28270)
@@ -1402,7 +1402,10 @@
             NSError *error = nil;
             NSArray *newPubs = [self extractPublicationsFromFileURL:fileURL 
verbose:NO error:&error];
             if ([newPubs count]) {
-                [self importPublications:newPubs publicationsToAutoFile:nil 
temporaryCiteKey:[[error userInfo] valueForKey:BDSKTemporaryCiteKeyErrorKey] 
options:BDSKImportSelectLibrary];
+                BDSKImportOptions options = BDSKImportSelectLibrary;
+                if ([error isLocalErrorWithCode:kBDSKHadMissingCiteKeys])
+                    options |= BDSKImportWithTemporaryCiteKey;
+                [self importPublications:newPubs publicationsToAutoFile:nil 
options:options];
                 // succeeded to parse the file, we return immediately
             } else {
                 [oPanel orderOut:nil];

Modified: trunk/bibdesk/NSError_BDSKExtensions.h
===================================================================
--- trunk/bibdesk/NSError_BDSKExtensions.h      2023-05-30 14:39:06 UTC (rev 
28269)
+++ trunk/bibdesk/NSError_BDSKExtensions.h      2023-05-31 17:12:24 UTC (rev 
28270)
@@ -69,7 +69,6 @@
 };
 
 extern NSString *BDSKFailedDocumentErrorKey;
-extern NSString *BDSKTemporaryCiteKeyErrorKey;
 
 @interface NSError (BDSKExtensions) <NSMutableCopying>
 

Modified: trunk/bibdesk/NSError_BDSKExtensions.m
===================================================================
--- trunk/bibdesk/NSError_BDSKExtensions.m      2023-05-30 14:39:06 UTC (rev 
28269)
+++ trunk/bibdesk/NSError_BDSKExtensions.m      2023-05-31 17:12:24 UTC (rev 
28270)
@@ -41,7 +41,6 @@
 #define BDSKErrorDomain @"net.sourceforge.bibdesk.errors"
 
 NSString *BDSKFailedDocumentErrorKey = @"BDSKFailedDocument";
-NSString *BDSKTemporaryCiteKeyErrorKey = @"BDSKTemporaryCiteKey";
 
 @interface BDSKMutableError : NSError
 {

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to