1
0
Fork 0
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:
Mitchell Livingston 2007-12-24 05:05:56 +00:00
parent 401cfbdb6b
commit 8c22757404
11 changed files with 5051 additions and 5016 deletions

1
NEWS
View file

@ -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

View file

@ -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

File diff suppressed because it is too large Load diff

View file

@ -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

View file

@ -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)

View file

@ -73,6 +73,8 @@
- (void) setPeersGlobal: (id) sender;
- (void) setPeersTorrent: (id) sender;
- (void) setPEX: (id) sender;
- (void) setEncryptionMode: (id) sender;
- (void) setBadge: (id) sender;

View file

@ -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"] ?

View file

@ -205,9 +205,6 @@ typedef enum
- (uint64_t) failedHash;
- (float) swarmSpeed;
- (BOOL) pex;
- (void) setPex: (BOOL) enable;
- (int) orderValue;
- (void) setOrderValue: (int) orderValue;

View file

@ -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;