transmission/macosx/PrefsController.h

181 lines
5.1 KiB
Objective-C

// This file Copyright © 2005-2022 Transmission authors and contributors.
// It may be used under the MIT (SPDX: MIT) license.
// License text can be found in the licenses/ folder.
#import <Cocoa/Cocoa.h>
#include <libtransmission/transmission.h>
@class PortChecker;
@interface PrefsController : NSWindowController<NSToolbarDelegate>
{
tr_session* fHandle;
NSUserDefaults* fDefaults;
BOOL fHasLoaded;
IBOutlet NSView* fGeneralView;
IBOutlet NSView* fTransfersView;
IBOutlet NSView* fBandwidthView;
IBOutlet NSView* fPeersView;
IBOutlet NSView* fNetworkView;
IBOutlet NSView* fRemoteView;
IBOutlet NSView* fGroupsView;
NSString* fInitialString;
IBOutlet NSButton* fSystemPreferencesButton;
IBOutlet NSTextField* fCheckForUpdatesLabel;
IBOutlet NSButton* fCheckForUpdatesButton;
IBOutlet NSButton* fCheckForUpdatesBetaButton;
IBOutlet NSPopUpButton* fFolderPopUp;
IBOutlet NSPopUpButton* fIncompleteFolderPopUp;
IBOutlet NSPopUpButton* fImportFolderPopUp;
IBOutlet NSPopUpButton* fDoneScriptPopUp;
IBOutlet NSButton* fShowMagnetAddWindowCheck;
IBOutlet NSTextField* fRatioStopField;
IBOutlet NSTextField* fIdleStopField;
IBOutlet NSTextField* fQueueDownloadField;
IBOutlet NSTextField* fQueueSeedField;
IBOutlet NSTextField* fStalledField;
IBOutlet NSTextField* fUploadField;
IBOutlet NSTextField* fDownloadField;
IBOutlet NSTextField* fSpeedLimitUploadField;
IBOutlet NSTextField* fSpeedLimitDownloadField;
IBOutlet NSPopUpButton* fAutoSpeedDayTypePopUp;
IBOutlet NSTextField* fPeersGlobalField;
IBOutlet NSTextField* fPeersTorrentField;
IBOutlet NSTextField* fBlocklistURLField;
IBOutlet NSTextField* fBlocklistMessageField;
IBOutlet NSTextField* fBlocklistDateField;
IBOutlet NSButton* fBlocklistButton;
PortChecker* fPortChecker;
IBOutlet NSTextField* fPortField;
IBOutlet NSTextField* fPortStatusField;
IBOutlet NSButton* fNatCheck;
IBOutlet NSImageView* fPortStatusImage;
IBOutlet NSProgressIndicator* fPortStatusProgress;
NSTimer* fPortStatusTimer;
int fPeerPort, fNatStatus;
IBOutlet NSTextField* fRPCPortField;
IBOutlet NSTextField* fRPCPasswordField;
IBOutlet NSTableView* fRPCWhitelistTable;
NSMutableArray* fRPCWhitelistArray;
IBOutlet NSSegmentedControl* fRPCAddRemoveControl;
NSString* fRPCPassword;
}
- (instancetype)initWithHandle:(tr_session*)handle;
- (void)setAutoUpdateToBeta:(id)sender;
- (void)setPort:(id)sender;
- (void)randomPort:(id)sender;
- (void)setRandomPortOnStart:(id)sender;
- (void)setNat:(id)sender;
- (void)updatePortStatus;
- (void)portCheckerDidFinishProbing:(PortChecker*)portChecker;
@property(nonatomic, readonly) NSArray* sounds;
- (void)setSound:(id)sender;
- (void)setUTP:(id)sender;
- (void)setPeersGlobal:(id)sender;
- (void)setPeersTorrent:(id)sender;
- (void)setPEX:(id)sender;
- (void)setDHT:(id)sender;
- (void)setLPD:(id)sender;
- (void)setEncryptionMode:(id)sender;
- (void)setBlocklistEnabled:(id)sender;
- (void)updateBlocklist:(id)sender;
- (void)setBlocklistAutoUpdate:(id)sender;
- (void)updateBlocklistFields;
- (void)updateBlocklistURLField;
- (void)updateBlocklistButton;
- (void)setAutoStartDownloads:(id)sender;
- (void)setBadge:(id)sender;
- (IBAction)openNotificationSystemPrefs:(NSButton*)sender;
- (void)resetWarnings:(id)sender;
- (void)setDefaultForMagnets:(id)sender;
- (void)setQueue:(id)sender;
- (void)setQueueNumber:(id)sender;
- (void)setStalled:(id)sender;
- (void)setStalledMinutes:(id)sender;
- (void)setDownloadLocation:(id)sender;
- (void)folderSheetShow:(id)sender;
- (void)incompleteFolderSheetShow:(id)sender;
- (void)setUseIncompleteFolder:(id)sender;
- (void)setRenamePartialFiles:(id)sender;
- (IBAction)setShowAddMagnetWindow:(id)sender;
- (void)updateShowAddMagnetWindowField;
- (void)setDoneScriptEnabled:(id)sender;
- (void)doneScriptSheetShow:(id)sender;
- (void)applyRatioSetting:(id)sender;
- (void)setRatioStop:(id)sender;
- (void)updateRatioStopField;
- (void)updateRatioStopFieldOld;
- (void)applyIdleStopSetting:(id)sender;
- (void)setIdleStop:(id)sender;
- (void)updateLimitStopField;
- (void)applySpeedSettings:(id)sender;
- (void)applyAltSpeedSettings;
- (void)updateLimitFields;
- (void)setGlobalLimit:(id)sender;
- (void)setSpeedLimit:(id)sender;
- (void)setAutoSpeedLimit:(id)sender;
- (void)setAutoSpeedLimitTime:(id)sender;
- (void)setAutoSpeedLimitDay:(id)sender;
+ (NSInteger)dateToTimeSum:(NSDate*)date;
+ (NSDate*)timeSumToDate:(NSInteger)sum;
- (void)setAutoImport:(id)sender;
- (void)importFolderSheetShow:(id)sender;
- (void)setAutoSize:(id)sender;
- (void)setRPCEnabled:(id)sender;
- (void)linkWebUI:(id)sender;
- (void)setRPCAuthorize:(id)sender;
- (void)setRPCUsername:(id)sender;
- (void)setRPCPassword:(id)sender;
- (void)updateRPCPassword;
- (void)setRPCPort:(id)sender;
- (void)setRPCUseWhitelist:(id)sender;
- (void)setRPCWebUIDiscovery:(id)sender;
- (void)updateRPCWhitelist;
- (void)addRemoveRPCIP:(id)sender;
- (void)helpForScript:(id)sender;
- (void)helpForPeers:(id)sender;
- (void)helpForNetwork:(id)sender;
- (void)helpForRemote:(id)sender;
- (void)rpcUpdatePrefs;
@end