Changeset 9667


Ignore:
Timestamp:
Dec 4, 2009, 1:35:15 PM (12 years ago)
Author:
livings124
Message:

#2625 Add a menu item to copy a magnet link to the clipboard

Location:
trunk/macosx
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/macosx/Controller.h

    r9648 r9667  
    164164- (void) copyTorrentFileForTorrents: (NSMutableArray *) torrents;
    165165
     166- (void) copyMagnetLinks: (id) sender;
     167
    166168- (void) revealFile: (id) sender;
    167169
  • trunk/macosx/Controller.m

    r9648 r9667  
    14281428        return;
    14291429    }
    1430 
     1430   
    14311431    Torrent * torrent = [torrents objectAtIndex: 0];
    1432 
     1432   
    14331433    //warn user if torrent file can't be found
    14341434    if (![[NSFileManager defaultManager] fileExistsAtPath: [torrent torrentLocation]])
     
    14681468    [torrents removeObjectAtIndex: 0];
    14691469    [self performSelectorOnMainThread: @selector(copyTorrentFileForTorrents:) withObject: torrents waitUntilDone: NO];
     1470}
     1471
     1472- (void) copyMagnetLinks: (id) sender
     1473{
     1474    NSArray * torrents = [fTableView selectedTorrents];
     1475   
     1476    if ([torrents count] <= 0)
     1477        return;
     1478   
     1479    NSMutableArray * links = [NSMutableArray arrayWithCapacity: [torrents count]];
     1480    for (Torrent * torrent in torrents)
     1481        [links addObject: [torrent magnetLink]];
     1482   
     1483    NSString * text = [links componentsJoinedByString: @"\n"];
     1484   
     1485    NSPasteboard * pb = [NSPasteboard generalPasteboard];
     1486    if ([NSApp isOnSnowLeopardOrBetter])
     1487    {
     1488        [pb clearContents];
     1489        [pb writeObjects: [NSArray arrayWithObject: text]];
     1490    }
     1491    else
     1492    {
     1493        [pb declareTypes: [NSArray arrayWithObject: NSStringPboardType] owner: nil];
     1494        [pb setString: text forType: NSStringPboardType];
     1495    }
    14701496}
    14711497
     
    38673893        return canUseTable && [fTableView numberOfSelectedRows] > 0;
    38683894   
     3895    //enable copy torrent file item
     3896    if (action == @selector(copyMagnetLinks:))
     3897        return canUseTable && [fTableView numberOfSelectedRows] > 0;
     3898   
    38693899    //enable reverse sort item
    38703900    if (action == @selector(setSortReverse:))
  • trunk/macosx/Torrent.h

    r9584 r9667  
    8989
    9090- (BOOL) isMagnet;
     91- (NSString *) magnetLink;
    9192
    9293- (CGFloat) ratio;
  • trunk/macosx/Torrent.m

    r9648 r9667  
    346346{
    347347    return !tr_torrentHasMetadata(fHandle);
     348}
     349
     350- (NSString *) magnetLink
     351{
     352    return [NSString stringWithUTF8String: tr_torrentGetMagnetLink(fHandle)];
    348353}
    349354
  • trunk/macosx/en.lproj/MainMenu.xib

    r9303 r9667  
    33        <data>
    44                <int key="IBDocument.SystemTarget">1050</int>
    5                 <string key="IBDocument.SystemVersion">10B504</string>
     5                <string key="IBDocument.SystemVersion">10C540</string>
    66                <string key="IBDocument.InterfaceBuilderVersion">740</string>
    7                 <string key="IBDocument.AppKitVersion">1038.2</string>
    8                 <string key="IBDocument.HIToolboxVersion">437.00</string>
     7                <string key="IBDocument.AppKitVersion">1038.25</string>
     8                <string key="IBDocument.HIToolboxVersion">458.00</string>
    99                <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
    1010                        <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
     
    1313                <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
    1414                        <bool key="EncodedWithXMLCoder">YES</bool>
    15                         <integer value="3126"/>
    16                         <integer value="29"/>
    1715                        <integer value="1480"/>
     16                        <integer value="21"/>
     17                        <integer value="456"/>
     18                        <integer value="81"/>
    1819                </object>
    1920                <object class="NSArray" key="IBDocument.PluginDependencies">
     
    11011102                                                                        <reference key="NSMixedImage" ref="3851078"/>
    11021103                                                                </object>
     1104                                                                <object class="NSMenuItem" id="500522949">
     1105                                                                        <reference key="NSMenu" ref="455126894"/>
     1106                                                                        <string key="NSTitle">Move Data File To
</string>
     1107                                                                        <string key="NSKeyEquiv"/>
     1108                                                                        <int key="NSKeyEquivModMask">1048576</int>
     1109                                                                        <int key="NSMnemonicLoc">2147483647</int>
     1110                                                                        <reference key="NSOnImage" ref="322614661"/>
     1111                                                                        <reference key="NSMixedImage" ref="3851078"/>
     1112                                                                </object>
     1113                                                                <object class="NSMenuItem" id="7348933">
     1114                                                                        <reference key="NSMenu" ref="455126894"/>
     1115                                                                        <bool key="NSIsDisabled">YES</bool>
     1116                                                                        <bool key="NSIsSeparator">YES</bool>
     1117                                                                        <string key="NSTitle"/>
     1118                                                                        <string key="NSKeyEquiv"/>
     1119                                                                        <int key="NSKeyEquivModMask">1048576</int>
     1120                                                                        <int key="NSMnemonicLoc">2147483647</int>
     1121                                                                        <reference key="NSOnImage" ref="322614661"/>
     1122                                                                        <reference key="NSMixedImage" ref="3851078"/>
     1123                                                                </object>
    11031124                                                                <object class="NSMenuItem" id="521960375">
    11041125                                                                        <reference key="NSMenu" ref="455126894"/>
     
    11111132                                                                        <int key="NSTag">4</int>
    11121133                                                                </object>
    1113                                                                 <object class="NSMenuItem" id="500522949">
     1134                                                                <object class="NSMenuItem" id="850390185">
    11141135                                                                        <reference key="NSMenu" ref="455126894"/>
    1115                                                                         <string key="NSTitle">Move Data File To
</string>
     1136                                                                        <string key="NSTitle">Copy Magnet Link to Clipboard</string>
    11161137                                                                        <string key="NSKeyEquiv"/>
    1117                                                                         <int key="NSKeyEquivModMask">1048576</int>
    11181138                                                                        <int key="NSMnemonicLoc">2147483647</int>
    11191139                                                                        <reference key="NSOnImage" ref="322614661"/>
     
    20012021                                                <reference key="NSMixedImage" ref="3851078"/>
    20022022                                        </object>
     2023                                        <object class="NSMenuItem" id="922629505">
     2024                                                <reference key="NSMenu" ref="434296936"/>
     2025                                                <string key="NSTitle">Move Data File To
</string>
     2026                                                <string key="NSKeyEquiv"/>
     2027                                                <int key="NSKeyEquivModMask">1048576</int>
     2028                                                <int key="NSMnemonicLoc">2147483647</int>
     2029                                                <reference key="NSOnImage" ref="322614661"/>
     2030                                                <reference key="NSMixedImage" ref="3851078"/>
     2031                                        </object>
     2032                                        <object class="NSMenuItem" id="143702072">
     2033                                                <reference key="NSMenu" ref="434296936"/>
     2034                                                <bool key="NSIsDisabled">YES</bool>
     2035                                                <bool key="NSIsSeparator">YES</bool>
     2036                                                <string key="NSTitle"/>
     2037                                                <string key="NSKeyEquiv"/>
     2038                                                <int key="NSKeyEquivModMask">1048576</int>
     2039                                                <int key="NSMnemonicLoc">2147483647</int>
     2040                                                <reference key="NSOnImage" ref="322614661"/>
     2041                                                <reference key="NSMixedImage" ref="3851078"/>
     2042                                        </object>
    20032043                                        <object class="NSMenuItem" id="953360563">
    20042044                                                <reference key="NSMenu" ref="434296936"/>
     
    20102050                                                <int key="NSTag">4</int>
    20112051                                        </object>
    2012                                         <object class="NSMenuItem" id="922629505">
     2052                                        <object class="NSMenuItem" id="24108443">
    20132053                                                <reference key="NSMenu" ref="434296936"/>
    2014                                                 <string key="NSTitle">Move Data File To
</string>
     2054                                                <string key="NSTitle">Copy Magnet Link to Clipboard</string>
    20152055                                                <string key="NSKeyEquiv"/>
    2016                                                 <int key="NSKeyEquivModMask">1048576</int>
    20172056                                                <int key="NSMnemonicLoc">2147483647</int>
    20182057                                                <reference key="NSOnImage" ref="322614661"/>
     
    49745013                                        <int key="connectionID">3213</int>
    49755014                                </object>
     5015                                <object class="IBConnectionRecord">
     5016                                        <object class="IBActionConnection" key="connection">
     5017                                                <string key="label">copyMagnetLinks:</string>
     5018                                                <reference key="source" ref="30116300"/>
     5019                                                <reference key="destination" ref="850390185"/>
     5020                                        </object>
     5021                                        <int key="connectionID">3217</int>
     5022                                </object>
     5023                                <object class="IBConnectionRecord">
     5024                                        <object class="IBActionConnection" key="connection">
     5025                                                <string key="label">copyMagnetLinks:</string>
     5026                                                <reference key="source" ref="30116300"/>
     5027                                                <reference key="destination" ref="24108443"/>
     5028                                        </object>
     5029                                        <int key="connectionID">3219</int>
     5030                                </object>
    49765031                        </object>
    49775032                        <object class="IBMutableOrderedSet" key="objectRecords">
     
    51825237                                                        <reference ref="711840500"/>
    51835238                                                        <reference ref="439865608"/>
    5184                                                         <reference ref="500522949"/>
    51855239                                                        <reference ref="690856088"/>
    51865240                                                        <reference ref="1043081358"/>
    51875241                                                        <reference ref="414623283"/>
    51885242                                                        <reference ref="765429693"/>
     5243                                                        <reference ref="500522949"/>
     5244                                                        <reference ref="7348933"/>
     5245                                                        <reference ref="850390185"/>
    51895246                                                </object>
    51905247                                                <reference key="parent" ref="5799201"/>
     
    57875844                                                        <reference ref="274991158"/>
    57885845                                                        <reference ref="612287796"/>
     5846                                                        <reference ref="24108443"/>
    57895847                                                        <reference ref="922629505"/>
     5848                                                        <reference ref="143702072"/>
    57905849                                                </object>
    57915850                                                <reference key="parent" ref="0"/>
     
    70087067                                                <reference key="object" ref="461235918"/>
    70097068                                                <reference key="parent" ref="152009435"/>
     7069                                        </object>
     7070                                        <object class="IBObjectRecord">
     7071                                                <int key="objectID">3215</int>
     7072                                                <reference key="object" ref="7348933"/>
     7073                                                <reference key="parent" ref="455126894"/>
     7074                                        </object>
     7075                                        <object class="IBObjectRecord">
     7076                                                <int key="objectID">3216</int>
     7077                                                <reference key="object" ref="850390185"/>
     7078                                                <reference key="parent" ref="455126894"/>
     7079                                        </object>
     7080                                        <object class="IBObjectRecord">
     7081                                                <int key="objectID">3218</int>
     7082                                                <reference key="object" ref="24108443"/>
     7083                                                <reference key="parent" ref="434296936"/>
     7084                                        </object>
     7085                                        <object class="IBObjectRecord">
     7086                                                <int key="objectID">3220</int>
     7087                                                <reference key="object" ref="143702072"/>
     7088                                                <reference key="parent" ref="434296936"/>
    70107089                                        </object>
    70117090                                </object>
     
    75647643                                        <string>3212.IBPluginDependency</string>
    75657644                                        <string>3212.ImportedFromIB2</string>
     7645                                        <string>3215.IBPluginDependency</string>
     7646                                        <string>3215.ImportedFromIB2</string>
     7647                                        <string>3216.IBPluginDependency</string>
     7648                                        <string>3218.IBPluginDependency</string>
     7649                                        <string>3220.IBPluginDependency</string>
     7650                                        <string>3220.ImportedFromIB2</string>
    75667651                                        <string>418.IBPluginDependency</string>
    75677652                                        <string>418.ImportedFromIB2</string>
     
    79668051                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
    79678052                                        <integer value="1"/>
    7968                                         <string>{{350, 492}, {468, 196}}</string>
    7969                                         <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
    7970                                         <string>{{350, 492}, {468, 196}}</string>
     8053                                        <string>{{178, 675}, {468, 196}}</string>
     8054                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
     8055                                        <string>{{178, 675}, {468, 196}}</string>
    79718056                                        <integer value="1"/>
    79728057                                        <string>{{52, 684}, {468, 196}}</string>
     
    81708255                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
    81718256                                        <integer value="1"/>
    8172                                         <string>{{586, 272}, {274, 283}}</string>
     8257                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
     8258                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
     8259                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
     8260                                        <integer value="1"/>
     8261                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
     8262                                        <integer value="1"/>
     8263                                        <string>{{586, 242}, {291, 313}}</string>
    81738264                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
    81748265                                        <integer value="1"/>
     
    82128303                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
    82138304                                        <integer value="1"/>
    8214                                         <string>{{501, 668}, {291, 213}}</string>
     8305                                        <string>{{501, 638}, {302, 243}}</string>
    82158306                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
    82168307                                        <integer value="1"/>
     
    82388329                        </object>
    82398330                        <nil key="sourceID"/>
    8240                         <int key="maxID">3214</int>
     8331                        <int key="maxID">3220</int>
    82418332                </object>
    82428333                <object class="IBClassDescriber" key="IBDocument.Classes">
     
    82538344                                                        <string>announceSelectedTorrents:</string>
    82548345                                                        <string>applyFilter:</string>
     8346                                                        <string>copyMagnetLinks:</string>
    82558347                                                        <string>copyTorrentFiles:</string>
    82568348                                                        <string>createFile:</string>
     
    83618453                                                        <string>id</string>
    83628454                                                        <string>id</string>
     8455                                                        <string>id</string>
    83638456                                                </object>
    83648457                                        </object>
Note: See TracChangeset for help on using the changeset viewer.