mirror of
https://github.com/transmission/transmission
synced 2025-03-16 00:39:34 +00:00
update mac gui to recognize global pex
This commit is contained in:
parent
401cfbdb6b
commit
8c22757404
11 changed files with 5051 additions and 5016 deletions
1
NEWS
1
NEWS
|
@ -5,6 +5,7 @@ NEWS file for Transmission <http://transmission.m0k.org/>
|
|||
+ Port forwarding now performed by MiniUPnP and libnatpmp
|
||||
+ Ability to set global and per-torrent number of connections
|
||||
+ Option to prefer not using encryption
|
||||
+ PEX is now configured globally
|
||||
+ Updated icon
|
||||
- OS X:
|
||||
+ Redesigned Leopard-like look
|
||||
|
|
|
@ -74,6 +74,8 @@
|
|||
<string>Constant</string>
|
||||
<key>NatTraversal</key>
|
||||
<true/>
|
||||
<key>PEXGlobal</key>
|
||||
<true/>
|
||||
<key>PeersGlobal</key>
|
||||
<integer>500</integer>
|
||||
<key>PeersTorrent</key>
|
||||
|
|
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
|
@ -63,7 +63,6 @@
|
|||
IBOutlet NSPopUpButton * fRatioPopUp, * fUploadLimitPopUp, * fDownloadLimitPopUp;
|
||||
IBOutlet NSTextField * fUploadLimitField, * fDownloadLimitField, * fRatioLimitField, * fPeersConnectField,
|
||||
* fUploadLimitLabel, * fDownloadLimitLabel;
|
||||
IBOutlet NSButton * fPexCheck;
|
||||
|
||||
NSString * fInitialString;
|
||||
}
|
||||
|
@ -94,8 +93,6 @@
|
|||
- (void) setRatioSetting: (id) sender;
|
||||
- (void) setRatioLimit: (id) sender;
|
||||
|
||||
- (void) setPex: (id) sender;
|
||||
|
||||
- (void) setPeersConnectLimit: (id) sender;
|
||||
|
||||
@end
|
||||
|
|
|
@ -61,7 +61,6 @@ typedef enum
|
|||
- (void) updateInfoActivity;
|
||||
- (void) updateInfoPeers;
|
||||
- (void) updateInfoFiles;
|
||||
- (void) updateInfoOptions;
|
||||
|
||||
- (NSView *) tabViewForTag: (int) tag;
|
||||
- (NSArray *) peerSortDescriptors;
|
||||
|
@ -240,10 +239,6 @@ typedef enum
|
|||
[fRatioLimitField setHidden: YES];
|
||||
[fRatioLimitField setStringValue: @""];
|
||||
|
||||
[fPexCheck setEnabled: NO];
|
||||
[fPexCheck setState: NSOffState];
|
||||
[fPexCheck setToolTip: nil];
|
||||
|
||||
[fPeersConnectField setEnabled: NO];
|
||||
[fPeersConnectField setStringValue: @""];
|
||||
}
|
||||
|
@ -360,8 +355,8 @@ typedef enum
|
|||
[fHashField setStringValue: hashString];
|
||||
[fHashField setToolTip: hashString];
|
||||
[fSecureField setStringValue: [torrent privateTorrent]
|
||||
? NSLocalizedString(@"Private Torrent, PEX disabled", "Inspector -> is private torrent")
|
||||
: NSLocalizedString(@"Public Torrent", "Inspector -> is not private torrent")];
|
||||
? NSLocalizedString(@"Private Torrent, PEX automatically disabled", "Inspector -> private torrent")
|
||||
: NSLocalizedString(@"Public Torrent", "Inspector -> private torrent")];
|
||||
|
||||
NSString * commentString = [torrent comment];
|
||||
[fCommentView setString: commentString];
|
||||
|
@ -431,9 +426,6 @@ typedef enum
|
|||
case TAB_FILES_TAG:
|
||||
[self updateInfoFiles];
|
||||
break;
|
||||
case TAB_OPTIONS_TAG:
|
||||
[self updateInfoOptions];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -442,8 +434,6 @@ typedef enum
|
|||
if ([fTorrents count] == 0)
|
||||
return;
|
||||
|
||||
[self updateInfoOptions];
|
||||
|
||||
//get bandwidth info
|
||||
NSEnumerator * enumerator = [fTorrents objectEnumerator];
|
||||
Torrent * torrent = [enumerator nextObject]; //first torrent
|
||||
|
@ -1225,22 +1215,6 @@ typedef enum
|
|||
[torrent setRatioLimit: limit];
|
||||
}
|
||||
|
||||
- (void) setPex: (id) sender
|
||||
{
|
||||
int state = [sender state];
|
||||
if (state == NSMixedState)
|
||||
{
|
||||
state = NSOnState;
|
||||
[sender setState: state];
|
||||
}
|
||||
|
||||
Torrent * torrent;
|
||||
NSEnumerator * enumerator = [fTorrents objectEnumerator];
|
||||
|
||||
while ((torrent = [enumerator nextObject]))
|
||||
[torrent setPex: state == NSOnState];
|
||||
}
|
||||
|
||||
- (void) setPeersConnectLimit: (id) sender
|
||||
{
|
||||
int limit = [sender intValue];
|
||||
|
@ -1414,33 +1388,6 @@ typedef enum
|
|||
}
|
||||
}
|
||||
|
||||
- (void) updateInfoOptions
|
||||
{
|
||||
if ([fTorrents count] == 0)
|
||||
return;
|
||||
|
||||
//set pex check
|
||||
NSEnumerator * enumerator = [fTorrents objectEnumerator];
|
||||
Torrent * torrent = [enumerator nextObject]; //first torrent
|
||||
|
||||
BOOL pexEnabled = ![torrent privateTorrent] && ![torrent isActive];
|
||||
int pexState = [torrent pex] ? NSOnState : NSOffState;
|
||||
|
||||
while ((torrent = [enumerator nextObject]) && (pexEnabled || pexState != NSMixedState))
|
||||
{
|
||||
if (pexEnabled)
|
||||
pexEnabled = ![torrent privateTorrent] && ![torrent isActive];
|
||||
|
||||
if (pexState != NSMixedState && pexState != ([torrent pex] ? NSOnState : NSOffState))
|
||||
pexState = NSMixedState;
|
||||
}
|
||||
|
||||
[fPexCheck setEnabled: pexEnabled];
|
||||
[fPexCheck setState: pexState];
|
||||
[fPexCheck setToolTip: !pexEnabled ? NSLocalizedString(@"PEX can only be toggled on paused public torrents.",
|
||||
"Inspector -> pex check") : nil];
|
||||
}
|
||||
|
||||
- (NSView *) tabViewForTag: (int) tag
|
||||
{
|
||||
switch (tag)
|
||||
|
|
|
@ -73,6 +73,8 @@
|
|||
- (void) setPeersGlobal: (id) sender;
|
||||
- (void) setPeersTorrent: (id) sender;
|
||||
|
||||
- (void) setPEX: (id) sender;
|
||||
|
||||
- (void) setEncryptionMode: (id) sender;
|
||||
|
||||
- (void) setBadge: (id) sender;
|
||||
|
|
|
@ -81,6 +81,9 @@
|
|||
//set peer connection values
|
||||
tr_setGlobalPeerLimit(fHandle, [fDefaults integerForKey: @"PeersGlobal"]);
|
||||
|
||||
//set pex
|
||||
[self setPEX: nil];
|
||||
|
||||
//set encryption
|
||||
[self setEncryptionMode: nil];
|
||||
|
||||
|
@ -340,6 +343,11 @@
|
|||
[fDefaults setInteger: count forKey: @"PeersTorrent"];
|
||||
}
|
||||
|
||||
- (void) setPEX: (id) sender
|
||||
{
|
||||
tr_setPexEnabled(fHandle, [fDefaults boolForKey: @"PEXGlobal"]);
|
||||
}
|
||||
|
||||
- (void) setEncryptionMode: (id) sender
|
||||
{
|
||||
tr_setEncryptionMode(fHandle, [fDefaults boolForKey: @"EncryptionPrefer"] ?
|
||||
|
|
|
@ -205,9 +205,6 @@ typedef enum
|
|||
- (uint64_t) failedHash;
|
||||
- (float) swarmSpeed;
|
||||
|
||||
- (BOOL) pex;
|
||||
- (void) setPex: (BOOL) enable;
|
||||
|
||||
- (int) orderValue;
|
||||
- (void) setOrderValue: (int) orderValue;
|
||||
|
||||
|
|
|
@ -1179,16 +1179,6 @@ void completenessChangeCallback(tr_torrent * torrent, cp_status_t status, void *
|
|||
return fStat->swarmspeed;
|
||||
}
|
||||
|
||||
- (BOOL) pex
|
||||
{
|
||||
return tr_torrentIsPexEnabled(fHandle);
|
||||
}
|
||||
|
||||
- (void) setPex: (BOOL) enable
|
||||
{
|
||||
tr_torrentDisablePex(fHandle, !enable);
|
||||
}
|
||||
|
||||
- (int) orderValue
|
||||
{
|
||||
return fOrderValue;
|
||||
|
|
Loading…
Add table
Reference in a new issue