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