Revision: 27356
http://sourceforge.net/p/bibdesk/svn/27356
Author: hofman
Date: 2022-04-05 14:12:05 +0000 (Tue, 05 Apr 2022)
Log Message:
-----------
Use custom cell image if provided for URL fields
Modified Paths:
--------------
trunk/bibdesk/BibDocument_DataSource.m
Modified: trunk/bibdesk/BibDocument_DataSource.m
===================================================================
--- trunk/bibdesk/BibDocument_DataSource.m 2022-04-05 06:30:20 UTC (rev
27355)
+++ trunk/bibdesk/BibDocument_DataSource.m 2022-04-05 14:12:05 UTC (rev
27356)
@@ -153,26 +153,36 @@
else
[textField setTextColor:[NSColor controlTextColor]];
[textField setObjectValue:value];
- } else if (textField != nil){
+ } else if (textField == nil) {
+ NSImage *image = nil;
+ if ([value isNotEmpty]) {
+ image = [tableView cellImageForField:tcID];
+ BDSKASSERT(image != nil || [value isKindOfClass:[NSURL
class]]);
+ if ([value isKindOfClass:[NSURL class]]) {
+ // URL field
+ [imageView setToolTip:[value isFileURL] ? [[value path]
stringByAbbreviatingWithTildeInPath] : [value absoluteString]];
+ if (image == nil) {
+ if ([value isFileURL] == NO)
+ image = [NSImage imageForURL:value];
+ else if ((value = [value
fileURLByStrictlyResolvingAliases]))
+ image = [[NSWorkspace sharedWorkspace]
iconForFileType:[value pathExtension]];
+ else
+ image = [NSImage missingFileImage];
+ }
+ } else {
+ // field with custom cell image, e.g. a note field
+ [imageView setToolTip:[value isKindOfClass:[NSString
class]] ? value : [value isKindOfClass:[NSDictionary class]] ? [value
objectForKey:@"toolTip"] : nil];
+ }
+ } else {
+ [imageView setToolTip:nil];
+ }
+ [imageView setObjectValue:image];
+ } else {
// linked files and URLs
BDSKASSERT(value == nil || [value isKindOfClass:[NSDictionary
class]]);
[view setToolTip:[value valueForKey:@"toolTip"]];
[textField setObjectValue:[value valueForKey:@"string"]];
[imageView setObjectValue:[value valueForKey:@"image"]];
- } else if ([tcID isURLField]) {
- // URL field
- BDSKASSERT(value == nil || [value isKindOfClass:[NSURL class]]);
- [imageView setToolTip:[value isFileURL] ? [[value path]
stringByAbbreviatingWithTildeInPath] : [value absoluteString]];
- if ([value isFileURL] == NO)
- [imageView setObjectValue:value ? [NSImage imageForURL:value]
: nil];
- else if ((value = [value fileURLByStrictlyResolvingAliases]))
- [imageView setObjectValue:[[NSWorkspace sharedWorkspace]
iconForFileType:[value pathExtension]]];
- else
- [imageView setObjectValue:[NSImage missingFileImage]];
- } else {
- // content is overridden by cell image
- [imageView setToolTip:[value isKindOfClass:[NSString class]] ?
value : [value isKindOfClass:[NSDictionary class]] ? [value
objectForKey:@"toolTip"] : nil];
- [imageView setObjectValue:[value isNotEmpty] ? [tableView
cellImageForField:tcID] : nil];
}
return view;
} else {
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