Revision: 7341
Author: amaxwell
Date: 2006-08-09 21:33:39 -0700 (Wed, 09 Aug 2006)
ViewCVS: http://svn.sourceforge.net/bibdesk/?rev=7341&view=rev
Log Message:
-----------
Remove redundant keys from prefs in favor of our standard constant strings. If we want to support adding these, the view/formatter level should convert them to our constants instead of special-casing everywhere.
Modified Paths:
--------------
trunk/bibdesk/BibAppController.m
trunk/bibdesk/BibDocument.m
trunk/bibdesk/BibDocument_DataSource.m
trunk/bibdesk/BibDocument_Search.m
Modified: trunk/bibdesk/BibAppController.m
===================================================================
--- trunk/bibdesk/BibAppController.m 2006-08-10 03:52:10 UTC (rev 7340)
+++ trunk/bibdesk/BibAppController.m 2006-08-10 04:33:39 UTC (rev 7341)
@@ -75,6 +75,36 @@
@implementation BibAppController
+// remove legacy comparisons of added/created/modified strings in table column code from prefs
+// maybe we can support transforming these in the add field sheets, if we want to allow some
+// sort of fuzzy matching?
+static NSArray *fixLegacyTableColumnIdentifiers(NSArray *tableColumnIdentifiers){
+ unsigned index;
+ NSMutableArray *array = [[tableColumnIdentifiers mutableCopy] autorelease];
+
+ index = [array indexOfObject:@"Added"];
+ if(NSNotFound != index)
+ [array replaceObjectAtIndex:index withObject:BDSKDateAddedString];
+
+ index = [array indexOfObject:@"Created"];
+ if(NSNotFound != index)
+ [array replaceObjectAtIndex:index withObject:BDSKDateAddedString];
+
+ index = [array indexOfObject:@"Modified"];
+ if(NSNotFound != index)
+ [array replaceObjectAtIndex:index withObject:BDSKDateModifiedString];
+
+ index = [array indexOfObject:@"Authors Or Editors"];
+ if(NSNotFound != index)
+ [array replaceObjectAtIndex:index withObject:BDSKAuthorEditorString];
+
+ index = [array indexOfObject:@"Authors"];
+ if(NSNotFound != index)
+ [array replaceObjectAtIndex:index withObject:BDSKAuthorString];
+
+ return array;
+}
+
+ (void)initialize
{
OBINITIALIZE;
@@ -97,6 +127,18 @@
// register transformer class
[NSValueTransformer setValueTransformer:[[[BDSKPathIconTransformer alloc] init] autorelease]
forName:@"BDSKPathIconTransformer"];
+
+ // eliminate support for some redundant keys
+ NSArray *prefsShownColNamesArray = [[OFPreferenceWrapper sharedPreferenceWrapper] arrayForKey:BDSKShownColsNamesKey];
+ if(prefsShownColNamesArray){
+ prefsShownColNamesArray = fixLegacyTableColumnIdentifiers(prefsShownColNamesArray);
+ [[OFPreferenceWrapper sharedPreferenceWrapper] setObject:prefsShownColNamesArray forKey:BDSKShownColsNamesKey];
+ }
+ NSArray *searchKeys = [[OFPreferenceWrapper sharedPreferenceWrapper] stringArrayForKey:BDSKQuickSearchKeys];
+ if(searchKeys){
+ searchKeys = fixLegacyTableColumnIdentifiers(searchKeys);
+ [[OFPreferenceWrapper sharedPreferenceWrapper] setObject:searchKeys forKey:BDSKQuickSearchKeys];
+ }
}
- (id)init
Modified: trunk/bibdesk/BibDocument.m
===================================================================
--- trunk/bibdesk/BibDocument.m 2006-08-10 03:52:10 UTC (rev 7340)
+++ trunk/bibdesk/BibDocument.m 2006-08-10 04:33:39 UTC (rev 7341)
@@ -143,7 +143,7 @@
if([quickSearchKey isEqualToString:@"All Fields"]){
[quickSearchKey release];
quickSearchKey = [BDSKAllFieldsString copy];
- } else if(quickSearchKey == nil){
+ } else if(quickSearchKey == nil || [quickSearchKey isEqualToString:@"Added"] || [quickSearchKey isEqualToString:@"Created"] || [quickSearchKey isEqualToString:@"Modified"]){
quickSearchKey = [BDSKTitleString copy];
}
@@ -2472,14 +2472,11 @@
sortDescriptor = [[BDSKTableSortDescriptor alloc] initWithKey:@"date" ascending:ascend selector:@selector(compare:)];
- }else if([tcID isEqualToString:BDSKDateAddedString] ||
- [tcID isEqualToString:@"Added"] ||
- [tcID isEqualToString:@"Created"]){
+ }else if([tcID isEqualToString:BDSKDateAddedString]){
sortDescriptor = [[BDSKTableSortDescriptor alloc] initWithKey:@"dateAdded" ascending:ascend selector:@selector(compare:)];
- }else if([tcID isEqualToString:BDSKDateModifiedString] ||
- [tcID isEqualToString:@"Modified"]){
+ }else if([tcID isEqualToString:BDSKDateModifiedString]){
sortDescriptor = [[BDSKTableSortDescriptor alloc] initWithKey:@"dateModified" ascending:ascend selector:@selector(compare:)];
@@ -2815,7 +2812,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, /* the following two are for legacy support */@"Added", @"Modified", BDSKFirstAuthorString, BDSKSecondAuthorString, BDSKThirdAuthorString, BDSKFirstAuthorEditorString, BDSKSecondAuthorEditorString, BDSKThirdAuthorEditorString, BDSKAuthorEditorString, BDSKItemNumberString, BDSKContainerString, nil]
+ NSArray *colNames = [typeMan allFieldNamesIncluding:[NSArray arrayWithObjects:BDSKPubTypeString, BDSKCiteKeyString, BDSKDateString, BDSKDateAddedString, BDSKDateModifiedString, BDSKFirstAuthorString, BDSKSecondAuthorString, BDSKThirdAuthorString, BDSKFirstAuthorEditorString, BDSKSecondAuthorEditorString, BDSKThirdAuthorEditorString, BDSKAuthorEditorString, 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-08-10 03:52:10 UTC (rev 7340)
+++ trunk/bibdesk/BibDocument_DataSource.m 2006-08-10 04:33:39 UTC (rev 7341)
@@ -101,22 +101,19 @@
return [pub title];
}else if([tcID isEqualToString: BDSKContainerString] ){
return [pub container];
- }else if([tcID isEqualToString: BDSKDateAddedString] ||
- [tcID isEqualToString: @"Added"] ||
- [tcID isEqualToString: @"Created"] ){
+ }else if([tcID isEqualToString: BDSKDateAddedString]){
return [[pub dateAdded] descriptionWithCalendarFormat:shortDateFormatString];
- }else if([tcID isEqualToString: BDSKDateModifiedString] ||
- [tcID isEqualToString: @"Modified"] ){
+ }else if([tcID isEqualToString: BDSKDateModifiedString]){
return [[pub dateModified] descriptionWithCalendarFormat:shortDateFormatString];
}else if([tcID isEqualToString: BDSKDateString] ){
NSString *value = [pub valueOfField:BDSKDateString];
if([NSString isEmptyString:value] == NO)
return value;
NSCalendarDate *date = [pub date];
+ if(nil == date)
+ return nil;
NSString *monthStr = [pub valueOfField:BDSKMonthString];
- if(date == nil)
- return @"";
- else if([NSString isEmptyString:monthStr])
+ if([NSString isEmptyString:monthStr])
return [date descriptionWithCalendarFormat:@"%Y"];
else
return [date descriptionWithCalendarFormat:@"%b %Y"];
@@ -132,11 +129,9 @@
return [[pub authorOrEditorAtIndex:1] displayName];
}else if([tcID isEqualToString: BDSKThirdAuthorEditorString] ){
return [[pub authorOrEditorAtIndex:2] displayName];
- } else if([tcID isEqualToString:BDSKAuthorString] ||
- [tcID isEqualToString:@"Authors"]) {
+ } else if([tcID isEqualToString:BDSKAuthorString]) {
return [pub pubAuthorsForDisplay];
- } else if([tcID isEqualToString:BDSKAuthorEditorString] ||
- [tcID isEqualToString:@"Authors Or Editors"]) {
+ } else if([tcID isEqualToString:BDSKAuthorEditorString]){
return [pub pubAuthorsOrEditorsForDisplay];
} else if([tcID isEqualToString:BDSKEditorString]) {
return [pub peopleStringForDisplayFromField:BDSKEditorString];
Modified: trunk/bibdesk/BibDocument_Search.m
===================================================================
--- trunk/bibdesk/BibDocument_Search.m 2006-08-10 03:52:10 UTC (rev 7340)
+++ trunk/bibdesk/BibDocument_Search.m 2006-08-10 04:33:39 UTC (rev 7341)
@@ -201,7 +201,7 @@
- (IBAction)quickSearchAddField:(id)sender{
// first we fill the popup
BibTypeManager *typeMan = [BibTypeManager sharedManager];
- NSArray *searchKeys = [typeMan allFieldNamesIncluding:[NSArray arrayWithObjects:BDSKPubTypeString, BDSKCiteKeyString, BDSKDateString, BDSKDateAddedString, BDSKDateModifiedString, @"Added", @"Modified", nil]
+ NSArray *searchKeys = [typeMan allFieldNamesIncluding:[NSArray arrayWithObjects:BDSKPubTypeString, BDSKCiteKeyString, BDSKDateString, BDSKDateAddedString, BDSKDateModifiedString, nil]
excluding:[[OFPreferenceWrapper sharedPreferenceWrapper] arrayForKey:BDSKQuickSearchKeys]];
BDSKAddFieldSheetController *addFieldController = [[BDSKAddFieldSheetController alloc] initWithPrompt:NSLocalizedString(@"Field to search:",@"")
@@ -296,7 +296,7 @@
static NSSet *dateFields = nil;
if(nil == dateFields)
- dateFields = [[NSSet alloc] initWithObjects:BDSKDateString, BDSKDateAddedString, BDSKDateModifiedString, @"Added", @"Modified", @"Created", nil];
+ dateFields = [[NSSet alloc] initWithObjects:BDSKDateString, BDSKDateAddedString, BDSKDateModifiedString, nil];
BOOL isDateField = [dateFields containsObject:field];
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|