Changeset 1305


Ignore:
Timestamp:
Dec 31, 2006, 11:24:23 PM (15 years ago)
Author:
livings124
Message:

remove bindings from the rest of the text fields, added back glue code

Location:
trunk/macosx
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/macosx/Controller.m

    r1289 r1305  
    15641564    [fDefaults setBool: YES forKey: [sender menu] == fUploadMenu ? @"CheckUpload" : @"CheckDownload"];
    15651565   
     1566    [fPrefsController updateLimitFields];
    15661567    [fPrefsController applySpeedSettings: nil];
    15671568}
     
    15711572    [fDefaults setBool: YES forKey: @"RatioCheck"];
    15721573    [fDefaults setFloat: [[sender title] floatValue] forKey: @"RatioLimit"];
     1574   
     1575    [fPrefsController updateRatioStopField];
    15731576}
    15741577
  • trunk/macosx/English.lproj/PrefsWindow.nib/classes.nib

    r1304 r1305  
    1717                setBadge = id;
    1818                setDownloadLocation = id;
     19                setGlobalLimit = id;
    1920                setNat = id;
    2021                setPort = id;
    2122                setQueueNumber = id;
     23                setRatioStop = id;
    2224                setSound = id;
    2325                setSpeedLimit = id;
     
    4547                fPortStatusImage = NSImageView;
    4648                fPortStatusProgress = NSProgressIndicator;
     49                fQueueField = NSTextField;
     50                fRatioStopField = NSTextField;
    4751                fSeedingSoundPopUp = NSPopUpButton;
    4852                fSpeedLimitDownloadField = NSTextField;
  • trunk/macosx/English.lproj/PrefsWindow.nib/info.nib

    r1304 r1305  
    88        <dict>
    99                <key>153</key>
    10                 <string>290 411 571 335 0 0 1152 842 </string>
     10                <string>191 408 571 335 0 0 1152 842 </string>
    1111                <key>28</key>
    1212                <string>290 434 571 290 0 0 1152 842 </string>
    1313                <key>41</key>
    14                 <string>290 426 571 305 0 0 1152 842 </string>
     14                <string>151 440 571 305 0 0 1152 842 </string>
    1515                <key>66</key>
    1616                <string>290 507 571 144 0 0 1152 842 </string>
     
    2424        <key>IBOpenObjects</key>
    2525        <array>
    26                 <integer>153</integer>
     26                <integer>41</integer>
    2727        </array>
    2828        <key>IBSystem Version</key>
  • trunk/macosx/PrefsController.h

    r1304 r1305  
    3333   
    3434    NSUserDefaults          * fDefaults;
     35    BOOL                    hasLoaded;
    3536   
    3637    NSToolbar               * fToolbar;
     
    3940    IBOutlet NSPopUpButton  * fFolderPopUp, * fIncompleteFolderPopUp, * fImportFolderPopUp,
    4041                            * fDownloadSoundPopUp, * fSeedingSoundPopUp;
     42    IBOutlet NSTextField    * fRatioStopField, * fQueueField;
    4143   
    4244    NSArray                 * fSounds;
     
    7779- (void) updateNatStatus;
    7880
     81- (void) updateRatioStopField;
     82- (void) setRatioStop: (id) sender;
     83
    7984- (void) applySpeedSettings: (id) sender;
     85
     86- (void) updateLimitFields;
     87- (void) setGlobalLimit: (id) sender;
    8088
    8189- (void) applyTorrentLimitSetting: (id) sender;
  • trunk/macosx/PrefsController.m

    r1304 r1305  
    115115- (void) awakeFromNib
    116116{
     117    hasLoaded = YES;
     118   
    117119    fToolbar = [[NSToolbar alloc] initWithIdentifier: @"Preferences Toolbar"];
    118120    [fToolbar setDelegate: self];
     
    134136        [fFolderPopUp selectItemAtIndex: DOWNLOAD_ASK];
    135137   
     138    //set stop ratio
     139    [self updateRatioStopField];
     140   
     141    //set limits
     142    [self updateLimitFields];
     143   
    136144    //set torrent limits
    137145    [fUploadTorrentField setIntValue: [fDefaults integerForKey: @"UploadLimitTorrent"]];
     
    151159    fNatStatusTimer = [NSTimer scheduledTimerWithTimeInterval: 5.0 target: self
    152160                        selector: @selector(updateNatStatus) userInfo: nil repeats: YES];
    153 
     161   
     162    //set queue values
     163    [fQueueField setIntValue: [fDefaults integerForKey: @"QueueDownloadNumber"]];
     164   
    154165    //set update check
    155166    NSString * updateCheck = [fDefaults stringForKey: @"UpdateCheck"];
     
    335346}
    336347
     348- (void) updateRatioStopField
     349{
     350    if (!hasLoaded)
     351        return;
     352   
     353    [fRatioStopField setFloatValue: [fDefaults floatForKey: @"RatioLimit"]];
     354}
     355
     356- (void) setRatioStop: (id) sender
     357{
     358    float ratio = [sender floatValue];
     359    if (![[sender stringValue] isEqualToString: [NSString stringWithFormat: @"%.2f", ratio]] || ratio < 0)
     360    {
     361        NSBeep();
     362        [sender setFloatValue: [fDefaults floatForKey: @"RatioLimit"]];
     363        return;
     364    }
     365   
     366    [fDefaults setFloat: ratio forKey: @"RatioLimit"];
     367}
     368
     369- (void) updateLimitFields
     370{
     371    if (!hasLoaded)
     372        return;
     373   
     374    [fUploadField setIntValue: [fDefaults integerForKey: @"UploadLimit"]];
     375    [fDownloadField setIntValue: [fDefaults integerForKey: @"DownloadLimit"]];
     376}
     377
     378- (void) setGlobalLimit: (id) sender
     379{
     380    BOOL upload = sender == fUploadField;
     381   
     382    int limit = [sender intValue];
     383    if (![[sender stringValue] isEqualToString: [NSString stringWithFormat: @"%d", limit]] || limit < 0)
     384    {
     385        NSBeep();
     386        [sender setIntValue: [fDefaults integerForKey: upload ? @"UploadLimit" : @"DownloadLimit"]];
     387        return;
     388    }
     389   
     390    [fDefaults setInteger: limit forKey: upload ? @"UploadLimit" : @"DownloadLimit"];
     391   
     392    [self applySpeedSettings: self];
     393}
     394
    337395- (void) applyTorrentLimitSetting: (id) sender
    338396{
     
    345403   
    346404    int limit = [sender intValue];
    347     if (![[sender stringValue] isEqualToString: [NSString stringWithFormat: @"%d", limit]])
     405    if (![[sender stringValue] isEqualToString: [NSString stringWithFormat: @"%d", limit]] || limit < 0)
    348406    {
    349407        NSBeep();
     
    421479- (void) setQueueNumber: (id) sender
    422480{
     481    int limit = [sender intValue];
     482    if (![[sender stringValue] isEqualToString: [NSString stringWithFormat: @"%d", limit]] || limit < 0)
     483    {
     484        NSBeep();
     485        [sender setIntValue: [fDefaults integerForKey: @"QueueDownloadNumber"]];
     486        return;
     487    }
     488   
     489    [fDefaults setInteger: limit forKey: @"QueueDownloadNumber"];
     490   
    423491    [[NSNotificationCenter defaultCenter] postNotificationName: @"GlobalStartSettingChange" object: self];
    424492}
Note: See TracChangeset for help on using the changeset viewer.