Changeset 10097
- Timestamp:
- Feb 5, 2010, 2:51:42 AM (12 years ago)
- Location:
- trunk/macosx
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/macosx/DragOverlayWindow.m
r10027 r10097 37 37 - (id) initWithLib: (tr_session *) lib forWindow: (NSWindow *) window 38 38 { 39 if ((self = ([super initWithContentRect: NSZeroRectstyleMask: NSBorderlessWindowMask39 if ((self = ([super initWithContentRect: [window frame] styleMask: NSBorderlessWindowMask 40 40 backing: NSBackingStoreBuffered defer: NO]))) 41 41 { … … 67 67 68 68 [window addChildWindow: self ordered: NSWindowAbove]; 69 [self setFrame: [window frame] display: NO];70 69 71 70 [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(resizeWindow) -
trunk/macosx/InfoWindowController.m
r10053 r10097 676 676 } 677 677 else if (tableView == fTrackerTable) 678 { 679 id item = [fTrackers objectAtIndex: row]; 680 681 if ([item isKindOfClass: [NSNumber class]]) 682 return [NSString stringWithFormat: NSLocalizedString(@"Tier %d", "Inspector -> tracker table"), [item integerValue]]; 683 else 684 return item; 685 } 678 return [fTrackers objectAtIndex: row]; 686 679 return nil; 687 680 } … … 702 695 if (tableView == fTrackerTable) 703 696 { 704 if ( [[fTrackers objectAtIndex: row] isKindOfClass: [NSNumber class]])697 if (![[fTrackers objectAtIndex: row] isKindOfClass: [TrackerNode class]] && [tableView editedRow] != row) 705 698 return TRACKER_GROUP_SEPARATOR_HEIGHT; 706 699 } … … 757 750 { 758 751 if ([notification object] == fTrackerTable) 759 { 760 NSInteger numSelected = [fTrackerTable numberOfSelectedRows]; 761 [fTrackerAddRemoveControl setEnabled: numSelected > 0 forSegment: TRACKER_REMOVE_TAG]; 762 } 752 [fTrackerAddRemoveControl setEnabled: [fTorrents count] == 1 && [fTrackerTable numberOfSelectedRows] > 0 753 forSegment: TRACKER_REMOVE_TAG]; 763 754 } 764 755 … … 766 757 { 767 758 if (tableView == fTrackerTable) 768 return [[fTrackers objectAtIndex: row] isKindOfClass: [NSNumber class]];759 return ![[fTrackers objectAtIndex: row] isKindOfClass: [TrackerNode class]] && [tableView editedRow] != row; 769 760 return NO; 770 761 } … … 858 849 { 859 850 id node = [fTrackers objectAtIndex: row]; 860 if ( ![node isKindOfClass: [NSNumberclass]])851 if ([node isKindOfClass: [TrackerNode class]]) 861 852 return [(TrackerNode *)node fullAnnounceAddress]; 862 853 } … … 883 874 //reset table with either new or old value 884 875 [fTrackers release]; 885 fTrackers = [[torrent allTrackerStats ] retain];876 fTrackers = [[torrent allTrackerStatsWithTransferName: NO] retain]; 886 877 887 878 [fTrackerTable setTrackers: fTrackers]; … … 1486 1477 - (void) updateInfoTracker 1487 1478 { 1488 if ([fTorrents count] != 1)1479 if ([fTorrents count] == 0) 1489 1480 return; 1490 Torrent * torrent = [fTorrents objectAtIndex: 0];1491 1481 1492 1482 //get updated tracker stats 1493 1483 if ([fTrackerTable editedRow] == -1) 1494 1484 { 1485 const BOOL multiple = [fTorrents count] != 1; 1486 1495 1487 [fTrackers release]; 1496 fTrackers = [[torrent allTrackerStats] retain]; 1488 fTrackers = [[NSMutableArray alloc] init]; 1489 for (Torrent * torrent in fTorrents) 1490 [fTrackers addObjectsFromArray: [torrent allTrackerStatsWithTransferName: multiple]]; 1497 1491 1498 1492 [fTrackerTable setTrackers: fTrackers]; … … 1501 1495 else 1502 1496 { 1497 NSAssert1([fTorrents count] == 1, @"Attempting to add tracker with %d transfers selected", [fTorrents count]); 1498 1503 1499 if ([NSApp isOnSnowLeopardOrBetter]) 1504 1500 { … … 1507 1503 1508 1504 [fTrackers release]; 1509 fTrackers = [[ torrent allTrackerStats] retain];1505 fTrackers = [[[fTorrents objectAtIndex: 0] allTrackerStatsWithTransferName: NO] retain]; 1510 1506 [fTrackers addObjectsFromArray: tierAndTrackerBeingAdded]; 1511 1507 … … 1718 1714 [[self window] makeKeyWindow]; 1719 1715 1720 [fTrackers addObject: [NSNumber numberWithInt: [(TrackerNode *)[fTrackers lastObject] tier]+1]];1716 [fTrackers addObject: NSLocalizedString(@"New Tier", "inspector -> add tracker")]; 1721 1717 [fTrackers addObject: @""]; 1722 1718 … … 1736 1732 { 1737 1733 id object = [fTrackers objectAtIndex: i]; 1738 if ([object isKindOfClass: [NSNumber class]]) 1734 if ([object isKindOfClass: [TrackerNode class]]) 1735 { 1736 if (groupSelected || [selectedIndexes containsIndex: i]) 1737 [removeIdentifiers addIndex: [(TrackerNode *)object identifier]]; 1738 } 1739 else 1739 1740 { 1740 1741 groupSelected = [selectedIndexes containsIndex: i]; 1741 1742 if (!groupSelected && i > [selectedIndexes lastIndex]) 1742 1743 break; 1743 }1744 else1745 {1746 if (groupSelected || [selectedIndexes containsIndex: i])1747 [removeIdentifiers addIndex: [(TrackerNode *)object identifier]];1748 1744 } 1749 1745 } … … 1788 1784 //reset table with either new or old value 1789 1785 [fTrackers release]; 1790 fTrackers = [[torrent allTrackerStats ] retain];1786 fTrackers = [[torrent allTrackerStatsWithTransferName: NO] retain]; 1791 1787 1792 1788 [fTrackerTable setTrackers: fTrackers]; -
trunk/macosx/Torrent.h
r9902 r10097 129 129 - (uint64_t) sizeLeft; 130 130 131 - (NSMutableArray *) allTrackerStats ;131 - (NSMutableArray *) allTrackerStatsWithTransferName: (BOOL) includeTransferName; 132 132 - (NSArray *) allTrackersFlat; //used by GroupRules 133 133 - (BOOL) addTrackerToNewTier: (NSString *) tracker; -
trunk/macosx/Torrent.m
r10084 r10097 584 584 } 585 585 586 - (NSMutableArray *) allTrackerStats 586 - (NSMutableArray *) allTrackerStatsWithTransferName: (BOOL) includeTransferName 587 587 { 588 588 int count; … … 596 596 if (stats[i].tier != prevTier) 597 597 { 598 [trackers addObject: [NSNumber numberWithInteger: stats[i].tier]]; 598 NSString * tierString = [NSString stringWithFormat: NSLocalizedString(@"Tier %d", "Inspector -> tracker table"), 599 stats[i].tier]; 600 if (includeTransferName) 601 tierString = [tierString stringByAppendingFormat: @" - %@", [self name]]; 602 603 [trackers addObject: tierString]; 599 604 prevTier = stats[i].tier; 600 605 } -
trunk/macosx/TrackerTableView.m
r9852 r10097 53 53 { 54 54 id item = [fTrackers objectAtIndex: i]; 55 if ( [item isKindOfClass: [NSNumberclass]])56 { 57 for (++i; i < [fTrackers count] && ![[fTrackers objectAtIndex: i] isKindOfClass: [NSNumberclass]]; ++i)55 if (![item isKindOfClass: [TrackerNode class]]) 56 { 57 for (++i; i < [fTrackers count] && [[fTrackers objectAtIndex: i] isKindOfClass: [TrackerNode class]]; ++i) 58 58 [addresses addObject: [(TrackerNode *)[fTrackers objectAtIndex: i] fullAnnounceAddress]]; 59 59 --i; … … 142 142 { 143 143 //determine what the first row color should be 144 if ( ![[fTrackers objectAtIndex: rows.location] isKindOfClass: [NSNumber class]])144 if ([[fTrackers objectAtIndex: rows.location] isKindOfClass: [TrackerNode class]] || [self editedRow] == rows.location) 145 145 { 146 146 for (NSInteger i = rows.location-1; i>=0; i--) 147 147 { 148 if ( [[fTrackers objectAtIndex: i] isKindOfClass: [NSNumberclass]])148 if (![[fTrackers objectAtIndex: i] isKindOfClass: [TrackerNode class]]) 149 149 break; 150 150 start = !start; … … 160 160 for (i = rows.location; i < NSMaxRange(rows); i++) 161 161 { 162 if ( [[fTrackers objectAtIndex: i] isKindOfClass: [NSNumber class]])162 if (![[fTrackers objectAtIndex: i] isKindOfClass: [TrackerNode class]] && [self editedRow] != i) 163 163 { 164 164 start = YES;
Note: See TracChangeset
for help on using the changeset viewer.