mirror of
https://github.com/transmission/transmission
synced 2025-01-31 19:34:05 +00:00
display actual upload/download rate in inspector for individual peers
This commit is contained in:
parent
01ebeae829
commit
d7c9da2c8f
4 changed files with 26 additions and 15 deletions
BIN
macosx/English.lproj/InfoWindow.nib/keyedobjects.nib
generated
BIN
macosx/English.lproj/InfoWindow.nib/keyedobjects.nib
generated
Binary file not shown.
|
@ -31,7 +31,7 @@
|
|||
{
|
||||
NSArray * fTorrents;
|
||||
NSMutableArray * fPeers, * fFiles;
|
||||
NSImage * fAppIcon, * fDotGreen, * fDotRed, * fCheckImage;
|
||||
NSImage * fAppIcon, * fDotGreen, * fDotRed;
|
||||
|
||||
IBOutlet NSTabView * fTabView;
|
||||
|
||||
|
|
|
@ -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"];
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue