Changeset 3750


Ignore:
Timestamp:
Nov 7, 2007, 5:02:43 AM (14 years ago)
Author:
livings124
Message:

keep track of sort menu item by using tag and validate methods instead of storing the current menu items

Location:
trunk/macosx
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/macosx/Controller.h

    r3745 r3750  
    6161    IBOutlet StatusBarView          * fStatusBar;
    6262    IBOutlet NSTextField            * fTotalDLField, * fTotalULField, * fTotalTorrentsField;
    63    
    64     IBOutlet NSMenuItem             * fNameSortItem, * fStateSortItem, * fProgressSortItem,
    65                                     * fTrackerSortItem, * fDateSortItem, * fOrderSortItem,
    66                                     * fNameSortActionItem, * fStateSortActionItem, * fProgressSortActionItem,
    67                                     * fTrackerSortActionItem, * fDateSortActionItem, * fOrderSortActionItem;
    6863   
    6964    IBOutlet StatusBarView          * fFilterBar;
  • trunk/macosx/Controller.m

    r3745 r3750  
    5959#define SORT_ORDER      @"Order"
    6060
     61typedef enum
     62{
     63    SORT_ORDER_TAG = 0,
     64    SORT_DATE_TAG = 1,
     65    SORT_NAME_TAG = 2,
     66    SORT_PROGRESS_TAG = 3,
     67    SORT_STATE_TAG = 4,
     68    SORT_TRACKER_TAG = 5
     69} sortTag;
     70
    6171#define FILTER_NONE     @"None"
    6272#define FILTER_DOWNLOAD @"Download"
     
    292302        [history release];
    293303    }
    294    
    295     //set sort
    296     #warning clean up
    297     NSString * sortType = [fDefaults stringForKey: @"Sort"];
    298    
    299     NSMenuItem * currentSortItem, * currentSortActionItem;
    300     if ([sortType isEqualToString: SORT_NAME])
    301     {
    302         currentSortItem = fNameSortItem;
    303         currentSortActionItem = fNameSortActionItem;
    304     }
    305     else if ([sortType isEqualToString: SORT_STATE])
    306     {
    307         currentSortItem = fStateSortItem;
    308         currentSortActionItem = fStateSortActionItem;
    309     }
    310     else if ([sortType isEqualToString: SORT_PROGRESS])
    311     {
    312         currentSortItem = fProgressSortItem;
    313         currentSortActionItem = fProgressSortActionItem;
    314     }
    315     else if ([sortType isEqualToString: SORT_TRACKER])
    316     {
    317         currentSortItem = fTrackerSortItem;
    318         currentSortActionItem = fTrackerSortActionItem;
    319     }
    320     else if ([sortType isEqualToString: SORT_ORDER])
    321     {
    322         currentSortItem = fOrderSortItem;
    323         currentSortActionItem = fOrderSortActionItem;
    324     }
    325     else
    326     {
    327         //safety
    328         if (![sortType isEqualToString: SORT_DATE])
    329             [fDefaults setObject: SORT_DATE forKey: @"Sort"];
    330         currentSortItem = fDateSortItem;
    331         currentSortActionItem = fDateSortActionItem;
    332     }
    333     [currentSortItem setState: NSOnState];
    334     [currentSortActionItem setState: NSOnState];
    335304   
    336305    //set filter
     
    17101679- (void) setSort: (id) sender
    17111680{
    1712     NSString * oldSortType = [fDefaults stringForKey: @"Sort"];
    1713    
    1714     //get checked items
    1715     NSMenuItem * prevSortItem, * prevSortActionItem;
    1716     if ([oldSortType isEqualToString: SORT_NAME])
    1717     {
    1718         prevSortItem = fNameSortItem;
    1719         prevSortActionItem = fNameSortActionItem;
    1720     }
    1721     else if ([oldSortType isEqualToString: SORT_STATE])
    1722     {
    1723         prevSortItem = fStateSortItem;
    1724         prevSortActionItem = fStateSortActionItem;
    1725     }
    1726     else if ([oldSortType isEqualToString: SORT_PROGRESS])
    1727     {
    1728         prevSortItem = fProgressSortItem;
    1729         prevSortActionItem = fProgressSortActionItem;
    1730     }
    1731     else if ([oldSortType isEqualToString: SORT_TRACKER])
    1732     {
    1733         prevSortItem = fTrackerSortItem;
    1734         prevSortActionItem = fTrackerSortActionItem;
    1735     }
    1736     else if ([oldSortType isEqualToString: SORT_ORDER])
    1737     {
    1738         prevSortItem = fOrderSortItem;
    1739         prevSortActionItem = fOrderSortActionItem;
    1740     }
    1741     else
    1742     {
    1743         prevSortItem = fDateSortItem;
    1744         prevSortActionItem = fDateSortActionItem;
    1745     }
    1746    
    1747     if (sender != prevSortItem && sender != prevSortActionItem)
    1748     {
    1749         //get new items to check
    1750         NSMenuItem * currentSortItem, * currentSortActionItem;
    1751         NSString * sortType;
    1752         if (sender == fNameSortItem || sender == fNameSortActionItem)
    1753         {
    1754             currentSortItem = fNameSortItem;
    1755             currentSortActionItem = fNameSortActionItem;
     1681    NSString * sortType;
     1682    switch ([sender tag])
     1683    {
     1684        case SORT_ORDER_TAG:
     1685            sortType = SORT_ORDER;
     1686            [fDefaults setBool: NO forKey: @"SortReverse"];
     1687            break;
     1688           
     1689        case SORT_DATE_TAG:
     1690            sortType = SORT_DATE;
     1691            break;
     1692       
     1693        case SORT_NAME_TAG:
    17561694            sortType = SORT_NAME;
    1757         }
    1758         else if (sender == fStateSortItem || sender == fStateSortActionItem)
    1759         {
    1760             currentSortItem = fStateSortItem;
    1761             currentSortActionItem = fStateSortActionItem;
     1695            break;
     1696       
     1697        case SORT_PROGRESS_TAG:
     1698            sortType = SORT_PROGRESS;
     1699            break;
     1700       
     1701        case SORT_STATE_TAG:
    17621702            sortType = SORT_STATE;
    1763         }
    1764         else if (sender == fProgressSortItem || sender == fProgressSortActionItem)
    1765         {
    1766             currentSortItem = fProgressSortItem;
    1767             currentSortActionItem = fProgressSortActionItem;
    1768             sortType = SORT_PROGRESS;
    1769         }
    1770         else if (sender == fTrackerSortItem || sender == fTrackerSortActionItem)
    1771         {
    1772             currentSortItem = fTrackerSortItem;
    1773             currentSortActionItem = fTrackerSortActionItem;
     1703            break;
     1704       
     1705        case SORT_TRACKER_TAG:
    17741706            sortType = SORT_TRACKER;
    1775         }
    1776         else if (sender == fOrderSortItem || sender == fOrderSortActionItem)
    1777         {
    1778             currentSortItem = fOrderSortItem;
    1779             currentSortActionItem = fOrderSortActionItem;
    1780             sortType = SORT_ORDER;
    1781            
    1782             [fDefaults setBool: NO forKey: @"SortReverse"];
    1783         }
    1784         else
    1785         {
    1786             currentSortItem = fDateSortItem;
    1787             currentSortActionItem = fDateSortActionItem;
    1788             sortType = SORT_DATE;
    1789         }
    1790        
    1791         [fDefaults setObject: sortType forKey: @"Sort"];
    1792    
    1793         [prevSortItem setState: NSOffState];
    1794         [prevSortActionItem setState: NSOffState];
    1795         [currentSortItem setState: NSOnState];
    1796         [currentSortActionItem setState: NSOnState];
    1797     }
    1798 
     1707            break;
     1708       
     1709        default:
     1710            return;
     1711    }
     1712   
     1713    [fDefaults setObject: sortType forKey: @"Sort"];
    17991714    [self sortTorrents];
    18001715}
     
    20021917}
    20031918
    2004 #warning improve
     1919#warning improve with matrix
    20051920- (void) switchFilter: (id) sender
    20061921{
     
    28592774    //enable sort options
    28602775    if (action == @selector(setSort:))
     2776    {
     2777        NSString * sortType;
     2778        switch ([menuItem tag])
     2779        {
     2780            case SORT_ORDER_TAG:
     2781                sortType = SORT_ORDER;
     2782                break;
     2783            case SORT_DATE_TAG:
     2784                sortType = SORT_DATE;
     2785                break;
     2786            case SORT_NAME_TAG:
     2787                sortType = SORT_NAME;
     2788                break;
     2789            case SORT_PROGRESS_TAG:
     2790                sortType = SORT_PROGRESS;
     2791                break;
     2792            case SORT_STATE_TAG:
     2793                sortType = SORT_STATE;
     2794                break;
     2795            case SORT_TRACKER_TAG:
     2796                sortType = SORT_TRACKER;
     2797                break;
     2798            default:
     2799                sortType = @"";
     2800        }
     2801       
     2802        [menuItem setState: [sortType isEqualToString: [fDefaults stringForKey: @"Sort"]] ? NSOnState : NSOffState];
    28612803        return [fWindow isVisible];
     2804    }
    28622805   
    28632806    if (action == @selector(toggleSmallView:))
  • trunk/macosx/English.lproj/MainMenu.nib/classes.nib

    r3745 r3750  
    146146                                <key>fActionButton</key>
    147147                                <string>NSButton</string>
    148                                 <key>fDateSortActionItem</key>
    149                                 <string>NSMenuItem</string>
    150                                 <key>fDateSortItem</key>
    151                                 <string>NSMenuItem</string>
    152148                                <key>fDockMenu</key>
    153149                                <string>NSMenu</string>
     
    162158                                <key>fFilterBar</key>
    163159                                <string>StatusBarView</string>
    164                                 <key>fNameSortActionItem</key>
    165                                 <string>NSMenuItem</string>
    166                                 <key>fNameSortItem</key>
    167                                 <string>NSMenuItem</string>
    168160                                <key>fNextFilterItem</key>
    169161                                <string>NSMenuItem</string>
     
    174166                                <key>fOpenIgnoreDownloadFolder</key>
    175167                                <string>NSMenuItem</string>
    176                                 <key>fOrderSortActionItem</key>
    177                                 <string>NSMenuItem</string>
    178                                 <key>fOrderSortItem</key>
    179                                 <string>NSMenuItem</string>
    180168                                <key>fPauseFilterButton</key>
    181169                                <string>NSButton</string>
     
    183171                                <string>NSMenuItem</string>
    184172                                <key>fPrevInfoTabItem</key>
    185                                 <string>NSMenuItem</string>
    186                                 <key>fProgressSortActionItem</key>
    187                                 <string>NSMenuItem</string>
    188                                 <key>fProgressSortItem</key>
    189173                                <string>NSMenuItem</string>
    190174                                <key>fScrollView</key>
     
    196180                                <key>fSpeedLimitButton</key>
    197181                                <string>NSButton</string>
    198                                 <key>fStateSortActionItem</key>
    199                                 <string>NSMenuItem</string>
    200                                 <key>fStateSortItem</key>
    201                                 <string>NSMenuItem</string>
    202182                                <key>fStatusBar</key>
    203183                                <string>StatusBarView</string>
     
    210190                                <key>fTotalULField</key>
    211191                                <string>NSTextField</string>
    212                                 <key>fTrackerSortActionItem</key>
    213                                 <string>NSMenuItem</string>
    214                                 <key>fTrackerSortItem</key>
    215                                 <string>NSMenuItem</string>
    216192                                <key>fURLSheetTextField</key>
    217193                                <string>NSTextField</string>
     
    293269                <dict>
    294270                        <key>CLASS</key>
    295                         <string>ImageBackgroundView</string>
     271                        <string>StatusBarView</string>
    296272                        <key>LANGUAGE</key>
    297273                        <string>ObjC</string>
    298274                        <key>SUPERCLASS</key>
    299275                        <string>NSView</string>
    300                 </dict>
    301                 <dict>
    302                         <key>CLASS</key>
    303                         <string>StatusBarView</string>
    304                         <key>LANGUAGE</key>
    305                         <string>ObjC</string>
    306                         <key>SUPERCLASS</key>
    307                         <string>ImageBackgroundView</string>
    308276                </dict>
    309277        </array>
  • trunk/macosx/English.lproj/MainMenu.nib/info.nib

    r3745 r3750  
    1111        <key>IBOpenObjects</key>
    1212        <array>
    13                 <integer>2</integer>
     13                <integer>1639</integer>
     14                <integer>1895</integer>
    1415        </array>
    1516        <key>IBSystem Version</key>
  • trunk/macosx/StatusBarView.m

    r3742 r3750  
    3030- (id) initWithFrame: (NSRect) rect
    3131{
    32         if ((self = [super initWithFrame: rect]))
     32    if ((self = [super initWithFrame: rect]))
    3333    {
    3434        NSColor * beginningColor = [NSColor colorWithCalibratedRed: 208.0/255.0 green: 208.0/255.0 blue: 208.0/255.0 alpha: 1.0];
    3535        NSColor * endingColor = [NSColor colorWithCalibratedRed: 233.0/255.0 green: 233.0/255.0 blue: 233.0/255.0 alpha: 1.0];
    3636        fGradient = [[CTGradient gradientWithBeginningColor: beginningColor endingColor: endingColor] retain];
    37         }
    38         return self;
     37    }
     38    return self;
    3939}
    4040
Note: See TracChangeset for help on using the changeset viewer.