1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2025-03-03 18:25:35 +00:00

add a "DL" column to the web seed table (not yet functional)

This commit is contained in:
Mitchell Livingston 2008-06-08 15:54:34 +00:00
parent 2cbf55351d
commit c83daab843
3 changed files with 115 additions and 19 deletions

View file

@ -8,7 +8,7 @@
<string key="IBDocument.HIToolboxVersion">352.00</string>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="1030"/>
<integer value="1766"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@ -2141,6 +2141,7 @@ AAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSBDb21wdXRlciwgSW5jLiwgMjAwNQAAAAA</bytes>
</object>
<string key="NSFrame">{{1, 1}, {360, 143}}</string>
<reference key="NSSuperview" ref="754568592"/>
<reference key="NSNextKeyView" ref="423972458"/>
<reference key="NSDocView" ref="423972458"/>
<reference key="NSBGColor" ref="987864771"/>
<int key="NScvFlags">2</int>
@ -2169,6 +2170,7 @@ AAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSBDb21wdXRlciwgSW5jLiwgMjAwNQAAAAA</bytes>
</object>
<string key="NSFrame">{{10, 202}, {362, 145}}</string>
<reference key="NSSuperview" ref="296911506"/>
<reference key="NSNextKeyView" ref="198254095"/>
<int key="NSsFlags">530</int>
<reference key="NSVScroller" ref="964808471"/>
<reference key="NSHScroller" ref="265048045"/>
@ -3939,14 +3941,14 @@ zijOSc5pzorOqs66ztvO+88czzzPXc99z57Pvs/fz+/QANAg0EHQYdCC0KLQw9Dj0PPRFNE00VXRddGW
<object class="_NSCornerView" key="NSCornerView" id="336297981">
<reference key="NSNextResponder" ref="252354812"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{-22, 0}, {12, 17}}</string>
<string key="NSFrame">{{328, 0}, {12, 17}}</string>
<reference key="NSSuperview" ref="252354812"/>
</object>
<object class="NSMutableArray" key="NSTableColumns">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSTableColumn" id="459964989">
<string key="NSIdentifier">Address</string>
<double key="NSWidth">3.350000e+02</double>
<double key="NSWidth">2.940000e+02</double>
<double key="NSMinWidth">1.000000e+01</double>
<double key="NSMaxWidth">1.000000e+04</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
@ -3966,9 +3968,45 @@ zijOSc5pzorOqs66ztvO+88czzzPXc99z57Pvs/fz+/QANAg0EHQYdCC0KLQw9Dj0PPRFNE00VXRddGW
<reference key="NSBackgroundColor" ref="987864771"/>
<reference key="NSTextColor" ref="534079857"/>
</object>
<int key="NSResizingMask">1</int>
<int key="NSResizingMask">3</int>
<bool key="NSIsResizeable">YES</bool>
<reference key="NSTableView" ref="705721384"/>
<object class="NSSortDescriptor" key="NSSortDescriptorPrototype">
<string key="NSKey">Address</string>
<bool key="NSAscending">YES</bool>
<string key="NSSelector">caseInsensitiveCompare:</string>
</object>
</object>
<object class="NSTableColumn" id="651742019">
<string key="NSIdentifier">DL From</string>
<double key="NSWidth">3.800000e+01</double>
<double key="NSMinWidth">1.800000e+01</double>
<double key="NSMaxWidth">6.000000e+01</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
<int key="NSCellFlags">75628032</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">DL</string>
<reference key="NSSupport" ref="26"/>
<reference key="NSBackgroundColor" ref="665452585"/>
<reference key="NSTextColor" ref="390741217"/>
</object>
<object class="NSTextFieldCell" key="NSDataCell" id="513647075">
<int key="NSCellFlags">337772096</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents">Text Cell</string>
<reference key="NSSupport" ref="615908458"/>
<reference key="NSControlView" ref="705721384"/>
<reference key="NSBackgroundColor" ref="987864771"/>
<reference key="NSTextColor" ref="534079857"/>
</object>
<int key="NSResizingMask">2</int>
<bool key="NSIsResizeable">YES</bool>
<reference key="NSTableView" ref="705721384"/>
<object class="NSSortDescriptor" key="NSSortDescriptorPrototype">
<string key="NSKey">DL From Rate</string>
<bool key="NSAscending">YES</bool>
<string key="NSSelector">compare:</string>
</object>
</object>
</object>
<double key="NSIntercellSpacingWidth">3.000000e+00</double>
@ -3976,8 +4014,9 @@ zijOSc5pzorOqs66ztvO+88czzzPXc99z57Pvs/fz+/QANAg0EHQYdCC0KLQw9Dj0PPRFNE00VXRddGW
<reference key="NSBackgroundColor" ref="880039277"/>
<reference key="NSGridColor" ref="705909853"/>
<double key="NSRowHeight">1.400000e+01</double>
<int key="NSTvFlags">-759169024</int>
<int key="NSColumnAutoresizingStyle">4</int>
<int key="NSTvFlags">-742359040</int>
<string key="NSAutosaveName">InspectorTableWebSeeds</string>
<int key="NSColumnAutoresizingStyle">1</int>
<int key="NSDraggingSourceMaskForLocal">15</int>
<int key="NSDraggingSourceMaskForNonLocal">0</int>
<bool key="NSAllowsTypeSelect">NO</bool>
@ -3993,22 +4032,22 @@ zijOSc5pzorOqs66ztvO+88czzzPXc99z57Pvs/fz+/QANAg0EHQYdCC0KLQw9Dj0PPRFNE00VXRddGW
<object class="NSScroller" id="58257122">
<reference key="NSNextResponder" ref="252354812"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{328, 17}, {11, 96}}</string>
<string key="NSFrame">{{328, 17}, {11, 37}}</string>
<reference key="NSSuperview" ref="252354812"/>
<int key="NSsFlags">256</int>
<reference key="NSTarget" ref="252354812"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">8.658537e-01</double>
<double key="NSPercent">7.708333e-01</double>
</object>
<object class="NSScroller" id="904154524">
<reference key="NSNextResponder" ref="252354812"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{1, 113}, {327, 11}}</string>
<string key="NSFrame">{{1, 54}, {327, 11}}</string>
<reference key="NSSuperview" ref="252354812"/>
<int key="NSsFlags">257</int>
<reference key="NSTarget" ref="252354812"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">8.387097e-01</double>
<double key="NSPercent">8.918206e-01</double>
</object>
<object class="NSClipView" id="238219887">
<reference key="NSNextResponder" ref="252354812"/>
@ -8143,6 +8182,7 @@ zijOSc5pzorOqs66ztvO+88czzzPXc99z57Pvs/fz+/QANAg0EHQYdCC0KLQw9Dj0PPRFNE00VXRddGW
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="459964989"/>
<reference ref="651742019"/>
</object>
<reference key="parent" ref="252354812"/>
</object>
@ -8160,6 +8200,20 @@ zijOSc5pzorOqs66ztvO+88czzzPXc99z57Pvs/fz+/QANAg0EHQYdCC0KLQw9Dj0PPRFNE00VXRddGW
<reference key="object" ref="305150555"/>
<reference key="parent" ref="459964989"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">1786</int>
<reference key="object" ref="651742019"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="513647075"/>
</object>
<reference key="parent" ref="705721384"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">1787</int>
<reference key="object" ref="513647075"/>
<reference key="parent" ref="651742019"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
@ -8981,7 +9035,7 @@ zijOSc5pzorOqs66ztvO+88czzzPXc99z57Pvs/fz+/QANAg0EHQYdCC0KLQw9Dj0PPRFNE00VXRddGW
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">1785</int>
<int key="maxID">1787</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">

View file

@ -154,6 +154,11 @@ typedef enum
[fPeerTable setSortDescriptors: [NSArray arrayWithObject: [[fPeerTable tableColumnWithIdentifier: @"IP"]
sortDescriptorPrototype]]];
//initially sort webseed table by address
if ([[fWebSeedTable sortDescriptors] count] == 0)
[fWebSeedTable setSortDescriptors: [NSArray arrayWithObject: [[fWebSeedTable tableColumnWithIdentifier: @"Address"]
sortDescriptorPrototype]]];
//set table header tool tips
if ([NSApp isOnLeopardOrBetter])
{
@ -165,6 +170,10 @@ typedef enum
"inspector -> peer table -> header tool tip")];
[[fPeerTable tableColumnWithIdentifier: @"DL From"] setHeaderToolTip: NSLocalizedString(@"Downloading From Peer",
"inspector -> peer table -> header tool tip")];
#warning add tooltip for webseeds?
[[fWebSeedTable tableColumnWithIdentifier: @"DL From"] setHeaderToolTip: NSLocalizedString(@"Downloading From Web Seeder",
"inspector -> peer table -> header tool tip")];
}
else
{
@ -215,6 +224,8 @@ typedef enum
[fWebSeeds release];
[fTrackers release];
[fWebSeedTableAnimation release];
[super dealloc];
}
@ -364,9 +375,11 @@ typedef enum
[fPeers release];
fPeers = nil;
[fPeerTable reloadData];
[fWebSeeds release];
fWebSeeds = nil;
[fWebSeedTable reloadData];
[self setWebSeederTableHidden: YES animate: YES];
[fTrackers release];
@ -471,12 +484,9 @@ typedef enum
[self updateInfoStats];
[self updateOptions];
//reload tables that won't change every update
[fTrackerTable setTrackers: fTrackers];
[fTrackerTable reloadData];
[fWebSeedTable reloadData];
#warning check if should just be reloaded when not 1 torrent
[fPeerTable reloadData];
}
- (void) updateInfoStats
@ -852,7 +862,16 @@ typedef enum
}
else if (tableView == fWebSeedTable)
{
return [fWebSeeds objectAtIndex: row];
NSString * ident = [column identifier];
NSDictionary * webSeed = [fWebSeeds objectAtIndex: row];
if ([ident isEqualToString: @"DL From"])
{
NSNumber * rate;
return (rate = [webSeed objectForKey: @"DL From Rate"]) ? [NSString stringForSpeedAbbrev: [rate floatValue]] : @"";
}
else
return [webSeed objectForKey: @"Address"];
}
else if (tableView == fTrackerTable)
{
@ -883,6 +902,17 @@ typedef enum
[tableView reloadData];
}
}
else if (tableView == fWebSeedTable)
{
if (fWebSeeds)
{
NSArray * oldWebSeeds = fWebSeeds;
fWebSeeds = [[fWebSeeds sortedArrayUsingDescriptors: [fWebSeedTable sortDescriptors]] retain];
[oldWebSeeds release];
[tableView reloadData];
}
}
else;
}
- (BOOL) tableView: (NSTableView *) tableView shouldSelectRow: (int) row
@ -1434,8 +1464,11 @@ typedef enum
[fPeers release];
fPeers = [[[torrent peers] sortedArrayUsingDescriptors: [self peerSortDescriptors]] retain];
[fPeerTable reloadData];
[fWebSeeds release];
fWebSeeds = [[[torrent webSeeders] sortedArrayUsingDescriptors: [fWebSeedTable sortDescriptors]] retain];
[fWebSeedTable reloadData];
}
- (void) updateInfoFiles
@ -1512,7 +1545,7 @@ typedef enum
fWebSeedTableAnimation = [[NSViewAnimation alloc] initWithViewAnimations:
[NSArray arrayWithObjects: webSeedDict, peerDict, nil]];
[fWebSeedTableAnimation setDuration: 0.1];
[fWebSeedTableAnimation setDuration: 0.125];
[fWebSeedTableAnimation setAnimationBlockingMode: NSAnimationNonblocking];
[fWebSeedTableAnimation setDelegate: self];

View file

@ -1022,7 +1022,16 @@ void completenessChangeCallback(tr_torrent * torrent, cp_status_t status, void *
NSMutableArray * webSeeders = [NSMutableArray arrayWithCapacity: webSeedCount];
for (i = 0; i < webSeedCount; i++)
[webSeeders addObject: [NSString stringWithUTF8String: fInfo->webseeds[i]]];
{
NSMutableDictionary * dict = [NSMutableDictionary dictionaryWithCapacity: 2];
[dict setObject: [NSString stringWithUTF8String: fInfo->webseeds[i]] forKey: @"Address"];
/*if (webSeeders->isDownloadingFrom)
[dict setObject: [NSNumber numberWithFloat: peer->downloadFromRate] forKey: @"DL From Rate"];*/
[webSeeders addObject: dict];
}
return webSeeders;
}