1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2024-12-30 19:46:56 +00:00
transmission/macosx/CreatorWindowController.h
Daniel Kamil Kozar 77b11232f2
Add support for creating torrents with a source flag (#443)
* Add support for creating torrents with a source flag

* Add the source flag functionality for Mac OSX

* Source flag should be a part of the info dictionary

* Address review comments

* Rename "sourceFlag" to "source" since "Flag" is usually reserved for booleans.
* Free the "source" pointer in tr_metainfoFree.
* Add information about transmission-create argument to its manpage.

* Replace all occurences of "sourceFlag" with "source" and use "Source tag" in UI

* Settle on just "Source" in UI

* The last usage of "flag" hopefully bites the dust! ;-)

* Add a missing free for the source in tr_metainfoFree

* Add a "source" field to the torrent-get RPC method

* uncrustify

* Test for torrents having different infohashes due to different source flags.

This is the whole point of this feature, so it makes sense to test it.

* case is important

* try to incorporate the macosx xml changes
2021-10-18 18:05:39 -05:00

72 lines
2.6 KiB
Objective-C

/******************************************************************************
* Copyright (c) 2007-2012 Transmission authors and contributors
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*****************************************************************************/
#import <Cocoa/Cocoa.h>
#include <libtransmission/transmission.h>
#include <libtransmission/makemeta.h>
@interface CreatorWindowController : NSWindowController
{
IBOutlet NSImageView* fIconView;
IBOutlet NSTextField* fNameField;
IBOutlet NSTextField* fStatusField;
IBOutlet NSTextField* fPiecesField;
IBOutlet NSTextField* fLocationField;
IBOutlet NSTableView* fTrackerTable;
IBOutlet NSSegmentedControl* fTrackerAddRemoveControl;
IBOutlet NSTextView* fCommentView;
IBOutlet NSButton* fPrivateCheck;
IBOutlet NSButton* fOpenCheck;
IBOutlet NSTextField* fSource;
IBOutlet NSView* fProgressView;
IBOutlet NSProgressIndicator* fProgressIndicator;
tr_metainfo_builder* fInfo;
NSURL* fPath;
NSURL* fLocation;
NSMutableArray* fTrackers;
NSTimer* fTimer;
BOOL fStarted;
BOOL fOpenWhenCreated;
NSUserDefaults* fDefaults;
}
+ (CreatorWindowController*)createTorrentFile:(tr_session*)handle;
+ (CreatorWindowController*)createTorrentFile:(tr_session*)handle forFile:(NSURL*)file;
- (instancetype)initWithHandle:(tr_session*)handle path:(NSURL*)path;
- (IBAction)setLocation:(id)sender;
- (IBAction)create:(id)sender;
- (IBAction)cancelCreateWindow:(id)sender;
- (IBAction)cancelCreateProgress:(id)sender;
- (IBAction)addRemoveTracker:(id)sender;
- (void)copy:(id)sender;
- (void)paste:(id)sender;
@end