From: Mitchell Livingston Date: Thu, 17 Sep 2009 00:33:39 +0000 (+0000) Subject: remove distinction between built-in trackers and custom-added trackers; add trackers... X-Git-Tag: 1.80b5~752 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8b4ec4b7b7481ecf5d2d918f85308ed4bc6f7dc1;p=transmission remove distinction between built-in trackers and custom-added trackers; add trackers to the end of the list instead of the beginning --- diff --git a/macosx/InfoWindowController.m b/macosx/InfoWindowController.m index 8c4cd1a09..c6b6ade04 100644 --- a/macosx/InfoWindowController.m +++ b/macosx/InfoWindowController.m @@ -1102,10 +1102,6 @@ typedef enum 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--); @@ -1731,20 +1727,17 @@ typedef enum { [[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 @@ -1798,7 +1791,8 @@ typedef enum 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]; diff --git a/macosx/NSStringAdditions.m b/macosx/NSStringAdditions.m index 405211b39..44748447c 100644 --- a/macosx/NSStringAdditions.m +++ b/macosx/NSStringAdditions.m @@ -140,6 +140,7 @@ return [timeArray componentsJoinedByString: @" "]; } +//also used in InfoWindow.xib - (NSComparisonResult) compareFinder: (NSString *) string { if ([NSApp isOnSnowLeopardOrBetter]) diff --git a/macosx/Torrent.h b/macosx/Torrent.h index 1763dbb25..deffcf81b 100644 --- a/macosx/Torrent.h +++ b/macosx/Torrent.h @@ -58,8 +58,6 @@ NSInteger fGroupValue; - BOOL fAddedTrackers; - NSDictionary * fQuickPauseDict; } @@ -147,7 +145,6 @@ - (NSArray *) allTrackersFlat; - (BOOL) updateAllTrackersForAdd: (NSMutableArray *) trackers; - (void) updateAllTrackersForRemove: (NSMutableArray *) trackers; -- (BOOL) hasAddedTrackers; - (NSString *) comment; - (NSString *) creator; diff --git a/macosx/Torrent.m b/macosx/Torrent.m index 63a0680f4..48e7eaefd 100644 --- a/macosx/Torrent.m +++ b/macosx/Torrent.m @@ -34,7 +34,7 @@ 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; @@ -83,7 +83,7 @@ int trashDataFile(const char * filename) 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) { @@ -98,7 +98,7 @@ int trashDataFile(const char * filename) 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; } @@ -112,8 +112,7 @@ int trashDataFile(const char * filename) 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) { @@ -161,8 +160,7 @@ int trashDataFile(const char * filename) [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"]; @@ -748,7 +746,7 @@ int trashDataFile(const char * filename) 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]]; @@ -764,21 +762,13 @@ int trashDataFile(const char * filename) - (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])) @@ -786,24 +776,15 @@ int trashDataFile(const char * filename) [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]; @@ -1567,7 +1548,7 @@ int trashDataFile(const char * filename) 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; @@ -1650,9 +1631,7 @@ int trashDataFile(const char * filename) [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];