if (tableView != fTrackerTable)
return NO;
- //only allow modification of custom-added trackers
- if ([[fTrackers objectAtIndex: row] isKindOfClass: [NSNumber class]] || ![[fTorrents objectAtIndex: 0] hasAddedTrackers])
- return NO;
-
NSUInteger i;
for (i = row-1; ![[fTrackers objectAtIndex: i] isKindOfClass: [NSNumber class]]; i--);
{
[[self window] makeKeyWindow];
- NSUInteger index = 1;
- if ([fTrackers count] > 0 && [[fTorrents objectAtIndex: 0] hasAddedTrackers])
- {
- for (; index < [fTrackers count]; index++)
- if ([[fTrackers objectAtIndex: index] isKindOfClass: [NSNumber class]])
- break;
- }
- else
- [fTrackers insertObject: [NSNumber numberWithInt: 0] atIndex: 0];
+ NSUInteger tierCount = 0;
+ for (id trackerObject in fTrackers)
+ if ([trackerObject isKindOfClass: [NSNumber class]])
+ tierCount++;
+
+ [fTrackers addObject: [NSNumber numberWithInt: tierCount+1]];
+ [fTrackers addObject: @""];
- [fTrackers insertObject: @"" atIndex: index];
[fTrackerTable reloadData];
- [fTrackerTable selectRowIndexes: [NSIndexSet indexSetWithIndex: index] byExtendingSelection: NO];
- [fTrackerTable editColumn: 0 row: index withEvent: nil select: YES];
+ [fTrackerTable selectRowIndexes: [NSIndexSet indexSetWithIndex: [fTrackers count]-1] byExtendingSelection: NO];
+ [fTrackerTable editColumn: 0 row: [fTrackers count]-1 withEvent: nil select: YES];
}
- (void) removeTrackers
Torrent * torrent = [fTorrents objectAtIndex: 0];
//determine if removing trackers built into the torrent
- if (numberBuiltIn > 0 && [[NSUserDefaults standardUserDefaults] boolForKey: @"WarningRemoveBuiltInTracker"])
+ #warning remove?
+ if (NO && numberBuiltIn > 0 && [[NSUserDefaults standardUserDefaults] boolForKey: @"WarningRemoveBuiltInTracker"])
{
NSAlert * alert = [[NSAlert alloc] init];
downloadFolder: (NSString *) downloadFolder
useIncompleteFolder: (NSNumber *) useIncompleteFolder incompleteFolder: (NSString *) incompleteFolder
waitToStart: (NSNumber *) waitToStart
- groupValue: (NSNumber *) groupValue addedTrackers: (NSNumber *) addedTrackers;
+ groupValue: (NSNumber *) groupValue;
- (BOOL) shouldUseIncompleteFolderForName: (NSString *) name;
- (void) updateDownloadFolder;
self = [self initWithPath: path hash: nil torrentStruct: NULL lib: lib
downloadFolder: location
useIncompleteFolder: nil incompleteFolder: nil
- waitToStart: nil groupValue: nil addedTrackers: nil];
+ waitToStart: nil groupValue: nil];
if (self)
{
self = [self initWithPath: nil hash: nil torrentStruct: torrentStruct lib: lib
downloadFolder: location
useIncompleteFolder: nil incompleteFolder: nil
- waitToStart: nil groupValue: nil addedTrackers: nil];
+ waitToStart: nil groupValue: nil];
return self;
}
useIncompleteFolder: [history objectForKey: @"UseIncompleteFolder"]
incompleteFolder: [history objectForKey: @"IncompleteFolder"]
waitToStart: [history objectForKey: @"WaitToStart"]
- groupValue: [history objectForKey: @"GroupValue"]
- addedTrackers: [history objectForKey: @"AddedTrackers"]];
+ groupValue: [history objectForKey: @"GroupValue"]];
if (self)
{
[NSNumber numberWithBool: fUseIncompleteFolder], @"UseIncompleteFolder",
[NSNumber numberWithBool: [self isActive]], @"Active",
[NSNumber numberWithBool: fWaitToStart], @"WaitToStart",
- [NSNumber numberWithInt: fGroupValue], @"GroupValue",
- [NSNumber numberWithBool: fAddedTrackers], @"AddedTrackers", nil];
+ [NSNumber numberWithInt: fGroupValue], @"GroupValue", nil];
if (fIncompleteFolder)
[history setObject: fIncompleteFolder forKey: @"IncompleteFolder"];
if (separators && tier != fInfo->trackers[i].tier)
{
tier = fInfo->trackers[i].tier;
- [allTrackers addObject: [NSNumber numberWithInt: fAddedTrackers ? tier : tier + 1]];
+ [allTrackers addObject: [NSNumber numberWithInteger: tier + 1]];
}
[allTrackers addObject: [NSString stringWithUTF8String: fInfo->trackers[i].announce]];
- (BOOL) updateAllTrackersForAdd: (NSMutableArray *) trackers
{
- //find added tracker at end of first tier
- NSInteger i;
- for (i = 1; i < [trackers count]; i++)
- if ([[trackers objectAtIndex: i] isKindOfClass: [NSNumber class]])
- break;
- i--;
-
- NSString * tracker = [trackers objectAtIndex: i];
-
+ NSString * tracker = [trackers lastObject];
tracker = [tracker stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
if ([tracker rangeOfString: @"://"].location == NSNotFound)
{
tracker = [@"http://" stringByAppendingString: tracker];
- [trackers replaceObjectAtIndex: i withObject: tracker];
+ [trackers replaceObjectAtIndex: [trackers count]-1 withObject: tracker];
}
if (!tr_httpIsValidURL([tracker UTF8String]))
[self updateAllTrackers: trackers];
- fAddedTrackers = YES;
return YES;
}
+#warning needed?
- (void) updateAllTrackersForRemove: (NSMutableArray *) trackers
{
- //check if no user-added groups
- if ([trackers count] == 0 || [[trackers objectAtIndex: 0] intValue] != 0)
- fAddedTrackers = NO;
-
[self updateAllTrackers: trackers];
}
-- (BOOL) hasAddedTrackers
-{
- return fAddedTrackers;
-}
-
- (NSString *) comment
{
return [NSString stringWithUTF8String: fInfo->comment];
downloadFolder: (NSString *) downloadFolder
useIncompleteFolder: (NSNumber *) useIncompleteFolder incompleteFolder: (NSString *) incompleteFolder
waitToStart: (NSNumber *) waitToStart
- groupValue: (NSNumber *) groupValue addedTrackers: (NSNumber *) addedTrackers
+ groupValue: (NSNumber *) groupValue
{
if (!(self = [super init]))
return nil;
[self createFileList];
- fGroupValue = groupValue ? [groupValue intValue] : [[GroupsController groups] groupIndexForTorrent: self];
-
- fAddedTrackers = addedTrackers ? [addedTrackers boolValue] : NO;
+ fGroupValue = groupValue ? [groupValue intValue] : [[GroupsController groups] groupIndexForTorrent: self];
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(checkGroupValueForRemoval:)
name: @"GroupValueRemoved" object: nil];