1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2024-12-25 17:17:31 +00:00

dim and don't color cells of disabled files in file table

This commit is contained in:
Mitchell Livingston 2007-08-20 19:37:26 +00:00
parent ca6f1934b3
commit 6423d795c6
3 changed files with 29 additions and 19 deletions

View file

@ -89,20 +89,25 @@
[[self image] drawInRect: [self imageRectForBounds: cellFrame] fromRect: NSZeroRect operation: NSCompositeSourceOver
fraction: 1.0];
BOOL highlighted = [self isHighlighted] && [[self highlightColorWithFrame: cellFrame inView: controlView]
isEqual: [NSColor alternateSelectedControlColor]];
Torrent * torrent = [[[[self controlView] window] windowController] selectedTorrent];
//title
NSAttributedString * titleString = [self attributedTitleWithColor: highlighted ? [NSColor whiteColor]
: [NSColor controlTextColor]];
NSColor * specialColor = nil;
if ([self isHighlighted]
&& [[self highlightColorWithFrame: cellFrame inView: controlView] isEqual: [NSColor alternateSelectedControlColor]])
specialColor = [NSColor whiteColor];
else if ([torrent checkForFiles: [[self objectValue] objectForKey: @"Indexes"]] == NSOffState)
specialColor = [NSColor disabledControlTextColor];
else;
NSAttributedString * titleString = [self attributedTitleWithColor: specialColor ? specialColor : [NSColor controlTextColor]];
NSRect titleRect = [self rectForTitleWithString: titleString inBounds: cellFrame];
[titleString drawInRect: titleRect];
//status
if (![[[self objectValue] objectForKey: @"IsFolder"] boolValue])
{
NSAttributedString * statusString = [self attributedStatusWithColor: highlighted ? [NSColor whiteColor]
: [NSColor darkGrayColor]];
NSAttributedString * statusString = [self attributedStatusWithColor: specialColor ? specialColor : [NSColor darkGrayColor]];
NSRect statusRect = [self rectForStatusWithString: statusString inBounds: cellFrame];
[statusString drawInRect: statusRect];
}

View file

@ -112,23 +112,28 @@
{
NSDictionary * item = [self itemAtRow: row];
Torrent * torrent = [(InfoWindowController *)[[self window] windowController] selectedTorrent];
NSIndexSet * indexes = [item objectForKey: @"Indexes"];
NSSet * priorities = [torrent filePrioritiesForIndexes: [item objectForKey: @"Indexes"]];
int count = [priorities count];
if (count == 0)
if ([torrent checkForFiles: indexes] == NSOffState)
[fNormalColor set];
else if (count > 1)
[fMixedPriorityColor set];
else
{
int priority = [[priorities anyObject] intValue];
if (priority == TR_PRI_LOW)
[fLowPriorityColor set];
else if (priority == TR_PRI_HIGH)
[fHighPriorityColor set];
else
NSSet * priorities = [torrent filePrioritiesForIndexes: indexes];
int count = [priorities count];
if (count == 0)
[fNormalColor set];
else if (count > 1)
[fMixedPriorityColor set];
else
{
int priority = [[priorities anyObject] intValue];
if (priority == TR_PRI_LOW)
[fLowPriorityColor set];
else if (priority == TR_PRI_HIGH)
[fHighPriorityColor set];
else
[fNormalColor set];
}
}
NSRect rect = [self rectOfRow: row];

View file

@ -35,7 +35,7 @@
for (i = [indexes lastIndex]; i != NSNotFound; i = [indexes indexLessThanIndex: i])
{
item = [[menu itemAtIndex:i] retain];
[menu removeItem: item];
[menu removeItemAtIndex: i];
[self insertItem: item atIndex: bottom];
[item release];
}