From: <ama...@us...> - 2006-09-27 19:52:18
|
Revision: 7763 http://svn.sourceforge.net/bibdesk/?rev=7763&view=rev Author: amaxwell Date: 2006-09-27 12:52:11 -0700 (Wed, 27 Sep 2006) Log Message: ----------- Add option to display last author, per request from users list. Modified Paths: -------------- trunk/bibdesk/BibDocument.m trunk/bibdesk/BibDocument_DataSource.m trunk/bibdesk/BibItem.h trunk/bibdesk/BibItem.m trunk/bibdesk/BibPrefController.h trunk/bibdesk/BibPrefController.m Modified: trunk/bibdesk/BibDocument.m =================================================================== --- trunk/bibdesk/BibDocument.m 2006-09-27 17:16:07 UTC (rev 7762) +++ trunk/bibdesk/BibDocument.m 2006-09-27 19:52:11 UTC (rev 7763) @@ -2483,6 +2483,10 @@ sortDescriptor = [[BDSKTableSortDescriptor alloc] initWithKey:@"thirdAuthor" ascending:ascend selector:@selector(sortCompare:)]; + }else if([tcID isEqualToString:BDSKLastAuthorString]){ + + sortDescriptor = [[BDSKTableSortDescriptor alloc] initWithKey:@"lastAuthor" ascending:ascend selector:@selector(sortCompare:)]; + }else if([tcID isEqualToString:BDSKFirstAuthorEditorString] || [tcID isEqualToString:BDSKAuthorEditorString]){ @@ -2496,6 +2500,10 @@ sortDescriptor = [[BDSKTableSortDescriptor alloc] initWithKey:@"thirdAuthorOrEditor" ascending:ascend selector:@selector(sortCompare:)]; + }else if([tcID isEqualToString:BDSKLastAuthorEditorString]){ + + sortDescriptor = [[BDSKTableSortDescriptor alloc] initWithKey:@"lastAuthorOrEditor" ascending:ascend selector:@selector(sortCompare:)]; + }else if([tcID isEqualToString:BDSKEditorString]){ sortDescriptor = [[BDSKTableSortDescriptor alloc] initWithKey:@"pubEditors.@firstObject" ascending:ascend selector:@selector(sortCompare:)]; @@ -2802,7 +2810,7 @@ - (IBAction)columnsMenuAddTableColumn:(id)sender{ // first we fill the popup BibTypeManager *typeMan = [BibTypeManager sharedManager]; - NSArray *colNames = [typeMan allFieldNamesIncluding:[NSArray arrayWithObjects:BDSKPubTypeString, BDSKCiteKeyString, BDSKDateString, BDSKDateAddedString, BDSKDateModifiedString, BDSKFirstAuthorString, BDSKSecondAuthorString, BDSKThirdAuthorString, BDSKFirstAuthorEditorString, BDSKSecondAuthorEditorString, BDSKThirdAuthorEditorString, BDSKAuthorEditorString, BDSKItemNumberString, BDSKContainerString, nil] + NSArray *colNames = [typeMan allFieldNamesIncluding:[NSArray arrayWithObjects:BDSKPubTypeString, BDSKCiteKeyString, BDSKDateString, BDSKDateAddedString, BDSKDateModifiedString, BDSKFirstAuthorString, BDSKSecondAuthorString, BDSKThirdAuthorString, BDSKLastAuthorString, BDSKFirstAuthorEditorString, BDSKSecondAuthorEditorString, BDSKThirdAuthorEditorString, BDSKAuthorEditorString, BDSKLastAuthorEditorString, BDSKItemNumberString, BDSKContainerString, nil] excluding:[[OFPreferenceWrapper sharedPreferenceWrapper] arrayForKey:BDSKShownColsNamesKey]]; BDSKAddFieldSheetController *addFieldController = [[BDSKAddFieldSheetController alloc] initWithPrompt:NSLocalizedString(@"Name of column to add:",@"") Modified: trunk/bibdesk/BibDocument_DataSource.m =================================================================== --- trunk/bibdesk/BibDocument_DataSource.m 2006-09-27 17:16:07 UTC (rev 7762) +++ trunk/bibdesk/BibDocument_DataSource.m 2006-09-27 19:52:11 UTC (rev 7763) @@ -124,12 +124,16 @@ return [[pub authorAtIndex:1] displayName]; }else if([tcID isEqualToString: BDSKThirdAuthorString] ){ return [[pub authorAtIndex:2] displayName]; + }else if([tcID isEqualToString:BDSKLastAuthorString] ){ + return [[pub lastAuthor] displayName]; }else if([tcID isEqualToString: BDSKFirstAuthorEditorString] ){ return [[pub authorOrEditorAtIndex:0] displayName]; }else if([tcID isEqualToString: BDSKSecondAuthorEditorString] ){ return [[pub authorOrEditorAtIndex:1] displayName]; }else if([tcID isEqualToString: BDSKThirdAuthorEditorString] ){ return [[pub authorOrEditorAtIndex:2] displayName]; + }else if([tcID isEqualToString:BDSKLastAuthorEditorString] ){ + return [[pub lastAuthorOrEditor] displayName]; } else if([tcID isEqualToString:BDSKAuthorString]) { return [pub pubAuthorsForDisplay]; } else if([tcID isEqualToString:BDSKAuthorEditorString]){ Modified: trunk/bibdesk/BibItem.h =================================================================== --- trunk/bibdesk/BibItem.h 2006-09-27 17:16:07 UTC (rev 7762) +++ trunk/bibdesk/BibItem.h 2006-09-27 19:52:11 UTC (rev 7763) @@ -220,6 +220,14 @@ - (BibAuthor *)authorAtIndex:(int)index inherit:(BOOL)inherit; /*! + @method lastAuthor + @abstract Returns the last author in the array of authors. + @discussion (comprehensive description) + @result (description) +*/ +- (BibAuthor *)lastAuthor; + +/*! @method bibTeXAuthorString @abstract Calls bibTeXAuthorStringNormalized:inherit: with normalized set to NO and inherit set to YES. @discussion (discussion) @@ -292,6 +300,14 @@ - (NSArray *)pubAuthorsOrEditorsInheriting:(BOOL)inherit; /*! + @method lastAuthorOrEditor + @abstract Returns last object of pubAuthorsOrEditors. + @discussion (comprehensive description) + @result (description) +*/ +- (BibAuthor *)lastAuthorOrEditor; + +/*! @method pubAuthorsOreditorsForDisplay @abstract Returns authors or editors in a string form, according to the user's display preferences. @discussion (comprehensive description) Modified: trunk/bibdesk/BibItem.m =================================================================== --- trunk/bibdesk/BibItem.m 2006-09-27 17:16:07 UTC (rev 7762) +++ trunk/bibdesk/BibItem.m 2006-09-27 19:52:11 UTC (rev 7763) @@ -638,6 +638,10 @@ return [self authorAtIndex:2]; } +- (BibAuthor *)lastAuthor{ + return [[self pubAuthors] lastObject]; +} + - (NSArray *)pubAuthors{ return [self pubAuthorsInheriting:YES]; } @@ -735,6 +739,10 @@ return [self authorOrEditorAtIndex:2]; } +- (BibAuthor *)lastAuthorOrEditor{ + return [[self pubAuthorsOrEditors] lastObject]; +} + - (NSArray *)pubAuthorsOrEditors{ return [self pubAuthorsOrEditorsInheriting:YES]; } Modified: trunk/bibdesk/BibPrefController.h =================================================================== --- trunk/bibdesk/BibPrefController.h 2006-09-27 17:16:07 UTC (rev 7762) +++ trunk/bibdesk/BibPrefController.h 2006-09-27 19:52:11 UTC (rev 7763) @@ -232,10 +232,12 @@ extern NSString *BDSKFirstAuthorString; extern NSString *BDSKSecondAuthorString; extern NSString *BDSKThirdAuthorString; +extern NSString *BDSKLastAuthorString; extern NSString *BDSKFirstAuthorEditorString; extern NSString *BDSKSecondAuthorEditorString; extern NSString *BDSKThirdAuthorEditorString; extern NSString *BDSKAuthorEditorString; +extern NSString *BDSKLastAuthorEditorString; extern NSString *BDSKItemNumberString; extern NSString *BDSKTypeString; extern NSString *BDSKAddressString; Modified: trunk/bibdesk/BibPrefController.m =================================================================== --- trunk/bibdesk/BibPrefController.m 2006-09-27 17:16:07 UTC (rev 7762) +++ trunk/bibdesk/BibPrefController.m 2006-09-27 19:52:11 UTC (rev 7763) @@ -252,10 +252,12 @@ NSString *BDSKFirstAuthorString = @"1st Author"; NSString *BDSKSecondAuthorString = @"2nd Author"; NSString *BDSKThirdAuthorString = @"3rd Author"; +NSString *BDSKLastAuthorString = @"Last Author"; NSString *BDSKFirstAuthorEditorString = @"1st Author or Editor"; NSString *BDSKSecondAuthorEditorString = @"2nd Author or Editor"; NSString *BDSKThirdAuthorEditorString = @"3rd Author or Editor"; NSString *BDSKAuthorEditorString = @"Author or Editor"; +NSString *BDSKLastAuthorEditorString = @"Last Author or Editor"; NSString *BDSKItemNumberString = @"Item Number"; NSString *BDSKTypeString = @"Type"; NSString *BDSKAddressString = @"Address"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |