Changeset 1289
- Timestamp:
- Dec 27, 2006, 2:57:55 AM (15 years ago)
- Location:
- trunk/macosx
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/macosx/Controller.m
r1285 r1289 1155 1155 Torrent * torrent = [notification object]; 1156 1156 1157 [fInfoController updateInfoS ettings];1157 [fInfoController updateInfoStats]; 1158 1158 1159 1159 [self applyFilter: nil]; … … 1649 1649 [self applyFilter: nil]; 1650 1650 [fInfoController updateInfoStats]; 1651 [fInfoController updateInfoSettings];1652 1651 1653 1652 if ([fDefaults boolForKey: @"PlaySeedingSound"]) -
trunk/macosx/English.lproj/InfoWindow.nib/classes.nib
r1242 r1289 13 13 revealFile = id; 14 14 revealTorrentFile = id; 15 setLimitCheck = id; 15 16 setRatioCheck = id; 16 17 setRatioLimit = id; 18 setSpeedLimit = id; 17 19 }; 18 20 CLASS = InfoWindowController; … … 26 28 fDateCreatedField = NSTextField; 27 29 fDateStartedField = NSTextField; 30 fDownloadLimitCheck = NSButton; 31 fDownloadLimitField = NSTextField; 28 32 fDownloadedTotalField = NSTextField; 29 33 fDownloadedValidField = NSTextField; … … 52 56 fTorrentLocationField = NSTextField; 53 57 fTrackerField = NSTextField; 58 fUploadLimitCheck = NSButton; 59 fUploadLimitField = NSTextField; 54 60 fUploadedTotalField = NSTextField; 55 61 fUploadingToField = NSTextField; -
trunk/macosx/InfoWindowController.h
r1256 r1289 57 57 IBOutlet NSTextField * fFileTableStatusField; 58 58 59 IBOutlet NSButton * fUploadLimitCheck, * fDownloadLimitCheck; 59 60 IBOutlet NSMatrix * fRatioMatrix; 60 IBOutlet NSTextField * f RatioLimitField;61 IBOutlet NSTextField * fUploadLimitField, * fDownloadLimitField, * fRatioLimitField; 61 62 } 62 63 63 64 - (void) updateInfoForTorrents: (NSArray *) torrents; 64 65 - (void) updateInfoStats; 65 - (void) updateInfoSettings;66 66 67 67 - (void) setNextTab; … … 72 72 - (void) revealFile: (id) sender; 73 73 74 - (void) setLimitCheck: (id) sender; 75 - (void) setSpeedLimit: (id) sender; 76 74 77 - (void) setRatioCheck: (id) sender; 75 78 - (void) setRatioLimit: (id) sender; -
trunk/macosx/InfoWindowController.m
r1283 r1289 44 44 #define TAB_PEERS_HEIGHT 268.0 45 45 #define TAB_FILES_HEIGHT 268.0 46 #define TAB_OPTIONS_HEIGHT 83.046 #define TAB_OPTIONS_HEIGHT 147.0 47 47 48 48 #define INVALID -99 … … 53 53 - (void) updateInfoActivity; 54 54 - (void) updateInfoPeers; 55 - (void) updateInfoSettings; 55 56 56 57 - (void) setWindowForTab: (NSString *) identifier animate: (BOOL) animate; … … 294 295 295 296 Torrent * torrent = [fTorrents objectAtIndex: 0]; 297 296 298 NSString * tracker = [[torrent trackerAddress] stringByAppendingString: [torrent trackerAddressAnnounce]]; 297 299 [fTrackerField setStringValue: tracker]; 298 300 [fTrackerField setToolTip: tracker]; 301 302 NSString * location = [torrent dataLocation]; 303 [fDataLocationField setStringValue: [location stringByAbbreviatingWithTildeInPath]]; 304 [fDataLocationField setToolTip: location]; 299 305 } 300 306 … … 375 381 Torrent * torrent; 376 382 377 if (numberSelected == 1) 383 //set bandwidth limits 384 NSEnumerator * enumerator = [fTorrents objectEnumerator]; 385 torrent = [enumerator nextObject]; //first torrent 386 387 int checkUpload = [torrent checkUpload] ? 1 : 0, 388 checkDownload = [torrent checkDownload] ? 1 : 0, 389 uploadLimit = [torrent uploadLimit], 390 downloadLimit = [torrent downloadLimit]; 391 392 while ((checkUpload != INVALID || uploadLimit != INVALID 393 || checkDownload != INVALID || downloadLimit != INVALID) 394 && (torrent = [enumerator nextObject])) 378 395 { 379 torrent = [fTorrents objectAtIndex: 0]; 380 [fDataLocationField setStringValue: [[torrent dataLocation] stringByAbbreviatingWithTildeInPath]]; 381 [fDataLocationField setToolTip: [torrent dataLocation]]; 396 if (checkUpload != INVALID && checkUpload != ([torrent checkUpload] ? 1 : 0)) 397 checkUpload = INVALID; 398 399 if (uploadLimit != INVALID && uploadLimit != [torrent uploadLimit]) 400 uploadLimit = INVALID; 401 402 if (checkDownload != INVALID && checkDownload != ([torrent checkDownload] ? 1 : 0)) 403 checkDownload = INVALID; 404 405 if (downloadLimit != INVALID && downloadLimit != [torrent downloadLimit]) 406 downloadLimit = INVALID; 382 407 } 383 408 409 [fUploadLimitCheck setEnabled: YES]; 410 [fDownloadLimitCheck setEnabled: YES]; 411 412 [fUploadLimitField setEnabled: checkUpload != 0]; 413 [fDownloadLimitField setEnabled: checkDownload != 0]; 414 415 [fUploadLimitCheck setState: checkUpload == INVALID ? NSMixedState 416 : (checkUpload == 1 ? NSOnState : NSOffState)]; 417 418 if (uploadLimit != INVALID) 419 [fUploadLimitField setIntValue: uploadLimit]; 420 else 421 [fUploadLimitField setStringValue: @""]; 422 423 [fDownloadLimitCheck setState: checkDownload == INVALID ? NSMixedState 424 : (checkDownload == 1 ? NSOnState : NSOffState)]; 425 426 if (downloadLimit != INVALID) 427 [fDownloadLimitField setIntValue: downloadLimit]; 428 else 429 [fDownloadLimitField setStringValue: @""]; 430 384 431 //set ratio settings 385 NSEnumerator *enumerator = [fTorrents objectEnumerator];432 enumerator = [fTorrents objectEnumerator]; 386 433 torrent = [enumerator nextObject]; //first torrent 387 434 … … 430 477 [fRatioLimitField setEnabled: NO]; 431 478 [fRatioLimitField setStringValue: @""]; 479 480 [fUploadLimitCheck setState: NSOffState]; 481 [fUploadLimitCheck setEnabled: NO]; 482 [fUploadLimitField setEnabled: NO]; 483 [fUploadLimitField setStringValue: @""]; 484 485 [fDownloadLimitCheck setState: NSOffState]; 486 [fDownloadLimitCheck setEnabled: NO]; 487 [fDownloadLimitField setEnabled: NO]; 488 [fDownloadLimitField setStringValue: @""]; 432 489 } 433 490 … … 471 528 } 472 529 else if ([identifier isEqualToString: TAB_PEERS_IDENT]) 473 {474 530 height = TAB_PEERS_HEIGHT; 475 }476 531 else if ([identifier isEqualToString: TAB_FILES_IDENT]) 477 532 height = TAB_FILES_HEIGHT; … … 637 692 } 638 693 694 - (void) setLimitCheck: (id) sender 695 { 696 BOOL upload = sender == fUploadLimitCheck, 697 limit = [sender state] != NSOffState; 698 699 if (limit) 700 [sender setState: NSOnState]; 701 702 Torrent * torrent; 703 NSEnumerator * enumerator = [fTorrents objectEnumerator]; 704 while ((torrent = [enumerator nextObject])) 705 upload ? [torrent setLimitUpload: limit] : [torrent setLimitDownload: limit]; 706 707 NSTextField * field = upload ? fUploadLimitField : fDownloadLimitField; 708 709 if (![[field stringValue] isEqualToString: @""]) 710 [self setSpeedLimit: field]; 711 712 [field setEnabled: limit]; 713 } 714 715 - (void) setSpeedLimit: (id) sender 716 { 717 BOOL upload = sender == fUploadLimitField; 718 719 Torrent * torrent; 720 NSEnumerator * enumerator = [fTorrents objectEnumerator]; 721 722 int limit = [sender intValue]; 723 if (![[sender stringValue] isEqualToString: [NSString stringWithFormat: @"%i", limit]] || limit < 0) 724 { 725 NSBeep(); 726 727 torrent = [enumerator nextObject]; //use first torrent 728 729 limit = upload ? [torrent uploadLimit] : [torrent downloadLimit]; 730 while ((torrent = [enumerator nextObject])) 731 if (limit != upload ? [torrent uploadLimit] : [torrent downloadLimit]) 732 { 733 [sender setStringValue: @""]; 734 return; 735 } 736 737 [sender setIntValue: limit]; 738 } 739 else 740 { 741 while ((torrent = [enumerator nextObject])) 742 upload ? [torrent setUploadLimit: limit] : [torrent setDownloadLimit: limit]; 743 } 744 } 745 639 746 - (void) setRatioCheck: (id) sender 640 747 { -
trunk/macosx/Torrent.h
r1285 r1289 51 51 NSMutableString * fNameString, * fProgressString, * fStatusString, * fShortStatusString, * fRemainingTimeString; 52 52 53 int fStopRatioSetting; 53 54 int fUploadLimit, fDownloadLimit, fStopRatioSetting; 54 55 float fRatioLimit; 55 BOOL f FinishedSeeding, fWaitToStart, fError;56 BOOL fCheckUpload, fCheckDownload, fFinishedSeeding, fWaitToStart, fError; 56 57 57 58 int fOrderValue; … … 89 90 - (float) ratioLimit; 90 91 - (void) setRatioLimit: (float) limit; 92 93 - (void) setLimitUpload: (BOOL) limit; 94 - (void) setUploadLimit: (int) limit; 95 - (void) setLimitDownload: (BOOL) limit; 96 - (void) setDownloadLimit: (int) limit; 97 - (BOOL) checkUpload; 98 - (int) uploadLimit; 99 - (BOOL) checkDownload; 100 - (int) downloadLimit; 91 101 92 102 - (void) setWaitToStart: (BOOL) wait; -
trunk/macosx/Torrent.m
r1285 r1289 36 36 publicTorrent: (NSNumber *) publicTorrent 37 37 date: (NSDate *) date stopRatioSetting: (NSNumber *) stopRatioSetting 38 ratioLimit: (NSNumber *) ratioLimit waitToStart: (NSNumber *) waitToStart 39 orderValue: (NSNumber *) orderValue; 38 ratioLimit: (NSNumber *) ratioLimit 39 checkUpload: (NSNumber *) checkUpload uploadLimit: (NSNumber *) uploadLimit 40 checkDownload: (NSNumber *) checkDownload downloadLimit: (NSNumber *) downloadLimit 41 waitToStart: (NSNumber *) waitToStart orderValue: (NSNumber *) orderValue; 40 42 41 43 - (NSImage *) advancedBar; … … 63 65 self = [self initWithHash: nil path: path lib: lib 64 66 publicTorrent: delete ? [NSNumber numberWithBool: NO] : nil 65 date: nil stopRatioSetting: nil ratioLimit: nil waitToStart: nil orderValue: nil]; 67 date: nil stopRatioSetting: nil ratioLimit: nil 68 checkUpload: nil uploadLimit: nil 69 checkDownload: nil downloadLimit: nil 70 waitToStart: nil orderValue: nil]; 66 71 67 72 if (self) … … 84 89 stopRatioSetting: [history objectForKey: @"StopRatioSetting"] 85 90 ratioLimit: [history objectForKey: @"RatioLimit"] 91 checkUpload: [history objectForKey: @"CheckUpload"] 92 uploadLimit: [history objectForKey: @"UploadLimit"] 93 checkDownload: [history objectForKey: @"CheckDownload"] 94 downloadLimit: [history objectForKey: @"DownloadLimit"] 86 95 waitToStart: [history objectForKey: @"WaitToStart"] 87 96 orderValue: [history objectForKey: @"OrderValue"]]; … … 133 142 [NSNumber numberWithInt: fStopRatioSetting], @"StopRatioSetting", 134 143 [NSNumber numberWithFloat: fRatioLimit], @"RatioLimit", 144 [NSNumber numberWithBool: fCheckUpload], @"CheckUpload", 145 [NSNumber numberWithInt: fUploadLimit], @"UploadLimit", 146 [NSNumber numberWithBool: fCheckDownload], @"CheckDownload", 147 [NSNumber numberWithInt: fDownloadLimit], @"DownloadLimit", 135 148 [NSNumber numberWithBool: fWaitToStart], @"WaitToStart", 136 149 [self orderValue], @"OrderValue", nil]; … … 507 520 } 508 521 522 - (void) setLimitUpload: (BOOL) limit 523 { 524 fCheckUpload = limit; 525 tr_setUploadLimit(fHandle, fCheckUpload ? fUploadLimit : -1); 526 } 527 528 - (void) setUploadLimit: (int) limit 529 { 530 fUploadLimit = limit; 531 tr_setUploadLimit(fHandle, fCheckUpload ? fUploadLimit : -1); 532 } 533 534 - (void) setLimitDownload: (BOOL) limit 535 { 536 fCheckDownload = limit; 537 tr_setDownloadLimit(fHandle, fCheckDownload ? fDownloadLimit : -1); 538 } 539 540 - (void) setDownloadLimit: (int) limit 541 { 542 fDownloadLimit = limit; 543 tr_setDownloadLimit(fHandle, fCheckDownload ? fDownloadLimit : -1); 544 } 545 546 - (BOOL) checkUpload 547 { 548 return fCheckUpload; 549 } 550 551 - (int) uploadLimit 552 { 553 return fUploadLimit; 554 } 555 556 - (BOOL) checkDownload 557 { 558 return fCheckDownload; 559 } 560 561 - (int) downloadLimit 562 { 563 return fDownloadLimit; 564 } 565 509 566 - (void) setWaitToStart: (BOOL) wait 510 567 { … … 1038 1095 publicTorrent: (NSNumber *) publicTorrent 1039 1096 date: (NSDate *) date stopRatioSetting: (NSNumber *) stopRatioSetting 1040 ratioLimit: (NSNumber *) ratioLimit waitToStart: (NSNumber *) waitToStart 1041 orderValue: (NSNumber *) orderValue 1097 ratioLimit: (NSNumber *) ratioLimit 1098 checkUpload: (NSNumber *) checkUpload uploadLimit: (NSNumber *) uploadLimit 1099 checkDownload: (NSNumber *) checkDownload downloadLimit: (NSNumber *) downloadLimit 1100 waitToStart: (NSNumber *) waitToStart orderValue: (NSNumber *) orderValue 1042 1101 { 1043 1102 if (!(self = [super init])) … … 1071 1130 fRatioLimit = ratioLimit ? [ratioLimit floatValue] : [fDefaults floatForKey: @"RatioLimit"]; 1072 1131 fFinishedSeeding = NO; 1132 1133 fCheckUpload = checkUpload && [checkUpload boolValue]; 1134 fUploadLimit = uploadLimit ? [uploadLimit intValue] : 10; 1135 tr_setUploadLimit(fHandle, fCheckUpload ? fUploadLimit : -1); 1136 1137 fCheckDownload = checkDownload && [checkDownload boolValue]; 1138 fDownloadLimit = downloadLimit ? [downloadLimit intValue] : 10; 1139 tr_setDownloadLimit(fHandle, fCheckDownload ? fDownloadLimit : -1); 1073 1140 1074 1141 fWaitToStart = waitToStart ? [waitToStart boolValue] : [fDefaults boolForKey: @"AutoStartDownload"];
Note: See TracChangeset
for help on using the changeset viewer.