]> granicus.if.org Git - transmission/commitdiff
fix errors with the new file structure code when displaying per-torrent action menu
authorMitchell Livingston <livings124@transmissionbt.com>
Thu, 22 May 2008 20:00:22 +0000 (20:00 +0000)
committerMitchell Livingston <livings124@transmissionbt.com>
Thu, 22 May 2008 20:00:22 +0000 (20:00 +0000)
macosx/Controller.m
macosx/FileListNode.h
macosx/Torrent.m
macosx/TorrentTableView.m

index ce2f63fed077bc771f2f417d6908a31b401c4697..bae115c0da1618161514467a3f5ede9a4dd866e5 100644 (file)
@@ -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;
         }
     }
index ad075652687a2d1e5689e3caa64343bff98eb581..e9910605451cb9274911e8f18fb4acd1461489b1 100644 (file)
@@ -24,7 +24,6 @@
 
 #import <Cocoa/Cocoa.h>
 
-
 @interface FileListNode : NSObject <NSCopying>
 {
     NSString * fName, * fPath;
index 63137bbe41c994dec68a8608ea2f52a9994fe8b3..874e3c9f6d903220a992e41524496a189f771089 100644 (file)
@@ -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
index 77d382052b3fdd4a2bda6b98113cdc6c5623702e..f917a19f6e9e96fdc32a47344c14219870023010 100644 (file)
@@ -25,6 +25,7 @@
 #import "TorrentTableView.h"
 #import "TorrentCell.h"
 #import "Torrent.h"
+#import "FileListNode.h"
 #import "QuickLookController.h"
 #import "NSApplicationAdditions.h"
 
             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]];
     }
 }
 
 
 - (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];
 - (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
         {
             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]];