Ignore:
Timestamp:
Sep 22, 2006, 2:34:10 PM (15 years ago)
Author:
livings124
Message:

show nat status in prefs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/nat-traversal/macosx/PrefsController.m

    r880 r888  
    7676- (void) dealloc
    7777{
     78    [fNatStatusTimer invalidate];
     79
    7880    [fDownloadFolder release];
    7981    [fImportFolder release];
     
    128130        tr_natTraversalEnable(fHandle);
    129131    [fNatCheck setState: natShouldEnable];
     132   
     133    [fNatStatusField setHidden: !natShouldEnable];
     134    [self updateNatStatus];
     135    fNatStatusTimer = [NSTimer scheduledTimerWithTimeInterval: 5.0 target: self
     136                        selector: @selector(updateNatStatus) userInfo: nil repeats: YES];
    130137   
    131138    //checks for old version upload speed of -1
     
    351358        tr_setBindPort(fHandle, bindPort);
    352359        [fDefaults setInteger: bindPort forKey: @"BindPort"];
     360       
     361        [self updateNatStatus];
    353362    }
    354363}
     
    359368    enable ? tr_natTraversalEnable(fHandle) : tr_natTraversalDisable(fHandle);
    360369    [fDefaults setBool: enable forKey: @"NatTraversal"];
     370   
     371    [fNatStatusField setHidden: !enable];
     372    [self updateNatStatus];
     373}
     374
     375- (void) updateNatStatus
     376{
     377    if ([fNatStatusField isHidden])
     378        return;
     379   
     380    int status = tr_natTraversalStatus(fHandle);
     381    if (status == 2)
     382        [fNatStatusField setStringValue: @"Ports have been successfully mapped."];
     383    else if (status == 3 || status == 4)
     384        [fNatStatusField setStringValue: @"Error mapping ports."];
     385    else
     386        [fNatStatusField setStringValue: @""];
    361387}
    362388
Note: See TracChangeset for help on using the changeset viewer.