Revision: 26918 http://sourceforge.net/p/bibdesk/svn/26918 Author: hofman Date: 2021-09-17 15:12:08 +0000 (Fri, 17 Sep 2021) Log Message: ----------- Use macros for keys
Modified Paths: -------------- trunk/bibdesk/BDSKFileMatcher.m Modified: trunk/bibdesk/BDSKFileMatcher.m =================================================================== --- trunk/bibdesk/BDSKFileMatcher.m 2021-09-17 15:04:53 UTC (rev 26917) +++ trunk/bibdesk/BDSKFileMatcher.m 2021-09-17 15:12:08 UTC (rev 26918) @@ -64,6 +64,14 @@ #define LEAF_ROW_HEIGHT 20.0 #define GROUP_ROW_HEIGHT 24.0 +#define PUB_KEY @"pub" +#define FILEURL_KEY @"fileURL" +#define STRING_KEY @"string" +#define SEARCHSTRING_KEY @"searchString" +#define IMAGE_KEY @"image" +#define SCORE_KEY @"score" +#define CHILDREN_KEY @"children" + @interface BDSKTreeNode (BDSKQuickLook) <QLPreviewItem> @end @@ -182,11 +190,11 @@ - (IBAction)openAction:(id)sender; { id clickedItem = [outlineView itemAtRow:[outlineView clickedRow]]; - id obj = [clickedItem valueForKey:@"pub"]; + id obj = [clickedItem valueForKey:PUB_KEY]; if (obj && [[obj owner] respondsToSelector:@selector(editPub:)]) [[obj owner] editPub:obj]; - else if ((obj = [clickedItem valueForKey:@"fileURL"])) - [[NSWorkspace sharedWorkspace] openURLs:[NSArray arrayWithObject:obj] withSearchString:[clickedItem valueForKey:@"searchString"]]; + else if ((obj = [clickedItem valueForKey:FILEURL_KEY])) + [[NSWorkspace sharedWorkspace] openURLs:[NSArray arrayWithObject:obj] withSearchString:[clickedItem valueForKey:SEARCHSTRING_KEY]]; else NSBeep(); } @@ -246,7 +254,7 @@ if ([fileURLs count] == 0) return NO; - BibItem *pub = [item valueForKey:@"pub"]; + BibItem *pub = [item valueForKey:PUB_KEY]; if ([[NSUserDefaults standardUserDefaults] boolForKey:BDSKUseLocalUrlAndUrlKey]) { NSString *oldValue = [[[pub valueOfField:BDSKLocalUrlString inherit:NO] copy] autorelease]; [pub setField:BDSKLocalUrlString toURLValue:[fileURLs objectAtIndex:0]]; @@ -375,7 +383,7 @@ } - (NSImage *)previewPanel:(QLPreviewPanel *)panel transitionImageForPreviewItem:(id <QLPreviewItem>)item contentRect:(NSRect *)contentRect { - return [(id)item valueForKey:@"image"]; + return [(id)item valueForKey:IMAGE_KEY]; } - (BOOL)previewPanel:(QLPreviewPanel *)panel handleEvent:(NSEvent *)event { @@ -415,13 +423,13 @@ BDSKTreeNode *theNode = [[BDSKTreeNode alloc] init]; // we add the pub to the tree so it's retained, but don't touch it in the thread! - [theNode setValue:pub forKey:@"pub"]; + [theNode setValue:pub forKey:PUB_KEY]; // grab these strings on the main thread, since we need them in the worker thread - [theNode setValue:titleStringWithPub(pub) forKey:@"string"]; - [theNode setValue:searchStringWithPub(pub) forKey:@"searchString"]; + [theNode setValue:titleStringWithPub(pub) forKey:STRING_KEY]; + [theNode setValue:searchStringWithPub(pub) forKey:SEARCHSTRING_KEY]; - [theNode setValue:[NSImage imageNamed:@"cacheDocIcon"] forKey:@"image"]; + [theNode setValue:[NSImage imageNamed:@"cacheDocIcon"] forKey:IMAGE_KEY]; [nodes addObject:theNode]; [theNode release]; @@ -436,11 +444,11 @@ NSUInteger i, iMax = [parent countOfChildren]; for (i = 0; i < iMax; i++) { BDSKTreeNode *child = [parent objectInChildrenAtIndex:i]; - NSNumber *score = [child valueForKey:@"score"]; + NSNumber *score = [child valueForKey:SCORE_KEY]; if (score) { CGFloat oldValue = [score doubleValue]; double newValue = oldValue/maxScore; - [child setValue:[NSNumber numberWithDouble:newValue] forKey:@"score"]; + [child setValue:[NSNumber numberWithDouble:newValue] forKey:SCORE_KEY]; } } } @@ -467,7 +475,7 @@ NSAutoreleasePool *pool = [NSAutoreleasePool new]; - NSString *searchString = [node valueForKey:@"searchString"]; + NSString *searchString = [node valueForKey:SEARCHSTRING_KEY]; SKSearchRef search = SKSearchCreate(searchIndex, (CFStringRef)searchString, kSKSearchOptionDefault); @@ -495,14 +503,14 @@ // now we have a matching file; we could remove it from the index, but multiple matches are reasonable for (i = 0; i < iMax; i++) { BDSKTreeNode *child = [[BDSKTreeNode alloc] init]; - [child setValue:(id)urls[i] forKey:@"fileURL"]; - [child setValue:[[(id)urls[i] path] stringByAbbreviatingWithTildeInPath] forKey:@"string"]; - [child setValue:[[NSWorkspace sharedWorkspace] iconForFile:[(NSURL *)urls[i] path]] forKey:@"image"]; - [child setValue:searchString forKey:@"searchString"]; + [child setValue:(id)urls[i] forKey:FILEURL_KEY]; + [child setValue:[[(id)urls[i] path] stringByAbbreviatingWithTildeInPath] forKey:STRING_KEY]; + [child setValue:[[NSWorkspace sharedWorkspace] iconForFile:[(NSURL *)urls[i] path]] forKey:IMAGE_KEY]; + [child setValue:searchString forKey:SEARCHSTRING_KEY]; thisScore = scores[i]; maxScore = MAX(maxScore, thisScore); - [child setValue:[NSNumber numberWithDouble:thisScore] forKey:@"score"]; - [[node mutableArrayValueForKey:@"children"] addObject:child]; + [child setValue:[NSNumber numberWithDouble:thisScore] forKey:SCORE_KEY]; + [[node mutableArrayValueForKey:CHILDREN_KEY] addObject:child]; [child release]; CFRelease(urls[i]); } @@ -515,10 +523,10 @@ CFRelease(search); normalizeScoresForItem(node, maxScore); - [node setValue:[NSString stringWithFormat:@"%ld", (long)[node countOfChildren]] forKey:@"score"]; - NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"score" ascending:NO]; + [node setValue:[NSString stringWithFormat:@"%ld", (long)[node countOfChildren]] forKey:SCORE_KEY]; + NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:SCORE_KEY ascending:NO]; NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sort, nil]; - [[node mutableArrayValueForKey:@"children"] sortUsingDescriptors:sortDescriptors]; + [[node mutableArrayValueForKey:CHILDREN_KEY] sortUsingDescriptors:sortDescriptors]; [sort release]; [sortDescriptors release]; @@ -637,11 +645,11 @@ @implementation BDSKTreeNode (BDSKQuickLook) - (NSURL *)previewItemURL { - return [self valueForKey:@"fileURL"]; + return [self valueForKey:FILEURL_KEY]; } - (NSString *)previewItemTitle { - return [self valueForKey:@"string"]; + return [self valueForKey:STRING_KEY]; } @end 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