Changeset 13140


Ignore:
Timestamp:
Jan 8, 2012, 12:51:05 AM (10 years ago)
Author:
livings124
Message:

When adding torrents, slide them in from the left

Location:
trunk/macosx
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/macosx/Controller.h

    r13139 r13140  
    104104    NSMutableDictionary             * fPendingTorrentDownloads;
    105105   
     106    NSMutableArray                  * fAddingTransfers;
     107   
    106108    BOOL                            fGlobalPopoverShown;
    107109    BOOL                            fSoundPlaying;
  • trunk/macosx/Controller.m

    r13139 r13140  
    690690    [fDisplayedTorrents release];
    691691   
     692    [fAddingTransfers release];
     693   
    692694    [fOverlayWindow release];
    693695    [fBadger release];
     
    884886            [fTorrents addObject: torrent];
    885887            [torrent release];
     888           
     889            if (!fAddingTransfers)
     890                fAddingTransfers = [[NSMutableArray alloc] init];
     891            [fAddingTransfers addObject: torrent];
    886892        }
    887893    }
     
    902908        [fTorrents addObject: torrent];
    903909        [torrent release];
     910       
     911        if (!fAddingTransfers)
     912            fAddingTransfers = [[NSMutableArray alloc] init];
     913        [fAddingTransfers addObject: torrent];
    904914       
    905915        [self fullUpdateUI];
     
    956966        [fTorrents addObject: torrent];
    957967        [torrent release];
     968       
     969        if (!fAddingTransfers)
     970            fAddingTransfers = [[NSMutableArray alloc] init];
     971        [fAddingTransfers addObject: torrent];
    958972    }
    959973
     
    973987        [fTorrents addObject: torrent];
    974988        [torrent release];
     989       
     990        if (!fAddingTransfers)
     991            fAddingTransfers = [[NSMutableArray alloc] init];
     992        [fAddingTransfers addObject: torrent];
    975993       
    976994        [self fullUpdateUI];
     
    22202238            if ([addIndexes count] > 0)
    22212239            {
     2240                //slide new torrents in differently
     2241                if (fAddingTransfers)
     2242                {
     2243                    NSIndexSet * newAddIndexes = [allTorrents indexesOfObjectsWithOptions: NSEnumerationConcurrent passingTest: ^BOOL(id obj, NSUInteger idx, BOOL * stop) {
     2244                        return [fAddingTransfers containsObject: obj];
     2245                    }];
     2246                   
     2247                    [addIndexes removeIndexes: newAddIndexes];
     2248                   
     2249                    [fDisplayedTorrents addObjectsFromArray: [allTorrents objectsAtIndexes: newAddIndexes]];
     2250                    if (onLion)
     2251                        [fTableView insertItemsAtIndexes: [NSIndexSet indexSetWithIndexesInRange: NSMakeRange([fDisplayedTorrents count] - [newAddIndexes count], [newAddIndexes count])] inParent: nil withAnimation: NSTableViewAnimationSlideLeft];
     2252                }
     2253               
    22222254                [fDisplayedTorrents addObjectsFromArray: [allTorrents objectsAtIndexes: addIndexes]];
    22232255                if (onLion)
     
    23522384            for (NSInteger indexInGroup = 0; indexInGroup < [[group torrents] count]; ++indexInGroup)
    23532385            {
    2354                 #warning indexOfObject:inSortedRange:options:usingComparator:?
    23552386                Torrent * torrent = [[group torrents] objectAtIndex: indexInGroup];
    23562387                const NSUInteger allIndex = [allTorrents indexOfObjectAtIndexes: unusedAllTorrentsIndexes options: NSEnumerationConcurrent passingTest: ^(id obj, NSUInteger idx, BOOL * stop) {
     
    24222453            [[group torrents] addObject: torrent];
    24232454            if (onLion)
    2424                 [fTableView insertItemsAtIndexes: [NSIndexSet indexSetWithIndex: [[group torrents] count]-1] inParent: group withAnimation: NSTableViewAnimationSlideDown];
     2455            {
     2456                const BOOL newTorrent = fAddingTransfers && [fAddingTransfers containsObject: torrent];
     2457                [fTableView insertItemsAtIndexes: [NSIndexSet indexSetWithIndex: [[group torrents] count]-1] inParent: group withAnimation: newTorrent ? NSTableViewAnimationSlideLeft : NSTableViewAnimationSlideDown];
     2458            }
    24252459        }
    24262460       
     
    24792513   
    24802514    [self setWindowSizeToFit];
     2515   
     2516    if (fAddingTransfers)
     2517    {
     2518        [fAddingTransfers release];
     2519        fAddingTransfers = nil;
     2520    }
    24812521}
    24822522
     
    45214561    [torrent release];
    45224562   
     4563    if (!fAddingTransfers)
     4564        fAddingTransfers = [[NSMutableArray alloc] init];
     4565    [fAddingTransfers addObject: torrent];
     4566   
    45234567    [self fullUpdateUI];
    45244568}
Note: See TracChangeset for help on using the changeset viewer.