Revision: 26467 http://sourceforge.net/p/bibdesk/svn/26467 Author: hofman Date: 2021-07-22 18:36:42 +0000 (Thu, 22 Jul 2021) Log Message: ----------- Use some custom color names for color field groups
Modified Paths: -------------- trunk/bibdesk/BDSKCategoryGroup.m trunk/bibdesk/NSColor_BDSKExtensions.h trunk/bibdesk/NSColor_BDSKExtensions.m Modified: trunk/bibdesk/BDSKCategoryGroup.m =================================================================== --- trunk/bibdesk/BDSKCategoryGroup.m 2021-07-22 17:59:14 UTC (rev 26466) +++ trunk/bibdesk/BDSKCategoryGroup.m 2021-07-22 18:36:42 UTC (rev 26467) @@ -41,6 +41,7 @@ #import "BibAuthor.h" #import "BDSKTypeManager.h" #import "NSImage_BDSKExtensions.h" +#import "NSColor_BDSKExtensions.h" #import <QuartzCore/QuartzCore.h> @@ -173,6 +174,13 @@ - (BDSKGroupType)groupType { return BDSKCategoryGroupType; } +- (NSString *)displayName { + if ([key isEqualToString:BDSKColorLabelString] || [key isEqualToString:BDSKColorString]) + return [NSColor nameForFourByteString:name]; + else + return [super displayName]; +} + - (BOOL)isNameEditable { return [key isEqualToString:BDSKColorLabelString] == NO && [key isEqualToString:BDSKColorString] == NO; } - (BOOL)isEditable { @@ -210,10 +218,6 @@ return [NSString stringWithFormat:NSLocalizedString(@"Empty %@", @""), key]; } -- (NSString *)stringValue { - return [NSString stringWithFormat:NSLocalizedString(@"Empty %@", @""), key]; -} - - (BOOL)containsItem:(BibItem *)item { if (key == nil) return YES; Modified: trunk/bibdesk/NSColor_BDSKExtensions.h =================================================================== --- trunk/bibdesk/NSColor_BDSKExtensions.h 2021-07-22 17:59:14 UTC (rev 26466) +++ trunk/bibdesk/NSColor_BDSKExtensions.h 2021-07-22 18:36:42 UTC (rev 26467) @@ -78,6 +78,8 @@ + (NSColor *)colorWithFourByteString:(NSString *)string; - (id)fourByteStringValue; ++ (NSString *)nameForFourByteString:(NSString *)string; + - (BOOL)isBlackOrWhiteOrTransparentForMargin:(CGFloat)margin; - (NSComparisonResult)colorCompare:(id)other; Modified: trunk/bibdesk/NSColor_BDSKExtensions.m =================================================================== --- trunk/bibdesk/NSColor_BDSKExtensions.m 2021-07-22 17:59:14 UTC (rev 26466) +++ trunk/bibdesk/NSColor_BDSKExtensions.m 2021-07-22 18:36:42 UTC (rev 26467) @@ -322,6 +322,21 @@ return string; } ++ (NSString *)nameForFourByteString:(NSString *)string { + NSString *name = @""; + if ([NSString isEmptyString:string] == NO) { + uint32_t label = strtoul([string UTF8String], NULL, 10); + if (label > 0 && label <= [[self labelNames] count]) { + name = [[NSColor labelNames] objectAtIndex:label - 1]; + } else if (label > 0) { + BDSKRGBAInt u; + u.uintValue = CFSwapInt32BigToHost(label); + name = [NSString stringWithFormat:@"rgb %c %c %c", u.rgba.r, u.rgba.g, u.rgba.b]; + } + } + return name; +} + - (BOOL)isBlackOrWhiteOrTransparentForMargin:(CGFloat)margin { CGFloat l = 0.0, s = 0.0, b = 0.0, a = 0.0; [[self colorUsingColorSpaceName:NSCalibratedRGBColorSpace] getHue:NULL saturation:&s brightness:&b alpha:&a]; 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