<http://trac.transmissionbt.com/query?milestone=1.60&group=component&groupdesc=1&order=severity>
- All Platforms
+ Random port, with optional randomization on startup
+ + Transfer prioritization
+ Option for transfers to specify if they are included in the global bandwidth limits
- Mac
+ Requires Mac OS X 10.5 Leopard or newer
IBOutlet FileOutlineController * fFileController;
IBOutlet NSSearchField * fFileFilterField;
- IBOutlet NSPopUpButton * fRatioPopUp;
+ IBOutlet NSPopUpButton * fPriorityPopUp, * fRatioPopUp;
IBOutlet NSButton * fUploadLimitCheck, * fDownloadLimitCheck, * fGlobalLimitCheck;
IBOutlet NSTextField * fUploadLimitField, * fDownloadLimitField, * fRatioLimitField,
* fUploadLimitLabel, * fDownloadLimitLabel, * fPeersConnectLabel,
- (void) setRatioSetting: (id) sender;
- (void) setRatioLimit: (id) sender;
+- (void) setPriority: (id) sender;
+
- (void) setPeersConnectLimit: (id) sender;
@end
#define OPTION_POPUP_NO_LIMIT 1
#define OPTION_POPUP_LIMIT 2
+#define OPTION_POPUP_PRIORITY_HIGH 0
+#define OPTION_POPUP_PRIORITY_NORMAL 1
+#define OPTION_POPUP_PRIORITY_LOW 2
+
#define INVALID -99
#define TRACKER_ADD_TAG 0
[fGlobalLimitCheck setEnabled: NO];
[fGlobalLimitCheck setState: NSOffState];
+ [fPriorityPopUp setEnabled: NO];
+ [fPriorityPopUp selectItemAtIndex: -1];
+
[fRatioPopUp setEnabled: NO];
[fRatioPopUp selectItemAtIndex: -1];
[fRatioLimitField setHidden: YES];
NSInteger checkRatio = [torrent ratioSetting];
CGFloat ratioLimit = [torrent ratioLimit];
- while ((torrent = [enumerator nextObject]) && (checkRatio != INVALID || checkRatio != INVALID))
+ while ((torrent = [enumerator nextObject]) && (checkRatio != INVALID || ratioLimit != INVALID))
{
if (checkRatio != INVALID && checkRatio != [torrent ratioSetting])
checkRatio = INVALID;
else
[fRatioLimitField setStringValue: @""];
+ //get priority info
+ enumerator = [fTorrents objectEnumerator];
+ torrent = [enumerator nextObject]; //first torrent
+
+ NSInteger priority = [torrent priority];
+
+ while ((torrent = [enumerator nextObject]) && priority != INVALID)
+ {
+ if (priority != INVALID && priority != [torrent priority])
+ priority = INVALID;
+ }
+
+ //set priority view
+ if (priority == TR_PRI_HIGH)
+ index = OPTION_POPUP_PRIORITY_HIGH;
+ else if (priority == TR_PRI_NORMAL)
+ index = OPTION_POPUP_PRIORITY_NORMAL;
+ else if (priority == TR_PRI_LOW)
+ index = OPTION_POPUP_PRIORITY_LOW;
+ else
+ index = -1;
+ [fPriorityPopUp selectItemAtIndex: index];
+ [fPriorityPopUp setEnabled: YES];
+
//get peer info
enumerator = [fTorrents objectEnumerator];
torrent = [enumerator nextObject]; //first torrent
[torrent setRatioLimit: limit];
}
+- (void) setPriority: (id) sender
+{
+ tr_priority_t priority;
+ switch ([sender indexOfSelectedItem])
+ {
+ case OPTION_POPUP_PRIORITY_HIGH:
+ priority = TR_PRI_HIGH;
+ break;
+ case OPTION_POPUP_PRIORITY_NORMAL:
+ priority = TR_PRI_NORMAL;
+ break;
+ case OPTION_POPUP_PRIORITY_LOW:
+ priority = TR_PRI_LOW;
+ break;
+ default:
+ return;
+ }
+
+ for (Torrent * torrent in fTorrents)
+ [torrent setPriority: priority];
+
+ [[NSNotificationCenter defaultCenter] postNotificationName: @"UpdateUI" object: nil];
+}
+
- (void) setPeersConnectLimit: (id) sender
{
NSInteger limit = [sender intValue];
[torrent setMaxPeerConnect: limit];
}
-
- (BOOL) control: (NSControl *) control textShouldBeginEditing: (NSText *) fieldEditor
{
[fInitialString release];
NSInteger fMouseControlRow, fMouseRevealRow, fMouseActionRow, fActionPushedRow;
NSArray * fSelectedValues;
- IBOutlet NSMenu * fActionMenu, * fUploadMenu, * fDownloadMenu, * fRatioMenu;
+ IBOutlet NSMenu * fActionMenu, * fUploadMenu, * fDownloadMenu, * fRatioMenu, * fPriorityMenu;
IBOutlet NSMenuItem * fGlobalLimitItem;
Torrent * fMenuTorrent;
- (void) setQuickRatioMode: (id) sender;
- (void) setQuickRatio: (id) sender;
+- (void) setPriority: (id) sender;
+
- (void) checkFile: (id) sender;
- (void) moveDataFile: (id) sender;
#define ACTION_MENU_UNLIMITED_TAG 102
#define ACTION_MENU_LIMIT_TAG 103
+#define ACTION_MENU_PRIORITY_HIGH_TAG 101
+#define ACTION_MENU_PRIORITY_NORMAL_TAG 102
+#define ACTION_MENU_PRIORITY_LOW_TAG 103
+
#define GROUP_SPEED_IMAGE_COLUMN_WIDTH 8.0f
#define GROUP_RATIO_IMAGE_COLUMN_WIDTH 10.0f
- (void) displayTorrentMenuForEvent: (NSEvent *) event
{
- NSInteger row = [self rowAtPoint: [self convertPoint: [event locationInWindow] fromView: nil]];
+ const NSInteger row = [self rowAtPoint: [self convertPoint: [event locationInWindow] fromView: nil]];
if (row < 0)
return;
- NSInteger numberOfNonFileItems = [fActionMenu numberOfItems];
+ const NSInteger numberOfNonFileItems = [fActionMenu numberOfItems];
//update file action menu
fMenuTorrent = [[self itemAtRow: row] retain];
item = [menu itemWithTag: ACTION_MENU_GLOBAL_TAG];
[item setState: mode == TR_RATIOLIMIT_GLOBAL ? NSOnState : NSOffState];
}
+ else if (menu == fPriorityMenu)
+ {
+ const tr_priority_t priority = [fMenuTorrent priority];
+
+ NSMenuItem * item = [menu itemWithTag: ACTION_MENU_PRIORITY_HIGH_TAG];
+ [item setState: priority == TR_PRI_HIGH ? NSOnState : NSOffState];
+
+ item = [menu itemWithTag: ACTION_MENU_PRIORITY_NORMAL_TAG];
+ [item setState: priority == TR_PRI_NORMAL ? NSOnState : NSOffState];
+
+ item = [menu itemWithTag: ACTION_MENU_PRIORITY_LOW_TAG];
+ [item setState: priority == TR_PRI_LOW ? NSOnState : NSOffState];
+ }
else //assume the menu is part of the file list
{
if ([menu numberOfItems] > 0)
[[NSNotificationCenter defaultCenter] postNotificationName: @"UpdateOptions" object: nil];
}
+- (void) setPriority: (id) sender
+{
+ tr_priority_t priority;
+ switch ([sender tag])
+ {
+ case ACTION_MENU_PRIORITY_HIGH_TAG:
+ priority = TR_PRI_HIGH;
+ break;
+ case ACTION_MENU_PRIORITY_NORMAL_TAG:
+ priority = TR_PRI_NORMAL;
+ break;
+ case ACTION_MENU_PRIORITY_LOW_TAG:
+ priority = TR_PRI_LOW;
+ break;
+ default:
+ return;
+ }
+
+ [fMenuTorrent setPriority: priority];
+
+ [[NSNotificationCenter defaultCenter] postNotificationName: @"UpdateUI" object: nil];
+}
+
- (void) checkFile: (id) sender
{
NSIndexSet * indexSet = [(FileListNode *)[sender representedObject] indexes];
<object class="NSTextField" id="100640892">
<reference key="NSNextResponder" ref="1005910882"/>
<int key="NSvFlags">266</int>
- <string key="NSFrame">{{9, 159}, {278, 14}}</string>
+ <string key="NSFrame">{{9, 156}, {278, 17}}</string>
<reference key="NSSuperview" ref="1005910882"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="788714097">
<reference key="NSTextColor" ref="534079857"/>
</object>
</object>
+ <object class="NSTextField" id="605860012">
+ <reference key="NSNextResponder" ref="1005910882"/>
+ <int key="NSvFlags">266</int>
+ <string key="NSFrame">{{9, 194}, {278, 17}}</string>
+ <reference key="NSSuperview" ref="1005910882"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="542384875">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">272629760</int>
+ <string key="NSContents">Priority</string>
+ <reference key="NSSupport" ref="27"/>
+ <reference key="NSControlView" ref="605860012"/>
+ <reference key="NSBackgroundColor" ref="339856346"/>
+ <reference key="NSTextColor" ref="534079857"/>
+ </object>
+ </object>
<object class="NSTextField" id="185087800">
<reference key="NSNextResponder" ref="1005910882"/>
<int key="NSvFlags">268</int>
<reference key="NSTextColor" ref="534079857"/>
</object>
</object>
+ <object class="NSTextField" id="533755866">
+ <reference key="NSNextResponder" ref="1005910882"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{9, 179}, {123, 17}}</string>
+ <reference key="NSSuperview" ref="1005910882"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="558002182">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">272629760</int>
+ <string key="NSContents">Total transfer priority:</string>
+ <reference key="NSSupport" ref="26"/>
+ <reference key="NSControlView" ref="533755866"/>
+ <reference key="NSBackgroundColor" ref="339856346"/>
+ <reference key="NSTextColor" ref="534079857"/>
+ </object>
+ </object>
<object class="NSTextField" id="336556993">
<reference key="NSNextResponder" ref="1005910882"/>
<int key="NSvFlags">266</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
+ <object class="NSPopUpButton" id="1072112665">
+ <reference key="NSNextResponder" ref="1005910882"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{134, 177}, {101, 22}}</string>
+ <reference key="NSSuperview" ref="1005910882"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSPopUpButtonCell" key="NSCell" id="772863223">
+ <int key="NSCellFlags">-2076049856</int>
+ <int key="NSCellFlags2">133120</int>
+ <reference key="NSSupport" ref="26"/>
+ <reference key="NSControlView" ref="1072112665"/>
+ <int key="NSButtonFlags">109068543</int>
+ <int key="NSButtonFlags2">129</int>
+ <object class="NSCustomResource" key="NSNormalImage" id="96088129">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">PriorityHigh</string>
+ </object>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">400</int>
+ <int key="NSPeriodicInterval">75</int>
+ <object class="NSMenuItem" key="NSMenuItem" id="941771852">
+ <reference key="NSMenu" ref="93205077"/>
+ <string key="NSTitle">Normal</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <int key="NSState">1</int>
+ <object class="NSCustomResource" key="NSImage">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">PriorityNormal</string>
+ </object>
+ <reference key="NSOnImage" ref="1056605581"/>
+ <reference key="NSMixedImage" ref="1011917088"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <int key="NSTag">1</int>
+ <reference key="NSTarget" ref="772863223"/>
+ </object>
+ <bool key="NSMenuItemRespectAlignment">YES</bool>
+ <object class="NSMenu" key="NSMenu" id="93205077">
+ <string key="NSTitle">OtherViews</string>
+ <object class="NSMutableArray" key="NSMenuItems">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSMenuItem" id="759747782">
+ <reference key="NSMenu" ref="93205077"/>
+ <string key="NSTitle">High</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSImage" ref="96088129"/>
+ <reference key="NSOnImage" ref="1056605581"/>
+ <reference key="NSMixedImage" ref="1011917088"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="772863223"/>
+ </object>
+ <reference ref="941771852"/>
+ <object class="NSMenuItem" id="381060565">
+ <reference key="NSMenu" ref="93205077"/>
+ <string key="NSTitle">Low</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <object class="NSCustomResource" key="NSImage">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">PriorityLow</string>
+ </object>
+ <reference key="NSOnImage" ref="1056605581"/>
+ <reference key="NSMixedImage" ref="1011917088"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <int key="NSTag">2</int>
+ <reference key="NSTarget" ref="772863223"/>
+ </object>
+ </object>
+ </object>
+ <int key="NSSelectedIndex">1</int>
+ <int key="NSPreferredEdge">1</int>
+ <bool key="NSUsesItemFromMenu">YES</bool>
+ <bool key="NSAltersState">YES</bool>
+ <int key="NSArrowPosition">2</int>
+ </object>
+ </object>
</object>
- <string key="NSFrameSize">{351, 178}</string>
+ <string key="NSFrameSize">{351, 216}</string>
<reference key="NSSuperview"/>
<object class="NSMutableString" key="NSClassName">
<characters key="NS.bytes">NSView</characters>
</object>
<int key="connectionID">1808</int>
</object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">setPriority:</string>
+ <reference key="source" ref="1016287627"/>
+ <reference key="destination" ref="1072112665"/>
+ </object>
+ <int key="connectionID">1819</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">fPriorityPopUp</string>
+ <reference key="source" ref="1016287627"/>
+ <reference key="destination" ref="1072112665"/>
+ </object>
+ <int key="connectionID">1820</int>
+ </object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<reference ref="810746719"/>
<reference ref="1068855235"/>
<reference ref="768062986"/>
+ <reference ref="605860012"/>
+ <reference ref="533755866"/>
+ <reference ref="1072112665"/>
</object>
<reference key="parent" ref="261172737"/>
<string key="objectName">Options</string>
<reference key="object" ref="44864906"/>
<reference key="parent" ref="768062986"/>
</object>
+ <object class="IBObjectRecord">
+ <int key="objectID">1809</int>
+ <reference key="object" ref="605860012"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="542384875"/>
+ </object>
+ <reference key="parent" ref="1005910882"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">1810</int>
+ <reference key="object" ref="542384875"/>
+ <reference key="parent" ref="605860012"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">1811</int>
+ <reference key="object" ref="533755866"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="558002182"/>
+ </object>
+ <reference key="parent" ref="1005910882"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">1812</int>
+ <reference key="object" ref="558002182"/>
+ <reference key="parent" ref="533755866"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">1813</int>
+ <reference key="object" ref="1072112665"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="772863223"/>
+ </object>
+ <reference key="parent" ref="1005910882"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">1814</int>
+ <reference key="object" ref="772863223"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="93205077"/>
+ </object>
+ <reference key="parent" ref="1072112665"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">1815</int>
+ <reference key="object" ref="93205077"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="759747782"/>
+ <reference ref="941771852"/>
+ <reference ref="381060565"/>
+ </object>
+ <reference key="parent" ref="772863223"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">1816</int>
+ <reference key="object" ref="759747782"/>
+ <reference key="parent" ref="93205077"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">1817</int>
+ <reference key="object" ref="941771852"/>
+ <reference key="parent" ref="93205077"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">1818</int>
+ <reference key="object" ref="381060565"/>
+ <reference key="parent" ref="93205077"/>
+ </object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<string>1799.IBPluginDependency</string>
<string>1805.IBPluginDependency</string>
<string>1806.IBPluginDependency</string>
+ <string>1809.IBPluginDependency</string>
+ <string>1809.ImportedFromIB2</string>
+ <string>1810.IBPluginDependency</string>
+ <string>1811.IBPluginDependency</string>
+ <string>1811.ImportedFromIB2</string>
+ <string>1812.IBPluginDependency</string>
+ <string>1813.IBPluginDependency</string>
+ <string>1814.IBPluginDependency</string>
+ <string>1815.IBEditorWindowLastContentRect</string>
+ <string>1815.IBPluginDependency</string>
+ <string>1816.IBPluginDependency</string>
+ <string>1817.IBPluginDependency</string>
+ <string>1818.IBPluginDependency</string>
<string>28.IBPluginDependency</string>
<string>28.ImportedFromIB2</string>
<string>29.IBPluginDependency</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
- <string>{{256, 652}, {351, 178}}</string>
+ <string>{{256, 614}, {351, 216}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>{{519, 803}, {351, 160}}</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
- <string>{{78, 855}, {138, 54}}</string>
+ <string>{{334, 634}, {138, 54}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>{{379, 759}, {102, 54}}</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>{{0, 926}, {350, 75}}</string>
<string>{{0, 926}, {350, 75}}</string>
</object>
</object>
<nil key="sourceID"/>
- <int key="maxID">1808</int>
+ <int key="maxID">1820</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<string>setFileFilterText:</string>
<string>setPeersConnectLimit:</string>
<string>setPiecesView:</string>
+ <string>setPriority:</string>
<string>setRatioLimit:</string>
<string>setRatioSetting:</string>
<string>setSpeedLimit:</string>
<string>id</string>
<string>id</string>
<string>id</string>
+ <string>id</string>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
<string>fPiecesControl</string>
<string>fPiecesField</string>
<string>fPiecesView</string>
+ <string>fPriorityPopUp</string>
<string>fProgressField</string>
<string>fRatioField</string>
<string>fRatioLimitField</string>
<string>NSSegmentedControl</string>
<string>NSTextField</string>
<string>PiecesView</string>
+ <string>NSPopUpButton</string>
<string>NSTextField</string>
<string>NSTextField</string>
<string>NSTextField</string>
<string key="IBDocument.HIToolboxVersion">353.00</string>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
+ <integer value="3197"/>
<integer value="3088"/>
- <integer value="1060"/>
- <integer value="1944"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string key="NSTitle">Menu</string>
<object class="NSMutableArray" key="NSMenuItems">
<bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSMenuItem" id="350082482">
+ <reference key="NSMenu" ref="588646173"/>
+ <string key="NSTitle">Priority</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="322614661"/>
+ <reference key="NSMixedImage" ref="3851078"/>
+ <string key="NSAction">submenuAction:</string>
+ <object class="NSMenu" key="NSSubmenu" id="591449677">
+ <string key="NSTitle">Priority</string>
+ <object class="NSMutableArray" key="NSMenuItems">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSMenuItem" id="1040336365">
+ <reference key="NSMenu" ref="591449677"/>
+ <string key="NSTitle">High</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <object class="NSCustomResource" key="NSImage">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">PriorityHigh</string>
+ </object>
+ <reference key="NSOnImage" ref="322614661"/>
+ <reference key="NSMixedImage" ref="3851078"/>
+ <int key="NSTag">101</int>
+ </object>
+ <object class="NSMenuItem" id="817251345">
+ <reference key="NSMenu" ref="591449677"/>
+ <string key="NSTitle">Normal</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <object class="NSCustomResource" key="NSImage">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">PriorityNormal</string>
+ </object>
+ <reference key="NSOnImage" ref="322614661"/>
+ <reference key="NSMixedImage" ref="3851078"/>
+ <int key="NSTag">102</int>
+ </object>
+ <object class="NSMenuItem" id="920118256">
+ <reference key="NSMenu" ref="591449677"/>
+ <string key="NSTitle">Low</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <object class="NSCustomResource" key="NSImage">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">PriorityLow</string>
+ </object>
+ <reference key="NSOnImage" ref="322614661"/>
+ <reference key="NSMixedImage" ref="3851078"/>
+ <int key="NSTag">103</int>
+ </object>
+ </object>
+ </object>
+ </object>
+ <object class="NSMenuItem" id="48945683">
+ <reference key="NSMenu" ref="588646173"/>
+ <bool key="NSIsDisabled">YES</bool>
+ <bool key="NSIsSeparator">YES</bool>
+ <string key="NSTitle"/>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="322614661"/>
+ <reference key="NSMixedImage" ref="3851078"/>
+ </object>
<object class="NSMenuItem" id="665673233">
<reference key="NSMenu" ref="588646173"/>
<string key="NSTitle">Download Bandwidth Limit</string>
</object>
<int key="connectionID">3193</int>
</object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">fPriorityMenu</string>
+ <reference key="source" ref="675318801"/>
+ <reference key="destination" ref="591449677"/>
+ </object>
+ <int key="connectionID">3201</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">setPriority:</string>
+ <reference key="source" ref="675318801"/>
+ <reference key="destination" ref="1040336365"/>
+ </object>
+ <int key="connectionID">3202</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">setPriority:</string>
+ <reference key="source" ref="675318801"/>
+ <reference key="destination" ref="817251345"/>
+ </object>
+ <int key="connectionID">3203</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">setPriority:</string>
+ <reference key="source" ref="675318801"/>
+ <reference key="destination" ref="920118256"/>
+ </object>
+ <int key="connectionID">3204</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">delegate</string>
+ <reference key="source" ref="591449677"/>
+ <reference key="destination" ref="675318801"/>
+ </object>
+ <int key="connectionID">3205</int>
+ </object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<reference ref="1033685900"/>
<reference ref="922629505"/>
<reference ref="1039703472"/>
+ <reference ref="48945683"/>
+ <reference ref="350082482"/>
</object>
<reference key="parent" ref="52096491"/>
<string key="objectName">TorrentActionMenu</string>
<reference key="object" ref="1039703472"/>
<reference key="parent" ref="588646173"/>
</object>
+ <object class="IBObjectRecord">
+ <int key="objectID">3195</int>
+ <reference key="object" ref="48945683"/>
+ <reference key="parent" ref="588646173"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">3196</int>
+ <reference key="object" ref="350082482"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="591449677"/>
+ </object>
+ <reference key="parent" ref="588646173"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">3197</int>
+ <reference key="object" ref="591449677"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="1040336365"/>
+ <reference ref="817251345"/>
+ <reference ref="920118256"/>
+ </object>
+ <reference key="parent" ref="350082482"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">3198</int>
+ <reference key="object" ref="1040336365"/>
+ <reference key="parent" ref="591449677"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">3199</int>
+ <reference key="object" ref="817251345"/>
+ <reference key="parent" ref="591449677"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">3200</int>
+ <reference key="object" ref="920118256"/>
+ <reference key="parent" ref="591449677"/>
+ </object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<string>3172.IBPluginDependency</string>
<string>3172.ImportedFromIB2</string>
<string>3190.IBPluginDependency</string>
+ <string>3195.IBPluginDependency</string>
+ <string>3195.ImportedFromIB2</string>
+ <string>3196.IBPluginDependency</string>
+ <string>3197.IBEditorWindowLastContentRect</string>
+ <string>3197.IBPluginDependency</string>
+ <string>3198.IBPluginDependency</string>
+ <string>3199.IBPluginDependency</string>
+ <string>3200.IBPluginDependency</string>
<string>418.IBPluginDependency</string>
<string>418.ImportedFromIB2</string>
<string>456.IBEditorWindowLastContentRect</string>
<reference ref="9"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
- <string>{{0, 862}, {313, 133}}</string>
+ <string>{{9, 791}, {313, 163}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>{{381, 469}, {214, 113}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
- <string>{{313, 942}, {135, 53}}</string>
+ <string>{{322, 871}, {135, 53}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
<string>{{595, 509}, {135, 73}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>{{322, 891}, {105, 63}}</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference ref="9"/>
<string>{{529, 336}, {277, 273}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="9"/>
</object>
</object>
<nil key="sourceID"/>
- <int key="maxID">3193</int>
+ <int key="maxID">3205</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<string>moveDataFile:</string>
<string>paste:</string>
<string>setGlobalLimit:</string>
+ <string>setPriority:</string>
<string>setQuickLimit:</string>
<string>setQuickLimitMode:</string>
<string>setQuickRatio:</string>
<string>id</string>
<string>id</string>
<string>id</string>
+ <string>id</string>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
<string>fController</string>
<string>fDownloadMenu</string>
<string>fGlobalLimitItem</string>
+ <string>fPriorityMenu</string>
<string>fRatioMenu</string>
<string>fUploadMenu</string>
</object>
<string>NSMenuItem</string>
<string>NSMenu</string>
<string>NSMenu</string>
+ <string>NSMenu</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">