1 /******************************************************************************
2  * Copyright (c) 2007-2012 Transmission authors and contributors
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and associated documentation files (the "Software"),
6  * to deal in the Software without restriction, including without limitation
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8  * and/or sell copies of the Software, and to permit persons to whom the
9  * Software is furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20  * DEALINGS IN THE SOFTWARE.
21  *****************************************************************************/
22 
23 #import <Cocoa/Cocoa.h>
24 
25 #include <libtransmission/transmission.h>
26 #include <libtransmission/makemeta.h>
27 
28 @interface CreatorWindowController : NSWindowController
29 {
30     IBOutlet NSImageView * fIconView;
31     IBOutlet NSTextField * fNameField, * fStatusField, * fPiecesField, * fLocationField;
32     IBOutlet NSTableView * fTrackerTable;
33     IBOutlet NSSegmentedControl * fTrackerAddRemoveControl;
34     IBOutlet NSTextView * fCommentView;
35     IBOutlet NSButton * fPrivateCheck, * fOpenCheck;
36 
37     IBOutlet NSView * fProgressView;
38     IBOutlet NSProgressIndicator * fProgressIndicator;
39 
40     tr_metainfo_builder * fInfo;
41     NSURL * fPath, * fLocation;
42     NSMutableArray * fTrackers;
43 
44     NSTimer * fTimer;
45     BOOL fStarted, fOpenWhenCreated;
46 
47     NSUserDefaults * fDefaults;
48 }
49 
50 + (CreatorWindowController *) createTorrentFile: (tr_session *) handle;
51 + (CreatorWindowController *) createTorrentFile: (tr_session *) handle forFile: (NSURL *) file;
52 
53 - (id) initWithHandle: (tr_session *) handle path: (NSURL *) path;
54 
55 - (IBAction) setLocation: (id) sender;
56 - (IBAction) create: (id) sender;
57 - (IBAction) cancelCreateWindow: (id) sender;
58 - (IBAction) cancelCreateProgress: (id) sender;
59 
60 - (IBAction) addRemoveTracker: (id) sender;
61 
62 - (void) copy: (id) sender;
63 - (void) paste: (id) sender;
64 
65 @end
66