From 0cc6a306acbdda53ea444d01be707c6d007dda39 Mon Sep 17 00:00:00 2001 From: Mitchell Livingston Date: Sun, 31 Dec 2006 23:24:23 +0000 Subject: [PATCH] remove bindings from the rest of the text fields, added back glue code --- macosx/Controller.m | 3 + .../English.lproj/PrefsWindow.nib/classes.nib | 4 + macosx/English.lproj/PrefsWindow.nib/info.nib | 6 +- .../PrefsWindow.nib/keyedobjects.nib | Bin 49687 -> 49066 bytes macosx/PrefsController.h | 8 ++ macosx/PrefsController.m | 72 +++++++++++++++++- 6 files changed, 88 insertions(+), 5 deletions(-) diff --git a/macosx/Controller.m b/macosx/Controller.m index 01356b774..647d80168 100644 --- a/macosx/Controller.m +++ b/macosx/Controller.m @@ -1563,6 +1563,7 @@ static void sleepCallBack(void * controller, io_service_t y, natural_t messageTy [fDefaults setInteger: [[sender title] intValue] forKey: [sender menu] == fUploadMenu ? @"UploadLimit" : @"DownloadLimit"]; [fDefaults setBool: YES forKey: [sender menu] == fUploadMenu ? @"CheckUpload" : @"CheckDownload"]; + [fPrefsController updateLimitFields]; [fPrefsController applySpeedSettings: nil]; } @@ -1570,6 +1571,8 @@ static void sleepCallBack(void * controller, io_service_t y, natural_t messageTy { [fDefaults setBool: YES forKey: @"RatioCheck"]; [fDefaults setFloat: [[sender title] floatValue] forKey: @"RatioLimit"]; + + [fPrefsController updateRatioStopField]; } - (void) checkWaitingForStopped: (NSNotification *) notification diff --git a/macosx/English.lproj/PrefsWindow.nib/classes.nib b/macosx/English.lproj/PrefsWindow.nib/classes.nib index 0093b1054..08d9a3602 100644 --- a/macosx/English.lproj/PrefsWindow.nib/classes.nib +++ b/macosx/English.lproj/PrefsWindow.nib/classes.nib @@ -16,9 +16,11 @@ setAutoSpeedLimit = id; setBadge = id; setDownloadLocation = id; + setGlobalLimit = id; setNat = id; setPort = id; setQueueNumber = id; + setRatioStop = id; setSound = id; setSpeedLimit = id; setTorrentLimit = id; @@ -44,6 +46,8 @@ fPortStatusField = NSTextField; fPortStatusImage = NSImageView; fPortStatusProgress = NSProgressIndicator; + fQueueField = NSTextField; + fRatioStopField = NSTextField; fSeedingSoundPopUp = NSPopUpButton; fSpeedLimitDownloadField = NSTextField; fSpeedLimitUploadField = NSTextField; diff --git a/macosx/English.lproj/PrefsWindow.nib/info.nib b/macosx/English.lproj/PrefsWindow.nib/info.nib index 25dea5a39..81b8d5776 100644 --- a/macosx/English.lproj/PrefsWindow.nib/info.nib +++ b/macosx/English.lproj/PrefsWindow.nib/info.nib @@ -7,11 +7,11 @@ IBEditorPositions 153 - 290 411 571 335 0 0 1152 842 + 191 408 571 335 0 0 1152 842 28 290 434 571 290 0 0 1152 842 41 - 290 426 571 305 0 0 1152 842 + 151 440 571 305 0 0 1152 842 66 290 507 571 144 0 0 1152 842 @@ -23,7 +23,7 @@ IBOpenObjects - 153 + 41 IBSystem Version 8L127 diff --git a/macosx/English.lproj/PrefsWindow.nib/keyedobjects.nib b/macosx/English.lproj/PrefsWindow.nib/keyedobjects.nib index d31b54b09ebfc558feed6bf4ef98eba29c1a0521..5c5d71c416d71f2b059bf5376957882856fb0b12 100644 GIT binary patch literal 49066 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 pnDdy+nEM!gj4{R>j$A@VcN9@9U%>)) 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 diff --git a/macosx/PrefsController.h b/macosx/PrefsController.h index b213aa0e0..834b4f5d2 100644 --- a/macosx/PrefsController.h +++ b/macosx/PrefsController.h @@ -32,12 +32,14 @@ tr_handle_t * fHandle; NSUserDefaults * fDefaults; + BOOL hasLoaded; NSToolbar * fToolbar; IBOutlet NSView * fGeneralView, * fTransfersView, * fBandwidthView, * fNetworkView; IBOutlet NSPopUpButton * fFolderPopUp, * fIncompleteFolderPopUp, * fImportFolderPopUp, * fDownloadSoundPopUp, * fSeedingSoundPopUp; + IBOutlet NSTextField * fRatioStopField, * fQueueField; NSArray * fSounds; @@ -76,8 +78,14 @@ - (void) setNat: (id) sender; - (void) updateNatStatus; +- (void) updateRatioStopField; +- (void) setRatioStop: (id) sender; + - (void) applySpeedSettings: (id) sender; +- (void) updateLimitFields; +- (void) setGlobalLimit: (id) sender; + - (void) applyTorrentLimitSetting: (id) sender; - (void) setTorrentLimit: (id) sender; diff --git a/macosx/PrefsController.m b/macosx/PrefsController.m index ab13e64a9..dd9ff2e9b 100644 --- a/macosx/PrefsController.m +++ b/macosx/PrefsController.m @@ -114,6 +114,8 @@ - (void) awakeFromNib { + hasLoaded = YES; + fToolbar = [[NSToolbar alloc] initWithIdentifier: @"Preferences Toolbar"]; [fToolbar setDelegate: self]; [fToolbar setAllowsUserCustomization: NO]; @@ -133,6 +135,12 @@ else [fFolderPopUp selectItemAtIndex: DOWNLOAD_ASK]; + //set stop ratio + [self updateRatioStopField]; + + //set limits + [self updateLimitFields]; + //set torrent limits [fUploadTorrentField setIntValue: [fDefaults integerForKey: @"UploadLimitTorrent"]]; [fDownloadTorrentField setIntValue: [fDefaults integerForKey: @"DownloadLimitTorrent"]]; @@ -150,7 +158,10 @@ [self updateNatStatus]; fNatStatusTimer = [NSTimer scheduledTimerWithTimeInterval: 5.0 target: self selector: @selector(updateNatStatus) userInfo: nil repeats: YES]; - + + //set queue values + [fQueueField setIntValue: [fDefaults integerForKey: @"QueueDownloadNumber"]]; + //set update check NSString * updateCheck = [fDefaults stringForKey: @"UpdateCheck"]; if ([updateCheck isEqualToString: @"Weekly"]) @@ -334,6 +345,53 @@ } } +- (void) updateRatioStopField +{ + if (!hasLoaded) + return; + + [fRatioStopField setFloatValue: [fDefaults floatForKey: @"RatioLimit"]]; +} + +- (void) setRatioStop: (id) sender +{ + float ratio = [sender floatValue]; + if (![[sender stringValue] isEqualToString: [NSString stringWithFormat: @"%.2f", ratio]] || ratio < 0) + { + NSBeep(); + [sender setFloatValue: [fDefaults floatForKey: @"RatioLimit"]]; + return; + } + + [fDefaults setFloat: ratio forKey: @"RatioLimit"]; +} + +- (void) updateLimitFields +{ + if (!hasLoaded) + return; + + [fUploadField setIntValue: [fDefaults integerForKey: @"UploadLimit"]]; + [fDownloadField setIntValue: [fDefaults integerForKey: @"DownloadLimit"]]; +} + +- (void) setGlobalLimit: (id) sender +{ + BOOL upload = sender == fUploadField; + + int limit = [sender intValue]; + if (![[sender stringValue] isEqualToString: [NSString stringWithFormat: @"%d", limit]] || limit < 0) + { + NSBeep(); + [sender setIntValue: [fDefaults integerForKey: upload ? @"UploadLimit" : @"DownloadLimit"]]; + return; + } + + [fDefaults setInteger: limit forKey: upload ? @"UploadLimit" : @"DownloadLimit"]; + + [self applySpeedSettings: self]; +} + - (void) applyTorrentLimitSetting: (id) sender { [[NSNotificationCenter defaultCenter] postNotificationName: @"UpdateSpeedSetting" object: self]; @@ -344,7 +402,7 @@ BOOL upload = sender == fUploadTorrentField; int limit = [sender intValue]; - if (![[sender stringValue] isEqualToString: [NSString stringWithFormat: @"%d", limit]]) + if (![[sender stringValue] isEqualToString: [NSString stringWithFormat: @"%d", limit]] || limit < 0) { NSBeep(); [sender setIntValue: [fDefaults integerForKey: upload ? @"UploadLimitTorrent" : @"DownloadLimitTorrent"]]; @@ -420,6 +478,16 @@ - (void) setQueueNumber: (id) sender { + int limit = [sender intValue]; + if (![[sender stringValue] isEqualToString: [NSString stringWithFormat: @"%d", limit]] || limit < 0) + { + NSBeep(); + [sender setIntValue: [fDefaults integerForKey: @"QueueDownloadNumber"]]; + return; + } + + [fDefaults setInteger: limit forKey: @"QueueDownloadNumber"]; + [[NSNotificationCenter defaultCenter] postNotificationName: @"GlobalStartSettingChange" object: self]; }