Revision: 24622 http://sourceforge.net/p/bibdesk/svn/24622 Author: hofman Date: 2020-02-08 22:33:29 +0000 (Sat, 08 Feb 2020) Log Message: ----------- Set cite key or pub type if needed. Use toggleAll: from selectAll: and selectNone:
Modified Paths: -------------- trunk/bibdesk/BDSKMergeController.m Modified: trunk/bibdesk/BDSKMergeController.m =================================================================== --- trunk/bibdesk/BDSKMergeController.m 2020-02-08 15:15:29 UTC (rev 24621) +++ trunk/bibdesk/BDSKMergeController.m 2020-02-08 22:33:29 UTC (rev 24622) @@ -122,16 +122,13 @@ } - (IBAction)toggleAll:(id)sender { - NSNumber *value = [NSNumber numberWithBool:[sender state]]; - [[overwriteFields allValues] setValue:value forKey:SELECTED_COLUMNID]; - [tableView reloadDataForRowIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, [fieldNames count])] columnIndexes:[NSIndexSet indexSetWithIndex:0]]; + [selectAllButton setState:NSOnState]; + [self toggleAll:selectAllButton]; } - (IBAction)selectAll:(id)sender { - NSNumber *value = [NSNumber numberWithBool:YES]; - [[overwriteFields allValues] setValue:value forKey:SELECTED_COLUMNID]; - [tableView reloadDataForRowIndexes:[NSIndexSet indexSetWithIndex:0] columnIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, [fieldNames count])]]; - [selectAllButton setState:NSOnState]; + [selectAllButton setState:NSOffState]; + [self toggleAll:selectAllButton]; } - (IBAction)selectNone:(id)sender { @@ -259,14 +256,18 @@ NSString *oldValue = [item objectForKey:CURRENT_COLUMNID]; NSString *newValue = [item objectForKey:PASTED_COLUMNID]; - if ([field isEqualToString:BDSKCrossrefString] && [publication canSetCrossref:newValue] != BDSKNoCrossrefError) - continue; + if ([field isEqualToString:BDSKCiteKeyString]) { + if ([publication canSetCiteKey:newValue] != BDSKNoCrossrefError) + continue; + [publication setCiteKey:newValue]; + } else if ([field isEqualToString:BDSKPubTypeString]) { + [publication setPubType:newValue]; + } else { + if ([field isEqualToString:BDSKCrossrefString] && [publication canSetCrossref:newValue] != BDSKNoCrossrefError) + continue; + [publication setField:field toValue:newValue]; + } - if ([field isEqualToString:BDSKCiteKeyString] && [publication canSetCiteKey:newValue] != BDSKNoCrossrefError) - continue; - - [publication setField:field toValue:newValue]; - autoGenerateStatus |= [document userChangedField:field ofPublication:publication from:oldValue to:newValue]; didMerge = YES; } @@ -274,14 +275,16 @@ for (NSString *field in addedFields) { NSString *value = [addedFields objectForKey:field]; - if ([field isEqualToString:BDSKCrossrefString] && [publication canSetCrossref:value] != BDSKNoCrossrefError) - continue; + if ([field isEqualToString:BDSKCiteKeyString]) { + if ([publication canSetCiteKey:value] != BDSKNoCrossrefError) + continue; + [publication setCiteKey:value]; + } else { + if ([field isEqualToString:BDSKCrossrefString] && [publication canSetCrossref:value] != BDSKNoCrossrefError) + continue; + [publication setField:field toValue:value]; + } - if ([field isEqualToString:BDSKCiteKeyString] && [publication canSetCiteKey:value] != BDSKNoCrossrefError) - continue; - - [publication setField:field toValue:value]; - autoGenerateStatus |= [document userChangedField:field ofPublication:publication from:@"" to:value]; didMerge = YES; } 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