From a423636ed3018239ce2d81f2fac30cb05c83887e Mon Sep 17 00:00:00 2001 From: Mitchell Livingston Date: Sat, 10 May 2008 19:24:28 +0000 Subject: [PATCH] the "selected" status string and the minimal view's "remaining time" status string are now toggled from the main action menu instead of being clickable --- macosx/Controller.h | 1 + macosx/Controller.m | 26 ++ macosx/English.lproj/MainMenu.xib | 402 ++++++++++++++++++------------ macosx/TorrentCell.h | 2 +- macosx/TorrentCell.m | 52 +--- macosx/TorrentTableView.m | 41 +-- 6 files changed, 275 insertions(+), 249 deletions(-) diff --git a/macosx/Controller.h b/macosx/Controller.h index 8b968a302..928aab9ac 100644 --- a/macosx/Controller.h +++ b/macosx/Controller.h @@ -241,6 +241,7 @@ typedef enum - (void) toggleSmallView: (id) sender; - (void) togglePiecesBar: (id) sender; - (void) toggleAvailabilityBar: (id) sender; +- (void) toggleStatusString: (id) sender; - (void) toggleStatusBar: (id) sender; - (void) showStatusBar: (BOOL) show animate: (BOOL) animate; diff --git a/macosx/Controller.m b/macosx/Controller.m index 861c240be..01218dc56 100644 --- a/macosx/Controller.m +++ b/macosx/Controller.m @@ -2846,6 +2846,16 @@ void sleepCallBack(void * controller, io_service_t y, natural_t messageType, voi [fTableView display]; } +- (void) toggleStatusString: (id) sender +{ + if ([fDefaults boolForKey: @"SmallView"]) + [fDefaults setBool: ![fDefaults boolForKey: @"DisplaySmallStatusRegular"] forKey: @"DisplaySmallStatusRegular"]; + else + [fDefaults setBool: ![fDefaults boolForKey: @"DisplayStatusProgressSelected"] forKey: @"DisplayStatusProgressSelected"]; + + [fTableView reloadData]; +} + - (NSRect) windowFrameByAddingHeight: (float) height checkLimits: (BOOL) check { NSScrollView * scrollView = [fTableView enclosingScrollView]; @@ -3433,6 +3443,22 @@ void sleepCallBack(void * controller, io_service_t y, natural_t messageType, voi return [fWindow isVisible]; } + if (action == @selector(toggleStatusString:)) + { + if ([fDefaults boolForKey: @"SmallView"]) + { + [menuItem setTitle: NSLocalizedString(@"Remaining Time", "Action menu -> status string toggle")]; + [menuItem setState: ![fDefaults boolForKey: @"DisplaySmallStatusRegular"] ? NSOnState : NSOffState]; + } + else + { + [menuItem setTitle: NSLocalizedString(@"Status of Selected Files", "Action menu -> status string toggle")]; + [menuItem setState: [fDefaults boolForKey: @"DisplayStatusProgressSelected"] ? NSOnState : NSOffState]; + } + + return [fWindow isVisible]; + } + if (action == @selector(toggleAvailabilityBar:)) { [menuItem setState: [fDefaults boolForKey: @"DisplayProgressBarAvailable"] ? NSOnState : NSOffState]; diff --git a/macosx/English.lproj/MainMenu.xib b/macosx/English.lproj/MainMenu.xib index da038ef92..bfd776ec0 100644 --- a/macosx/English.lproj/MainMenu.xib +++ b/macosx/English.lproj/MainMenu.xib @@ -3,15 +3,13 @@ 1050 9C7010 - 652 + 658 949.26 352.00 YES - - - - + + YES @@ -41,7 +39,7 @@ {3.40282e+38, 3.40282e+38} {350, 5} - + 256 YES @@ -1996,7 +1994,6 @@ zJLMsszTzPPNFM00zVXNdc2GzabNx83nzgjOKM5JzmnOis6qzrrO2877zxzPPM9dz33Pns++z9/P79AA {468, 173} - 4 @@ -2023,7 +2020,6 @@ zJLMsszTzPPNFM00zVXNdc2GzabNx83nzgjOKM5JzmnOis6qzrrO2877zxzPPM9dz33Pns++z9/P79AA {{0, 23}, {468, 173}} - 528 @@ -2032,7 +2028,6 @@ zJLMsszTzPPNFM00zVXNdc2GzabNx83nzgjOKM5JzmnOis6qzrrO2877zxzPPM9dz33Pns++z9/P79AA {468, 196} - {{0, 0}, {1680, 1028}} {350, 27} @@ -3394,7 +3389,7 @@ zJLMsszTzPPNFM00zVXNdc2GzabNx83nzgjOKM5JzmnOis6qzrrO2877zxzPPM9dz33Pns++z9/P79AA - + 266 YES @@ -3629,12 +3624,11 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA {400, 21} - StatusBarView NSView - + 266 YES @@ -3919,7 +3913,6 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA {457, 23} - StatusBarView NSView @@ -3942,7 +3935,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA {3.40282e+38, 3.40282e+38} {400, 177} - + 256 YES @@ -4028,7 +4021,6 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA {400, 177} - {{0, 0}, {1680, 1028}} {400, 199} @@ -4047,6 +4039,151 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA + + + Status of Selected Files + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Use Groups + + 1048576 + 2147483647 + + + + + + Sort Transfers by + + 1048576 + 2147483647 + + + submenuAction: + + Sort Transfers by + + YES + + + Queue Order + + 1048576 + 2147483647 + + + + + + Activity + + 1048576 + 2147483647 + + + 6 + + + + Date Added + + 1048576 + 2147483647 + + + 1 + + + + Name + + 1048576 + 2147483647 + + + 2 + + + + Progress + + 1048576 + 2147483647 + + + 3 + + + + State + + 1048576 + 2147483647 + + + 4 + + + + Tracker + + 1048576 + 2147483647 + + + 5 + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Reverse Sort Order + + 1048576 + 2147483647 + + + + + + + + + YES + YES + + + 1048576 + 2147483647 + + + Total Download Rate @@ -4193,131 +4330,6 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Use Groups - - 1048576 - 2147483647 - - - - - - Sort Transfers by - - 1048576 - 2147483647 - - - submenuAction: - - Sort Transfers by - - YES - - - Queue Order - - 1048576 - 2147483647 - - - - - - Activity - - 1048576 - 2147483647 - - - 6 - - - - Date Added - - 1048576 - 2147483647 - - - 1 - - - - Name - - 1048576 - 2147483647 - - - 2 - - - - Progress - - 1048576 - 2147483647 - - - 3 - - - - State - - 1048576 - 2147483647 - - - 4 - - - - Tracker - - 1048576 - 2147483647 - - - 5 - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Reverse Sort Order - - 1048576 - 2147483647 - - - - - - @@ -6255,6 +6267,14 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA 3157 + + + toggleStatusString: + + + + 3165 + @@ -6662,7 +6682,6 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA - @@ -6673,6 +6692,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA + @@ -6691,11 +6711,6 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA - - 1282 - - - 1293 @@ -7286,10 +7301,12 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA - - + + + + ActionMenu @@ -8304,6 +8321,21 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA + + 1282 + + + + + 3163 + + + + + 3164 + + + @@ -8318,6 +8350,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA 1028.ImportedFromIB2 103.IBPluginDependency 103.ImportedFromIB2 + 1041.IBEditorWindowLastContentRect 1041.IBPluginDependency 1041.ImportedFromIB2 1041.editorWindowContentRectSynchronizationRect @@ -8383,6 +8416,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA 136.ImportedFromIB2 1399.IBPluginDependency 1399.ImportedFromIB2 + 1400.IBEditorWindowLastContentRect 1400.IBPluginDependency 1400.ImportedFromIB2 1400.editorWindowContentRectSynchronizationRect @@ -8503,6 +8537,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA 1687.ImportedFromIB2 1688.IBPluginDependency 1688.ImportedFromIB2 + 169.IBEditorWindowLastContentRect 169.IBPluginDependency 169.ImportedFromIB2 1692.IBPluginDependency @@ -8577,6 +8612,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA 1891.ImportedFromIB2 1894.IBPluginDependency 1894.ImportedFromIB2 + 1895.IBEditorWindowLastContentRect 1895.IBPluginDependency 1895.ImportedFromIB2 1895.editorWindowContentRectSynchronizationRect @@ -8778,6 +8814,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA 2881.ImportedFromIB2 2883.IBPluginDependency 2883.ImportedFromIB2 + 29.IBEditorWindowLastContentRect 29.IBPluginDependency 29.ImportedFromIB2 29.editorWindowContentRectSynchronizationRect @@ -8806,6 +8843,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA 3011.CustomClassName 3011.IBPluginDependency 3011.ImportedFromIB2 + 302.IBEditorWindowLastContentRect 302.IBPluginDependency 302.ImportedFromIB2 302.editorWindowContentRectSynchronizationRect @@ -8827,6 +8865,10 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA 3148.IBPluginDependency 3148.ImportedFromIB2 3149.IBPluginDependency + 3163.IBPluginDependency + 3163.ImportedFromIB2 + 3164.IBPluginDependency + 3164.ImportedFromIB2 418.IBPluginDependency 418.ImportedFromIB2 456.IBPluginDependency @@ -8887,6 +8929,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA com.apple.InterfaceBuilder.CocoaPlugin + {{105, 707}, {225, 173}} com.apple.InterfaceBuilder.CocoaPlugin {{72, 664}, {214, 143}} @@ -8952,6 +8995,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA com.apple.InterfaceBuilder.CocoaPlugin + {{376, 582}, {293, 373}} com.apple.InterfaceBuilder.CocoaPlugin {{446, 528}, {293, 373}} @@ -9072,6 +9116,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA com.apple.InterfaceBuilder.CocoaPlugin + {{282, 832}, {172, 123}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -9146,6 +9191,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA com.apple.InterfaceBuilder.CocoaPlugin + {{562, 692}, {197, 173}} com.apple.InterfaceBuilder.CocoaPlugin {{449, 701}, {197, 173}} @@ -9347,6 +9393,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA com.apple.InterfaceBuilder.CocoaPlugin + {{111, 955}, {479, 20}} com.apple.InterfaceBuilder.CocoaPlugin {{468, 888}, {479, 20}} @@ -9375,6 +9422,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA FilterButton com.apple.InterfaceBuilder.CocoaPlugin + {{326, 712}, {236, 243}} com.apple.InterfaceBuilder.CocoaPlugin {{396, 658}, {236, 243}} @@ -9418,6 +9466,10 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + {{0, 922}, {148, 73}} com.apple.InterfaceBuilder.CocoaPlugin @@ -9467,7 +9519,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA - 3157 + 3165 @@ -9547,6 +9599,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA toggleSmallView: toggleSpeedLimit: toggleStatusBar: + toggleStatusString: verifySelectedTorrents: @@ -9604,6 +9657,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA id id id + id @@ -9720,6 +9774,43 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA + + FileOutlineController + NSObject + + YES + + YES + revealFile: + setCheck: + setOnlySelectedCheck: + setPriority: + + + YES + id + id + id + id + + + + fOutline + FileOutlineView + + + IBProjectSource + macosx/FileOutlineController.h + + + + FileOutlineView + NSOutlineView + + IBProjectSource + macosx/FileOutlineView.h + + FilterButton NSButton @@ -9738,6 +9829,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA FirstResponder + NSObject YES @@ -9785,6 +9877,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA NSApplication + NSResponder IBUserSource @@ -9799,6 +9892,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA NSMenu + NSObject IBUserSource @@ -9876,6 +9970,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA YES checkFile: moveDataFile: + paste: setQuickLimit: setQuickLimitMode: setQuickRatio: @@ -9889,6 +9984,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA id id id + id @@ -9919,14 +10015,6 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA macosx/TorrentTableView.h - - TorrentTableView - NSTableView - - IBUserSource - - - 0 diff --git a/macosx/TorrentCell.h b/macosx/TorrentCell.h index d368c112a..e3337d2ca 100644 --- a/macosx/TorrentCell.h +++ b/macosx/TorrentCell.h @@ -32,7 +32,7 @@ NSMutableDictionary * fTitleAttributes, * fStatusAttributes; BOOL fTracking, fMouseDownControlButton, fMouseDownRevealButton, fMouseDownActionButton, - fHoverControl, fHoverReveal, fHoverAction, fMouseDownProgressField, fMouseDownMinimalStatusField; + fHoverControl, fHoverReveal, fHoverAction; NSColor * fBarOverlayColor; CTGradient * fWhiteGradient, * fGrayGradient, * fLightGrayGradient, * fBlueGradient, * fDarkBlueGradient, diff --git a/macosx/TorrentCell.m b/macosx/TorrentCell.m index 53bb59289..e173749a8 100644 --- a/macosx/TorrentCell.m +++ b/macosx/TorrentCell.m @@ -283,12 +283,6 @@ NSRect revealRect = [self revealButtonRectForBounds: cellFrame]; BOOL checkReveal = NSMouseInRect(point, revealRect, [controlView isFlipped]); - NSRect progressRect = [self progressRectForBounds: cellFrame]; - BOOL checkProgress = NSMouseInRect(point, progressRect, [controlView isFlipped]) && [[self representedObject] folder]; - - NSRect minimalStatusRect = [self minimalStatusRectForBounds: cellFrame]; - BOOL checkMinStatus = NSMouseInRect(point, minimalStatusRect, [controlView isFlipped]); - [(TorrentTableView *)controlView removeButtonTrackingAreas]; while ([event type] != NSLeftMouseUp) @@ -313,24 +307,6 @@ [controlView setNeedsDisplayInRect: cellFrame]; } } - else if (checkProgress) - { - BOOL inProgressField = NSMouseInRect(point, progressRect, [controlView isFlipped]); - if (fMouseDownProgressField != inProgressField) - { - fMouseDownProgressField = inProgressField; - [controlView setNeedsDisplayInRect: cellFrame]; - } - } - else if (checkMinStatus) - { - BOOL inMinStatusField = NSMouseInRect(point, minimalStatusRect, [controlView isFlipped]); - if (fMouseDownMinimalStatusField != inMinStatusField) - { - fMouseDownMinimalStatusField = inMinStatusField; - [controlView setNeedsDisplayInRect: cellFrame]; - } - } else; //send events to where necessary @@ -355,20 +331,6 @@ [[self representedObject] revealData]; } - else if (fMouseDownProgressField) - { - fMouseDownProgressField = NO; - - [fDefaults setBool: ![fDefaults boolForKey: @"DisplayStatusProgressSelected"] forKey: @"DisplayStatusProgressSelected"]; - [(TorrentTableView *)controlView reloadData]; - } - else if (fMouseDownMinimalStatusField) - { - fMouseDownMinimalStatusField = NO; - - [fDefaults setBool: ![fDefaults boolForKey: @"DisplaySmallStatusRegular"] forKey: @"DisplaySmallStatusRegular"]; - [(TorrentTableView *)controlView reloadData]; - } else; if ([NSApp isOnLeopardOrBetter]) @@ -512,18 +474,12 @@ } //minimal status - NSRect minimalStatusRect; + NSRect minimalStatusRect = NSZeroRect; if (minimal) { NSAttributedString * minimalString = [self attributedStatusString: [self minimalStatusString] withColor: statusColor]; minimalStatusRect = [self rectForMinimalStatusWithString: minimalString inBounds: cellFrame]; - if (fMouseDownMinimalStatusField) - { - [fFieldBackColor set]; - [[NSBezierPath bezierPathWithRoundedRect: NSInsetRect(minimalStatusRect, -2.0, 0.0) radius: 5.0] fill]; - } - [minimalString drawInRect: minimalStatusRect]; } @@ -538,12 +494,6 @@ NSAttributedString * progressString = [self attributedStatusString: [torrent progressString] withColor: statusColor]; NSRect progressRect = [self rectForProgressWithString: progressString inBounds: cellFrame]; - if (fMouseDownProgressField) - { - [fFieldBackColor set]; - [[NSBezierPath bezierPathWithRoundedRect: NSInsetRect(progressRect, -2.0, 0.0) radius: 5.0] fill]; - } - [progressString drawInRect: progressRect]; } diff --git a/macosx/TorrentTableView.m b/macosx/TorrentTableView.m index 52ce65096..97f5d6226 100644 --- a/macosx/TorrentTableView.m +++ b/macosx/TorrentTableView.m @@ -45,9 +45,6 @@ - (BOOL) pointInRevealRect: (NSPoint) point; - (BOOL) pointInActionRect: (NSPoint) point; -- (BOOL) pointInProgressRect: (NSPoint) point; -- (BOOL) pointInMinimalStatusRect: (NSPoint) point; - - (BOOL) pointInGroupStatusRect: (NSPoint) point; - (void) setGroupStatusColumns; @@ -384,8 +381,7 @@ return; } - BOOL pushed = [self pointInControlRect: point] || [self pointInRevealRect: point] || [self pointInActionRect: point] - || [self pointInProgressRect: point] || [self pointInMinimalStatusRect: point]; + BOOL pushed = [self pointInControlRect: point] || [self pointInRevealRect: point] || [self pointInActionRect: point]; //if pushing a button, don't change the selected rows if (pushed) @@ -800,41 +796,6 @@ return NSPointInRect(point, [fTorrentCell iconRectForBounds: [self rectOfRow: row]]); } -- (BOOL) pointInProgressRect: (NSPoint) point -{ - int row = [self rowAtPoint: point]; - if (row < 0 || ![[self itemAtRow: row] isKindOfClass: [Torrent class]] || [fDefaults boolForKey: @"SmallView"] - || ![[self itemAtRow: row] folder]) - return NO; - - TorrentCell * cell; - if ([NSApp isOnLeopardOrBetter]) - cell = (TorrentCell *)[self preparedCellAtColumn: -1 row: row]; - else - { - cell = fTorrentCell; - [cell setRepresentedObject: [self itemAtRow: row]]; - } - return NSPointInRect(point, [cell progressRectForBounds: [self rectOfRow: row]]); -} - -- (BOOL) pointInMinimalStatusRect: (NSPoint) point -{ - int row = [self rowAtPoint: point]; - if (row < 0 || ![[self itemAtRow: row] isKindOfClass: [Torrent class]] || ![fDefaults boolForKey: @"SmallView"]) - return NO; - - TorrentCell * cell; - if ([NSApp isOnLeopardOrBetter]) - cell = (TorrentCell *)[self preparedCellAtColumn: -1 row: row]; - else - { - cell = fTorrentCell; - [cell setRepresentedObject: [self itemAtRow: row]]; - } - return NSPointInRect(point, [cell minimalStatusRectForBounds: [self rectOfRow: row]]); -} - - (BOOL) pointInGroupStatusRect: (NSPoint) point { int row = [self rowAtPoint: point];