Changeset 244


Ignore:
Timestamp:
Apr 25, 2006, 4:31:19 PM (16 years ago)
Author:
titer
Message:

Saves in history the date at which the torrent was loaded

Location:
trunk/macosx
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/macosx/Controller.m

    r234 r244  
    110110
    111111    NSString * torrentPath, * downloadFolder, * paused;
     112    NSDate * date;
    112113    NSDictionary * dic;
    113114
     
    123124            continue;
    124125
    125         torrent = [[Torrent alloc] initWithPath: torrentPath lib: fLib];
     126        if ((date = [dic objectForKey: @"Date"]))
     127            torrent = [[Torrent alloc] initWithPath: torrentPath lib: fLib date: date];
     128        else
     129            torrent = [[Torrent alloc] initWithPath: torrentPath lib: fLib];
     130           
    126131        if( !torrent )
    127132            continue;
     
    405410{
    406411    [self resumeTorrentWithIndex: [NSIndexSet indexSetWithIndexesInRange:
    407                                                                         NSMakeRange(0, [fTorrents count])]];
     412                                    NSMakeRange(0, [fTorrents count])]];
    408413}
    409414
    410415- (void) resumeTorrentWithIndex: (NSIndexSet *) indexSet
    411416{
    412         Torrent * torrent;
     417    Torrent * torrent;
    413418    unsigned int i;
    414        
     419   
    415420    for (i = [indexSet firstIndex]; i != NSNotFound; i = [indexSet indexGreaterThanIndex: i])
    416         {
    417                 torrent = [fTorrents objectAtIndex: i];
    418                 [torrent start];
    419         }
    420        
     421    {
     422        torrent = [fTorrents objectAtIndex: i];
     423        [torrent start];
     424    }
     425   
    421426    [self updateUI: nil];
    422427    [self updateTorrentHistory];
     
    431436{
    432437    [self stopTorrentWithIndex: [NSIndexSet indexSetWithIndexesInRange:
    433                                                                         NSMakeRange(0, [fTorrents count])]];
     438                                    NSMakeRange(0, [fTorrents count])]];
    434439}
    435440
    436441- (void) stopTorrentWithIndex: (NSIndexSet *) indexSet
    437442{
    438         Torrent * torrent;
     443    Torrent * torrent;
    439444    unsigned int i;
    440        
     445   
    441446    for (i = [indexSet firstIndex]; i != NSNotFound; i = [indexSet indexGreaterThanIndex: i])
    442         {
    443                 torrent = [fTorrents objectAtIndex: i];
    444                 [torrent stop];
    445         }
    446        
     447    {
     448        torrent = [fTorrents objectAtIndex: i];
     449        [torrent stop];
     450    }
     451   
    447452    [self updateUI: nil];
    448453    [self updateTorrentHistory];
     
    453458                     deleteData: (BOOL) deleteData
    454459{
    455         int active = 0;
     460    int active = 0;
    456461    unsigned int i;
    457462    for (i = [indexSet firstIndex]; i != NSNotFound; i = [indexSet indexGreaterThanIndex: i])
    458                 if ([[fTorrents objectAtIndex: i] isActive])
    459                         active++;
     463        if ([[fTorrents objectAtIndex: i] isActive])
     464            active++;
    460465
    461466    if( active > 0 && [fDefaults boolForKey: @"CheckRemove"] )
     
    468473        [dict retain];
    469474
    470                 NSString * title, * message;
    471                
    472                 int selected = [fTableView numberOfSelectedRows];
    473                 if (selected == 1)
    474                 {
    475                         title = [NSString stringWithFormat: @"Comfirm Removal of %@",
    476                                                 [[fTorrents objectAtIndex: [fTableView selectedRow]] name]];
    477                         message = @"This torrent is active. Do you really want to remove it?";
    478                 }
    479                 else
    480                 {
    481                         title = [NSString stringWithFormat: @"Comfirm Removal of %d Torrents", active];
    482                         if (selected == active)
    483                                 message = [NSString stringWithFormat:
    484                                         @"There are %d active torrents. Do you really want to remove them?", active];
    485                         else
    486                                 message = [NSString stringWithFormat:
    487                                         @"There are %d torrents (%d active). Do you really want to remove them?", selected, active];
    488                 }
     475        NSString * title, * message;
     476       
     477        int selected = [fTableView numberOfSelectedRows];
     478        if (selected == 1)
     479        {
     480            title = [NSString stringWithFormat: @"Comfirm Removal of %@",
     481                        [[fTorrents objectAtIndex: [fTableView selectedRow]] name]];
     482            message = @"This torrent is active. Do you really want to remove it?";
     483        }
     484        else
     485        {
     486            title = [NSString stringWithFormat: @"Comfirm Removal of %d Torrents", active];
     487            if (selected == active)
     488                message = [NSString stringWithFormat:
     489                    @"There are %d active torrents. Do you really want to remove them?", active];
     490            else
     491                message = [NSString stringWithFormat:
     492                    @"There are %d torrents (%d active). Do you really want to remove them?", selected, active];
     493        }
    489494
    490495        NSBeginAlertSheet(title,
    491496            @"Remove", @"Cancel", nil, fWindow, self,
    492497            @selector(removeSheetDidEnd:returnCode:contextInfo:),
    493                         nil, dict, message);
     498            nil, dict, message);
    494499    }
    495500    else
     
    521526{
    522527    Torrent * torrent;
    523         unsigned int i;
    524        
     528    unsigned int i;
     529   
    525530    for (i = [indexSet lastIndex]; i != NSNotFound; i = [indexSet indexLessThanIndex: i])
    526         {
    527                 torrent = [fTorrents objectAtIndex: i];
    528        
    529                 [torrent stop];
    530 
    531                 if( deleteData )
    532                         [torrent trashData];
    533                        
    534                 if( deleteTorrent )
    535                         [torrent trashTorrent];
    536                
    537                 [fTorrents removeObject: torrent];
    538                 [torrent release];
    539         }
     531    {
     532        torrent = [fTorrents objectAtIndex: i];
     533   
     534        [torrent stop];
     535
     536        if( deleteData )
     537            [torrent trashData];
     538           
     539        if( deleteTorrent )
     540            [torrent trashTorrent];
     541       
     542        [fTorrents removeObject: torrent];
     543        [torrent release];
     544    }
    540545
    541546    [self updateUI: nil];
     
    577582- (void) updateInfoPanel
    578583{
    579         int numberSelected = [fTableView numberOfSelectedRows];
     584    int numberSelected = [fTableView numberOfSelectedRows];
    580585    if( numberSelected != 1 )
    581586    {
    582587        [fInfoImageView setImage: fAppIcon];
    583                
     588       
    584589        [fInfoName setStringValue: numberSelected == 0
    585                                 ? @"No Torrent Selected"
    586                                 : [[NSString stringWithInt: numberSelected]
    587                                         stringByAppendingString: @" Torrents Selected"]];
    588                                        
     590                ? @"No Torrent Selected"
     591                : [[NSString stringWithInt: numberSelected]
     592                    stringByAppendingString: @" Torrents Selected"]];
     593                   
    589594        [fInfoSize setStringValue: @""];
    590595        [fInfoTracker setStringValue: @""];
     
    600605        return;
    601606    }
    602        
    603         int row = [fTableView selectedRow];
     607   
     608    int row = [fTableView selectedRow];
    604609
    605610    Torrent * torrent = [fTorrents objectAtIndex: row];
     
    680685            [torrent getFolder],                 @"DownloadFolder",
    681686            [torrent isActive] ? @"NO" : @"YES", @"Paused",
     687            [torrent date],                      @"Date",
    682688            nil]];
    683689    }
     
    703709
    704710    if( OSX_VERSION >= 10.3 && [fWindow isKeyWindow] &&
    705                                         [fTableView isRowSelected: rowIndex] )
     711                    [fTableView isRowSelected: rowIndex] )
    706712        [cell setTextColor: [NSColor whiteColor]];
    707713    else
     
    893899    if (action == @selector(resumeAllTorrents:))
    894900    {
    895                 Torrent * torrent;
     901        Torrent * torrent;
    896902        NSEnumerator * enumerator = [fTorrents objectEnumerator];
    897903        while( ( torrent = [enumerator nextObject] ) )
     
    923929        || action == @selector(removeTorrentDeleteBoth:))
    924930    {
    925                 BOOL active = NO;
    926                 Torrent * torrent;
    927                 NSIndexSet * indexSet = [fTableView selectedRowIndexes];
    928                 unsigned int i;
    929                
    930                 for (i = [indexSet firstIndex]; i != NSNotFound; i = [indexSet indexGreaterThanIndex: i])
    931                 {
    932                         torrent = [fTorrents objectAtIndex: i];
    933                         if ([torrent isActive])
    934                         {
    935                                 active = YES;
    936                                 break;
    937                         }
    938                 }
    939        
     931        BOOL active = NO;
     932        Torrent * torrent;
     933        NSIndexSet * indexSet = [fTableView selectedRowIndexes];
     934        unsigned int i;
     935       
     936        for (i = [indexSet firstIndex]; i != NSNotFound; i = [indexSet indexGreaterThanIndex: i])
     937        {
     938            torrent = [fTorrents objectAtIndex: i];
     939            if ([torrent isActive])
     940            {
     941                active = YES;
     942                break;
     943            }
     944        }
     945   
    940946        //append or remove ellipsis when needed
    941947        if( active && [fDefaults boolForKey: @"CheckRemove"] )
     
    955961    if( action == @selector(stopTorrent:) )
    956962    {
    957                 Torrent * torrent;
    958                 NSIndexSet * indexSet = [fTableView selectedRowIndexes];
    959                 unsigned int i;
    960                
    961                 for (i = [indexSet firstIndex]; i != NSNotFound; i = [indexSet indexGreaterThanIndex: i])
    962                 {
    963                         torrent = [fTorrents objectAtIndex: i];
    964                         if ([torrent isActive])
    965                                 return YES;
    966                 }
    967                 return NO;
    968         }
    969        
    970         //enable resume item
     963        Torrent * torrent;
     964        NSIndexSet * indexSet = [fTableView selectedRowIndexes];
     965        unsigned int i;
     966       
     967        for (i = [indexSet firstIndex]; i != NSNotFound; i = [indexSet indexGreaterThanIndex: i])
     968        {
     969            torrent = [fTorrents objectAtIndex: i];
     970            if ([torrent isActive])
     971                return YES;
     972        }
     973        return NO;
     974    }
     975   
     976    //enable resume item
    971977    if( action == @selector(resumeTorrent:) )
    972978    {
    973                 Torrent * torrent;
    974                 NSIndexSet * indexSet = [fTableView selectedRowIndexes];
    975                 unsigned int i;
    976                
    977                 for (i = [indexSet firstIndex]; i != NSNotFound; i = [indexSet indexGreaterThanIndex: i])
    978                 {
    979                         torrent = [fTorrents objectAtIndex: i];
    980                         if ([torrent isPaused])
    981                                 return YES;
    982                 }
    983                 return NO;
     979        Torrent * torrent;
     980        NSIndexSet * indexSet = [fTableView selectedRowIndexes];
     981        unsigned int i;
     982       
     983        for (i = [indexSet firstIndex]; i != NSNotFound; i = [indexSet indexGreaterThanIndex: i])
     984        {
     985            torrent = [fTorrents objectAtIndex: i];
     986            if ([torrent isPaused])
     987                return YES;
     988        }
     989        return NO;
    984990    }
    985991
  • trunk/macosx/Torrent.h

    r165 r244  
    3030    tr_info_t    * fInfo;
    3131    tr_stat_t    * fStat;
    32     BOOL           fResumeOnWake;
     32    BOOL         fResumeOnWake;
     33    NSDate       * fDate;
    3334
    3435    NSImage         * fIcon;
     
    4142
    4243- (id)         initWithPath: (NSString *) path lib: (tr_handle_t *) lib;
     44- (id)         initWithPath: (NSString *) path lib: (tr_handle_t *) lib
     45                        date: (NSDate *) date;
    4346- (void)       setFolder: (NSString *) path;
    4447- (NSString *) getFolder;
     
    7982- (uint64_t)   downloaded;
    8083- (uint64_t)   uploaded;
     84- (NSDate *)   date;
    8185
    8286@end
  • trunk/macosx/Torrent.m

    r235 r244  
    3434@implementation Torrent
    3535
    36 - (id) initWithPath: (NSString *) path lib: (tr_handle_t *) lib
     36- (id) initWithPath: (NSString *) path lib: (tr_handle_t *) lib date: (NSDate *) date
    3737{
    3838    fLib = lib;
     
    4646    }
    4747
     48    fDate = [date retain];
    4849    fInfo = tr_torrentInfo( fHandle );
    4950
     
    6566}
    6667
     68- (id) initWithPath: (NSString *) path lib: (tr_handle_t *) lib
     69{
     70    return [self initWithPath: path lib: lib date: [NSDate date]];
     71}
     72
    6773- (void) dealloc
    6874{
     
    7076    {
    7177        tr_torrentClose( fLib, fHandle );
     78        [fDate release];
    7279        [fIcon release];
     80        [fIconNonFlipped release];
    7381        [fStatusString release];
    7482        [fInfoString release];
     
    352360}
    353361
     362- (NSDate *) date
     363{
     364    return fDate;
     365}
     366
    354367@end
    355368
Note: See TracChangeset for help on using the changeset viewer.