diff --git a/macosx/English.lproj/InfoWindow.nib/keyedobjects.nib b/macosx/English.lproj/InfoWindow.nib/keyedobjects.nib index 22e2981bb..42fa6b5b9 100644 Binary files a/macosx/English.lproj/InfoWindow.nib/keyedobjects.nib and b/macosx/English.lproj/InfoWindow.nib/keyedobjects.nib differ diff --git a/macosx/InfoWindowController.h b/macosx/InfoWindowController.h index c554e3738..e83d8337a 100644 --- a/macosx/InfoWindowController.h +++ b/macosx/InfoWindowController.h @@ -31,7 +31,7 @@ { NSArray * fTorrents; NSMutableArray * fPeers, * fFiles; - NSImage * fAppIcon, * fDotGreen, * fDotRed, * fCheckImage; + NSImage * fAppIcon, * fDotGreen, * fDotRed; IBOutlet NSTabView * fTabView; diff --git a/macosx/InfoWindowController.m b/macosx/InfoWindowController.m index a7c41c3da..b98ea9699 100644 --- a/macosx/InfoWindowController.m +++ b/macosx/InfoWindowController.m @@ -67,7 +67,6 @@ fAppIcon = [[NSApp applicationIconImage] copy]; fDotGreen = [NSImage imageNamed: @"GreenDot.tiff"]; fDotRed = [NSImage imageNamed: @"RedDot.tiff"]; - fCheckImage = [NSImage imageNamed: @"NSMenuCheckmark"]; } return self; } @@ -540,9 +539,11 @@ else if ([ident isEqualToString: @"Progress"]) return [peer objectForKey: @"Progress"]; else if ([ident isEqualToString: @"UL To"]) - return [[peer objectForKey: @"UL To"] boolValue] ? fCheckImage : nil; + return [[peer objectForKey: @"UL To"] boolValue] + ? [NSString stringForSpeedAbbrev: [[peer objectForKey: @"UL To Rate"] floatValue]] : @""; else if ([ident isEqualToString: @"DL From"]) - return [[peer objectForKey: @"DL From"] boolValue] ? fCheckImage : nil; + return [[peer objectForKey: @"DL From"] boolValue] + ? [NSString stringForSpeedAbbrev: [[peer objectForKey: @"DL From Rate"] floatValue]] : @""; else return [peer objectForKey: @"IP"]; } diff --git a/macosx/Torrent.m b/macosx/Torrent.m index 68f00c2f2..2a616fda2 100644 --- a/macosx/Torrent.m +++ b/macosx/Torrent.m @@ -839,20 +839,30 @@ static uint32_t kRed = BE(0xFF6450FF), //255, 100, 80 tr_peer_stat_t * peers = tr_torrentPeers(fHandle, & totalPeers); NSMutableArray * peerDics = [NSMutableArray arrayWithCapacity: totalPeers]; - tr_peer_stat_t peer; + NSMutableDictionary * dic; + + tr_peer_stat_t * peer; NSString * client; for (i = 0; i < totalPeers; i++) { - peer = peers[i]; - [peerDics addObject: [NSDictionary dictionaryWithObjectsAndKeys: - [NSNumber numberWithBool: peer.isConnected], @"Connected", - [NSNumber numberWithBool: peer.isIncoming], @"Incoming", - [NSString stringWithCString: (char *) peer.addr encoding: NSUTF8StringEncoding], @"IP", - [NSString stringWithCString: (char *) peer.client encoding: NSUTF8StringEncoding], @"Client", - [NSNumber numberWithFloat: peer.progress], @"Progress", - [NSNumber numberWithBool: peer.isDownloading], @"UL To", - [NSNumber numberWithBool: peer.isUploading], @"DL From", - [NSNumber numberWithInt: peer.port], @"Port", nil]]; + peer = &peers[i]; + + dic = [NSMutableDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithBool: peer->isConnected], @"Connected", + [NSNumber numberWithBool: peer->isIncoming], @"Incoming", + [NSString stringWithCString: (char *) peer->addr encoding: NSUTF8StringEncoding], @"IP", + [NSString stringWithCString: (char *) peer->client encoding: NSUTF8StringEncoding], @"Client", + [NSNumber numberWithFloat: peer->progress], @"Progress", + [NSNumber numberWithBool: peer->isDownloading], @"UL To", + [NSNumber numberWithBool: peer->isUploading], @"DL From", + [NSNumber numberWithInt: peer->port], @"Port", nil]; + + if (peer->isDownloading) + [dic setObject: [NSNumber numberWithFloat: peer->uploadToRate] forKey: @"UL To Rate"]; + if (peer->isUploading) + [dic setObject: [NSNumber numberWithFloat: peer->downloadFromRate] forKey: @"DL From Rate"]; + + [peerDics addObject: dic]; } tr_torrentPeersFree(peers, totalPeers);