Changeset 3560


Ignore:
Timestamp:
Oct 25, 2007, 8:14:24 PM (14 years ago)
Author:
livings124
Message:

filtering by a search string for tracker now checks all trackers in the announce-list

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/macosx/Controller.m

    r3504 r3560  
    18531853        filtering = YES;
    18541854       
    1855         #warning check multiple trackers
    18561855        NSString * filterType = [fDefaults stringForKey: @"FilterSearchType"];
    1857         NSString * fullString;
    18581856        Torrent * torrent;
     1857        BOOL filterTracker = [filterType isEqualToString: FILTER_TYPE_TRACKER], remove;
    18591858       
    18601859        int i;
     
    18621861        {
    18631862            torrent = [tempTorrents objectAtIndex: i];
    1864             if ([filterType isEqualToString: FILTER_TYPE_TRACKER])
    1865                 fullString = [torrent trackerAddress];
     1863            remove = NO;
     1864           
     1865            if (filterTracker)
     1866            {
     1867                NSEnumerator * trackerEnumerator = [[torrent allTrackers] objectEnumerator], * subTrackerEnumerator;
     1868                NSArray * subTrackers;
     1869                NSString * tracker;
     1870                while (!remove && (subTrackers = [trackerEnumerator nextObject]))
     1871                {
     1872                    subTrackerEnumerator = [subTrackers objectEnumerator];
     1873                    while ((tracker = [subTrackerEnumerator nextObject]))
     1874                    {
     1875                        if ([tracker rangeOfString: searchString options: NSCaseInsensitiveSearch].location == NSNotFound)
     1876                        {
     1877                            remove = YES;
     1878                            break;
     1879                        }
     1880                    }
     1881                }
     1882            }
    18661883            else
    1867                 fullString = [torrent name];
     1884                remove = [[torrent name] rangeOfString: searchString options: NSCaseInsensitiveSearch].location == NSNotFound;
    18681885           
    1869             if ([fullString rangeOfString: searchString options: NSCaseInsensitiveSearch].location == NSNotFound)
     1886            if (remove)
    18701887                [tempTorrents removeObjectAtIndex: i];
    18711888        }
Note: See TracChangeset for help on using the changeset viewer.