From: Mitchell Livingston Date: Thu, 22 May 2008 20:00:22 +0000 (+0000) Subject: fix errors with the new file structure code when displaying per-torrent action menu X-Git-Tag: 1.22~270 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b59be62bb55d56af9bf4eb7abfe85fcd57b1d8e6;p=transmission fix errors with the new file structure code when displaying per-torrent action menu --- diff --git a/macosx/Controller.m b/macosx/Controller.m index ce2f63fed..bae115c0d 100644 --- a/macosx/Controller.m +++ b/macosx/Controller.m @@ -4158,7 +4158,7 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy if (!torrent) { - NSLog(@"No torrent found matching torrent struct given in RPC callback!"); + NSLog(@"No torrent found matching the given torrent struct from the RPC callback!"); return; } } diff --git a/macosx/FileListNode.h b/macosx/FileListNode.h index ad0756526..e99106054 100644 --- a/macosx/FileListNode.h +++ b/macosx/FileListNode.h @@ -24,7 +24,6 @@ #import - @interface FileListNode : NSObject { NSString * fName, * fPath; diff --git a/macosx/Torrent.m b/macosx/Torrent.m index 63137bbe4..874e3c9f6 100644 --- a/macosx/Torrent.m +++ b/macosx/Torrent.m @@ -1678,6 +1678,7 @@ void completenessChangeCallback(tr_torrent * torrent, cp_status_t status, void * [node release]; } + [node insertIndex: i]; [self insertPath: pathComponents forParent: node fileSize: file->length index: i]; } else diff --git a/macosx/TorrentTableView.m b/macosx/TorrentTableView.m index 77d382052..f917a19f6 100644 --- a/macosx/TorrentTableView.m +++ b/macosx/TorrentTableView.m @@ -25,6 +25,7 @@ #import "TorrentTableView.h" #import "TorrentCell.h" #import "Torrent.h" +#import "FileListNode.h" #import "QuickLookController.h" #import "NSApplicationAdditions.h" @@ -692,8 +693,8 @@ return; NSMenu * supermenu = [menu supermenu]; - [self createFileMenu: menu forFiles: [[[supermenu itemAtIndex: [supermenu indexOfItemWithSubmenu: menu]] - representedObject] objectForKey: @"Children"]]; + [self createFileMenu: menu forFiles: [(FileListNode *)[[supermenu itemAtIndex: [supermenu indexOfItemWithSubmenu: menu]] + representedObject] children]]; } } @@ -762,7 +763,7 @@ - (void) checkFile: (id) sender { - NSIndexSet * indexSet = [[sender representedObject] objectForKey: @"Indexes"]; + NSIndexSet * indexSet = [(FileListNode *)[sender representedObject] indexes]; [fMenuTorrent setFileCheckState: [sender state] != NSOnState ? NSOnState : NSOffState forIndexes: indexSet]; [[NSNotificationCenter defaultCenter] postNotificationName: @"UpdateStats" object: nil]; @@ -855,15 +856,15 @@ - (void) createFileMenu: (NSMenu *) menu forFiles: (NSArray *) files { NSEnumerator * enumerator = [files objectEnumerator]; - NSDictionary * dict; - while ((dict = [enumerator nextObject])) + FileListNode * node; + while ((node = [enumerator nextObject])) { - NSString * name = [dict objectForKey: @"Name"]; + NSString * name = [node name]; NSMenuItem * item = [[NSMenuItem alloc] initWithTitle: name action: @selector(checkFile:) keyEquivalent: @""]; NSImage * icon; - if (![[dict objectForKey: @"IsFolder"] boolValue]) + if (![node isFolder]) icon = [[NSWorkspace sharedWorkspace] iconForFileType: [name pathExtension]]; else { @@ -876,13 +877,13 @@ icon = [[NSWorkspace sharedWorkspace] iconForFileType: NSFileTypeForHFSTypeCode('fldr')]; } - [item setRepresentedObject: dict]; + [item setRepresentedObject: node]; [icon setScalesWhenResized: YES]; [icon setSize: NSMakeSize(16.0, 16.0)]; [item setImage: icon]; - NSIndexSet * indexSet = [dict objectForKey: @"Indexes"]; + NSIndexSet * indexSet = [node indexes]; [item setState: [fMenuTorrent checkForFiles: indexSet]]; [item setEnabled: [fMenuTorrent canChangeDownloadCheckForFiles: indexSet]];