Revision: 26511 http://sourceforge.net/p/bibdesk/svn/26511 Author: hofman Date: 2021-07-26 14:54:57 +0000 (Mon, 26 Jul 2021) Log Message: ----------- Use setter rather than add/remove methods for single last import group
Modified Paths: -------------- trunk/bibdesk/BDSKGroupsArray.h trunk/bibdesk/BDSKGroupsArray.m trunk/bibdesk/BDSKParentGroup.h trunk/bibdesk/BDSKParentGroup.m trunk/bibdesk/BibDocument.m Modified: trunk/bibdesk/BDSKGroupsArray.h =================================================================== --- trunk/bibdesk/BDSKGroupsArray.h 2021-07-26 14:42:44 UTC (rev 26510) +++ trunk/bibdesk/BDSKGroupsArray.h 2021-07-26 14:54:57 UTC (rev 26511) @@ -82,8 +82,7 @@ - (void)removeURLGroup:(BDSKURLGroup *)group; - (void)addScriptGroup:(BDSKScriptGroup *)group; - (void)removeScriptGroup:(BDSKScriptGroup *)group; -- (void)addLastImportGroup:(BDSKLastImportGroup *)group; -- (void)removeLastImportGroup:(BDSKLastImportGroup *)group; +- (void)setLastImportGroup:(BDSKLastImportGroup *)group; - (void)addSmartGroup:(BDSKSmartGroup *)group; - (void)removeSmartGroup:(BDSKSmartGroup *)group; - (void)addStaticGroup:(BDSKStaticGroup *)group; Modified: trunk/bibdesk/BDSKGroupsArray.m =================================================================== --- trunk/bibdesk/BDSKGroupsArray.m 2021-07-26 14:42:44 UTC (rev 26510) +++ trunk/bibdesk/BDSKGroupsArray.m 2021-07-26 14:54:57 UTC (rev 26511) @@ -271,18 +271,11 @@ [[self document] didChangeChildrenOfParentGroup:[self externalParent]]; } -- (void)addLastImportGroup:(BDSKLastImportGroup *)group { - [[[self undoManager] prepareWithInvocationTarget:self] removeLastImportGroup:group]; - [[self smartParent] addLastImportGroup:group]; +- (void)setLastImportGroup:(BDSKLastImportGroup *)group { + [[[self undoManager] prepareWithInvocationTarget:self] setLastImportGroup:[self lastImportGroup]]; [[self document] didChangeChildrenOfParentGroup:[self smartParent]]; } -- (void)removeLastImportGroup:(BDSKLastImportGroup *)group { - [[[self undoManager] prepareWithInvocationTarget:self] addLastImportGroup:group]; - [[self smartParent] removeLastImportGroup:group]; - [[self document] didChangeChildrenOfParentGroup:[self smartParent]]; -} - - (void)addSmartGroup:(BDSKSmartGroup *)group { [[[self undoManager] prepareWithInvocationTarget:self] removeSmartGroup:group]; [[self smartParent] addSmartGroup:group]; Modified: trunk/bibdesk/BDSKParentGroup.h =================================================================== --- trunk/bibdesk/BDSKParentGroup.h 2021-07-26 14:42:44 UTC (rev 26510) +++ trunk/bibdesk/BDSKParentGroup.h 2021-07-26 14:54:57 UTC (rev 26511) @@ -98,11 +98,9 @@ BOOL hasLastImportGroup; } -@property (nonatomic, readonly) BDSKLastImportGroup *lastImportGroup; +@property (nonatomic, retain) BDSKLastImportGroup *lastImportGroup; @property (nonatomic, readonly) NSArray *smartGroups; -- (void)addLastImportGroup:(BDSKLastImportGroup *)group; -- (void)removeLastImportGroup:(BDSKLastImportGroup *)group; - (void)addSmartGroup:(BDSKSmartGroup *)group; - (void)removeSmartGroup:(BDSKSmartGroup *)group; Modified: trunk/bibdesk/BDSKParentGroup.m =================================================================== --- trunk/bibdesk/BDSKParentGroup.m 2021-07-26 14:42:44 UTC (rev 26510) +++ trunk/bibdesk/BDSKParentGroup.m 2021-07-26 14:54:57 UTC (rev 26511) @@ -425,11 +425,6 @@ - (BDSKGroupType)groupType { return BDSKSmartParentGroupType; } -// return nil if non-existent -- (BDSKLastImportGroup *)lastImportGroup { - return hasLastImportGroup ? [self childAtIndex:0] : nil; -} - - (NSArray *)smartGroups { if (hasLastImportGroup == 0) return [self children]; @@ -436,15 +431,18 @@ return [self childrenAtIndex:1 count:[self numberOfChildren] - 1]; } -- (void)addLastImportGroup:(BDSKLastImportGroup *)group { - if (hasLastImportGroup) - [self removeLastImportGroup:[self childAtIndex:0]]; - hasLastImportGroup = YES; - [self insertChild:group atIndex:0 fromIndex:0]; +// return nil if non-existent +- (BDSKLastImportGroup *)lastImportGroup { + return hasLastImportGroup ? [self childAtIndex:0] : nil; } -- (void)removeLastImportGroup:(BDSKLastImportGroup *)group { - if (hasLastImportGroup) { +- (void)setLastImportGroup:(BDSKLastImportGroup *)group { + if (group) { + if (hasLastImportGroup) + [self removeChild:[self childAtIndex:0]]; + hasLastImportGroup = YES; + [self insertChild:group atIndex:0 fromIndex:0]; + } else if (hasLastImportGroup) { hasLastImportGroup = NO; [self removeChild:[self childAtIndex:0]]; } Modified: trunk/bibdesk/BibDocument.m =================================================================== --- trunk/bibdesk/BibDocument.m 2021-07-26 14:42:44 UTC (rev 26510) +++ trunk/bibdesk/BibDocument.m 2021-07-26 14:54:57 UTC (rev 26511) @@ -2212,7 +2212,7 @@ if (lastImportGroup) [lastImportGroup setPublications:importedItems]; else - [groups addLastImportGroup:[[[BDSKLastImportGroup alloc] initWithLastImport:importedItems] autorelease]]; + [groups setLastImportGroup:[[[BDSKLastImportGroup alloc] initWithLastImport:importedItems] autorelease]]; [[BDSKScriptHookManager sharedManager] runScriptHookWithName:BDSKImportPublicationsScriptHookName forPublications:newPubs document:self]; if (tmpCiteKey != nil) { 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