1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2025-01-31 03:12:44 +00:00

#2353 Add an option to the inspector to remove transfers from the list when seeding completes

This commit is contained in:
Mitchell Livingston 2012-07-07 01:47:12 +00:00
parent 93109a48ca
commit 8a647287ae
7 changed files with 223 additions and 53 deletions

View file

@ -1881,15 +1881,7 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
- (void) torrentFinishedSeeding: (NSNotification *) notification - (void) torrentFinishedSeeding: (NSNotification *) notification
{ {
Torrent * torrent = [notification object]; Torrent * torrent = [[notification object] retain];
[self fullUpdateUI];
if ([[fTableView selectedTorrents] containsObject: torrent])
{
[fInfoController updateInfoStats];
[fInfoController updateOptions];
}
if (!fSoundPlaying && [fDefaults boolForKey: @"PlaySeedingSound"]) if (!fSoundPlaying && [fDefaults boolForKey: @"PlaySeedingSound"])
{ {
@ -1911,6 +1903,22 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
[GrowlApplicationBridge notifyWithTitle: NSLocalizedString(@"Seeding Complete", "Growl notification title") [GrowlApplicationBridge notifyWithTitle: NSLocalizedString(@"Seeding Complete", "Growl notification title")
description: [torrent name] notificationName: GROWL_SEEDING_COMPLETE description: [torrent name] notificationName: GROWL_SEEDING_COMPLETE
iconData: nil priority: 0 isSticky: NO clickContext: clickContext]; iconData: nil priority: 0 isSticky: NO clickContext: clickContext];
//removing for the list calls fullUpdateUI
if ([torrent removeWhenFinishSeeding])
[self confirmRemoveTorrents: [[NSArray arrayWithObject: torrent] retain] deleteData: NO];
else
{
[self fullUpdateUI];
if ([[fTableView selectedTorrents] containsObject: torrent])
{
[fInfoController updateInfoStats];
[fInfoController updateOptions];
}
}
[torrent release];
} }
- (void) updateTorrentHistory - (void) updateTorrentHistory

View file

@ -128,6 +128,8 @@
<false/> <false/>
<key>RatioLimit</key> <key>RatioLimit</key>
<integer>2</integer> <integer>2</integer>
<key>RemoveWhenFinishSeeding</key>
<false/>
<key>RenamePartialFiles</key> <key>RenamePartialFiles</key>
<true/> <true/>
<key>RPC</key> <key>RPC</key>

View file

@ -32,7 +32,7 @@
BOOL fSet; BOOL fSet;
IBOutlet NSPopUpButton * fPriorityPopUp, * fRatioPopUp, * fIdlePopUp; IBOutlet NSPopUpButton * fPriorityPopUp, * fRatioPopUp, * fIdlePopUp;
IBOutlet NSButton * fUploadLimitCheck, * fDownloadLimitCheck, * fGlobalLimitCheck; IBOutlet NSButton * fUploadLimitCheck, * fDownloadLimitCheck, * fGlobalLimitCheck, * fRemoveSeedingCompleteCheck;
IBOutlet NSTextField * fUploadLimitField, * fDownloadLimitField, * fRatioLimitField, * fIdleLimitField, IBOutlet NSTextField * fUploadLimitField, * fDownloadLimitField, * fRatioLimitField, * fIdleLimitField,
* fUploadLimitLabel, * fDownloadLimitLabel, * fIdleLimitLabel, * fUploadLimitLabel, * fDownloadLimitLabel, * fIdleLimitLabel,
* fRatioLimitGlobalLabel, * fIdleLimitGlobalLabel, * fRatioLimitGlobalLabel, * fIdleLimitGlobalLabel,
@ -45,18 +45,20 @@
- (void) updateInfo; - (void) updateInfo;
- (void) updateOptions; - (void) updateOptions;
- (void) setUseSpeedLimit: (id) sender; - (IBAction) setUseSpeedLimit: (id) sender;
- (void) setSpeedLimit: (id) sender; - (IBAction) setSpeedLimit: (id) sender;
- (void) setUseGlobalSpeedLimit: (id) sender; - (IBAction) setUseGlobalSpeedLimit: (id) sender;
- (void) setRatioSetting: (id) sender; - (IBAction) setRatioSetting: (id) sender;
- (void) setRatioLimit: (id) sender; - (IBAction) setRatioLimit: (id) sender;
- (void) setIdleSetting: (id) sender; - (IBAction) setIdleSetting: (id) sender;
- (void) setIdleLimit: (id) sender; - (IBAction) setIdleLimit: (id) sender;
- (void) setPriority: (id) sender; - (IBAction) setRemoveWhenSeedingCompletes: (id) sender;
- (void) setPeersConnectLimit: (id) sender; - (IBAction) setPriority: (id) sender;
- (IBAction) setPeersConnectLimit: (id) sender;
@end @end

View file

@ -156,7 +156,8 @@
enumerator = [fTorrents objectEnumerator]; enumerator = [fTorrents objectEnumerator];
torrent = [enumerator nextObject]; //first torrent torrent = [enumerator nextObject]; //first torrent
NSInteger checkRatio = [torrent ratioSetting], checkIdle = [torrent idleSetting]; NSInteger checkRatio = [torrent ratioSetting], checkIdle = [torrent idleSetting],
removeWhenFinishSeeding = [torrent removeWhenFinishSeeding] ? NSOnState : NSOffState;
CGFloat ratioLimit = [torrent ratioLimit]; CGFloat ratioLimit = [torrent ratioLimit];
NSUInteger idleLimit = [torrent idleLimitMinutes]; NSUInteger idleLimit = [torrent idleLimitMinutes];
@ -174,6 +175,9 @@
if (idleLimit != INVALID && idleLimit != [torrent idleLimitMinutes]) if (idleLimit != INVALID && idleLimit != [torrent idleLimitMinutes])
idleLimit = INVALID; idleLimit = INVALID;
if (removeWhenFinishSeeding != NSMixedState && removeWhenFinishSeeding != ([torrent removeWhenFinishSeeding] ? NSOnState : NSOffState))
removeWhenFinishSeeding = NSMixedState;
} }
//set ratio view //set ratio view
@ -218,6 +222,10 @@
[fIdleLimitGlobalLabel setHidden: checkIdle != TR_IDLELIMIT_GLOBAL]; [fIdleLimitGlobalLabel setHidden: checkIdle != TR_IDLELIMIT_GLOBAL];
//set remove transfer when seeding finishes
[fRemoveSeedingCompleteCheck setState: removeWhenFinishSeeding];
[fRemoveSeedingCompleteCheck setEnabled: YES];
//get priority info //get priority info
enumerator = [fTorrents objectEnumerator]; enumerator = [fTorrents objectEnumerator];
torrent = [enumerator nextObject]; //first torrent torrent = [enumerator nextObject]; //first torrent
@ -407,6 +415,18 @@
[[NSNotificationCenter defaultCenter] postNotificationName: @"UpdateOptionsNotification" object: self]; [[NSNotificationCenter defaultCenter] postNotificationName: @"UpdateOptionsNotification" object: self];
} }
- (IBAction) setRemoveWhenSeedingCompletes: (id) sender
{
if ([(NSButton *)sender state] == NSMixedState)
[sender setState: NSOnState];
const BOOL enable = [(NSButton *)sender state] == NSOnState;
for (Torrent * torrent in fTorrents)
[torrent setRemoveWhenFinishSeeding: enable];
[[NSNotificationCenter defaultCenter] postNotificationName: @"UpdateOptionsNotification" object: self];
}
- (void) setPriority: (id) sender - (void) setPriority: (id) sender
{ {
tr_priority_t priority; tr_priority_t priority;
@ -503,6 +523,9 @@
[fIdleLimitLabel setHidden: YES]; [fIdleLimitLabel setHidden: YES];
[fIdleLimitGlobalLabel setHidden: YES]; [fIdleLimitGlobalLabel setHidden: YES];
[fRemoveSeedingCompleteCheck setEnabled: NO];
[fRemoveSeedingCompleteCheck setState: NSOffState];
[fPeersConnectField setEnabled: NO]; [fPeersConnectField setEnabled: NO];
[fPeersConnectField setStringValue: @""]; [fPeersConnectField setStringValue: @""];
[fPeersConnectLabel setEnabled: NO]; [fPeersConnectLabel setEnabled: NO];

View file

@ -114,6 +114,8 @@
- (void) setMaxPeerConnect: (uint16_t) count; - (void) setMaxPeerConnect: (uint16_t) count;
- (uint16_t) maxPeerConnect; - (uint16_t) maxPeerConnect;
@property (nonatomic) BOOL removeWhenFinishSeeding;
- (BOOL) waitingToStart; - (BOOL) waitingToStart;
- (tr_priority_t) priority; - (tr_priority_t) priority;

View file

@ -38,6 +38,7 @@
- (id) initWithPath: (NSString *) path hash: (NSString *) hashString torrentStruct: (tr_torrent *) torrentStruct - (id) initWithPath: (NSString *) path hash: (NSString *) hashString torrentStruct: (tr_torrent *) torrentStruct
magnetAddress: (NSString *) magnetAddress lib: (tr_session *) lib magnetAddress: (NSString *) magnetAddress lib: (tr_session *) lib
groupValue: (NSNumber *) groupValue groupValue: (NSNumber *) groupValue
removeWhenFinishSeeding: (NSNumber *) removeWhenFinishSeeding
timeMachineExcludeLocation: (NSString *) timeMachineExclude timeMachineExcludeLocation: (NSString *) timeMachineExclude
downloadFolder: (NSString *) downloadFolder downloadFolder: (NSString *) downloadFolder
legacyIncompleteFolder: (NSString *) incompleteFolder; legacyIncompleteFolder: (NSString *) incompleteFolder;
@ -102,11 +103,14 @@ int trashDataFile(const char * filename)
@implementation Torrent @implementation Torrent
@synthesize removeWhenFinishSeeding = fRemoveWhenFinishSeeding;
- (id) initWithPath: (NSString *) path location: (NSString *) location deleteTorrentFile: (BOOL) torrentDelete - (id) initWithPath: (NSString *) path location: (NSString *) location deleteTorrentFile: (BOOL) torrentDelete
lib: (tr_session *) lib lib: (tr_session *) lib
{ {
self = [self initWithPath: path hash: nil torrentStruct: NULL magnetAddress: nil lib: lib self = [self initWithPath: path hash: nil torrentStruct: NULL magnetAddress: nil lib: lib
groupValue: nil groupValue: nil
removeWhenFinishSeeding: nil
timeMachineExcludeLocation: nil timeMachineExcludeLocation: nil
downloadFolder: location downloadFolder: location
legacyIncompleteFolder: nil]; legacyIncompleteFolder: nil];
@ -123,6 +127,7 @@ int trashDataFile(const char * filename)
{ {
self = [self initWithPath: nil hash: nil torrentStruct: torrentStruct magnetAddress: nil lib: lib self = [self initWithPath: nil hash: nil torrentStruct: torrentStruct magnetAddress: nil lib: lib
groupValue: nil groupValue: nil
removeWhenFinishSeeding: nil
timeMachineExcludeLocation: nil timeMachineExcludeLocation: nil
downloadFolder: location downloadFolder: location
legacyIncompleteFolder: nil]; legacyIncompleteFolder: nil];
@ -134,6 +139,7 @@ int trashDataFile(const char * filename)
{ {
self = [self initWithPath: nil hash: nil torrentStruct: nil magnetAddress: address self = [self initWithPath: nil hash: nil torrentStruct: nil magnetAddress: address
lib: lib groupValue: nil lib: lib groupValue: nil
removeWhenFinishSeeding: nil
timeMachineExcludeLocation: nil timeMachineExcludeLocation: nil
downloadFolder: location legacyIncompleteFolder: nil]; downloadFolder: location legacyIncompleteFolder: nil];
@ -148,6 +154,7 @@ int trashDataFile(const char * filename)
magnetAddress: nil magnetAddress: nil
lib: lib lib: lib
groupValue: [history objectForKey: @"GroupValue"] groupValue: [history objectForKey: @"GroupValue"]
removeWhenFinishSeeding: [history objectForKey: @"RemoveWhenFinishSeeding"]
timeMachineExcludeLocation: [history objectForKey: @"TimeMachineExcludeLocation"] timeMachineExcludeLocation: [history objectForKey: @"TimeMachineExcludeLocation"]
downloadFolder: [history objectForKey: @"DownloadFolder"] //upgrading from versions < 1.80 downloadFolder: [history objectForKey: @"DownloadFolder"] //upgrading from versions < 1.80
legacyIncompleteFolder: [[history objectForKey: @"UseIncompleteFolder"] boolValue] //upgrading from versions < 1.80 legacyIncompleteFolder: [[history objectForKey: @"UseIncompleteFolder"] boolValue] //upgrading from versions < 1.80
@ -197,7 +204,8 @@ int trashDataFile(const char * filename)
[self hashString], @"TorrentHash", [self hashString], @"TorrentHash",
[NSNumber numberWithBool: [self isActive]], @"Active", [NSNumber numberWithBool: [self isActive]], @"Active",
[NSNumber numberWithBool: [self waitingToStart]], @"WaitToStart", [NSNumber numberWithBool: [self waitingToStart]], @"WaitToStart",
[NSNumber numberWithInt: fGroupValue], @"GroupValue", nil]; [NSNumber numberWithInt: fGroupValue], @"GroupValue",
[NSNumber numberWithBool: fRemoveWhenFinishSeeding], @"RemoveWhenFinishSeeding", nil];
if (fTimeMachineExclude) if (fTimeMachineExclude)
[history setObject: fTimeMachineExclude forKey: @"TimeMachineExcludeLocation"]; [history setObject: fTimeMachineExclude forKey: @"TimeMachineExcludeLocation"];
@ -1611,6 +1619,7 @@ int trashDataFile(const char * filename)
- (id) initWithPath: (NSString *) path hash: (NSString *) hashString torrentStruct: (tr_torrent *) torrentStruct - (id) initWithPath: (NSString *) path hash: (NSString *) hashString torrentStruct: (tr_torrent *) torrentStruct
magnetAddress: (NSString *) magnetAddress lib: (tr_session *) lib magnetAddress: (NSString *) magnetAddress lib: (tr_session *) lib
groupValue: (NSNumber *) groupValue groupValue: (NSNumber *) groupValue
removeWhenFinishSeeding: (NSNumber *) removeWhenFinishSeeding
timeMachineExcludeLocation: (NSString *) timeMachineExclude timeMachineExcludeLocation: (NSString *) timeMachineExclude
downloadFolder: (NSString *) downloadFolder downloadFolder: (NSString *) downloadFolder
legacyIncompleteFolder: (NSString *) incompleteFolder legacyIncompleteFolder: (NSString *) incompleteFolder
@ -1674,6 +1683,8 @@ int trashDataFile(const char * filename)
fGroupValue = groupValue ? [groupValue intValue] : [[GroupsController groups] groupIndexForTorrent: self]; fGroupValue = groupValue ? [groupValue intValue] : [[GroupsController groups] groupIndexForTorrent: self];
fRemoveWhenFinishSeeding = removeWhenFinishSeeding ? [removeWhenFinishSeeding boolValue] : [fDefaults boolForKey: @"RemoveWhenFinishSeeding"];
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(checkGroupValueForRemoval:) [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(checkGroupValueForRemoval:)
name: @"GroupValueRemoved" object: nil]; name: @"GroupValueRemoved" object: nil];

View file

@ -2,13 +2,13 @@
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00"> <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data> <data>
<int key="IBDocument.SystemTarget">1060</int> <int key="IBDocument.SystemTarget">1060</int>
<string key="IBDocument.SystemVersion">11D50</string> <string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2177</string> <string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.AppKitVersion">1138.32</string> <string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">568.00</string> <string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions"> <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">2177</string> <string key="NS.object.0">2182</string>
</object> </object>
<array key="IBDocument.IntegratedClassDependencies"> <array key="IBDocument.IntegratedClassDependencies">
<string>NSTextField</string> <string>NSTextField</string>
@ -47,7 +47,7 @@
<object class="NSTextField" id="317277208"> <object class="NSTextField" id="317277208">
<reference key="NSNextResponder" ref="617828785"/> <reference key="NSNextResponder" ref="617828785"/>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{217, 54}, {45, 20}}</string> <string key="NSFrame">{{217, 71}, {45, 20}}</string>
<reference key="NSSuperview" ref="617828785"/> <reference key="NSSuperview" ref="617828785"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="706967535"/> <reference key="NSNextKeyView" ref="706967535"/>
@ -123,7 +123,7 @@
<object class="NSPopUpButton" id="110760088"> <object class="NSPopUpButton" id="110760088">
<reference key="NSNextResponder" ref="617828785"/> <reference key="NSNextResponder" ref="617828785"/>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{71, 53}, {138, 22}}</string> <string key="NSFrame">{{71, 70}, {138, 22}}</string>
<reference key="NSSuperview" ref="617828785"/> <reference key="NSSuperview" ref="617828785"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="620344525"/> <reference key="NSNextKeyView" ref="620344525"/>
@ -205,7 +205,7 @@
<object class="NSTextField" id="919278636"> <object class="NSTextField" id="919278636">
<reference key="NSNextResponder" ref="617828785"/> <reference key="NSNextResponder" ref="617828785"/>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{10, 57}, {56, 14}}</string> <string key="NSFrame">{{10, 74}, {56, 14}}</string>
<reference key="NSSuperview" ref="617828785"/> <reference key="NSSuperview" ref="617828785"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="110760088"/> <reference key="NSNextKeyView" ref="110760088"/>
@ -236,7 +236,7 @@
<object class="NSTextField" id="787858145"> <object class="NSTextField" id="787858145">
<reference key="NSNextResponder" ref="617828785"/> <reference key="NSNextResponder" ref="617828785"/>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{217, 76}, {45, 20}}</string> <string key="NSFrame">{{217, 93}, {45, 20}}</string>
<reference key="NSSuperview" ref="617828785"/> <reference key="NSSuperview" ref="617828785"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="919278636"/> <reference key="NSNextKeyView" ref="919278636"/>
@ -292,7 +292,7 @@
<object class="NSTextField" id="275413408"> <object class="NSTextField" id="275413408">
<reference key="NSNextResponder" ref="617828785"/> <reference key="NSNextResponder" ref="617828785"/>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{9, 95}, {88, 17}}</string> <string key="NSFrame">{{9, 112}, {88, 17}}</string>
<reference key="NSSuperview" ref="617828785"/> <reference key="NSSuperview" ref="617828785"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="457156870"/> <reference key="NSNextKeyView" ref="457156870"/>
@ -314,7 +314,7 @@
<object class="NSTextField" id="1004759797"> <object class="NSTextField" id="1004759797">
<reference key="NSNextResponder" ref="617828785"/> <reference key="NSNextResponder" ref="617828785"/>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{9, 181}, {117, 14}}</string> <string key="NSFrame">{{9, 198}, {117, 14}}</string>
<reference key="NSSuperview" ref="617828785"/> <reference key="NSSuperview" ref="617828785"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="614569420"/> <reference key="NSNextKeyView" ref="614569420"/>
@ -332,7 +332,7 @@
<object class="NSTextField" id="234468111"> <object class="NSTextField" id="234468111">
<reference key="NSNextResponder" ref="617828785"/> <reference key="NSNextResponder" ref="617828785"/>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{9, 219}, {46, 17}}</string> <string key="NSFrame">{{9, 236}, {46, 17}}</string>
<reference key="NSSuperview" ref="617828785"/> <reference key="NSSuperview" ref="617828785"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="340525598"/> <reference key="NSNextKeyView" ref="340525598"/>
@ -350,7 +350,7 @@
<object class="NSTextField" id="38678337"> <object class="NSTextField" id="38678337">
<reference key="NSNextResponder" ref="617828785"/> <reference key="NSNextResponder" ref="617828785"/>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{125, 137}, {45, 20}}</string> <string key="NSFrame">{{125, 154}, {45, 20}}</string>
<reference key="NSSuperview" ref="617828785"/> <reference key="NSSuperview" ref="617828785"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="531478243"/> <reference key="NSNextKeyView" ref="531478243"/>
@ -401,7 +401,7 @@
<object class="NSTextField" id="531478243"> <object class="NSTextField" id="531478243">
<reference key="NSNextResponder" ref="617828785"/> <reference key="NSNextResponder" ref="617828785"/>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{175, 140}, {29, 14}}</string> <string key="NSFrame">{{175, 157}, {29, 14}}</string>
<reference key="NSSuperview" ref="617828785"/> <reference key="NSSuperview" ref="617828785"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="900455097"/> <reference key="NSNextKeyView" ref="900455097"/>
@ -419,7 +419,7 @@
<object class="NSTextField" id="520423397"> <object class="NSTextField" id="520423397">
<reference key="NSNextResponder" ref="617828785"/> <reference key="NSNextResponder" ref="617828785"/>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{125, 159}, {45, 20}}</string> <string key="NSFrame">{{125, 176}, {45, 20}}</string>
<reference key="NSSuperview" ref="617828785"/> <reference key="NSSuperview" ref="617828785"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="1027547097"/> <reference key="NSNextKeyView" ref="1027547097"/>
@ -470,7 +470,7 @@
<object class="NSTextField" id="760004836"> <object class="NSTextField" id="760004836">
<reference key="NSNextResponder" ref="617828785"/> <reference key="NSNextResponder" ref="617828785"/>
<int key="NSvFlags">266</int> <int key="NSvFlags">266</int>
<string key="NSFrame">{{214, 79}, {90, 14}}</string> <string key="NSFrame">{{214, 96}, {90, 14}}</string>
<reference key="NSSuperview" ref="617828785"/> <reference key="NSSuperview" ref="617828785"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="787858145"/> <reference key="NSNextKeyView" ref="787858145"/>
@ -491,7 +491,7 @@
<object class="NSTextField" id="620344525"> <object class="NSTextField" id="620344525">
<reference key="NSNextResponder" ref="617828785"/> <reference key="NSNextResponder" ref="617828785"/>
<int key="NSvFlags">266</int> <int key="NSvFlags">266</int>
<string key="NSFrame">{{214, 57}, {90, 14}}</string> <string key="NSFrame">{{214, 74}, {90, 14}}</string>
<reference key="NSSuperview" ref="617828785"/> <reference key="NSSuperview" ref="617828785"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="317277208"/> <reference key="NSNextKeyView" ref="317277208"/>
@ -512,10 +512,10 @@
<object class="NSTextField" id="706967535"> <object class="NSTextField" id="706967535">
<reference key="NSNextResponder" ref="617828785"/> <reference key="NSNextResponder" ref="617828785"/>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{267, 57}, {47, 14}}</string> <string key="NSFrame">{{267, 74}, {47, 14}}</string>
<reference key="NSSuperview" ref="617828785"/> <reference key="NSSuperview" ref="617828785"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="249386201"/> <reference key="NSNextKeyView" ref="559285401"/>
<bool key="NSEnabled">YES</bool> <bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="38211108"> <object class="NSTextFieldCell" key="NSCell" id="38211108">
<int key="NSCellFlags">67239424</int> <int key="NSCellFlags">67239424</int>
@ -530,7 +530,7 @@
<object class="NSTextField" id="1027547097"> <object class="NSTextField" id="1027547097">
<reference key="NSNextResponder" ref="617828785"/> <reference key="NSNextResponder" ref="617828785"/>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{175, 162}, {29, 14}}</string> <string key="NSFrame">{{175, 179}, {29, 14}}</string>
<reference key="NSSuperview" ref="617828785"/> <reference key="NSSuperview" ref="617828785"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="166572511"/> <reference key="NSNextKeyView" ref="166572511"/>
@ -548,7 +548,7 @@
<object class="NSPopUpButton" id="705594185"> <object class="NSPopUpButton" id="705594185">
<reference key="NSNextResponder" ref="617828785"/> <reference key="NSNextResponder" ref="617828785"/>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{71, 75}, {138, 22}}</string> <string key="NSFrame">{{71, 92}, {138, 22}}</string>
<reference key="NSSuperview" ref="617828785"/> <reference key="NSSuperview" ref="617828785"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="760004836"/> <reference key="NSNextKeyView" ref="760004836"/>
@ -619,7 +619,7 @@
<object class="NSTextField" id="457156870"> <object class="NSTextField" id="457156870">
<reference key="NSNextResponder" ref="617828785"/> <reference key="NSNextResponder" ref="617828785"/>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{10, 79}, {35, 14}}</string> <string key="NSFrame">{{10, 96}, {35, 14}}</string>
<reference key="NSSuperview" ref="617828785"/> <reference key="NSSuperview" ref="617828785"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="705594185"/> <reference key="NSNextKeyView" ref="705594185"/>
@ -637,7 +637,7 @@
<object class="NSTextField" id="340525598"> <object class="NSTextField" id="340525598">
<reference key="NSNextResponder" ref="617828785"/> <reference key="NSNextResponder" ref="617828785"/>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{10, 204}, {94, 14}}</string> <string key="NSFrame">{{10, 221}, {94, 14}}</string>
<reference key="NSSuperview" ref="617828785"/> <reference key="NSSuperview" ref="617828785"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="529271757"/> <reference key="NSNextKeyView" ref="529271757"/>
@ -744,7 +744,6 @@
<string key="NSFrame">{{194, 13}, {34, 14}}</string> <string key="NSFrame">{{194, 13}, {34, 14}}</string>
<reference key="NSSuperview" ref="617828785"/> <reference key="NSSuperview" ref="617828785"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<bool key="NSEnabled">YES</bool> <bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="276464263"> <object class="NSTextFieldCell" key="NSCell" id="276464263">
<int key="NSCellFlags">67239424</int> <int key="NSCellFlags">67239424</int>
@ -759,7 +758,7 @@
<object class="NSButton" id="166572511"> <object class="NSButton" id="166572511">
<reference key="NSNextResponder" ref="617828785"/> <reference key="NSNextResponder" ref="617828785"/>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{10, 138}, {93, 18}}</string> <string key="NSFrame">{{10, 155}, {93, 18}}</string>
<reference key="NSSuperview" ref="617828785"/> <reference key="NSSuperview" ref="617828785"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="38678337"/> <reference key="NSNextKeyView" ref="38678337"/>
@ -785,10 +784,34 @@
<int key="NSPeriodicInterval">25</int> <int key="NSPeriodicInterval">25</int>
</object> </object>
</object> </object>
<object class="NSButton" id="559285401">
<reference key="NSNextResponder" ref="617828785"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{10, 52}, {248, 18}}</string>
<reference key="NSSuperview" ref="617828785"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="249386201"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="714926037">
<int key="NSCellFlags">-2080244224</int>
<int key="NSCellFlags2">16908288</int>
<string key="NSContents">Remove from list when seeding completes</string>
<reference key="NSSupport" ref="26"/>
<reference key="NSControlView" ref="559285401"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<reference key="NSNormalImage" ref="253859348"/>
<reference key="NSAlternateImage" ref="784398299"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
<object class="NSButton" id="900455097"> <object class="NSButton" id="900455097">
<reference key="NSNextResponder" ref="617828785"/> <reference key="NSNextResponder" ref="617828785"/>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{10, 118}, {230, 18}}</string> <string key="NSFrame">{{10, 135}, {230, 18}}</string>
<reference key="NSSuperview" ref="617828785"/> <reference key="NSSuperview" ref="617828785"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="275413408"/> <reference key="NSNextKeyView" ref="275413408"/>
@ -812,7 +835,7 @@
<object class="NSButton" id="614569420"> <object class="NSButton" id="614569420">
<reference key="NSNextResponder" ref="617828785"/> <reference key="NSNextResponder" ref="617828785"/>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{10, 160}, {109, 18}}</string> <string key="NSFrame">{{10, 177}, {109, 18}}</string>
<reference key="NSSuperview" ref="617828785"/> <reference key="NSSuperview" ref="617828785"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="520423397"/> <reference key="NSNextKeyView" ref="520423397"/>
@ -836,7 +859,7 @@
<object class="NSPopUpButton" id="529271757"> <object class="NSPopUpButton" id="529271757">
<reference key="NSNextResponder" ref="617828785"/> <reference key="NSNextResponder" ref="617828785"/>
<int key="NSvFlags">268</int> <int key="NSvFlags">268</int>
<string key="NSFrame">{{109, 200}, {98, 22}}</string> <string key="NSFrame">{{109, 217}, {98, 22}}</string>
<reference key="NSSuperview" ref="617828785"/> <reference key="NSSuperview" ref="617828785"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="1004759797"/> <reference key="NSNextKeyView" ref="1004759797"/>
@ -916,7 +939,7 @@
</object> </object>
</object> </object>
</array> </array>
<string key="NSFrameSize">{321, 241}</string> <string key="NSFrameSize">{321, 258}</string>
<reference key="NSSuperview"/> <reference key="NSSuperview"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="234468111"/> <reference key="NSNextKeyView" ref="234468111"/>
@ -1160,6 +1183,30 @@
</object> </object>
<int key="connectionID">112</int> <int key="connectionID">112</int>
</object> </object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">fRemovesSeedingCompleteCheck</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="559285401"/>
</object>
<int key="connectionID">117</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">fRemoveSeedingCompleteCheck</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="559285401"/>
</object>
<int key="connectionID">118</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">setRemoveWhenSeedingCompletes:</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="559285401"/>
</object>
<int key="connectionID">119</int>
</object>
<object class="IBConnectionRecord"> <object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection"> <object class="IBOutletConnection" key="connection">
<string key="label">delegate</string> <string key="label">delegate</string>
@ -1256,6 +1303,7 @@
<reference ref="706967535"/> <reference ref="706967535"/>
<reference ref="620344525"/> <reference ref="620344525"/>
<reference ref="760004836"/> <reference ref="760004836"/>
<reference ref="559285401"/>
</array> </array>
<reference key="parent" ref="0"/> <reference key="parent" ref="0"/>
<string key="objectName">Options</string> <string key="objectName">Options</string>
@ -1709,6 +1757,19 @@
<reference key="object" ref="38211108"/> <reference key="object" ref="38211108"/>
<reference key="parent" ref="706967535"/> <reference key="parent" ref="706967535"/>
</object> </object>
<object class="IBObjectRecord">
<int key="objectID">113</int>
<reference key="object" ref="559285401"/>
<array class="NSMutableArray" key="children">
<reference ref="714926037"/>
</array>
<reference key="parent" ref="617828785"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">114</int>
<reference key="object" ref="714926037"/>
<reference key="parent" ref="559285401"/>
</object>
</array> </array>
</object> </object>
<dictionary class="NSMutableDictionary" key="flattenedProperties"> <dictionary class="NSMutableDictionary" key="flattenedProperties">
@ -1722,6 +1783,8 @@
<string key="11.CustomClassName">ColorTextField</string> <string key="11.CustomClassName">ColorTextField</string>
<string key="11.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="11.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="110.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="110.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="113.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="114.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="12.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="12.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="13.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="13.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="14.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="14.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
@ -1797,7 +1860,7 @@
<nil key="activeLocalization"/> <nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/> <dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/> <nil key="sourceID"/>
<int key="maxID">112</int> <int key="maxID">119</int>
</object> </object>
<object class="IBClassDescriber" key="IBDocument.Classes"> <object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions"> <array class="NSMutableArray" key="referencedPartialClassDescriptions">
@ -1812,6 +1875,60 @@
<object class="IBPartialClassDescription"> <object class="IBPartialClassDescription">
<string key="className">InfoOptionsViewController</string> <string key="className">InfoOptionsViewController</string>
<string key="superclassName">NSViewController</string> <string key="superclassName">NSViewController</string>
<dictionary class="NSMutableDictionary" key="actions">
<string key="setIdleLimit:">id</string>
<string key="setIdleSetting:">id</string>
<string key="setPeersConnectLimit:">id</string>
<string key="setPriority:">id</string>
<string key="setRatioLimit:">id</string>
<string key="setRatioSetting:">id</string>
<string key="setRemoveWhenSeedingCompletes:">id</string>
<string key="setSpeedLimit:">id</string>
<string key="setUseGlobalSpeedLimit:">id</string>
<string key="setUseSpeedLimit:">id</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="actionInfosByName">
<object class="IBActionInfo" key="setIdleLimit:">
<string key="name">setIdleLimit:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="setIdleSetting:">
<string key="name">setIdleSetting:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="setPeersConnectLimit:">
<string key="name">setPeersConnectLimit:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="setPriority:">
<string key="name">setPriority:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="setRatioLimit:">
<string key="name">setRatioLimit:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="setRatioSetting:">
<string key="name">setRatioSetting:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="setRemoveWhenSeedingCompletes:">
<string key="name">setRemoveWhenSeedingCompletes:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="setSpeedLimit:">
<string key="name">setSpeedLimit:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="setUseGlobalSpeedLimit:">
<string key="name">setUseGlobalSpeedLimit:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="setUseSpeedLimit:">
<string key="name">setUseSpeedLimit:</string>
<string key="candidateClassName">id</string>
</object>
</dictionary>
<dictionary class="NSMutableDictionary" key="outlets"> <dictionary class="NSMutableDictionary" key="outlets">
<string key="fDownloadLimitCheck">NSButton</string> <string key="fDownloadLimitCheck">NSButton</string>
<string key="fDownloadLimitField">NSTextField</string> <string key="fDownloadLimitField">NSTextField</string>
@ -1827,6 +1944,7 @@
<string key="fRatioLimitField">NSTextField</string> <string key="fRatioLimitField">NSTextField</string>
<string key="fRatioLimitGlobalLabel">NSTextField</string> <string key="fRatioLimitGlobalLabel">NSTextField</string>
<string key="fRatioPopUp">NSPopUpButton</string> <string key="fRatioPopUp">NSPopUpButton</string>
<string key="fRemoveSeedingCompleteCheck">NSButton</string>
<string key="fUploadLimitCheck">NSButton</string> <string key="fUploadLimitCheck">NSButton</string>
<string key="fUploadLimitField">NSTextField</string> <string key="fUploadLimitField">NSTextField</string>
<string key="fUploadLimitLabel">NSTextField</string> <string key="fUploadLimitLabel">NSTextField</string>
@ -1888,6 +2006,10 @@
<string key="name">fRatioPopUp</string> <string key="name">fRatioPopUp</string>
<string key="candidateClassName">NSPopUpButton</string> <string key="candidateClassName">NSPopUpButton</string>
</object> </object>
<object class="IBToOneOutletInfo" key="fRemoveSeedingCompleteCheck">
<string key="name">fRemoveSeedingCompleteCheck</string>
<string key="candidateClassName">NSButton</string>
</object>
<object class="IBToOneOutletInfo" key="fUploadLimitCheck"> <object class="IBToOneOutletInfo" key="fUploadLimitCheck">
<string key="name">fUploadLimitCheck</string> <string key="name">fUploadLimitCheck</string>
<string key="candidateClassName">NSButton</string> <string key="candidateClassName">NSButton</string>