Changeset 4874


Ignore:
Timestamp:
Jan 31, 2008, 12:40:37 AM (14 years ago)
Author:
livings124
Message:

layout changes to the sorting code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/macosx/Controller.m

    r4873 r4874  
    16691669    if ([sortType isEqualToString: SORT_ORDER])
    16701670        descriptors = [[NSArray alloc] initWithObjects: orderDescriptor, nil];
     1671    else if ([sortType isEqualToString: SORT_NAME])
     1672    {
     1673        NSSortDescriptor * nameDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"name" ascending: asc
     1674                                                selector: @selector(caseInsensitiveCompare:)] autorelease];
     1675       
     1676        descriptors = [[NSArray alloc] initWithObjects: nameDescriptor, orderDescriptor, nil];
     1677    }
     1678    else if ([sortType isEqualToString: SORT_STATE])
     1679    {
     1680        NSSortDescriptor * nameDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"name" ascending: asc
     1681                                                selector: @selector(caseInsensitiveCompare:)] autorelease],
     1682                        * stateDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"stateSortKey" ascending: !asc] autorelease],
     1683                        * progressDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"progress" ascending: !asc] autorelease],
     1684                        * ratioDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"ratio" ascending: !asc] autorelease];
     1685       
     1686        descriptors = [[NSArray alloc] initWithObjects: stateDescriptor, progressDescriptor, ratioDescriptor,
     1687                                                            nameDescriptor, orderDescriptor, nil];
     1688    }
     1689    else if ([sortType isEqualToString: SORT_PROGRESS])
     1690    {
     1691        NSSortDescriptor * nameDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"name" ascending: asc
     1692                                                selector: @selector(caseInsensitiveCompare:)] autorelease],
     1693                        * progressDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"progress" ascending: asc] autorelease],
     1694                        * ratioProgressDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"progressStopRatio"
     1695                                                        ascending: asc] autorelease],
     1696                        * ratioDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"ratio" ascending: asc] autorelease];
     1697       
     1698        descriptors = [[NSArray alloc] initWithObjects: progressDescriptor, ratioProgressDescriptor, ratioDescriptor,
     1699                                                            nameDescriptor, orderDescriptor, nil];
     1700    }
     1701    else if ([sortType isEqualToString: SORT_TRACKER])
     1702    {
     1703        NSSortDescriptor * nameDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"name" ascending: asc
     1704                                                selector: @selector(caseInsensitiveCompare:)] autorelease],
     1705                        * trackerDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"trackerAddress" ascending: asc
     1706                                                selector: @selector(caseInsensitiveCompare:)] autorelease];
     1707       
     1708        descriptors = [[NSArray alloc] initWithObjects: trackerDescriptor, nameDescriptor, orderDescriptor, nil];
     1709    }
     1710    else if ([sortType isEqualToString: SORT_ACTIVITY])
     1711    {
     1712        NSSortDescriptor * rateDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"totalRate" ascending: !asc] autorelease];
     1713        NSSortDescriptor * activityDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"dateActivityOrAdd" ascending: !asc]
     1714                                                    autorelease];
     1715       
     1716        descriptors = [[NSArray alloc] initWithObjects: rateDescriptor, activityDescriptor, orderDescriptor, nil];
     1717    }
    16711718    else
    16721719    {
    1673         if ([sortType isEqualToString: SORT_NAME])
    1674         {
    1675             NSSortDescriptor * nameDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"name" ascending: asc
    1676                                                     selector: @selector(caseInsensitiveCompare:)] autorelease];
    1677            
    1678             descriptors = [[NSArray alloc] initWithObjects: nameDescriptor, orderDescriptor, nil];
    1679         }
    1680         else if ([sortType isEqualToString: SORT_STATE])
    1681         {
    1682             NSSortDescriptor * nameDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"name" ascending: asc
    1683                                                     selector: @selector(caseInsensitiveCompare:)] autorelease],
    1684                             * stateDescriptor = [[[NSSortDescriptor alloc] initWithKey:
    1685                                                     @"stateSortKey" ascending: !asc] autorelease],
    1686                             * progressDescriptor = [[[NSSortDescriptor alloc] initWithKey:
    1687                                                 @"progress" ascending: !asc] autorelease],
    1688                             * ratioDescriptor = [[[NSSortDescriptor alloc] initWithKey:
    1689                                                 @"ratio" ascending: !asc] autorelease];
    1690            
    1691             descriptors = [[NSArray alloc] initWithObjects: stateDescriptor, progressDescriptor, ratioDescriptor,
    1692                                                                 nameDescriptor, orderDescriptor, nil];
    1693         }
    1694         else if ([sortType isEqualToString: SORT_PROGRESS])
    1695         {
    1696             NSSortDescriptor * nameDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"name" ascending: asc
    1697                                                     selector: @selector(caseInsensitiveCompare:)] autorelease],
    1698                             * progressDescriptor = [[[NSSortDescriptor alloc] initWithKey:
    1699                                                 @"progress" ascending: asc] autorelease],
    1700                             * ratioProgressDescriptor = [[[NSSortDescriptor alloc] initWithKey:
    1701                                                 @"progressStopRatio" ascending: asc] autorelease],
    1702                             * ratioDescriptor = [[[NSSortDescriptor alloc] initWithKey:
    1703                                                 @"ratio" ascending: asc] autorelease];
    1704            
    1705             descriptors = [[NSArray alloc] initWithObjects: progressDescriptor, ratioProgressDescriptor, ratioDescriptor,
    1706                                                                 nameDescriptor, orderDescriptor, nil];
    1707         }
    1708         else if ([sortType isEqualToString: SORT_TRACKER])
    1709         {
    1710             NSSortDescriptor * nameDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"name" ascending: asc
    1711                                                     selector: @selector(caseInsensitiveCompare:)] autorelease],
    1712                             * trackerDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"trackerAddress"
    1713                                                     ascending: asc selector: @selector(caseInsensitiveCompare:)] autorelease];
    1714            
    1715             descriptors = [[NSArray alloc] initWithObjects: trackerDescriptor, nameDescriptor, orderDescriptor, nil];
    1716         }
    1717         else if ([sortType isEqualToString: SORT_ACTIVITY])
    1718         {
    1719             NSSortDescriptor * rateDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"totalRate" ascending: !asc]
    1720                                                         autorelease];
    1721             NSSortDescriptor * activityDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"dateActivityOrAdd" ascending: !asc]
    1722                                                         autorelease];
    1723            
    1724             descriptors = [[NSArray alloc] initWithObjects: rateDescriptor, activityDescriptor, orderDescriptor, nil];
    1725         }
    1726         else
    1727         {
    1728             NSSortDescriptor * dateDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"dateAdded" ascending: asc] autorelease];
    1729        
    1730             descriptors = [[NSArray alloc] initWithObjects: dateDescriptor, orderDescriptor, nil];
    1731         }
    1732        
    1733         if (![NSApp isOnLeopardOrBetter] && [fDefaults boolForKey: @"SortByGroup"])
    1734         {
    1735             NSSortDescriptor * groupDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"groupOrderValue"
    1736                                                     ascending: YES] autorelease];
    1737            
    1738             NSMutableArray * temp = [[NSMutableArray alloc] initWithCapacity: [descriptors count]+1];
    1739             [temp addObject: groupDescriptor];
    1740             [temp addObjectsFromArray: descriptors];
    1741            
    1742             [descriptors release];
    1743             descriptors = temp;
    1744         }
     1720        NSSortDescriptor * dateDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"dateAdded" ascending: asc] autorelease];
     1721   
     1722        descriptors = [[NSArray alloc] initWithObjects: dateDescriptor, orderDescriptor, nil];
     1723    }
     1724   
     1725    //on Tiger add the group sort descriptor to the front
     1726    if (![NSApp isOnLeopardOrBetter] && [fDefaults boolForKey: @"SortByGroup"])
     1727    {
     1728        NSSortDescriptor * groupDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"groupOrderValue" ascending: YES] autorelease];
     1729       
     1730        NSMutableArray * temp = [[NSMutableArray alloc] initWithCapacity: [descriptors count]+1];
     1731        [temp addObject: groupDescriptor];
     1732        [temp addObjectsFromArray: descriptors];
     1733       
     1734        [descriptors release];
     1735        descriptors = temp;
    17451736    }
    17461737   
Note: See TracChangeset for help on using the changeset viewer.