mirror of
https://github.com/transmission/transmission
synced 2025-02-22 14:10:34 +00:00
remove redundant code when creating a torrent's file list
This commit is contained in:
parent
de6d57af43
commit
539aeb2edd
1 changed files with 10 additions and 41 deletions
|
@ -53,7 +53,7 @@
|
|||
- (void) ratioLimitHit;
|
||||
- (void) idleLimitHit;
|
||||
- (void) metadataRetrieved;
|
||||
- (void)renameFinished: (BOOL) success withNodes: (NSArray *) nodes completionHandler: (void (^)(BOOL)) completionHandler oldPath: (NSString *) oldPath newName: (NSString *) newName;
|
||||
- (void)renameFinished: (BOOL) success nodes: (NSArray *) nodes completionHandler: (void (^)(BOOL)) completionHandler oldPath: (NSString *) oldPath newName: (NSString *) newName;
|
||||
|
||||
- (BOOL) shouldShowEta;
|
||||
- (NSString *) etaString;
|
||||
|
@ -101,7 +101,7 @@ void renameCallback(tr_torrent * torrent, const char * oldPathCharString, const
|
|||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
NSDictionary * contextDict = [(NSDictionary *)contextInfo autorelease];
|
||||
Torrent * torrentObject = [contextDict objectForKey: @"Torrent"];
|
||||
[torrentObject renameFinished: error == 0 withNodes: [contextDict objectForKey: @"Nodes"] completionHandler: [contextDict objectForKey: @"CompletionHandler"] oldPath: oldPath newName: newName];
|
||||
[torrentObject renameFinished: error == 0 nodes: [contextDict objectForKey: @"Nodes"] completionHandler: [contextDict objectForKey: @"CompletionHandler"] oldPath: oldPath newName: newName];
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -1724,8 +1724,9 @@ int trashDataFile(const char * filename)
|
|||
if ([self isFolder])
|
||||
{
|
||||
const NSInteger count = [self fileCount];
|
||||
NSMutableArray * fileList = [NSMutableArray array],
|
||||
* flatFileList = [NSMutableArray arrayWithCapacity: count];
|
||||
NSMutableArray * flatFileList = [NSMutableArray arrayWithCapacity: count];
|
||||
|
||||
FileListNode * tempNode = [[FileListNode alloc] initWithFolderName:nil path:nil torrent:self];
|
||||
|
||||
for (NSInteger i = 0; i < count; i++)
|
||||
{
|
||||
|
@ -1733,47 +1734,15 @@ int trashDataFile(const char * filename)
|
|||
|
||||
NSString * fullPath = [NSString stringWithUTF8String: file->name];
|
||||
NSArray * pathComponents = [fullPath pathComponents];
|
||||
NSAssert1([pathComponents count] >= 2, @"Not enough components in path %@", fullPath);
|
||||
|
||||
NSString * path = [pathComponents objectAtIndex: 0];
|
||||
NSString * name = [pathComponents objectAtIndex: 1];
|
||||
|
||||
if ([pathComponents count] > 2)
|
||||
{
|
||||
//determine if folder node already exists
|
||||
__block FileListNode * node = nil;
|
||||
[fileList enumerateObjectsWithOptions: NSEnumerationConcurrent usingBlock: ^(FileListNode * searchNode, NSUInteger idx, BOOL * stop) {
|
||||
if ([[searchNode name] isEqualToString: name] && [searchNode isFolder])
|
||||
{
|
||||
node = searchNode;
|
||||
*stop = YES;
|
||||
}
|
||||
}];
|
||||
|
||||
if (!node)
|
||||
{
|
||||
node = [[FileListNode alloc] initWithFolderName: name path: path torrent: self];
|
||||
[fileList addObject: node];
|
||||
[node release];
|
||||
}
|
||||
|
||||
[node insertIndex: i withSize: file->length];
|
||||
[self insertPathForComponents: pathComponents withComponentIndex: 2 forParent: node fileSize: file->length index: i flatList: flatFileList];
|
||||
}
|
||||
else
|
||||
{
|
||||
FileListNode * node = [[FileListNode alloc] initWithFileName: name path: path size: file->length index: i torrent: self];
|
||||
[fileList addObject: node];
|
||||
[flatFileList addObject: node];
|
||||
[node release];
|
||||
}
|
||||
[self insertPathForComponents: pathComponents withComponentIndex: 1 forParent: tempNode fileSize: file->length index: i flatList: flatFileList];
|
||||
}
|
||||
|
||||
[self sortFileList: fileList];
|
||||
[self sortFileList: [tempNode children]];
|
||||
[self sortFileList: flatFileList];
|
||||
|
||||
fFileList = [[NSArray alloc] initWithArray: fileList];
|
||||
fFileList = [[NSArray alloc] initWithArray: [tempNode children]];
|
||||
fFlatFileList = [[NSArray alloc] initWithArray: flatFileList];
|
||||
[tempNode release];
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1919,7 +1888,7 @@ int trashDataFile(const char * filename)
|
|||
[[NSNotificationCenter defaultCenter] postNotificationName: @"ResetInspector" object: self userInfo: @{ @"Torrent" : self }];
|
||||
}
|
||||
|
||||
- (void)renameFinished: (BOOL) success withNodes: (NSArray *) nodes completionHandler: (void (^)(BOOL)) completionHandler oldPath: (NSString *) oldPath newName: (NSString *) newName
|
||||
- (void)renameFinished: (BOOL) success nodes: (NSArray *) nodes completionHandler: (void (^)(BOOL)) completionHandler oldPath: (NSString *) oldPath newName: (NSString *) newName
|
||||
{
|
||||
NSParameterAssert(completionHandler != nil);
|
||||
NSParameterAssert(oldPath != nil);
|
||||
|
|
Loading…
Reference in a new issue