Changeset 12612
- Timestamp:
- Aug 2, 2011, 12:43:26 PM (12 years ago)
- Location:
- trunk/macosx
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/macosx/AddMagnetWindowController.m
r11617 r12612 200 200 - (void) confirmAdd 201 201 { 202 [fTorrent setWaitToStart: [fStartCheck state] == NSOnState];203 202 [fTorrent setGroupValue: fGroupValue]; 203 204 if ([fStartCheck state] == NSOnState) 205 [fTorrent startTransfer]; 204 206 205 207 [self close]; -
trunk/macosx/AddWindowController.m
r11617 r12612 288 288 [fTimer invalidate]; 289 289 fTimer = nil; 290 291 [fTorrent setWaitToStart: [fStartCheck state] == NSOnState];292 290 [fTorrent setGroupValue: fGroupValue]; 293 291 294 292 if (fTorrentFile && [fDeleteCheck state] == NSOnState) 295 293 [Torrent trashFile: fTorrentFile]; 294 295 if ([fStartCheck state] == NSOnState) 296 [fTorrent startTransfer]; 296 297 297 298 [fFileController setTorrent: nil]; //avoid a crash when window tries to update -
trunk/macosx/Controller.h
r12598 r12612 186 186 187 187 - (void) updateTorrentsInQueue; 188 - (NSUInteger) numToStartFromQueue: (BOOL) downloadQueue;189 188 190 189 - (void) torrentFinishedDownloading: (NSNotification *) notification; -
trunk/macosx/Controller.m
r12598 r12612 287 287 tr_bencDictAddStr(&settings, TR_PREFS_KEY_DOWNLOAD_DIR, [[[fDefaults stringForKey: @"DownloadFolder"] 288 288 stringByExpandingTildeInPath] UTF8String]); 289 tr_bencDictAddBool(&settings, TR_PREFS_KEY_DOWNLOAD_QUEUE_ENABLED, [fDefaults boolForKey: @"Queue"]); 290 tr_bencDictAddInt(&settings, TR_PREFS_KEY_DOWNLOAD_QUEUE_SIZE, [fDefaults integerForKey: @"QueueDownloadNumber"]); 289 291 tr_bencDictAddInt(&settings, TR_PREFS_KEY_IDLE_LIMIT, [fDefaults integerForKey: @"IdleLimitMinutes"]); 290 292 tr_bencDictAddBool(&settings, TR_PREFS_KEY_IDLE_LIMIT_ENABLED, [fDefaults boolForKey: @"IdleLimitCheck"]); … … 308 310 tr_bencDictAddBool(&settings, TR_PREFS_KEY_PEX_ENABLED, [fDefaults boolForKey: @"PEXGlobal"]); 309 311 tr_bencDictAddBool(&settings, TR_PREFS_KEY_PORT_FORWARDING, [fDefaults boolForKey: @"NatTraversal"]); 312 tr_bencDictAddInt(&settings, TR_PREFS_KEY_QUEUE_STALLED_MINUTES, [fDefaults integerForKey: @"StalledMinutes"]); 310 313 tr_bencDictAddReal(&settings, TR_PREFS_KEY_RATIO, [fDefaults floatForKey: @"RatioLimit"]); 311 314 tr_bencDictAddBool(&settings, TR_PREFS_KEY_RATIO_ENABLED, [fDefaults boolForKey: @"RatioCheck"]); … … 316 319 tr_bencDictAddStr(&settings, TR_PREFS_KEY_RPC_USERNAME, [[fDefaults stringForKey: @"RPCUsername"] UTF8String]); 317 320 tr_bencDictAddBool(&settings, TR_PREFS_KEY_RPC_WHITELIST_ENABLED, [fDefaults boolForKey: @"RPCUseWhitelist"]); 321 tr_bencDictAddBool(&settings, TR_PREFS_KEY_SEED_QUEUE_ENABLED, [fDefaults boolForKey: @"QueueSeed"]); 322 tr_bencDictAddInt(&settings, TR_PREFS_KEY_SEED_QUEUE_SIZE, [fDefaults integerForKey: @"QueueSeedNumber"]); 318 323 tr_bencDictAddBool(&settings, TR_PREFS_KEY_START, [fDefaults boolForKey: @"AutoStartDownload"]); 319 324 tr_bencDictAddBool(&settings, TR_PREFS_KEY_SCRIPT_TORRENT_DONE_ENABLED, [fDefaults boolForKey: @"DoneScriptEnabled"]); … … 447 452 if (history) 448 453 { 454 NSMutableArray * waitToStartTorrents = [NSMutableArray arrayWithCapacity: (([history count] > 0 && !fPauseOnLaunch) ? [history count]-1 : 0)]; //theoretical max without doing a lot of work 455 449 456 for (NSDictionary * historyItem in history) 450 457 { … … 453 460 { 454 461 [fTorrents addObject: torrent]; 462 463 NSNumber * waitToStart; 464 if (!fPauseOnLaunch && (waitToStart = [historyItem objectForKey: @"WaitToStart"]) && [waitToStart boolValue]) 465 [waitToStartTorrents addObject: torrent]; 466 455 467 [torrent release]; 456 468 } 457 469 } 470 471 //now that all are loaded, let's set those in the queue to waiting 472 for (Torrent * torrent in waitToStartTorrents) 473 [torrent startTransfer]; 458 474 } 459 475 … … 491 507 name: @"MakeWindowKey" object: nil]; 492 508 509 #warning look at this 493 510 [nc addObserver: self selector: @selector(updateTorrentsInQueue) 494 511 name: @"UpdateQueue" object: nil]; … … 882 899 else 883 900 { 884 [torrent setWaitToStart: [fDefaults boolForKey: @"AutoStartDownload"]]; 901 if ([fDefaults boolForKey: @"AutoStartDownload"]) 902 [torrent startTransfer]; 885 903 886 904 [torrent update]; … … 951 969 else 952 970 { 953 [torrent setWaitToStart: [fDefaults boolForKey: @"AutoStartDownload"]]; 971 if ([fDefaults boolForKey: @"AutoStartDownload"]) 972 [torrent startTransfer]; 954 973 955 974 [torrent update]; … … 1176 1195 { 1177 1196 for (Torrent * torrent in torrents) 1178 [torrent s etWaitToStart: YES];1197 [torrent startTransfer]; 1179 1198 1180 1199 [self updateTorrentsInQueue]; … … 1191 1210 1192 1211 for (Torrent * torrent in fTorrents) 1193 if ( ![torrent isActive] &&[torrent waitingToStart])1212 if ([torrent waitingToStart]) 1194 1213 [torrents addObject: torrent]; 1195 1214 … … 1201 1220 //iterate through instead of all at once to ensure no conflicts 1202 1221 for (Torrent * torrent in torrents) 1203 { 1204 tr_inf( "restarting a torrent in resumeTorrentsNoWait" ); 1205 [torrent startTransfer]; 1206 } 1207 1222 [torrent startTransferNoQueue]; 1223 1224 #warning change to updateTorrentsInQueue? 1208 1225 [self updateUI]; 1209 1226 [self applyFilter]; … … 1224 1241 - (void) stopTorrents: (NSArray *) torrents 1225 1242 { 1243 #warning look into stopping all without starting any 1226 1244 //don't want any of these starting then stopping 1227 for (Torrent * torrent in torrents)1228 [torrent setWaitToStart: NO]; 1245 /*for (Torrent * torrent in torrents) 1246 [torrent setWaitToStart: NO];*/ 1229 1247 1230 1248 [torrents makeObjectsPerformSelector: @selector(stopTransfer)]; … … 1325 1343 [selectedValues removeObjectsInArray: torrents]; 1326 1344 1345 #warning look into stopping all without starting any 1327 1346 //don't want any of these starting then stopping 1328 for (Torrent * torrent in torrents)1329 [torrent setWaitToStart: NO]; 1347 /*for (Torrent * torrent in torrents) 1348 [torrent setWaitToStart: NO];*/ 1330 1349 1331 1350 [fTorrents removeObjectsInArray: torrents]; … … 1708 1727 } 1709 1728 1729 #warning rename? remove? 1710 1730 - (void) updateTorrentsInQueue 1711 1731 { 1712 NSUInteger desiredDownloadActive = [fDefaults boolForKey: @"Queue"] ? [self numToStartFromQueue: YES] : NSUIntegerMax,1713 desiredSeedActive = [fDefaults boolForKey: @"QueueSeed"] ? [self numToStartFromQueue: NO] : NSUIntegerMax;1714 1715 for (Torrent * torrent in fTorrents)1716 {1717 if (desiredDownloadActive == 0 && desiredSeedActive == 0)1718 break;1719 1720 if (![torrent isActive] && ![torrent isChecking] && [torrent waitingToStart])1721 {1722 if (![torrent allDownloaded])1723 {1724 if (desiredDownloadActive > 0)1725 {1726 tr_inf( "restarting download torrent in mac queue" );1727 [torrent startTransfer];1728 if ([torrent isActive])1729 --desiredDownloadActive;1730 [torrent update];1731 }1732 }1733 else1734 {1735 if (desiredSeedActive > 0)1736 {1737 tr_inf( "restarting seed torrent in mac queue" );1738 [torrent startTransfer];1739 if ([torrent isActive])1740 --desiredSeedActive;1741 [torrent update];1742 }1743 }1744 }1745 }1746 1747 1732 [self updateUI]; 1748 1733 [self applyFilter]; 1749 1734 [[fWindow toolbar] validateVisibleItems]; 1750 1735 [self updateTorrentHistory]; 1751 }1752 1753 - (NSUInteger) numToStartFromQueue: (BOOL) downloadQueue1754 {1755 if (![fDefaults boolForKey: downloadQueue ? @"Queue" : @"QueueSeed"])1756 return 0;1757 1758 NSUInteger desired = [fDefaults integerForKey: downloadQueue ? @"QueueDownloadNumber" : @"QueueSeedNumber"];1759 1760 for (Torrent * torrent in fTorrents)1761 {1762 if (desired == 0)1763 break;1764 1765 if ([torrent isChecking])1766 --desired;1767 else if ([torrent isActive] && ![torrent isStalled] && ![torrent isError])1768 {1769 if ([torrent allDownloaded] != downloadQueue)1770 --desired;1771 }1772 else;1773 }1774 1775 return desired;1776 1736 } 1777 1737 … … 1809 1769 [[NSDistributedNotificationCenter defaultCenter] postNotificationName: @"com.apple.DownloadFileFinished" 1810 1770 object: [torrent dataLocation]]; 1811 1812 if ([torrent isActive] && [fDefaults boolForKey: @"QueueSeed"] && [self numToStartFromQueue: NO] == 0)1813 {1814 [torrent stopTransfer];1815 [torrent setWaitToStart: YES];1816 }1817 1771 } 1818 1772 … … 1820 1774 } 1821 1775 1776 #warning remove? 1822 1777 - (void) torrentRestartedDownloading: (NSNotification *) notification 1823 1778 { 1824 Torrent * torrent = [notification object];1825 if ([torrent isActive] && [fDefaults boolForKey: @"Queue"] && [self numToStartFromQueue: YES] == 0)1826 {1827 [torrent stopTransfer];1828 [torrent setWaitToStart: YES];1829 }1830 1831 1779 [self updateTorrentsInQueue]; 1832 1780 } … … 2701 2649 NSUInteger insertIndex = topTorrent ? [fTorrents indexOfObject: topTorrent] + 1 : 0; 2702 2650 NSIndexSet * insertIndexes = [NSIndexSet indexSetWithIndexesInRange: NSMakeRange(insertIndex, [movingTorrents count])]; 2651 for (Torrent * torrent in movingTorrents) 2652 [torrent setQueueIndex: insertIndex++]; 2703 2653 [fTorrents insertObjects: movingTorrents atIndexes: insertIndexes]; 2704 2654 } … … 4165 4115 } 4166 4116 4117 #warning handle queue state changes 4167 4118 - (void) rpcCallback: (tr_rpc_callback_type) type forTorrentStruct: (struct tr_torrent *) torrentStruct 4168 4119 { -
trunk/macosx/PrefsController.m
r12576 r12612 763 763 - (void) setQueue: (id) sender 764 764 { 765 //let's just do both - easier that way 766 tr_sessionSetQueueEnabled(fHandle, TR_DOWN, [fDefaults boolForKey: @"Queue"]); 767 tr_sessionSetQueueEnabled(fHandle, TR_UP, [fDefaults boolForKey: @"QueueSeed"]); 768 765 769 [[NSNotificationCenter defaultCenter] postNotificationName: @"UpdateQueue" object: self]; 766 770 } … … 768 772 - (void) setQueueNumber: (id) sender 769 773 { 770 [fDefaults setInteger: [sender intValue] forKey: sender == fQueueDownloadField ? @"QueueDownloadNumber" : @"QueueSeedNumber"]; 771 [self setQueue: nil]; 774 const NSInteger number = [sender intValue]; 775 const BOOL seed = sender == fQueueSeedField; 776 777 [fDefaults setInteger: number forKey: seed ? @"QueueSeedNumber" : @"QueueDownloadNumber"]; 778 779 tr_sessionSetQueueSize(fHandle, seed ? TR_UP : TR_DOWN, number); 780 781 [[NSNotificationCenter defaultCenter] postNotificationName: @"UpdateQueue" object: self]; 772 782 } 773 783 774 784 - (void) setStalled: (id) sender 775 785 { 786 #warning do something here 787 776 788 [[NSNotificationCenter defaultCenter] postNotificationName: @"UpdateQueue" object: self]; 777 789 } … … 780 792 { 781 793 [fDefaults setInteger: [sender intValue] forKey: @"StalledMinutes"]; 782 [self setStalled: nil]; 794 tr_sessionSetQueueStalledMinutes(fHandle, [fDefaults integerForKey: @"StalledMinutes"]); 795 796 [[NSNotificationCenter defaultCenter] postNotificationName: @"UpdateQueue" object: self]; 783 797 } 784 798 … … 1222 1236 [fDefaults setInteger: idleLimitMin forKey: @"IdleLimitMinutes"]; 1223 1237 1238 //queue 1239 const BOOL downloadQueue = tr_sessionGetQueueEnabled(fHandle, TR_DOWN); 1240 [fDefaults setBool: downloadQueue forKey: @"Queue"]; 1241 1242 const int downloadQueueNum = tr_sessionGetQueueSize(fHandle, TR_DOWN); 1243 [fDefaults setInteger: downloadQueueNum forKey: @"QueueDownloadNumber"]; 1244 1245 const BOOL seedQueue = tr_sessionGetQueueEnabled(fHandle, TR_UP); 1246 [fDefaults setBool: seedQueue forKey: @"QueueSeed"]; 1247 [fDefaults setBool: downloadQueue forKey: @"Queue"]; 1248 1249 const int seedQueueNum = tr_sessionGetQueueSize(fHandle, TR_UP); 1250 [fDefaults setInteger: seedQueueNum forKey: @"QueueSeedNumber"]; 1251 1224 1252 //done script 1225 1253 const BOOL doneScriptEnabled = tr_sessionIsTorrentDoneScriptEnabled(fHandle); -
trunk/macosx/Torrent.h
r12325 r12612 48 48 NSDate * fPreviousFinishedIndexesDate; 49 49 50 BOOL fWaitToStart, fStalled;51 52 50 NSInteger fGroupValue; 53 51 … … 74 72 - (void) getAmountFinished: (float *) tab size: (NSInteger) size; 75 73 - (NSIndexSet *) previousFinishedPieces; 76 - (void) setPreviousFinishedPieces: (NSIndexSet *) indexes;74 - (void) setPreviousFinishedPieces: (NSIndexSet *) indexes; 77 75 78 76 - (void) update; 79 77 78 - (void) startTransferNoQueue; 80 79 - (void) startTransfer; 81 80 - (void) stopTransfer; 82 81 - (void) sleep; 83 82 - (void) wakeUp; 83 84 - (void) setQueueIndex: (NSUInteger) index; 84 85 85 86 - (void) manualAnnounce; … … 113 114 - (uint16_t) maxPeerConnect; 114 115 115 - (void) setWaitToStart: (BOOL) wait;116 116 - (BOOL) waitingToStart; 117 117 -
trunk/macosx/Torrent.m
r12483 r12612 38 38 - (id) initWithPath: (NSString *) path hash: (NSString *) hashString torrentStruct: (tr_torrent *) torrentStruct 39 39 magnetAddress: (NSString *) magnetAddress lib: (tr_session *) lib 40 waitToStart: (NSNumber *) waitToStart41 40 groupValue: (NSNumber *) groupValue 42 41 timeMachineExcludeLocation: (NSString *) timeMachineExclude … … 104 103 { 105 104 self = [self initWithPath: path hash: nil torrentStruct: NULL magnetAddress: nil lib: lib 106 waitToStart: nilgroupValue: nil105 groupValue: nil 107 106 timeMachineExcludeLocation: nil 108 107 downloadFolder: location … … 120 119 { 121 120 self = [self initWithPath: nil hash: nil torrentStruct: torrentStruct magnetAddress: nil lib: lib 122 waitToStart: nilgroupValue: nil121 groupValue: nil 123 122 timeMachineExcludeLocation: nil 124 123 downloadFolder: location … … 131 130 { 132 131 self = [self initWithPath: nil hash: nil torrentStruct: nil magnetAddress: address 133 lib: lib waitToStart: nilgroupValue: nil132 lib: lib groupValue: nil 134 133 timeMachineExcludeLocation: nil 135 134 downloadFolder: location legacyIncompleteFolder: nil]; … … 145 144 magnetAddress: nil 146 145 lib: lib 147 waitToStart: [history objectForKey: @"WaitToStart"]148 146 groupValue: [history objectForKey: @"GroupValue"] 149 147 timeMachineExcludeLocation: [history objectForKey: @"TimeMachineExcludeLocation"] … … 159 157 { 160 158 fStat = tr_torrentStat(fHandle); 161 [self startTransfer ];159 [self startTransferNoQueue]; 162 160 } 161 162 //fWaitToStart = waitToStart && [waitToStart boolValue]; 163 163 164 164 165 //upgrading from versions < 1.30: get old added, activity, and done dates … … 195 196 [self hashString], @"TorrentHash", 196 197 [NSNumber numberWithBool: [self isActive]], @"Active", 197 [NSNumber numberWithBool: fWaitToStart], @"WaitToStart",198 [NSNumber numberWithBool: [self waitingToStart]], @"WaitToStart", 198 199 [NSNumber numberWithInt: fGroupValue], @"GroupValue", nil]; 199 200 … … 290 291 - (void) update 291 292 { 292 //get previous status values before update293 BOOL wasChecking = NO, wasError = NO, wasStalled = NO;294 if (fStat != NULL)295 {296 wasChecking = [self isChecking];297 wasError = [self isError];298 wasStalled = fStalled;299 }300 301 293 fStat = tr_torrentStat(fHandle); 302 303 //check if stalled (stored because based on time and needs to check if it was previously stalled)304 fStalled = [self isActive] && [fDefaults boolForKey: @"CheckStalled"]305 && [self stalledMinutes] > [fDefaults integerForKey: @"StalledMinutes"];306 307 //update queue for checking (from downloading to seeding), stalled, or error308 if ((wasChecking && ![self isChecking]) || (wasStalled != fStalled) || (!wasError && [self isError] && [self isActive]))309 [[NSNotificationCenter defaultCenter] postNotificationName: @"UpdateQueue" object: self];310 294 311 295 //when the data first appears, update time machine exclusion … … 314 298 } 315 299 300 - (void) startTransferNoQueue 301 { 302 if (![self isActive] && [self alertForRemainingDiskSpace]) 303 { 304 tr_torrentStartNow(fHandle); 305 [self update]; 306 307 //capture, specifically, stop-seeding settings changing to unlimited 308 [[NSNotificationCenter defaultCenter] postNotificationName: @"UpdateOptions" object: nil]; 309 } 310 } 311 312 #warning merge 316 313 - (void) startTransfer 317 314 { 318 fWaitToStart = NO; 319 320 if (![self isActive] && [self alertForRemainingDiskSpace]) 321 { 322 tr_ninf( fInfo->name, "restarting via startTransfer" ); 315 if (![self isActive] && ![self waitingToStart] && [self alertForRemainingDiskSpace]) 316 { 323 317 tr_torrentStart(fHandle); 324 318 [self update]; … … 331 325 - (void) stopTransfer 332 326 { 333 fWaitToStart = NO; 334 335 if ([self isActive]) 327 if ([self isActive] || [self waitingToStart]) 336 328 { 337 329 tr_torrentStop(fHandle); 338 330 [self update]; 339 331 332 #warning still needed? 340 333 [[NSNotificationCenter defaultCenter] postNotificationName: @"UpdateQueue" object: self]; 341 334 } … … 357 350 } 358 351 352 - (void) setQueueIndex: (NSUInteger) index 353 { 354 tr_torrentSetQueuePosition(fHandle, index); 355 } 356 359 357 - (void) manualAnnounce 360 358 { … … 476 474 return tr_torrentGetPeerLimit(fHandle); 477 475 } 478 479 - (void) setWaitToStart: (BOOL) wait480 {481 fWaitToStart = wait;482 }483 484 476 - (BOOL) waitingToStart 485 477 { 486 return f WaitToStart;478 return fStat->activity == TR_STATUS_DOWNLOAD_WAIT || fStat->activity == TR_STATUS_SEED_WAIT; 487 479 } 488 480 … … 623 615 - (NSString *) name 624 616 { 617 #warning remove 618 //return [NSString stringWithFormat: @"%d %@", fStat->queuePosition, [NSString stringWithUTF8String: fInfo->name]]; 625 619 return fInfo->name != NULL ? [NSString stringWithUTF8String: fInfo->name] : fHashString; 626 620 } … … 841 835 - (BOOL) isActive 842 836 { 843 return fStat->activity != TR_STATUS_STOPPED ;837 return fStat->activity != TR_STATUS_STOPPED && fStat->activity != TR_STATUS_DOWNLOAD_WAIT && fStat->activity != TR_STATUS_SEED_WAIT; 844 838 } 845 839 … … 1051 1045 { 1052 1046 case TR_STATUS_STOPPED: 1053 if (fWaitToStart) 1054 { 1055 string = ![self allDownloaded] 1056 ? [NSLocalizedString(@"Waiting to download", "Torrent -> status string") stringByAppendingEllipsis] 1057 : [NSLocalizedString(@"Waiting to seed", "Torrent -> status string") stringByAppendingEllipsis]; 1058 } 1059 else if ([self isFinishedSeeding]) 1047 if ([self isFinishedSeeding]) 1060 1048 string = NSLocalizedString(@"Seeding complete", "Torrent -> status string"); 1061 1049 else 1062 1050 string = NSLocalizedString(@"Paused", "Torrent -> status string"); 1063 1051 break; 1064 1052 1053 case TR_STATUS_DOWNLOAD_WAIT: 1054 string = [NSLocalizedString(@"Waiting to download", "Torrent -> status string") stringByAppendingEllipsis]; 1055 break; 1056 1057 case TR_STATUS_SEED_WAIT: 1058 string = [NSLocalizedString(@"Waiting to seed", "Torrent -> status string") stringByAppendingEllipsis]; 1059 break; 1060 1065 1061 case TR_STATUS_CHECK_WAIT: 1066 1062 string = [NSLocalizedString(@"Waiting to check existing data", "Torrent -> status string") stringByAppendingEllipsis]; … … 1105 1101 } 1106 1102 1107 if ( fStalled)1103 if ([self isStalled]) 1108 1104 string = [NSLocalizedString(@"Stalled", "Torrent -> status string") stringByAppendingFormat: @", %@", string]; 1109 1105 } … … 1131 1127 { 1132 1128 case TR_STATUS_STOPPED: 1133 if (fWaitToStart) 1134 { 1135 string = ![self allDownloaded] 1136 ? [NSLocalizedString(@"Waiting to download", "Torrent -> status string") stringByAppendingEllipsis] 1137 : [NSLocalizedString(@"Waiting to seed", "Torrent -> status string") stringByAppendingEllipsis]; 1138 } 1139 else if ([self isFinishedSeeding]) 1129 if ([self isFinishedSeeding]) 1140 1130 string = NSLocalizedString(@"Seeding complete", "Torrent -> status string"); 1141 1131 else 1142 1132 string = NSLocalizedString(@"Paused", "Torrent -> status string"); 1143 1133 break; 1134 1135 case TR_STATUS_DOWNLOAD_WAIT: 1136 string = [NSLocalizedString(@"Waiting to download", "Torrent -> status string") stringByAppendingEllipsis]; 1137 1138 case TR_STATUS_SEED_WAIT: 1139 string = [NSLocalizedString(@"Waiting to seed", "Torrent -> status string") stringByAppendingEllipsis]; 1144 1140 1145 1141 case TR_STATUS_CHECK_WAIT: … … 1181 1177 { 1182 1178 case TR_STATUS_STOPPED: 1179 case TR_STATUS_DOWNLOAD_WAIT: 1180 case TR_STATUS_SEED_WAIT: 1183 1181 { 1184 1182 NSString * string = NSLocalizedString(@"Paused", "Torrent -> status string"); 1185 1183 1186 1184 NSString * extra = nil; 1187 if ( fWaitToStart)1185 if ([self waitingToStart]) 1188 1186 { 1189 extra = ![self allDownloaded]1187 extra = fStat->activity == TR_STATUS_DOWNLOAD_WAIT 1190 1188 ? NSLocalizedString(@"Waiting to download", "Torrent -> status string") 1191 1189 : NSLocalizedString(@"Waiting to seed", "Torrent -> status string"); … … 1211 1209 case TR_STATUS_SEED: 1212 1210 return NSLocalizedString(@"Seeding", "Torrent -> status string"); 1213 1214 default:1215 NSAssert1(NO, @"Unknown activity %d for state string", fStat->activity);1216 return nil;1217 1211 } 1218 1212 } … … 1537 1531 - (BOOL) isStalled 1538 1532 { 1539 return fSta lled;1533 return fStat->isStalled; 1540 1534 } 1541 1535 … … 1568 1562 if (![self isActive]) //paused 1569 1563 { 1570 if ( fWaitToStart)1564 if ([self waitingToStart]) 1571 1565 return 1; 1572 1566 else … … 1614 1608 - (id) initWithPath: (NSString *) path hash: (NSString *) hashString torrentStruct: (tr_torrent *) torrentStruct 1615 1609 magnetAddress: (NSString *) magnetAddress lib: (tr_session *) lib 1616 waitToStart: (NSNumber *) waitToStart1617 1610 groupValue: (NSNumber *) groupValue 1618 1611 timeMachineExcludeLocation: (NSString *) timeMachineExclude … … 1670 1663 fHashString = [[NSString alloc] initWithUTF8String: fInfo->hashString]; 1671 1664 1672 fWaitToStart = waitToStart && [waitToStart boolValue];1673 1665 fResumeOnWake = NO; 1674 1666
Note: See TracChangeset
for help on using the changeset viewer.