Changeset 6221


Ignore:
Timestamp:
Jun 18, 2008, 4:25:30 PM (14 years ago)
Author:
livings124
Message:

#562 display an error message when opening broken torrent file

Location:
trunk/macosx
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/macosx/Controller.h

    r6021 r6221  
    124124- (void) openShowSheet:         (id) sender;
    125125
     126- (void) invalidOpenAlert: (NSString *) filename;
    126127- (void) duplicateOpenAlert: (NSString *) name;
    127128
  • trunk/macosx/Controller.m

    r6197 r6221  
    770770        tr_ctor * ctor = tr_ctorNew(fLib);
    771771        tr_ctorSetMetainfoFromFile(ctor, [torrentPath UTF8String]);
    772         if (tr_torrentParse(fLib, ctor, &info) == TR_EDUPLICATE)
    773         {
    774             [self duplicateOpenAlert: [NSString stringWithUTF8String: info.name]];
     772        int result = tr_torrentParse(fLib, ctor, &info);
     773        if (result != TR_OK)
     774        {
     775            if (result == TR_EDUPLICATE)
     776                [self duplicateOpenAlert: [NSString stringWithUTF8String: info.name]];
     777            else if (result == TR_EINVALID)
     778            {
     779                if (type != ADD_AUTO)
     780                    [self invalidOpenAlert: [torrentPath lastPathComponent]];
     781            }
     782            else //this shouldn't happen
     783                NSLog(@"Unknown error when attempting to open \"%@\"", torrentPath);
     784           
    775785            tr_ctorFree(ctor);
    776786            tr_metainfoFree(&info);
    777787            continue;
    778788        }
     789       
    779790        tr_ctorFree(ctor);
    780791       
     
    914925        [self performSelectorOnMainThread: @selector(openFilesWithDict:) withObject: dictionary waitUntilDone: NO];
    915926    }
     927}
     928
     929- (void) invalidOpenAlert: (NSString *) filename
     930{
     931    if (![fDefaults boolForKey: @"WarningInvalidOpen"])
     932        return;
     933   
     934    NSAlert * alert = [[NSAlert alloc] init];
     935    [alert setMessageText: [NSString stringWithFormat: NSLocalizedString(@"\"%@\" is not a valid torrent file.",
     936                            "Open invalid alert -> title"), filename]];
     937    [alert setInformativeText:
     938            NSLocalizedString(@"The torrent file cannot be opened because it contains invalid data.",
     939                            "Open invalid alert -> message")];
     940    [alert setAlertStyle: NSWarningAlertStyle];
     941    [alert addButtonWithTitle: NSLocalizedString(@"OK", "Open invalid alert -> button")];
     942   
     943    BOOL onLeopard = [NSApp isOnLeopardOrBetter];
     944    if (onLeopard)
     945        [alert setShowsSuppressionButton: YES];
     946    else
     947        [alert addButtonWithTitle: NSLocalizedString(@"Don't Alert Again", "Open duplicate alert -> button")];
     948   
     949    NSInteger result = [alert runModal];
     950    if ((onLeopard ? [[alert suppressionButton] state] == NSOnState : result == NSAlertSecondButtonReturn))
     951        [fDefaults setBool: NO forKey: @"WarningInvalidOpen"];
     952    [alert release];
    916953}
    917954
     
    14511488                //set rates
    14521489                float downloadRate, uploadRate;
    1453                 tr_sessionGetSpeed(fLib, & downloadRate, & uploadRate);
     1490                tr_sessionGetSpeed(fLib, &downloadRate, &uploadRate);
    14541491               
    14551492                [fTotalDLField setStringValue: [NSString stringForSpeed: downloadRate]];
     
    14671504                        tr_sessionGetStats(fLib, &stats);
    14681505                   
    1469                     statusString = [NSString stringWithFormat: @"%@: %@", NSLocalizedString(@"Ratio", "status bar -> status label"),
     1506                    statusString = [NSLocalizedString(@"Ratio", "status bar -> status label") stringByAppendingFormat: @": %@",
    14701507                                    [NSString stringForRatio: stats.ratio]];
    14711508                }
  • trunk/macosx/CreatorWindowController.m

    r6057 r6221  
    194194        tr_metaInfoBuilderFree(fInfo);
    195195   
    196     if (fTimer)
    197         [fTimer invalidate];
     196    [fTimer invalidate];
    198197   
    199198    [super dealloc];
  • trunk/macosx/Defaults.plist

    r6178 r6221  
    173173        <key>WarningFolderDataSameName</key>
    174174        <true/>
     175        <key>WarningInvalidOpen</key>
     176        <true/>
    175177        <key>WarningRemainingSpace</key>
    176178        <true/>
  • trunk/macosx/English.lproj/PrefsWindow.xib

    r6220 r6221  
    99                <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
    1010                        <bool key="EncodedWithXMLCoder">YES</bool>
    11                         <integer value="1481"/>
     11                        <integer value="41"/>
    1212                </object>
    1313                <object class="NSArray" key="IBDocument.PluginDependencies">
     
    360360                        </object>
    361361                        <object class="NSCustomView" id="314557528">
    362                                 <nil key="NSNextResponder"/>
     362                                <reference key="NSNextResponder"/>
    363363                                <int key="NSvFlags">256</int>
    364364                                <object class="NSMutableArray" key="NSSubviews">
     
    373373                                                        <object class="NSTabViewItem" id="73412354">
    374374                                                                <object class="NSView" key="NSView" id="833882848">
    375                                                                         <nil key="NSNextResponder"/>
     375                                                                        <reference key="NSNextResponder" ref="463462813"/>
    376376                                                                        <int key="NSvFlags">256</int>
    377377                                                                        <object class="NSMutableArray" key="NSSubviews">
     
    844844                                                                        </object>
    845845                                                                        <string key="NSFrame">{{10, 33}, {489, 226}}</string>
     846                                                                        <reference key="NSSuperview" ref="463462813"/>
    846847                                                                </object>
    847848                                                                <string key="NSLabel">Adding</string>
     
    851852                                                        <object class="NSTabViewItem" id="298493360">
    852853                                                                <object class="NSView" key="NSView" id="159788047">
    853                                                                         <reference key="NSNextResponder" ref="463462813"/>
     854                                                                        <nil key="NSNextResponder"/>
    854855                                                                        <int key="NSvFlags">256</int>
    855856                                                                        <object class="NSMutableArray" key="NSSubviews">
     
    14951496                                                                        </object>
    14961497                                                                        <string key="NSFrame">{{10, 33}, {489, 226}}</string>
    1497                                                                         <reference key="NSSuperview" ref="463462813"/>
    14981498                                                                </object>
    14991499                                                                <string key="NSLabel">Management</string>
     
    15021502                                                        </object>
    15031503                                                </object>
    1504                                                 <reference key="NSSelectedTabViewItem" ref="298493360"/>
     1504                                                <reference key="NSSelectedTabViewItem" ref="73412354"/>
    15051505                                                <reference key="NSFont" ref="86725571"/>
    15061506                                                <int key="NSTvFlags">0</int>
     
    15091509                                                <object class="NSMutableArray" key="NSSubviews">
    15101510                                                        <bool key="EncodedWithXMLCoder">YES</bool>
    1511                                                         <reference ref="159788047"/>
     1511                                                        <reference ref="833882848"/>
    15121512                                                </object>
    15131513                                        </object>
    15141514                                </object>
    15151515                                <string key="NSFrameSize">{535, 288}</string>
     1516                                <reference key="NSSuperview"/>
    15161517                                <string key="NSClassName">NSView</string>
    15171518                                <string key="NSExtension">NSResponder</string>
     
    30263027                        </object>
    30273028                        <object class="NSCustomView" id="810116101">
    3028                                 <reference key="NSNextResponder"/>
     3029                                <nil key="NSNextResponder"/>
    30293030                                <int key="NSvFlags">256</int>
    30303031                                <object class="NSMutableArray" key="NSSubviews">
     
    31913192                                                <reference key="NSNextResponder" ref="810116101"/>
    31923193                                                <int key="NSvFlags">256</int>
    3193                                                 <string key="NSFrame">{{99, 351}, {342, 14}}</string>
     3194                                                <string key="NSFrame">{{99, 351}, {285, 14}}</string>
    31943195                                                <reference key="NSSuperview" ref="810116101"/>
    31953196                                                <bool key="NSEnabled">YES</bool>
     
    31973198                                                        <int key="NSCellFlags">67239424</int>
    31983199                                                        <int key="NSCellFlags2">272760832</int>
    3199                                                         <string key="NSContents">This will allow requests from transmission-remote, etc.</string>
     3200                                                        <string key="NSContents">This allows requests from transmission-remote, etc.</string>
    32003201                                                        <reference key="NSSupport" ref="26"/>
    32013202                                                        <reference key="NSControlView" ref="535988411"/>
     
    33943395                                                                <string key="NSFrame">{{1, 17}, {332, 95}}</string>
    33953396                                                                <reference key="NSSuperview" ref="122119447"/>
    3396                                                                 <reference key="NSNextKeyView" ref="173651346"/>
    33973397                                                                <reference key="NSDocView" ref="173651346"/>
    33983398                                                                <reference key="NSBGColor" ref="729660797"/>
     
    34273427                                                                <string key="NSFrame">{{1, 0}, {332, 17}}</string>
    34283428                                                                <reference key="NSSuperview" ref="122119447"/>
    3429                                                                 <reference key="NSNextKeyView" ref="520862816"/>
    34303429                                                                <reference key="NSDocView" ref="520862816"/>
    34313430                                                                <reference key="NSBGColor" ref="729660797"/>
     
    34363435                                                <string key="NSFrame">{{102, 63}, {349, 113}}</string>
    34373436                                                <reference key="NSSuperview" ref="810116101"/>
    3438                                                 <reference key="NSNextKeyView" ref="206862330"/>
    34393437                                                <int key="NSsFlags">18</int>
    34403438                                                <reference key="NSVScroller" ref="220703981"/>
     
    35383536                                </object>
    35393537                                <string key="NSFrameSize">{535, 403}</string>
    3540                                 <reference key="NSSuperview"/>
    35413538                                <string key="NSClassName">NSView</string>
    35423539                                <string key="NSExtension">NSResponder</string>
  • trunk/macosx/PrefsController.m

    r6215 r6221  
    583583    [fDefaults setBool: YES forKey: @"WarningCreatorBlankAddress"];
    584584    [fDefaults setBool: YES forKey: @"WarningRemoveBuiltInTracker"];
     585    [fDefaults setBool: YES forKey: @"WarningInvalidOpen"];
    585586}
    586587
  • trunk/macosx/TorrentTableView.m

    r6215 r6221  
    3939#define GROUP_RATIO_IMAGE_COLUMN_WIDTH 10.0
    4040
     41#define TOGGLE_PROGRESS_SECONDS 0.175
     42
    4143@interface TorrentTableView (Private)
    4244
     
    851853        [progressMarks addObject: [NSNumber numberWithFloat: i]];
    852854   
    853     fPiecesBarAnimation = [[NSAnimation alloc] initWithDuration: 0.25 animationCurve: NSAnimationEaseIn];
     855    fPiecesBarAnimation = [[NSAnimation alloc] initWithDuration: TOGGLE_PROGRESS_SECONDS animationCurve: NSAnimationEaseIn];
    854856    [fPiecesBarAnimation setAnimationBlockingMode: NSAnimationNonblocking];
    855857    [fPiecesBarAnimation setProgressMarks: progressMarks];
Note: See TracChangeset for help on using the changeset viewer.