Changeset 12628


Ignore:
Timestamp:
Aug 5, 2011, 11:18:02 PM (10 years ago)
Author:
livings124
Message:

generate the dock menu exclusively in code

Location:
trunk/macosx
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/macosx/Controller.h

    r12619 r12628  
    9999   
    100100    Badger                          * fBadger;
    101     IBOutlet NSMenu                 * fDockMenu;
    102101   
    103102    NSMutableArray                  * fAutoImportedNames;
  • trunk/macosx/Controller.m

    r12619 r12628  
    125125
    126126#define UPDATE_UI_SECONDS   1.0
    127 
    128 #define DOCK_SEEDING_TAG        101
    129 #define DOCK_DOWNLOADING_TAG    102
    130127
    131128#define TRANSFER_PLIST  @"/Library/Application Support/Transmission/Transfers.plist"
     
    38813878{
    38823879    NSInteger seeding = 0, downloading = 0;
    3883     for (Torrent * torrent in fTorrents)
    3884     {
    3885         if ([torrent isSeeding])
    3886             seeding++;
    3887         else if ([torrent isActive])
    3888             downloading++;
    3889         else;
    3890     }
    3891    
    3892     NSMenuItem * seedingItem = [fDockMenu itemWithTag: DOCK_SEEDING_TAG],
    3893             * downloadingItem = [fDockMenu itemWithTag: DOCK_DOWNLOADING_TAG];
    3894    
    3895     BOOL hasSeparator = seedingItem || downloadingItem;
     3880    if (!fQuitting)
     3881    {
     3882        for (Torrent * torrent in fTorrents)
     3883        {
     3884            if ([torrent isSeeding])
     3885                seeding++;
     3886            else if ([torrent isActive])
     3887                downloading++;
     3888            else;
     3889        }
     3890    }
     3891   
     3892    NSMenu * menu = [[NSMenu alloc] init];
    38963893   
    38973894    if (seeding > 0)
    38983895    {
    38993896        NSString * title = [NSString stringWithFormat: NSLocalizedString(@"%d Seeding", "Dock item - Seeding"), seeding];
    3900         if (!seedingItem)
    3901         {
    3902             seedingItem = [[[NSMenuItem alloc] initWithTitle: title action: nil keyEquivalent: @""] autorelease];
    3903             [seedingItem setTag: DOCK_SEEDING_TAG];
    3904             [fDockMenu insertItem: seedingItem atIndex: 0];
    3905         }
    3906         else
    3907             [seedingItem setTitle: title];
    3908     }
    3909     else
    3910     {
    3911         if (seedingItem)
    3912             [fDockMenu removeItem: seedingItem];
     3897        [menu addItemWithTitle: title action: nil keyEquivalent: @""];
    39133898    }
    39143899   
     
    39163901    {
    39173902        NSString * title = [NSString stringWithFormat: NSLocalizedString(@"%d Downloading", "Dock item - Downloading"), downloading];
    3918         if (!downloadingItem)
    3919         {
    3920             downloadingItem = [[[NSMenuItem alloc] initWithTitle: title action: nil keyEquivalent: @""] autorelease];
    3921             [downloadingItem setTag: DOCK_DOWNLOADING_TAG];
    3922             [fDockMenu insertItem: downloadingItem atIndex: seeding > 0 ? 1 : 0];
    3923         }
    3924         else
    3925             [downloadingItem setTitle: title];
    3926     }
    3927     else
    3928     {
    3929         if (downloadingItem)
    3930             [fDockMenu removeItem: downloadingItem];
     3903        [menu addItemWithTitle: title action: nil keyEquivalent: @""];
    39313904    }
    39323905   
    39333906    if (seeding > 0 || downloading > 0)
    3934     {
    3935         if (!hasSeparator)
    3936             [fDockMenu insertItem: [NSMenuItem separatorItem] atIndex: (seeding > 0 && downloading > 0) ? 2 : 1];
    3937     }
    3938     else
    3939     {
    3940         if (hasSeparator)
    3941             [fDockMenu removeItemAtIndex: 0];
    3942     }
    3943    
    3944     return fDockMenu;
     3907        [menu addItem: [NSMenuItem separatorItem]];
     3908   
     3909    [menu addItemWithTitle: NSLocalizedString(@"Pause All", "Dock item") action: @selector(stopAllTorrents:) keyEquivalent: @""];
     3910    [menu addItemWithTitle: NSLocalizedString(@"Resume All", "Dock item") action: @selector(resumeAllTorrents:) keyEquivalent: @""];
     3911    [menu addItem: [NSMenuItem separatorItem]];
     3912    [menu addItemWithTitle: NSLocalizedString(@"Speed Limit", "Dock item") action: @selector(toggleSpeedLimit:) keyEquivalent: @""];
     3913   
     3914    return [menu autorelease];
    39453915}
    39463916
  • trunk/macosx/en.lproj/MainMenu.xib

    r12597 r12628  
    5555                                <string key="NSWindowContentMinSize">{350, 5}</string>
    5656                                <object class="NSView" key="NSWindowView" id="303120456">
    57                                         <reference key="NSNextResponder"/>
     57                                        <nil key="NSNextResponder"/>
    5858                                        <int key="NSvFlags">256</int>
    5959                                        <array class="NSMutableArray" key="NSSubviews">
     
    6363                                                        <string key="NSFrame">{{36, 3}, {36, 18}}</string>
    6464                                                        <reference key="NSSuperview" ref="303120456"/>
    65                                                         <reference key="NSWindow"/>
    6665                                                        <reference key="NSNextKeyView" ref="52857407"/>
    6766                                                        <bool key="NSEnabled">YES</bool>
     
    9392                                                        <string key="NSFrame">{{72, 3}, {36, 18}}</string>
    9493                                                        <reference key="NSSuperview" ref="303120456"/>
    95                                                         <reference key="NSWindow"/>
    9694                                                        <reference key="NSNextKeyView" ref="403739499"/>
    9795                                                        <bool key="NSEnabled">YES</bool>
     
    119117                                                        <string key="NSFrame">{{0, 3}, {36, 18}}</string>
    120118                                                        <reference key="NSSuperview" ref="303120456"/>
    121                                                         <reference key="NSWindow"/>
    122119                                                        <reference key="NSNextKeyView" ref="673219624"/>
    123120                                                        <bool key="NSEnabled">YES</bool>
     
    145142                                                        <string key="NSFrame">{{118, 5}, {279, 14}}</string>
    146143                                                        <reference key="NSSuperview" ref="303120456"/>
    147                                                         <reference key="NSWindow"/>
    148                                                         <reference key="NSNextKeyView"/>
    149144                                                        <bool key="NSEnabled">YES</bool>
    150145                                                        <object class="NSTextFieldCell" key="NSCell" id="696487414">
     
    191186                                                                                        <string key="NSFrameSize">{515, 224}</string>
    192187                                                                                        <reference key="NSSuperview" ref="306237956"/>
    193                                                                                         <reference key="NSWindow"/>
    194                                                                                         <reference key="NSNextKeyView" ref="1068338331"/>
     188                                                                                        <reference key="NSNextKeyView" ref="365285506"/>
    195189                                                                                        <bool key="NSEnabled">YES</bool>
    196190                                                                                        <object class="_NSCornerView" key="NSCornerView">
     
    632626                                                                        <string key="NSFrameSize">{515, 224}</string>
    633627                                                                        <reference key="NSSuperview" ref="87647552"/>
    634                                                                         <reference key="NSWindow"/>
    635628                                                                        <reference key="NSNextKeyView" ref="675318801"/>
    636629                                                                        <reference key="NSDocView" ref="675318801"/>
     
    643636                                                                        <string key="NSFrame">{{453, 0}, {15, 173}}</string>
    644637                                                                        <reference key="NSSuperview" ref="87647552"/>
    645                                                                         <reference key="NSWindow"/>
    646638                                                                        <reference key="NSNextKeyView" ref="306218447"/>
    647639                                                                        <reference key="NSTarget" ref="87647552"/>
     
    654646                                                                        <string key="NSFrame">{{-100, -100}, {451, 15}}</string>
    655647                                                                        <reference key="NSSuperview" ref="87647552"/>
    656                                                                         <reference key="NSWindow"/>
    657648                                                                        <reference key="NSNextKeyView" ref="306237956"/>
    658649                                                                        <int key="NSsFlags">1</int>
     
    664655                                                        <string key="NSFrame">{{0, 24}, {515, 224}}</string>
    665656                                                        <reference key="NSSuperview" ref="303120456"/>
    666                                                         <reference key="NSWindow"/>
    667                                                         <reference key="NSNextKeyView" ref="365285506"/>
     657                                                        <reference key="NSNextKeyView" ref="306237956"/>
    668658                                                        <int key="NSsFlags">133648</int>
    669659                                                        <reference key="NSVScroller" ref="1068338331"/>
     
    674664                                        </array>
    675665                                        <string key="NSFrameSize">{515, 248}</string>
    676                                         <reference key="NSSuperview"/>
    677                                         <reference key="NSWindow"/>
    678666                                        <reference key="NSNextKeyView" ref="87647552"/>
    679667                                </object>
     
    20412029                                </array>
    20422030                        </object>
    2043                         <object class="NSMenu" id="500860248">
    2044                                 <string key="NSTitle">Menu</string>
    2045                                 <array class="NSMutableArray" key="NSMenuItems">
    2046                                         <object class="NSMenuItem" id="546389610">
    2047                                                 <reference key="NSMenu" ref="500860248"/>
    2048                                                 <string key="NSTitle">Pause All</string>
    2049                                                 <string key="NSKeyEquiv"/>
    2050                                                 <int key="NSKeyEquivModMask">1048576</int>
    2051                                                 <int key="NSMnemonicLoc">2147483647</int>
    2052                                                 <reference key="NSOnImage" ref="246127200"/>
    2053                                                 <reference key="NSMixedImage" ref="330170270"/>
    2054                                         </object>
    2055                                         <object class="NSMenuItem" id="441858331">
    2056                                                 <reference key="NSMenu" ref="500860248"/>
    2057                                                 <string key="NSTitle">Resume All</string>
    2058                                                 <string key="NSKeyEquiv"/>
    2059                                                 <int key="NSKeyEquivModMask">1048576</int>
    2060                                                 <int key="NSMnemonicLoc">2147483647</int>
    2061                                                 <reference key="NSOnImage" ref="246127200"/>
    2062                                                 <reference key="NSMixedImage" ref="330170270"/>
    2063                                         </object>
    2064                                         <object class="NSMenuItem" id="250856123">
    2065                                                 <reference key="NSMenu" ref="500860248"/>
    2066                                                 <bool key="NSIsDisabled">YES</bool>
    2067                                                 <bool key="NSIsSeparator">YES</bool>
    2068                                                 <string key="NSTitle"/>
    2069                                                 <string key="NSKeyEquiv"/>
    2070                                                 <int key="NSKeyEquivModMask">1048576</int>
    2071                                                 <int key="NSMnemonicLoc">2147483647</int>
    2072                                                 <reference key="NSOnImage" ref="246127200"/>
    2073                                                 <reference key="NSMixedImage" ref="330170270"/>
    2074                                         </object>
    2075                                         <object class="NSMenuItem" id="1036623186">
    2076                                                 <reference key="NSMenu" ref="500860248"/>
    2077                                                 <string key="NSTitle">Speed Limit</string>
    2078                                                 <string key="NSKeyEquiv"/>
    2079                                                 <int key="NSKeyEquivModMask">1048576</int>
    2080                                                 <int key="NSMnemonicLoc">2147483647</int>
    2081                                                 <reference key="NSOnImage" ref="246127200"/>
    2082                                                 <reference key="NSMixedImage" ref="330170270"/>
    2083                                         </object>
    2084                                 </array>
    2085                                 <string key="NSName"/>
    2086                         </object>
    20872031                        <object class="NSCustomObject" id="456998591">
    20882032                                <string key="NSClassName">SUUpdater</string>
     
    27522696                                <object class="IBConnectionRecord">
    27532697                                        <object class="IBActionConnection" key="connection">
    2754                                                 <string key="label">resumeAllTorrents:</string>
    2755                                                 <reference key="source" ref="30116300"/>
    2756                                                 <reference key="destination" ref="441858331"/>
    2757                                         </object>
    2758                                         <int key="connectionID">585</int>
    2759                                 </object>
    2760                                 <object class="IBConnectionRecord">
    2761                                         <object class="IBActionConnection" key="connection">
    2762                                                 <string key="label">stopAllTorrents:</string>
    2763                                                 <reference key="source" ref="30116300"/>
    2764                                                 <reference key="destination" ref="546389610"/>
    2765                                         </object>
    2766                                         <int key="connectionID">586</int>
    2767                                 </object>
    2768                                 <object class="IBConnectionRecord">
    2769                                         <object class="IBActionConnection" key="connection">
    27702698                                                <string key="label">showInfo:</string>
    27712699                                                <reference key="source" ref="30116300"/>
     
    32633191                                </object>
    32643192                                <object class="IBConnectionRecord">
    3265                                         <object class="IBOutletConnection" key="connection">
    3266                                                 <string key="label">fDockMenu</string>
    3267                                                 <reference key="source" ref="30116300"/>
    3268                                                 <reference key="destination" ref="500860248"/>
    3269                                         </object>
    3270                                         <int key="connectionID">1876</int>
    3271                                 </object>
    3272                                 <object class="IBConnectionRecord">
    32733193                                        <object class="IBActionConnection" key="connection">
    32743194                                                <string key="label">setSortReverse:</string>
     
    33893309                                        </object>
    33903310                                        <int key="connectionID">2144</int>
    3391                                 </object>
    3392                                 <object class="IBConnectionRecord">
    3393                                         <object class="IBActionConnection" key="connection">
    3394                                                 <string key="label">toggleSpeedLimit:</string>
    3395                                                 <reference key="source" ref="30116300"/>
    3396                                                 <reference key="destination" ref="1036623186"/>
    3397                                         </object>
    3398                                         <int key="connectionID">2165</int>
    33993311                                </object>
    34003312                                <object class="IBConnectionRecord">
     
    48224734                                                <array class="NSMutableArray" key="children"/>
    48234735                                                <reference key="parent" ref="612287796"/>
    4824                                         </object>
    4825                                         <object class="IBObjectRecord">
    4826                                                 <int key="objectID">581</int>
    4827                                                 <reference key="object" ref="500860248"/>
    4828                                                 <array class="NSMutableArray" key="children">
    4829                                                         <reference ref="441858331"/>
    4830                                                         <reference ref="546389610"/>
    4831                                                         <reference ref="1036623186"/>
    4832                                                         <reference ref="250856123"/>
    4833                                                 </array>
    4834                                                 <reference key="parent" ref="0"/>
    4835                                                 <string key="objectName">DockMenu</string>
    4836                                         </object>
    4837                                         <object class="IBObjectRecord">
    4838                                                 <int key="objectID">582</int>
    4839                                                 <reference key="object" ref="441858331"/>
    4840                                                 <reference key="parent" ref="500860248"/>
    4841                                         </object>
    4842                                         <object class="IBObjectRecord">
    4843                                                 <int key="objectID">583</int>
    4844                                                 <reference key="object" ref="546389610"/>
    4845                                                 <reference key="parent" ref="500860248"/>
    4846                                         </object>
    4847                                         <object class="IBObjectRecord">
    4848                                                 <int key="objectID">1574</int>
    4849                                                 <reference key="object" ref="1036623186"/>
    4850                                                 <reference key="parent" ref="500860248"/>
    4851                                         </object>
    4852                                         <object class="IBObjectRecord">
    4853                                                 <int key="objectID">1575</int>
    4854                                                 <reference key="object" ref="250856123"/>
    4855                                                 <reference key="parent" ref="500860248"/>
    48564736                                        </object>
    48574737                                        <object class="IBObjectRecord">
     
    56195499                                <string key="1567.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
    56205500                                <string key="157.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
    5621                                 <string key="1574.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
    5622                                 <string key="1575.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
    56235501                                <string key="1578.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
    56245502                                <string key="1591.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
     
    57905668                                <string key="57.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
    57915669                                <string key="58.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
    5792                                 <string key="581.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
    5793                                 <string key="582.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
    5794                                 <string key="583.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
    57955670                                <string key="589.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
    57965671                                <string key="598.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
     
    58315706                                                <string key="fCheckRatioItem">NSMenuItem</string>
    58325707                                                <string key="fClearCompletedButton">NSButton</string>
    5833                                                 <string key="fDockMenu">NSMenu</string>
    58345708                                                <string key="fDownloadLimitItem">NSMenuItem</string>
    58355709                                                <string key="fDownloadMenu">NSMenu</string>
     
    58675741                                                        <string key="name">fClearCompletedButton</string>
    58685742                                                        <string key="candidateClassName">NSButton</string>
    5869                                                 </object>
    5870                                                 <object class="IBToOneOutletInfo" key="fDockMenu">
    5871                                                         <string key="name">fDockMenu</string>
    5872                                                         <string key="candidateClassName">NSMenu</string>
    58735743                                                </object>
    58745744                                                <object class="IBToOneOutletInfo" key="fDownloadLimitItem">
Note: See TracChangeset for help on using the changeset viewer.