transmission: update from 2.13 to 2.22
[tomato.git] / release / src / router / transmission / macosx / PrefsController.h
blobc695fe4c9e43d5676a4933d99001305c5e4a8172
1 /******************************************************************************
2 * $Id: PrefsController.h 11617 2011-01-01 20:42:14Z livings124 $
4 * Copyright (c) 2005-2011 Transmission authors and contributors
6 * Permission is hereby granted, free of charge, to any person obtaining a
7 * copy of this software and associated documentation files (the "Software"),
8 * to deal in the Software without restriction, including without limitation
9 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
10 * and/or sell copies of the Software, and to permit persons to whom the
11 * Software is furnished to do so, subject to the following conditions:
13 * The above copyright notice and this permission notice shall be included in
14 * all copies or substantial portions of the Software.
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
23 *****************************************************************************/
25 #import <Cocoa/Cocoa.h>
26 #import <transmission.h>
28 @class PortChecker;
30 @interface PrefsController : NSWindowController
32 NSUserDefaults * fDefaults;
33 BOOL fHasLoaded;
35 IBOutlet NSView * fGeneralView, * fTransfersView, * fBandwidthView, * fPeersView, * fNetworkView, * fRemoteView, * fGroupsView;
37 NSString * fInitialString;
39 IBOutlet NSTextField * fCheckForUpdatesLabel;
40 IBOutlet NSButton * fCheckForUpdatesButton, * fCheckForUpdatesBetaButton;
42 IBOutlet NSPopUpButton * fFolderPopUp, * fIncompleteFolderPopUp, * fImportFolderPopUp, * fDoneScriptPopUp;
43 IBOutlet NSTextField * fRatioStopField, * fIdleStopField, * fQueueDownloadField, * fQueueSeedField, * fStalledField;
45 IBOutlet NSTextField * fUploadField, * fDownloadField,
46 * fSpeedLimitUploadField, * fSpeedLimitDownloadField;
47 IBOutlet NSPopUpButton * fAutoSpeedDayTypePopUp;
49 IBOutlet NSTextField * fPeersGlobalField, * fPeersTorrentField,
50 * fBlocklistURLField, * fBlocklistMessageField, * fBlocklistDateField;
51 IBOutlet NSButton * fBlocklistButton;
53 PortChecker * fPortChecker;
54 IBOutlet NSTextField * fPortField, * fPortStatusField;
55 IBOutlet NSButton * fNatCheck;
56 IBOutlet NSImageView * fPortStatusImage;
57 IBOutlet NSProgressIndicator * fPortStatusProgress;
58 NSTimer * fPortStatusTimer;
59 int fPeerPort, fNatStatus;
61 IBOutlet NSTextField * fRPCPortField, * fRPCPasswordField;
62 IBOutlet NSTableView * fRPCWhitelistTable;
63 NSMutableArray * fRPCWhitelistArray;
64 IBOutlet NSSegmentedControl * fRPCAddRemoveControl;
65 NSString * fRPCPassword;
68 + (void) setHandle: (tr_session *) handle;
69 + (tr_session *) handle;
71 - (void) setAutoUpdateToBeta: (id) sender;
73 - (void) setPort: (id) sender;
74 - (void) randomPort: (id) sender;
75 - (void) setRandomPortOnStart: (id) sender;
76 - (void) setNat: (id) sender;
77 - (void) updatePortStatus;
78 - (void) portCheckerDidFinishProbing: (PortChecker *) portChecker;
80 - (NSArray *) sounds;
81 - (void) setSound: (id) sender;
83 - (void) setPeersGlobal: (id) sender;
84 - (void) setPeersTorrent: (id) sender;
86 - (void) setPEX: (id) sender;
87 - (void) setDHT: (id) sender;
88 - (void) setLPD: (id) sender;
90 - (void) setEncryptionMode: (id) sender;
92 - (void) setBlocklistEnabled: (id) sender;
93 - (void) updateBlocklist: (id) sender;
94 - (void) setBlocklistAutoUpdate: (id) sender;
95 - (void) updateBlocklistFields;
96 - (void) updateBlocklistURLField;
97 - (void) updateBlocklistButton;
99 - (void) setAutoStartDownloads: (id) sender;
101 - (void) setBadge: (id) sender;
103 - (void) resetWarnings: (id) sender;
105 - (void) setDefaultForMagnets: (id) sender;
107 - (void) setQueue: (id) sender;
108 - (void) setQueueNumber: (id) sender;
110 - (void) setStalled: (id) sender;
111 - (void) setStalledMinutes: (id) sender;
113 - (void) setDownloadLocation: (id) sender;
114 - (void) folderSheetShow: (id) sender;
115 - (void) incompleteFolderSheetShow: (id) sender;
116 - (void) setUseIncompleteFolder: (id) sender;
118 - (void) setRenamePartialFiles: (id) sender;
120 - (void) setDoneScriptEnabled: (id) sender;
121 - (void) doneScriptSheetShow: (id) sender;
123 - (void) applyRatioSetting: (id) sender;
124 - (void) setRatioStop: (id) sender;
125 - (void) updateRatioStopField;
127 - (void) applyIdleStopSetting: (id) sender;
128 - (void) setIdleStop: (id) sender;
130 - (void) applySpeedSettings: (id) sender;
131 - (void) applyAltSpeedSettings;
133 - (void) updateLimitFields;
134 - (void) setGlobalLimit: (id) sender;
136 - (void) setSpeedLimit: (id) sender;
137 - (void) setAutoSpeedLimit: (id) sender;
138 - (void) setAutoSpeedLimitTime: (id) sender;
139 - (void) setAutoSpeedLimitDay: (id) sender;
140 + (NSInteger) dateToTimeSum: (NSDate *) date;
141 + (NSDate *) timeSumToDate: (NSInteger) sum;
143 - (void) setAutoImport: (id) sender;
144 - (void) importFolderSheetShow: (id) sender;
146 - (void) setAutoSize: (id) sender;
148 - (void) setRPCEnabled: (id) sender;
149 - (void) linkWebUI: (id) sender;
150 - (void) setRPCAuthorize: (id) sender;
151 - (void) setRPCUsername: (id) sender;
152 - (void) setRPCPassword: (id) sender;
153 - (void) updateRPCPassword;
154 - (void) setRPCPort: (id) sender;
155 - (void) setRPCUseWhitelist: (id) sender;
156 - (void) setRPCWebUIDiscovery: (id) sender;
157 - (void) updateRPCWhitelist;
158 - (void) addRemoveRPCIP: (id) sender;
160 - (void) helpForScript: (id) sender;
161 - (void) helpForPeers: (id) sender;
162 - (void) helpForNetwork: (id) sender;
163 - (void) helpForRemote: (id) sender;
165 - (void) rpcUpdatePrefs;
167 @end