Revision: 27667
http://sourceforge.net/p/bibdesk/svn/27667
Author: hofman
Date: 2022-07-01 14:17:34 +0000 (Fri, 01 Jul 2022)
Log Message:
-----------
Rename method. Also update cell views for author columns when name display
changes
Modified Paths:
--------------
trunk/bibdesk/BibDocument_DataSource.h
trunk/bibdesk/BibDocument_DataSource.m
trunk/bibdesk/BibDocument_UI.m
Modified: trunk/bibdesk/BibDocument_DataSource.h
===================================================================
--- trunk/bibdesk/BibDocument_DataSource.h 2022-07-01 09:48:02 UTC (rev
27666)
+++ trunk/bibdesk/BibDocument_DataSource.h 2022-07-01 14:17:34 UTC (rev
27667)
@@ -56,6 +56,6 @@
- (void)publication:(BibItem *)publication deleteURLsAtIndexes:(NSIndexSet
*)indexSet moveToTrash:(NSInteger)moveToTrash;
-- (void)updateView:(NSTableCellView *)view forTableColumnIdentifier:(NSString
*)tcID item:(BibItem *)pub;
+- (void)updateView:(NSTableCellView *)view forField:(NSString *)field
ofItem:(BibItem *)pub;
@end
Modified: trunk/bibdesk/BibDocument_DataSource.m
===================================================================
--- trunk/bibdesk/BibDocument_DataSource.m 2022-07-01 09:48:02 UTC (rev
27666)
+++ trunk/bibdesk/BibDocument_DataSource.m 2022-07-01 14:17:34 UTC (rev
27667)
@@ -181,8 +181,8 @@
}
}
-- (void)updateView:(NSTableCellView *)view forTableColumnIdentifier:(NSString
*)tcID item:(BibItem *)pub {
- id value = [pub displayValueOfField:tcID];
+- (void)updateView:(NSTableCellView *)view forField:(NSString *)field
ofItem:(BibItem *)pub {
+ id value = [pub displayValueOfField:field];
NSTextField *textField = [view textField];
NSImageView *imageView = [view imageView];
if (textField == nil && imageView == nil) {
@@ -190,7 +190,7 @@
BDSKASSERT([view isKindOfClass:[BDSKControlTableCellView class]]);
BDSKASSERT(value == nil || [value isKindOfClass:[NSNumber class]] ||
[value isKindOfClass:[NSColor class]]);
NSControl *control = [(BDSKControlTableCellView *)view control];
- if ([tcID isEqualToString:BDSKImportOrderString]) {
+ if ([field isEqualToString:BDSKImportOrderString]) {
if ([pub isImported]) {
[control setEnabled:NO];
[control setToolTip:nil];
@@ -198,7 +198,7 @@
[control setEnabled:YES];
[control setToolTip:NSLocalizedString(@"Click to import this
item", @"Tool tip message")];
}
- } else if ([tcID isEqualToString:BDSKCrossrefString]) {
+ } else if ([field isEqualToString:BDSKCrossrefString]) {
BibItem *parent = [pub crossrefParent];
if (parent) {
[control setEnabled:YES];
@@ -208,7 +208,7 @@
[(NSButton *)control setImage:nil];
}
[control setToolTip:[parent citeKey]];
- } else if ([tcID isBooleanField] || [tcID isTriStateField]) {
+ } else if ([field isBooleanField] || [field isTriStateField]) {
[control setEnabled:[self
hasGroupTypeSelected:BDSKExternalGroupType] == NO];
}
[control setObjectValue:value];
@@ -216,7 +216,7 @@
// generic text field
// value can be an NSNumber for Item Number
// possibly reset red color from invalid cite key, can be reused for
any text field
- if ([tcID isEqualToString:BDSKCiteKeyString] && [pub
isValidCiteKey:[pub citeKey]] == NO)
+ if ([field isEqualToString:BDSKCiteKeyString] && [pub
isValidCiteKey:[pub citeKey]] == NO)
[textField setTextColor:[NSColor systemRedColor]];
else
[textField setTextColor:[NSColor controlTextColor]];
@@ -224,7 +224,7 @@
} else if (textField == nil) {
NSImage *image = nil;
if ([value isNotEmpty]) {
- image = [tableView cellImageForField:tcID];
+ image = [tableView cellImageForField:field];
BDSKASSERT(image != nil || [value isKindOfClass:[NSURL class]]);
if ([value isKindOfClass:[NSURL class]]) {
// URL field
@@ -255,14 +255,12 @@
}
- (NSView *)tableView:(NSTableView *)tv viewForTableColumn:(NSTableColumn
*)tableColumn row:(NSInteger)row {
- NSString *tcID = [tableColumn identifier];
if (tv == tableView) {
NSTableCellView *view = [tableView makeViewForTableColumn:tableColumn
owner:self];
- BibItem *pub = [[self shownPublications] objectAtIndex:row];
- [self updateView:view forTableColumnIdentifier:tcID item:pub];
+ [self updateView:view forField:[tableColumn identifier] ofItem:[[self
shownPublications] objectAtIndex:row]];
return view;
} else {
- return [tv makeViewWithIdentifier:tcID owner:nil];
+ return [tv makeViewWithIdentifier:[tableColumn identifier] owner:self];
}
}
Modified: trunk/bibdesk/BibDocument_UI.m
===================================================================
--- trunk/bibdesk/BibDocument_UI.m 2022-07-01 09:48:02 UTC (rev 27666)
+++ trunk/bibdesk/BibDocument_UI.m 2022-07-01 14:17:34 UTC (rev 27667)
@@ -1375,7 +1375,7 @@
// groups and quicksearch won't update for us
[self sortPubsByKey:nil];
} else {
- NSArray *colIDs = [[tableView tableColumns]
valueForKey:@"identifier"];
+ NSArray *colIDs = [tableView tableColumnIdentifiers];
for (BibItem *aPub in changedPublications) {
NSUInteger row = [shownPublications indexOfObject:aPub];
if (row == NSNotFound) continue;
@@ -1382,7 +1382,7 @@
[colIDs enumerateObjectsUsingBlock:^(NSString *colID,
NSUInteger column, BOOL *stop){
NSTableCellView *view = [tableView viewAtColumn:column
row:row makeIfNecessary:NO];
if (view)
- [self updateView:view
forTableColumnIdentifier:colID item:aPub];
+ [self updateView:view forField:colID ofItem:aPub];
}];
}
}
@@ -1829,16 +1829,18 @@
if ([key isEqualToString:BDSKIgnoredSortTermsKey]) {
[self sortPubsByKey:nil];
} else if ([key isEqualToString:BDSKAuthorNameDisplayKey]) {
- NSIndexSet *rowIndexes = [NSIndexSet
indexSetWithIndexesInRange:NSMakeRange(0, [tableView numberOfRows])];
- NSMutableIndexSet *colIndexes = [NSMutableIndexSet indexSet];
static NSSet *authorColumns = nil;
if (authorColumns == nil)
authorColumns = [[NSSet alloc]
initWithObjects:BDSKFirstAuthorString, BDSKSecondAuthorString,
BDSKThirdAuthorString, BDSKLastAuthorString, BDSKAuthorEditorString,
BDSKFirstAuthorEditorString, BDSKSecondAuthorEditorString,
BDSKThirdAuthorEditorString, BDSKLastAuthorEditorString, nil];
- [[tableView tableColumnIdentifiers]
enumerateObjectsUsingBlock:^(NSString *tcID, NSUInteger idx, BOOL *stop){
- if ([tcID isPersonField] || [authorColumns
containsObject:tcID])
- [colIndexes addIndex:idx];
+ [[tableView tableColumnIdentifiers]
enumerateObjectsUsingBlock:^(NSString *tcID, NSUInteger column, BOOL *stop){
+ if ([tcID isPersonField] || [authorColumns
containsObject:tcID]) {
+ [shownPublications enumerateObjectsUsingBlock:^(BibItem
*item, NSUInteger row, BOOL *stop1){
+ NSTableCellView *view = [tableView viewAtColumn:column
row:row makeIfNecessary:NO];
+ if (view)
+ [self updateView:view forField:tcID ofItem:item];
+ }];
+ }
}];
- [tableView reloadDataForRowIndexes:rowIndexes
columnIndexes:colIndexes];
for (BDSKCategoryParentGroup *group in [groups categoryParents]) {
if ([[group key] isPersonField] && [groupOutlineView
isItemExpanded:group]) {
for (BDSKGroup *catGroup in [group categoryGroups])
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