Changeset 16


Ignore:
Timestamp:
Jan 12, 2006, 6:54:46 PM (15 years ago)
Author:
root
Message:

Update 2005-12-17

Location:
trunk/macosx
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/macosx/Controller.h

    r7 r16  
    4444    IBOutlet NSMenuItem          * fPauseResumeItem;
    4545    IBOutlet NSMenuItem          * fRemoveItem;
     46    IBOutlet NSMenuItem          * fRemoveTorrentItem;
     47    IBOutlet NSMenuItem          * fRemoveDataItem;
     48    IBOutlet NSMenuItem          * fRemoveBothItem;
    4649    IBOutlet NSMenuItem          * fRevealItem;
     50    IBOutlet NSMenuItem          * fShowHideToolbar;
    4751
    4852    IBOutlet NSWindow            * fWindow;
     
    9599- (NSMenu *) menuForIndex: (int) idx;
    96100
     101- (void) runCustomizationPalette: (id) sender;
     102- (void) showHideToolbar: (id) sender;
     103
    97104- (void) showMainWindow:  (id) sender;
    98105- (void) linkHomepage:    (id) sender;
    99106- (void) linkForums:      (id) sender;
    100 - (void) notifyGrowl:     (NSString *) file;
     107- (void) notifyGrowl:     (NSString *) file;
    101108- (void) finderReveal:    (NSString *) path;
    102109- (void) finderTrash:     (NSString *) path;
  • trunk/macosx/Controller.m

    r15 r16  
    2828#include "TorrentTableView.h"
    2929
    30 #define TOOLBAR_OPEN   @"Toolbar Open"
    31 #define TOOLBAR_REMOVE @"Toolbar Remove"
    32 #define TOOLBAR_PREFS  @"Toolbar Preferences"
    33 #define TOOLBAR_INFO   @"Toolbar Info"
     30#define TOOLBAR_OPEN        @"Toolbar Open"
     31#define TOOLBAR_REMOVE      @"Toolbar Remove"
     32#define TOOLBAR_PREFS       @"Toolbar Preferences"
     33#define TOOLBAR_INFO        @"Toolbar Info"
     34#define TOOLBAR_PAUSE_ALL   @"Toolbar Pause All"
     35#define TOOLBAR_RESUME_ALL  @"Toolbar Resume All"
    3436
    3537#define CONTEXT_PAUSE           1
     
    4850
    4951@implementation Controller
    50 
    51 - (void) updateBars
    52 {
    53     NSArray * items;
    54     NSToolbarItem * item;
    55     BOOL enable;
    56     int row;
    57     unsigned i;
    58 
    59     row = [fTableView selectedRow];
    60 
    61     /* Can we remove it ? */
    62     enable = ( row >= 0 ) && ( fStat[row].status &
    63                 ( TR_STATUS_STOPPING | TR_STATUS_PAUSE ) );
    64     items = [fToolbar items];
    65     for( i = 0; i < [items count]; i++ )
    66     {
    67         item = [items objectAtIndex: i];
    68         if( [[item itemIdentifier] isEqualToString: TOOLBAR_REMOVE] )
    69         {
    70             [item setAction: enable ? @selector( removeTorrent: ) : NULL];
    71         }
    72     }
    73     [fRemoveItem setAction: enable ? @selector( removeTorrent: ) : NULL];
    74 
    75     /* Can we pause or resume it ? */
    76     [fPauseResumeItem setTitle: @"Pause"];
    77     [fPauseResumeItem setAction: NULL];
    78     if( row < 0 )
    79     {
    80         [fRevealItem setAction: NULL];
    81         return;
    82     }
    83    
    84     [fRevealItem setAction: @selector( revealFromMenu: )];
    85 
    86     if( fStat[row].status & TR_STATUS_PAUSE )
    87     {
    88         [fPauseResumeItem setTitle: @"Resume"];
    89         [fPauseResumeItem setAction: @selector( resumeTorrent: )];
    90     }
    91     else if( fStat[row].status & ( TR_STATUS_CHECK |
    92                 TR_STATUS_DOWNLOAD | TR_STATUS_SEED ) )
    93     {
    94         [fPauseResumeItem setAction: @selector( stopTorrent: )];
    95     }
    96 }
    9752
    9853- (void) awakeFromNib
     
    557512        tr_setFinished( fHandle, i, 0 );
    558513    }
    559 
    560     /* Must we do this? Can't remember */
    561     [self updateBars];
    562514}
    563515
     
    663615    int row = [fTableView selectedRow];
    664616
    665     [self updateBars];
    666 
    667617    if( row < 0 )
    668618    {
     
    676626        [fInfoDownloaded setStringValue: @""];
    677627        [fInfoUploaded   setStringValue: @""];
    678         [fInfoSeeders    setStringValue: @""];
     628        [fInfoSeeders    setStringValue: @""];
    679629        [fInfoLeechers   setStringValue: @""];
    680630        return;
     
    698648       
    699649    if ( fStat[row].seeders == -1 ) {
    700                 [fInfoSeeders setStringValue: [NSString stringWithUTF8String: "?"]];
    701         } else {
    702                 [fInfoSeeders setStringValue: [NSString stringWithFormat: @"%d",
    703                         fStat[row].seeders]];
    704         }
    705         if ( fStat[row].leechers == -1 ) {
    706                 [fInfoLeechers setStringValue: [NSString stringWithUTF8String: "?"]];
    707         } else {
    708                 [fInfoLeechers setStringValue: [NSString stringWithFormat: @"%d",
    709                         fStat[row].leechers]];
    710         }
     650        [fInfoSeeders setStringValue: [NSString stringWithUTF8String: "?"]];
     651    } else {
     652        [fInfoSeeders setStringValue: [NSString stringWithFormat: @"%d",
     653            fStat[row].seeders]];
     654    }
     655    if ( fStat[row].leechers == -1 ) {
     656        [fInfoLeechers setStringValue: [NSString stringWithUTF8String: "?"]];
     657    } else {
     658        [fInfoLeechers setStringValue: [NSString stringWithFormat: @"%d",
     659            fStat[row].leechers]];
     660    }
    711661}
    712662
     
    720670    {
    721671        [item setLabel: @"Open"];
     672        [item setPaletteLabel: [item label]];
    722673        [item setToolTip: @"Open a torrent"];
    723674        [item setImage: [NSImage imageNamed: @"Open.png"]];
     
    728679    {
    729680        [item setLabel: @"Remove"];
     681        [item setPaletteLabel: [item label]];
    730682        [item setToolTip: @"Remove torrent from list"];
    731683        [item setImage: [NSImage imageNamed: @"Remove.png"]];
    732684        [item setTarget: self];
    733         /* We set the selector in updateBars: */
     685        [item setAction: @selector( removeTorrent: )];
    734686    }
    735687    else if( [ident isEqualToString: TOOLBAR_PREFS] )
    736688    {
    737689        [item setLabel: @"Preferences"];
     690        [item setPaletteLabel: [item label]];
    738691        [item setToolTip: @"Show the Preferences panel"];
    739692        [item setImage: [NSImage imageNamed: @"Preferences.png"]];
     
    744697    {
    745698        [item setLabel: @"Info"];
     699        [item setPaletteLabel: [item label]];
    746700        [item setToolTip: @"Information"];
    747701        [item setImage: [NSImage imageNamed: @"Info.png"]];
     
    749703        [item setAction: @selector( showInfo: )];
    750704    }
     705    else if( [ident isEqualToString: TOOLBAR_RESUME_ALL] )
     706    {
     707        [item setLabel: @"Resume All"];
     708        [item setPaletteLabel: [item label]];
     709        [item setToolTip: @"Resume all torrents"];
     710        [item setImage: [NSImage imageNamed: @"Resume.png"]];
     711        [item setTarget: self];
     712        [item setAction: @selector( resumeAllTorrents: )];
     713    }
     714    else if( [ident isEqualToString: TOOLBAR_PAUSE_ALL] )
     715    {
     716        [item setLabel: @"Pause All"];
     717        [item setPaletteLabel: [item label]];
     718        [item setToolTip: @"Pause all torrents"];
     719        [item setImage: [NSImage imageNamed: @"Stop.png"]];
     720        [item setTarget: self];
     721        [item setAction: @selector( stopAllTorrents: )];
     722    }
    751723    else
    752724    {
     
    760732- (NSArray *) toolbarAllowedItemIdentifiers: (NSToolbar *) t
    761733{
    762     return [NSArray arrayWithObjects: TOOLBAR_OPEN, TOOLBAR_REMOVE,
    763             NSToolbarFlexibleSpaceItemIdentifier, TOOLBAR_PREFS,
    764             TOOLBAR_INFO, NULL];
     734    return [NSArray arrayWithObjects:
     735            TOOLBAR_OPEN, TOOLBAR_REMOVE,
     736            /* TOOLBAR_RESUME_ALL, TOOLBAR_PAUSE_ALL, */
     737            TOOLBAR_PREFS, TOOLBAR_INFO,
     738            NSToolbarSeparatorItemIdentifier,
     739            NSToolbarSpaceItemIdentifier,
     740            NSToolbarFlexibleSpaceItemIdentifier,
     741            NSToolbarCustomizeToolbarItemIdentifier,
     742            NULL];
    765743}
    766744
    767745- (NSArray *) toolbarDefaultItemIdentifiers: (NSToolbar *) t
    768746{
    769     return [self toolbarAllowedItemIdentifiers: t];
     747    return [NSArray arrayWithObjects:
     748            TOOLBAR_OPEN, TOOLBAR_REMOVE,
     749            /* NSToolbarSeparatorItemIdentifier,
     750            TOOLBAR_RESUME_ALL, TOOLBAR_PAUSE_ALL, */
     751            NSToolbarFlexibleSpaceItemIdentifier,
     752            TOOLBAR_PREFS, TOOLBAR_INFO,
     753            NULL];
     754}
     755
     756- (BOOL)validateToolbarItem:(NSToolbarItem *)toolbarItem
     757{
     758    //check remove item
     759    if ([toolbarItem action] == @selector(removeTorrent:))
     760    {
     761        int row = [fTableView selectedRow];
     762        return ( row >= 0 ) && ( fStat[row].status &
     763                ( TR_STATUS_STOPPING | TR_STATUS_PAUSE ) );
     764    }
     765   
     766    return true;
     767}
     768
     769- (void) runCustomizationPalette: (id) sender
     770{
     771    [fToolbar runCustomizationPalette:sender];
     772}
     773
     774- (void) showHideToolbar: (id) sender
     775{
     776    [fWindow toggleToolbarShown:sender];
     777}
     778
     779- (BOOL)validateMenuItem:(NSMenuItem *)menuItem
     780{
     781    //enable customize toolbar item
     782    if ([menuItem action] == @selector(showHideToolbar:))
     783        [menuItem setTitle: [fToolbar isVisible] ? @"Hide Toolbar" : @"Show Toolbar"];
     784       
     785    if ([fToolbar customizationPaletteIsRunning])
     786        return false;
     787       
     788    //enable show info
     789    if ([menuItem action] == @selector(showInfo:))
     790    {
     791        [menuItem setTitle: [fInfoPanel isVisible] ? @"Hide Info" : @"Show Info"];
     792        return true;
     793    }
     794       
     795    int row = [fTableView selectedRow];
     796       
     797    //enable remove items
     798    if ([menuItem action] == @selector(removeTorrent:) || [menuItem action] == @selector(removeTorrentDeleteFile:)
     799        || [menuItem action] == @selector(removeTorrentDeleteData:) || [menuItem action] == @selector(removeTorrentDeleteBoth:)) {
     800        /* Can we remove it ? */
     801        return ( row >= 0 ) && ( fStat[row].status &
     802                ( TR_STATUS_STOPPING | TR_STATUS_PAUSE ) );
     803    }
     804   
     805    //enable reveal in finder item
     806    if ([menuItem action] == @selector(revealFromMenu:))
     807        return row >= 0;
     808       
     809    //enable and change pause and remove item
     810    if ([menuItem action] == @selector(resumeTorrent:) || [menuItem action] == @selector(stopTorrent:))
     811    {
     812        if (row >= 0 && fStat[row].status & TR_STATUS_PAUSE)
     813        {
     814            [menuItem setTitle: @"Resume"];
     815            [menuItem setAction: @selector( resumeTorrent: )];
     816        }
     817        else
     818        {
     819            [menuItem setTitle: @"Pause"];
     820            [menuItem setAction: @selector( stopTorrent: )];
     821        }
     822        return row >= 0;
     823    }
     824   
     825    return true;
    770826}
    771827
     
    815871                }
    816872            }
    817             [self updateBars];
    818873            break;
    819874    }
  • trunk/macosx/English.lproj/MainMenu.nib/classes.nib

    r6 r16  
    44            ACTIONS = {
    55                advancedChanged = id;
     6                growlRegister = id;
    67                linkForums = id;
    78                linkHomepage = id;
     
    1415                resumeTorrent = id;
    1516                revealFromMenu = id;
     17                runCustomizationPalette = id;
     18                showHideToolbar = id;
    1619                showInfo = id;
    1720                showMainWindow = id;
     
    3841                fPauseResumeItem = NSMenuItem;
    3942                fPrefsController = PrefsController;
     43                fRemoveBothItem = NSMenuItem;
     44                fRemoveDataItem = NSMenuItem;
    4045                fRemoveItem = NSMenuItem;
     46                fRemoveTorrentItem = NSMenuItem;
    4147                fRevealItem = NSMenuItem;
     48                fShowHideToolbar = NSMenuItem;
    4249                fTableView = TorrentTableView;
    4350                fTotalDLField = NSTextField;
  • trunk/macosx/English.lproj/MainMenu.nib/info.nib

    r6 r16  
    44<dict>
    55        <key>IBDocumentLocation</key>
    6         <string>231 62 361 432 0 0 1280 832 </string>
     6        <string>416 137 361 432 0 0 1152 842 </string>
    77        <key>IBEditorPositions</key>
    88        <dict>
    99                <key>29</key>
    10                 <string>92 769 371 44 0 0 1280 832 </string>
     10                <string>79 779 371 44 0 0 1152 842 </string>
    1111                <key>456</key>
    12                 <string>116 510 147 106 0 0 1280 832 </string>
     12                <string>134 408 144 106 0 0 1152 842 </string>
    1313        </dict>
    1414        <key>IBFramework Version</key>
     
    1818        <key>IBOpenObjects</key>
    1919        <array>
    20                 <integer>456</integer>
    2120                <integer>29</integer>
    22                 <integer>21</integer>
    23                 <integer>273</integer>
    2421        </array>
    2522        <key>IBSystem Version</key>
  • trunk/macosx/Transmission.xcodeproj/project.pbxproj

    r7 r16  
    334334                                FRAMEWORK_SEARCH_PATHS = (
    335335                                        "$(FRAMEWORK_SEARCH_PATHS)",
    336                                         "$(SRCROOT)/Frameworks",
    337336                                );
    338337                                GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
Note: See TracChangeset for help on using the changeset viewer.