Changeset 9220
- Timestamp:
- Sep 29, 2009, 3:02:44 AM (13 years ago)
- Location:
- trunk/macosx
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/macosx/InfoWindowController.h
r9203 r9220 54 54 IBOutlet NSButton * fRevealDataButton; 55 55 56 NS Array * fTrackers;56 NSMutableArray * fTrackers; 57 57 IBOutlet TrackerTableView * fTrackerTable; 58 58 TrackerCell * fTrackerCell; -
trunk/macosx/InfoWindowController.m
r9203 r9220 91 91 - (BOOL) canQuickLookFile: (FileListNode *) item; 92 92 93 #warning lookie 94 /*- (void) addTrackers; 95 - (void) removeTrackers;*/ 93 - (void) addTrackers; 94 - (void) removeTrackers; 96 95 97 96 @end … … 383 382 fTrackers = nil; 384 383 384 [fTrackerTable setTrackers: fTrackers]; 385 385 [fTrackerTable reloadData]; 386 [fTrackerTable setTrackers: nil];387 386 388 387 [fTrackerAddRemoveControl setEnabled: NO forSegment: TRACKER_ADD_TAG]; … … 906 905 if (tableView == fTrackerTable) 907 906 { 908 const BOOL group = [[fTrackers objectAtIndex: row] isKindOfClass: [NSNumberclass]];909 return group ? [tableColumn dataCellForRow: row] : fTrackerCell;907 const BOOL tracker = [[fTrackers objectAtIndex: row] isKindOfClass: [TrackerNode class]]; 908 return tracker ? fTrackerCell : [tableColumn dataCellForRow: row]; 910 909 } 911 910 … … 1073 1072 } 1074 1073 1075 #warning fix!1076 #if 01077 1074 - (void) tableView: (NSTableView *) tableView setObjectValue: (id) object forTableColumn: (NSTableColumn *) tableColumn 1078 1075 row: (NSInteger) row … … 1081 1078 return; 1082 1079 1083 [fTrackers replaceObjectAtIndex: row withObject: object];1084 1085 1080 Torrent * torrent= [fTorrents objectAtIndex: 0]; 1086 if (![torrent updateAllTrackersForAdd: fTrackers])1081 if (![torrent addTrackerToNewTier: object]) 1087 1082 NSBeep(); 1088 1083 1089 1084 //reset table with either new or old value 1090 1085 [fTrackers release]; 1091 fTrackers = [[torrent allTrackers: YES] retain]; 1092 [fTrackerTable deselectAll: self]; 1086 fTrackers = [[torrent allTrackerStats] retain]; 1093 1087 1094 1088 [fTrackerTable setTrackers: fTrackers]; 1095 1089 [fTrackerTable reloadData]; 1096 } 1097 #endif 1090 [fTrackerTable deselectAll: self]; 1091 } 1098 1092 1099 1093 - (void) addRemoveTracker: (id) sender 1100 1094 { 1101 /*//don't allow add/remove when currently adding - it leads to weird results1095 //don't allow add/remove when currently adding - it leads to weird results 1102 1096 if ([fTrackerTable editedRow] != -1) 1103 1097 return; … … 1106 1100 [self removeTrackers]; 1107 1101 else 1108 [self addTrackers]; */1102 [self addTrackers]; 1109 1103 } 1110 1104 1111 1105 #warning what?! 1112 - (BOOL) tableView: (NSTableView *) tableView shouldEditTableColumn: (NSTableColumn *) tableColumn row: (NSInteger) row1106 /*- (BOOL) tableView: (NSTableView *) tableView shouldEditTableColumn: (NSTableColumn *) tableColumn row: (NSInteger) row 1113 1107 { 1114 1108 if (tableView != fTrackerTable) … … 1119 1113 1120 1114 return [[fTrackers objectAtIndex: i] intValue] == 0; 1121 } 1115 }*/ 1122 1116 1123 1117 - (BOOL) acceptsPreviewPanelControl: (QLPreviewPanel *) panel … … 1445 1439 Torrent * torrent = [fTorrents objectAtIndex: 0]; 1446 1440 1441 #warning still update unselected rows 1447 1442 //get update tracker stats 1448 [fTrackers release]; 1449 fTrackers = [[torrent allTrackerStats] retain]; 1450 1451 [fTrackerTable setTrackers: fTrackers]; 1452 [fTrackerTable reloadData]; 1443 if ([fTrackerTable editedRow] == -1) 1444 { 1445 [fTrackers release]; 1446 fTrackers = [[torrent allTrackerStats] retain]; 1447 1448 [fTrackerTable setTrackers: fTrackers]; 1449 [fTrackerTable reloadData]; 1450 } 1453 1451 } 1454 1452 … … 1679 1677 } 1680 1678 1681 #if 01682 1683 1679 #warning doesn't like blank addresses 1684 1680 - (void) addTrackers … … 1686 1682 [[self window] makeKeyWindow]; 1687 1683 1688 NSUInteger tierCount = 0; 1689 for (id trackerObject in fTrackers) 1690 if ([trackerObject isKindOfClass: [NSNumber class]]) 1691 tierCount++; 1692 1693 [fTrackers addObject: [NSNumber numberWithInt: tierCount+1]]; 1684 [fTrackers addObject: [NSNumber numberWithInt: [(TrackerNode *)[fTrackers lastObject] tier]+1]]; 1694 1685 [fTrackers addObject: @""]; 1695 1686 1687 [fTrackerTable setTrackers: fTrackers]; 1696 1688 [fTrackerTable reloadData]; 1697 1689 [fTrackerTable selectRowIndexes: [NSIndexSet indexSetWithIndex: [fTrackers count]-1] byExtendingSelection: NO]; … … 1783 1775 //reset table with either new or old value 1784 1776 [fTrackers release]; 1785 fTrackers = [[torrent allTracker s: YES] retain];1777 fTrackers = [[torrent allTrackerStats] retain]; 1786 1778 1787 1779 [fTrackerTable setTrackers: fTrackers]; … … 1789 1781 } 1790 1782 1791 #endif1792 1793 1783 @end -
trunk/macosx/Torrent.h
r9204 r9220 133 133 - (uint64_t) sizeLeft; 134 134 135 - (NS Array *) allTrackerStats;136 - (NS Array *) allTrackersFlat; //used by GroupRules137 /*- (BOOL) updateAllTrackersForAdd: (NSMutableArray *) trackers;138 - (void) updateAllTrackersForRemove: (NSMutableArray *) trackers; */135 - (NSMutableArray *) allTrackerStats; 136 - (NSMutableArray *) allTrackersFlat; //used by GroupRules 137 - (BOOL) addTrackerToNewTier: (NSString *) tracker; 138 - (void) updateAllTrackersForRemove: (NSMutableArray *) trackers; 139 139 140 140 - (NSString *) comment; -
trunk/macosx/Torrent.m
r9204 r9220 673 673 } 674 674 675 - (NS Array *) allTrackerStats675 - (NSMutableArray *) allTrackerStats 676 676 { 677 677 int count; … … 698 698 } 699 699 700 - (NS Array *) allTrackersFlat700 - (NSMutableArray *) allTrackersFlat 701 701 { 702 702 NSMutableArray * allTrackers = [NSMutableArray arrayWithCapacity: fInfo->trackerCount]; … … 708 708 } 709 709 710 /*- (BOOL) updateAllTrackersForAdd: (NSMutableArray *) trackers 711 { 712 NSString * tracker = [trackers lastObject]; 710 - (BOOL) addTrackerToNewTier: (NSString *) tracker 711 { 713 712 tracker = [tracker stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]]; 714 713 715 714 if ([tracker rangeOfString: @"://"].location == NSNotFound) 716 {717 715 tracker = [@"http://" stringByAppendingString: tracker]; 718 [trackers replaceObjectAtIndex: [trackers count]-1 withObject: tracker];719 }720 716 721 717 if (!tr_httpIsValidURL([tracker UTF8String])) 722 718 return NO; 723 719 720 //recreate the tracker structure 721 const int oldTrackerCount = fInfo->trackerCount; 722 tr_tracker_info * trackerStructs = tr_new(tr_tracker_info, oldTrackerCount+1); 723 for (NSInteger i=0; i < oldTrackerCount; ++i) 724 trackerStructs[i] = fInfo->trackers[i]; 725 726 trackerStructs[oldTrackerCount].announce = (char *)[tracker UTF8String]; 727 trackerStructs[oldTrackerCount].tier = trackerStructs[oldTrackerCount-1].tier + 1; 728 729 tr_torrentSetAnnounceList(fHandle, trackerStructs, oldTrackerCount+1); 730 tr_free(trackerStructs); 731 732 return YES; 733 } 734 735 #warning this doesn't work 736 - (void) updateAllTrackersForRemove: (NSMutableArray *) trackers 737 { 724 738 [self updateAllTrackers: trackers]; 725 726 return YES; 727 } 728 729 - (void) updateAllTrackersForRemove: (NSMutableArray *) trackers 730 { 731 [self updateAllTrackers: trackers]; 732 }*/ 739 } 733 740 734 741 - (NSString *) comment … … 1800 1807 } 1801 1808 1809 #warning needs to be removed 1802 1810 - (void) updateAllTrackers: (NSMutableArray *) trackers 1803 1811 { -
trunk/macosx/TrackerNode.h
r9209 r9220 36 36 - (NSString *) fullAnnounceAddress; 37 37 38 - (NSInteger) tier; 39 38 40 - (NSInteger) totalSeeders; 39 41 - (NSInteger) totalLeechers; -
trunk/macosx/TrackerNode.m
r9212 r9220 53 53 { 54 54 return [NSString stringWithUTF8String: fStat.announce]; 55 } 56 57 - (NSInteger) tier 58 { 59 return fStat.tier; 55 60 } 56 61 -
trunk/macosx/TrackerTableView.m
r9219 r9220 57 57 } 58 58 59 NSString * text = [addresses componentsJoinedByString: @"\n"]; ;59 NSString * text = [addresses componentsJoinedByString: @"\n"]; 60 60 61 61 NSPasteboard * pb = [NSPasteboard generalPasteboard]; … … 74 74 - (BOOL) validateMenuItem: (NSMenuItem *) menuItem 75 75 { 76 SEL action = [menuItem action];76 const SEL action = [menuItem action]; 77 77 78 78 if (action == @selector(copy:))
Note: See TracChangeset
for help on using the changeset viewer.