From 5c0230cfcb1740e5684dadf4c15b3902f3de6871 Mon Sep 17 00:00:00 2001 From: Mitchell Livingston Date: Sun, 31 Dec 2006 21:38:35 +0000 Subject: [PATCH] bindings + formatters = trouble....revert to glue code for speed limit, torrent limit, and port fields in prefs...more to come later --- libtransmission/clients.c | 4 +- .../English.lproj/PrefsWindow.nib/classes.nib | 7 ++- macosx/English.lproj/PrefsWindow.nib/info.nib | 6 +- .../PrefsWindow.nib/keyedobjects.nib | Bin 50451 -> 49687 bytes macosx/PrefsController.h | 13 ++-- macosx/PrefsController.m | 57 +++++++++++++++++- 6 files changed, 75 insertions(+), 12 deletions(-) diff --git a/libtransmission/clients.c b/libtransmission/clients.c index 326dd57cf..3f91703e2 100644 --- a/libtransmission/clients.c +++ b/libtransmission/clients.c @@ -78,8 +78,8 @@ char * tr_clientForId( uint8_t * id ) } else if( !memcmp( &id[1], "BOW", 3 ) ) { - asprintf( &ret, "Bits on Wheels (%c%c)", - id[5], id[6] ); + asprintf( &ret, "Bits on Wheels (%c%c%c)", + id[4], id[5], id[6] ); } else if( !memcmp( &id[1], "BR", 2 ) ) { diff --git a/macosx/English.lproj/PrefsWindow.nib/classes.nib b/macosx/English.lproj/PrefsWindow.nib/classes.nib index e9fd23f3c..0093b1054 100644 --- a/macosx/English.lproj/PrefsWindow.nib/classes.nib +++ b/macosx/English.lproj/PrefsWindow.nib/classes.nib @@ -6,7 +6,7 @@ { ACTIONS = { applySpeedSettings = id; - applyTorrentSpeedSetting = id; + applyTorrentLimitSetting = id; folderSheetShow = id; helpForNetwork = id; importFolderSheetShow = id; @@ -20,6 +20,8 @@ setPort = id; setQueueNumber = id; setSound = id; + setSpeedLimit = id; + setTorrentLimit = id; setUpdate = id; }; CLASS = PrefsController; @@ -29,6 +31,7 @@ fDownloadCheck = NSButton; fDownloadField = NSTextField; fDownloadSoundPopUp = NSPopUpButton; + fDownloadTorrentField = NSTextField; fFolderPopUp = NSPopUpButton; fGeneralView = NSView; fImportFolderPopUp = NSPopUpButton; @@ -37,6 +40,7 @@ fNatStatusField = NSTextField; fNatStatusImage = NSImageView; fNetworkView = NSView; + fPortField = NSTextField; fPortStatusField = NSTextField; fPortStatusImage = NSImageView; fPortStatusProgress = NSProgressIndicator; @@ -47,6 +51,7 @@ fUpdatePopUp = NSPopUpButton; fUploadCheck = NSButton; fUploadField = NSTextField; + fUploadTorrentField = NSTextField; }; SUPERCLASS = NSWindowController; }, diff --git a/macosx/English.lproj/PrefsWindow.nib/info.nib b/macosx/English.lproj/PrefsWindow.nib/info.nib index e3b1f8d40..25dea5a39 100644 --- a/macosx/English.lproj/PrefsWindow.nib/info.nib +++ b/macosx/English.lproj/PrefsWindow.nib/info.nib @@ -7,13 +7,13 @@ IBEditorPositions 153 - 119 428 571 335 0 0 1152 842 + 290 411 571 335 0 0 1152 842 28 - 99 386 571 290 0 0 1152 842 + 290 434 571 290 0 0 1152 842 41 290 426 571 305 0 0 1152 842 66 - 139 501 571 144 0 0 1152 842 + 290 507 571 144 0 0 1152 842 IBFramework Version 446.1 diff --git a/macosx/English.lproj/PrefsWindow.nib/keyedobjects.nib b/macosx/English.lproj/PrefsWindow.nib/keyedobjects.nib index 2df58cfc72db6ba3d935be35673a396a9bb867cb..d31b54b09ebfc558feed6bf4ef98eba29c1a0521 100644 GIT binary patch delta 31775 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 Mzt{iwsyqFE0DM6K?EnA( diff --git a/macosx/PrefsController.h b/macosx/PrefsController.h index 32ab2bffd..b213aa0e0 100644 --- a/macosx/PrefsController.h +++ b/macosx/PrefsController.h @@ -45,11 +45,11 @@ IBOutlet NSPopUpButton * fUpdatePopUp; IBOutlet NSTextField * fUploadField, * fDownloadField, + * fUploadTorrentField, * fDownloadTorrentField, * fSpeedLimitUploadField, * fSpeedLimitDownloadField; IBOutlet NSButton * fUploadCheck, * fDownloadCheck; - IBOutlet NSTextField * fNatStatusField, - * fPortStatusField; + IBOutlet NSTextField * fPortField, * fNatStatusField, * fPortStatusField; IBOutlet NSButton * fNatCheck; IBOutlet NSImageView * fNatStatusImage, * fPortStatusImage; IBOutlet NSProgressIndicator * fPortStatusProgress; @@ -76,10 +76,13 @@ - (void) setNat: (id) sender; - (void) updateNatStatus; -- (void) setAutoSpeedLimit: (id) sender; - - (void) applySpeedSettings: (id) sender; -- (void) applyTorrentSpeedSetting: (id) sender; + +- (void) applyTorrentLimitSetting: (id) sender; +- (void) setTorrentLimit: (id) sender; + +- (void) setSpeedLimit: (id) sender; +- (void) setAutoSpeedLimit: (id) sender; - (void) setAutoImport: (id) sender; - (void) importFolderSheetShow: (id) sender; diff --git a/macosx/PrefsController.m b/macosx/PrefsController.m index f6dce2edd..ab13e64a9 100644 --- a/macosx/PrefsController.m +++ b/macosx/PrefsController.m @@ -133,6 +133,17 @@ else [fFolderPopUp selectItemAtIndex: DOWNLOAD_ASK]; + //set torrent limits + [fUploadTorrentField setIntValue: [fDefaults integerForKey: @"UploadLimitTorrent"]]; + [fDownloadTorrentField setIntValue: [fDefaults integerForKey: @"DownloadLimitTorrent"]]; + + //set speed limit + [fSpeedLimitUploadField setIntValue: [fDefaults integerForKey: @"SpeedLimitUploadLimit"]]; + [fSpeedLimitDownloadField setIntValue: [fDefaults integerForKey: @"SpeedLimitDownloadLimit"]]; + + //set port + [fPortField setIntValue: [fDefaults integerForKey: @"BindPort"]]; + [self updatePortStatus]; fNatStatus = -1; @@ -220,6 +231,16 @@ - (void) setPort: (id) sender { + int port = [sender intValue]; + if (![[sender stringValue] isEqualToString: [NSString stringWithFormat: @"%d", port]]) + { + NSBeep(); + [sender setIntValue: [fDefaults integerForKey: @"BindPort"]]; + return; + } + + [fDefaults setInteger: port forKey: @"BindPort"]; + tr_setBindPort(fHandle, [fDefaults integerForKey: @"BindPort"]); [self updateNatStatus]; [self updatePortStatus]; @@ -313,11 +334,45 @@ } } -- (void) applyTorrentSpeedSetting: (id) sender +- (void) applyTorrentLimitSetting: (id) sender { [[NSNotificationCenter defaultCenter] postNotificationName: @"UpdateSpeedSetting" object: self]; } +- (void) setTorrentLimit: (id) sender +{ + BOOL upload = sender == fUploadTorrentField; + + int limit = [sender intValue]; + if (![[sender stringValue] isEqualToString: [NSString stringWithFormat: @"%d", limit]]) + { + NSBeep(); + [sender setIntValue: [fDefaults integerForKey: upload ? @"UploadLimitTorrent" : @"DownloadLimitTorrent"]]; + return; + } + + [fDefaults setInteger: limit forKey: upload ? @"UploadLimitTorrent" : @"DownloadLimitTorrent"]; + + [self applyTorrentLimitSetting: self]; +} + +- (void) setSpeedLimit: (id) sender +{ + BOOL upload = sender == fSpeedLimitUploadField; + + int limit = [sender intValue]; + if (![[sender stringValue] isEqualToString: [NSString stringWithFormat: @"%d", limit]]) + { + NSBeep(); + [sender setIntValue: [fDefaults integerForKey: upload ? @"SpeedLimitUploadLimit" : @"SpeedLimitDownloadLimit"]]; + return; + } + + [fDefaults setInteger: limit forKey: upload ? @"SpeedLimitUploadLimit" : @"SpeedLimitDownloadLimit"]; + + [self applySpeedSettings: self]; +} + - (void) setAutoSpeedLimit: (id) sender { [[NSNotificationCenter defaultCenter] postNotificationName: @"AutoSpeedLimitChange" object: self];