mirror of
https://github.com/transmission/transmission
synced 2025-02-24 23:12:35 +00:00
improve how tracker tiers are sent to the inspector code
This commit is contained in:
parent
ce81f5c888
commit
1dd5dddcec
4 changed files with 32 additions and 21 deletions
|
@ -675,7 +675,20 @@ typedef enum
|
|||
return [webSeed objectForKey: @"Address"];
|
||||
}
|
||||
else if (tableView == fTrackerTable)
|
||||
return [fTrackers objectAtIndex: row];
|
||||
{
|
||||
id item = [fTrackers objectAtIndex: row];
|
||||
|
||||
if (![item isKindOfClass: [TrackerNode class]])
|
||||
{
|
||||
NSString * tierString = [NSString stringWithFormat: NSLocalizedString(@"Tier %d", "Inspector -> tracker table"),
|
||||
[[item objectForKey: @"Tier"] integerValue]];
|
||||
if ([fTorrents count] > 1)
|
||||
tierString = [tierString stringByAppendingFormat: @" - %@", [item objectForKey: @"Name"]];
|
||||
return tierString;
|
||||
}
|
||||
else
|
||||
return item;
|
||||
}
|
||||
return nil;
|
||||
}
|
||||
|
||||
|
@ -873,7 +886,7 @@ typedef enum
|
|||
|
||||
//reset table with either new or old value
|
||||
[fTrackers release];
|
||||
fTrackers = [[torrent allTrackerStatsWithTransferName: NO] retain];
|
||||
fTrackers = [[torrent allTrackerStats] retain];
|
||||
|
||||
[fTrackerTable setTrackers: fTrackers];
|
||||
[fTrackerTable reloadData];
|
||||
|
@ -1482,12 +1495,16 @@ typedef enum
|
|||
//get updated tracker stats
|
||||
if ([fTrackerTable editedRow] == -1)
|
||||
{
|
||||
const BOOL multiple = [fTorrents count] != 1;
|
||||
|
||||
[fTrackers release];
|
||||
fTrackers = [[NSMutableArray alloc] init];
|
||||
for (Torrent * torrent in fTorrents)
|
||||
[fTrackers addObjectsFromArray: [torrent allTrackerStatsWithTransferName: multiple]];
|
||||
|
||||
if ([fTorrents count] == 1)
|
||||
fTrackers = [[[fTorrents objectAtIndex: 0] allTrackerStats] retain];
|
||||
else
|
||||
{
|
||||
fTrackers = [[NSMutableArray alloc] init];
|
||||
for (Torrent * torrent in fTorrents)
|
||||
[fTrackers addObjectsFromArray: [torrent allTrackerStats]];
|
||||
}
|
||||
|
||||
[fTrackerTable setTrackers: fTrackers];
|
||||
[fTrackerTable reloadData];
|
||||
|
@ -1502,7 +1519,7 @@ typedef enum
|
|||
NSArray * tierAndTrackerBeingAdded = [fTrackers objectsAtIndexes: addedIndexes];
|
||||
|
||||
[fTrackers release];
|
||||
fTrackers = [[[fTorrents objectAtIndex: 0] allTrackerStatsWithTransferName: NO] retain];
|
||||
fTrackers = [[[fTorrents objectAtIndex: 0] allTrackerStats] retain];
|
||||
[fTrackers addObjectsFromArray: tierAndTrackerBeingAdded];
|
||||
|
||||
[fTrackerTable setTrackers: fTrackers];
|
||||
|
@ -1783,7 +1800,7 @@ typedef enum
|
|||
|
||||
//reset table with either new or old value
|
||||
[fTrackers release];
|
||||
fTrackers = [[torrent allTrackerStatsWithTransferName: NO] retain];
|
||||
fTrackers = [[torrent allTrackerStats] retain];
|
||||
|
||||
[fTrackerTable setTrackers: fTrackers];
|
||||
[fTrackerTable reloadData];
|
||||
|
|
|
@ -128,7 +128,7 @@
|
|||
- (uint64_t) size;
|
||||
- (uint64_t) sizeLeft;
|
||||
|
||||
- (NSMutableArray *) allTrackerStatsWithTransferName: (BOOL) includeTransferName;
|
||||
- (NSMutableArray *) allTrackerStats;
|
||||
- (NSArray *) allTrackersFlat; //used by GroupRules
|
||||
- (BOOL) addTrackerToNewTier: (NSString *) tracker;
|
||||
- (void) removeTrackersWithIdentifiers: (NSIndexSet *) removeIdentifiers;
|
||||
|
|
|
@ -583,7 +583,7 @@ int trashDataFile(const char * filename)
|
|||
return fStat->leftUntilDone;
|
||||
}
|
||||
|
||||
- (NSMutableArray *) allTrackerStatsWithTransferName: (BOOL) includeTransferName
|
||||
- (NSMutableArray *) allTrackerStats
|
||||
{
|
||||
int count;
|
||||
tr_tracker_stat * stats = tr_torrentTrackers(fHandle, &count);
|
||||
|
@ -595,12 +595,8 @@ int trashDataFile(const char * filename)
|
|||
{
|
||||
if (stats[i].tier != prevTier)
|
||||
{
|
||||
NSString * tierString = [NSString stringWithFormat: NSLocalizedString(@"Tier %d", "Inspector -> tracker table"),
|
||||
stats[i].tier];
|
||||
if (includeTransferName)
|
||||
tierString = [tierString stringByAppendingFormat: @" - %@", [self name]];
|
||||
|
||||
[trackers addObject: tierString];
|
||||
[trackers addObject: [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithInteger: stats[i].tier], @"Tier",
|
||||
[self name], @"Name", nil]];
|
||||
prevTier = stats[i].tier;
|
||||
}
|
||||
|
||||
|
|
|
@ -104,14 +104,12 @@
|
|||
|
||||
NSString * baseString;
|
||||
if (fStat.hasAnnounced && fStat.lastAnnounceTimedOut)
|
||||
{
|
||||
baseString = [NSLocalizedString(@"Announce timed out", "Tracker last announce") stringByAppendingFormat: @": %@", dateString];
|
||||
}
|
||||
else if (fStat.hasAnnounced && !fStat.lastAnnounceSucceeded)
|
||||
{
|
||||
baseString = NSLocalizedString(@"Announce error", "Tracker last announce");
|
||||
NSString * errorString = [NSString stringWithUTF8String: fStat.lastAnnounceResult];
|
||||
|
||||
NSString * errorString = [NSString stringWithUTF8String: fStat.lastAnnounceResult];
|
||||
if ([errorString isEqualToString: @""])
|
||||
baseString = [baseString stringByAppendingFormat: @": %@", dateString];
|
||||
else
|
||||
|
@ -181,8 +179,8 @@
|
|||
if (fStat.hasScraped && !fStat.lastScrapeSucceeded)
|
||||
{
|
||||
baseString = NSLocalizedString(@"Scrape error", "Tracker last scrape");
|
||||
NSString * errorString = [NSString stringWithUTF8String: fStat.lastScrapeResult];
|
||||
|
||||
NSString * errorString = [NSString stringWithUTF8String: fStat.lastScrapeResult];
|
||||
if ([errorString isEqualToString: @""])
|
||||
baseString = [baseString stringByAppendingFormat: @": %@", dateString];
|
||||
else
|
||||
|
|
Loading…
Reference in a new issue