Changeset 4461

Show
Ignore:
Timestamp:
01/31/07 16:37:56 (2 years ago)
Author:
morris
Message:

Show ETA and path for transfers in user info

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • WiredClient/trunk/English.lproj/Preview.nib/info.nib

    r4146 r4461  
    1111        <key>IBOpenObjects</key> 
    1212        <array> 
     13                <integer>24</integer> 
    1314                <integer>5</integer> 
     15                <integer>54</integer> 
    1416                <integer>9</integer> 
    15                 <integer>54</integer> 
    16                 <integer>24</integer> 
    1717        </array> 
    1818        <key>IBSystem Version</key> 
    19         <string>8I127</string> 
     19        <string>8L127</string> 
    2020</dict> 
    2121</plist> 
  • WiredClient/trunk/English.lproj/ReleaseNotes.rtf

    r4460 r4461  
    3737- Add a reconnect toolbar item\ 
    3838- Add option to prevent multiple connections to the same host, and just showing that connection's windows instead\ 
     39- Show ETA and path for transfers in user info\ 
    3940- Localization updates 
    4041\f0\b \cf2 \ 
  • WiredClient/trunk/French.lproj/Preview.nib/info.nib

    r4147 r4461  
    44<dict> 
    55        <key>IBDocumentLocation</key> 
    6         <string>485 617 401 340 0 0 1280 1002 </string> 
     6        <string>1119 421 401 340 0 0 1920 1178 </string> 
    77        <key>IBFramework Version</key> 
    88        <string>446.1</string> 
     
    1414        </array> 
    1515        <key>IBSystem Version</key> 
    16         <string>8I127</string> 
     16        <string>8L127</string> 
    1717</dict> 
    1818</plist> 
  • WiredClient/trunk/German.lproj/Preview.nib/info.nib

    r4237 r4461  
    1212        <array> 
    1313                <integer>54</integer> 
     14                <integer>5</integer> 
    1415        </array> 
    1516        <key>IBSystem Version</key> 
    16         <string>8J2122</string> 
     17        <string>8L127</string> 
    1718</dict> 
    1819</plist> 
  • WiredClient/trunk/Japanese.lproj/Preview.nib/info.nib

    r4146 r4461  
    44<dict> 
    55        <key>IBDocumentLocation</key> 
    6         <string>81 38 401 340 0 0 1280 832 </string> 
     6        <string>861 197 401 340 0 0 1920 1178 </string> 
    77        <key>IBFramework Version</key> 
    88        <string>446.1</string> 
    99        <key>IBOldestOS</key> 
    1010        <integer>3</integer> 
     11        <key>IBOpenObjects</key> 
     12        <array> 
     13                <integer>5</integer> 
     14        </array> 
    1115        <key>IBSystem Version</key> 
    12         <string>8I127</string> 
     16        <string>8L127</string> 
    1317</dict> 
    1418</plist> 
  • WiredClient/trunk/WCFileInfo.h

    r4439 r4461  
    5050 
    5151        WCFile                                                  *_file; 
     52        NSRect                                                  _fieldFrame; 
    5253} 
    5354 
  • WiredClient/trunk/WCFileInfo.m

    r4439 r4461  
    8383 
    8484- (void)_resizeTextField:(NSTextField *)textField withTextField:(NSTextField *)titleTextField atOffset:(float *)offset { 
    85         NSSize          size; 
    86         NSPoint         point; 
    8785        double          height; 
    8886         
    8987        if([[textField stringValue] length] == 0) { 
    90                 point = [textField frame].origin; 
    91                 [textField setFrameOrigin:NSMakePoint(point.x, -100.0)]; 
    92  
    93                 point = [titleTextField frame].origin; 
    94                 [titleTextField setFrameOrigin:NSMakePoint(point.x, -100.0)]; 
     88                [textField setFrameOrigin:NSMakePoint([textField frame].origin.x, -100.0)]; 
     89                [titleTextField setFrameOrigin:NSMakePoint([titleTextField frame].origin.x, -100.0)]; 
    9590        } else { 
    96                 [textField sizeToFitFromContent]; 
     91                [textField setFrameSize:[[textField cell] cellSizeForBounds:NSMakeRect(0.0, 0.0, _fieldFrame.size.width, 10000.0)]]; 
     92                [textField setFrameOrigin:NSMakePoint(_fieldFrame.origin.x, *offset)]; 
     93 
    9794                height = [textField frame].size.height; 
    98                 size = [titleTextField frame].size; 
    99                 [titleTextField setFrameSize:NSMakeSize(size.width, height)]; 
    10095                 
    101                 point = [textField frame].origin; 
    102                 [textField setFrameOrigin:NSMakePoint(point.x, *offset)]; 
    103                 point = [titleTextField frame].origin; 
    104                 [titleTextField setFrameOrigin:NSMakePoint(point.x, *offset)]; 
    105  
     96                [titleTextField setFrameSize:NSMakeSize([titleTextField frame].size.width, height)]; 
     97                [titleTextField setFrameOrigin:NSMakePoint([titleTextField frame].origin.x, *offset)]; 
     98                 
    10699                *offset += height + 2.0; 
    107100        } 
     
    146139        [self setShouldSaveWindowFrameOriginOnly:YES]; 
    147140        [self setWindowFrameAutosaveName:@"FileInfo"]; 
     141         
     142        _fieldFrame = [_kindTextField frame]; 
    148143         
    149144        [super windowDidLoad]; 
  • WiredClient/trunk/WCServerInfo.h

    r4439 r4461  
    5353         
    5454        NSTimer                                                 *_timer; 
     55        NSRect                                                  _fieldFrame; 
    5556} 
    5657 
  • WiredClient/trunk/WCServerInfo.m

    r4439 r4461  
    3535 
    3636- (void)_updateServerInfo; 
     37 
    3738- (void)_resizeTextField:(NSTextField *)textField withTextField:(NSTextField *)titleTextField atOffset:(float *)offset; 
    3839 
     
    9091        [_protocolTextField setStringValue:[NSSWF:@"%.1f", [server protocol]]]; 
    9192        [_sslProtocolTextField setStringValue:[socket cipherVersion]]; 
    92         [_certificateTextField setStringValue:[NSSWF:NSLS(@"%@/%u bits, %@", @"Certificate description (name, bits, hostname)"), [socket certificateName], [socket certificateBits], [socket certificateHostname]]]; 
    93         [_cipherTextField setStringValue:[NSSWF:NSLS(@"%@/%u bits", @"Cipher description (name, bits)"), [socket cipherName], [socket cipherBits]]]; 
     93        [_certificateTextField setStringValue:[NSSWF:NSLS(@"%@/%u bits, %@", @"Certificate description (name, bits, hostname)"), 
     94                [socket certificateName], 
     95                [socket certificateBits], 
     96                [socket certificateHostname]]]; 
     97        [_cipherTextField setStringValue:[NSSWF:NSLS(@"%@/%u bits", @"Cipher description (name, bits)"), 
     98                [socket cipherName], 
     99                [socket cipherBits]]]; 
    94100        [_filesTextField setIntValue:[server files]]; 
    95101        [_sizeTextField setStringValue: 
     
    139145 
    140146 
     147#pragma mark - 
     148 
    141149- (void)_resizeTextField:(NSTextField *)textField withTextField:(NSTextField *)titleTextField atOffset:(float *)offset { 
    142         NSSize          size; 
    143         NSPoint         point; 
    144150        double          height; 
    145151         
    146         [textField sizeToFitFromContent]; 
    147         height = [textField frame].size.height; 
    148         size = [titleTextField frame].size; 
    149         [titleTextField setFrameSize:NSMakeSize(size.width, height)]; 
    150          
    151         point = [textField frame].origin; 
    152         [textField setFrameOrigin:NSMakePoint(point.x, *offset)]; 
    153         point = [titleTextField frame].origin; 
    154         [titleTextField setFrameOrigin:NSMakePoint(point.x, *offset)]; 
    155          
    156         *offset += height + 2.0; 
     152        if([[textField stringValue] length] == 0) { 
     153                [textField setFrameOrigin:NSMakePoint([textField frame].origin.x, -100.0)]; 
     154                [titleTextField setFrameOrigin:NSMakePoint([titleTextField frame].origin.x, -100.0)]; 
     155        } else { 
     156                [textField setFrameSize:[[textField cell] cellSizeForBounds:NSMakeRect(0.0, 0.0, _fieldFrame.size.width, 10000.0)]]; 
     157                [textField setFrameOrigin:NSMakePoint(_fieldFrame.origin.x, *offset)]; 
     158 
     159                height = [textField frame].size.height; 
     160                 
     161                [titleTextField setFrameSize:NSMakeSize([titleTextField frame].size.width, height)]; 
     162                [titleTextField setFrameOrigin:NSMakePoint([titleTextField frame].origin.x, *offset)]; 
     163                 
     164                *offset += height + 2.0; 
     165        } 
    157166} 
    158167 
     
    169178 
    170179#pragma mark - 
     180 
     181- (void)windowDidLoad { 
     182        _fieldFrame     = [_descriptionTextField frame]; 
     183 
     184        [super windowDidLoad]; 
     185} 
     186 
     187 
    171188 
    172189- (void)windowDidBecomeKey:(NSNotification *)notification { 
  • WiredClient/trunk/WCTransfer.m

    r4458 r4461  
    476476                         
    477477                case WCTransferRunning: 
    478                         bytes = [self size] - [self transferred]
    479                         interval = [self speed] > 0 ? (double) bytes / (double) [self speed] : 0; 
     478                        bytes = ([self transferred] < [self size]) ? [self size] - [self transferred] : 0
     479                        interval = ([self speed] > 0) ? (double) bytes / (double) [self speed] : 0; 
    480480                         
    481481                        if([self isFolder] && [self totalFiles] > 1) { 
  • WiredClient/trunk/WCUserInfo.m

    r4439 r4461  
    104104        NSTextField                     *textField; 
    105105        NSArray                         *fields; 
    106         NSString                        *path, *transferred, *size, *speed; 
     106        NSString                        *path; 
     107        NSTimeInterval          interval; 
     108        unsigned long long      transferred, size, speed, bytes; 
    107109 
    108110        fields          = [transfer componentsSeparatedByString:WCRecordSeparator]; 
    109111        path            = [fields safeObjectAtIndex:0]; 
    110         transferred     = [fields safeObjectAtIndex:1]; 
    111         size            = [fields safeObjectAtIndex:2]; 
    112         speed           = [fields safeObjectAtIndex:3]; 
    113  
     112        transferred     = [[fields safeObjectAtIndex:1] unsignedLongLongValue]; 
     113        size            = [[fields safeObjectAtIndex:2] unsignedLongLongValue]; 
     114        speed           = [[fields safeObjectAtIndex:3] unsignedLongLongValue]; 
     115         
     116        bytes = (transferred < size) ? size - transferred : 0; 
     117        interval = (speed > 0) ? (double) bytes / (double) speed : 0; 
     118         
    114119        textField = [[NSTextField alloc] init]; 
    115120        [textField setTag:WCUserInfoTransferViewTag]; 
     
    120125        [textField setFont:[NSFont systemFontOfSize:11.0]]; 
    121126        [textField setStringValue:[NSSWF: 
    122                 NSLS(@"%@ of %@, %@/s", "User info transfer (transferred, total, speed)"), 
    123                 [NSString humanReadableStringForSize:[transferred unsignedLongLongValue]], 
    124                 [NSString humanReadableStringForSize:[size unsignedLongLongValue]], 
    125                 [NSString humanReadableStringForSize:[speed unsignedLongLongValue]]]]; 
    126         [textField setFrame:NSMakeRect(_fieldFrame.origin.x, *offset, _fieldFrame.size.width, 14.0)]; 
    127         *offset += 16.0; 
     127                NSLS(@"%@ of %@, %@/s, %@", "User info transfer (transferred, total, speed, time)"), 
     128                [NSString humanReadableStringForSize:transferred], 
     129                [NSString humanReadableStringForSize:size], 
     130                [NSString humanReadableStringForSize:speed], 
     131                [NSString humanReadableStringForTimeInterval:interval]]]; 
     132        [textField setFrameSize:[[textField cell] cellSizeForBounds:NSMakeRect(0.0, 0.0, _fieldFrame.size.width, 10000.0)]]; 
     133        [textField setFrameOrigin:NSMakePoint(_fieldFrame.origin.x, *offset)]; 
     134        *offset += [textField frame].size.height + 2.0; 
    128135        [[[self window] contentView] addSubview:textField]; 
    129136        [textField release]; 
     
    134141        [progressIndicator setIndeterminate:NO]; 
    135142        [progressIndicator setMaxValue:1.0]; 
    136         [progressIndicator setDoubleValue:[transferred doubleValue] / [size doubleValue]]; 
     143        [progressIndicator setDoubleValue:(double) transferred / (double) size]; 
    137144        [progressIndicator setFrame:NSMakeRect(_fieldFrame.origin.x + 2.0, *offset, _fieldFrame.size.width, 12.0)]; 
    138145        *offset += 14.0; 
     
    147154        [textField setSelectable:YES]; 
    148155        [textField setFont:[NSFont systemFontOfSize:11.0]]; 
    149         [textField setStringValue:[path lastPathComponent]]; 
    150         [textField setFrame:NSMakeRect(_fieldFrame.origin.x, *offset, _fieldFrame.size.width, 14.0)]; 
    151         *offset += 16.0; 
     156        [textField setStringValue:path]; 
     157        [textField setFrameSize:[[textField cell] cellSizeForBounds:NSMakeRect(0.0, 0.0, _fieldFrame.size.width, 10000.0)]]; 
     158        [textField setFrameOrigin:NSMakePoint(_fieldFrame.origin.x, *offset)]; 
     159        *offset += [textField frame].size.height + 2.0; 
    152160        [[[self window] contentView] addSubview:textField]; 
    153161        [textField release]; 
     
    156164 
    157165 
     166#pragma mark - 
     167 
    158168- (void)_resizeTextField:(NSTextField *)textField withTextField:(NSTextField *)titleTextField atOffset:(float *)offset { 
    159         NSSize          size; 
    160         NSPoint         point; 
    161169        double          height; 
    162170         
    163171        if([[textField stringValue] length] == 0) { 
    164                 point = [textField frame].origin; 
    165                 [textField setFrameOrigin:NSMakePoint(point.x, -100.0)]; 
    166  
    167                 point = [titleTextField frame].origin; 
    168                 [titleTextField setFrameOrigin:NSMakePoint(point.x, -100.0)]; 
     172                [textField setFrameOrigin:NSMakePoint([textField frame].origin.x, -100.0)]; 
     173                [titleTextField setFrameOrigin:NSMakePoint([titleTextField frame].origin.x, -100.0)]; 
    169174        } else { 
    170                 [textField sizeToFitFromContent]; 
     175                [textField setFrameSize:[[textField cell] cellSizeForBounds:NSMakeRect(0.0, 0.0, _fieldFrame.size.width, 10000.0)]]; 
     176                [textField setFrameOrigin:NSMakePoint(_fieldFrame.origin.x, *offset)]; 
     177 
    171178                height = [textField frame].size.height; 
    172                 size = [titleTextField frame].size; 
    173                 [titleTextField setFrameSize:NSMakeSize(size.width, height)]; 
    174179                 
    175                 point = [textField frame].origin; 
    176                 [textField setFrameOrigin:NSMakePoint(point.x, *offset)]; 
    177                 point = [titleTextField frame].origin; 
    178                 [titleTextField setFrameOrigin:NSMakePoint(point.x, *offset)]; 
     180                [titleTextField setFrameSize:NSMakeSize([titleTextField frame].size.width, height)]; 
     181                [titleTextField setFrameOrigin:NSMakePoint([titleTextField frame].origin.x, *offset)]; 
    179182                 
    180183                *offset += height + 2.0; 
     
    183186 
    184187 
    185  
    186 #pragma mark - 
    187188 
    188189- (void)_moveView:(NSView *)view byYOffset:(float)offset { 
     
    339340        [[self connection] removeObserver:self name:WCUserInfoReceivedUserInfo]; 
    340341 
    341         [self performSelector:@selector(_reload) withObject:NULL afterDelay:(transfers > 0) ? 5.0 : 10.0]; 
     342        [self performSelector:@selector(_reload) withObject:NULL afterDelay:(transfers > 0) ? 2.0 : 4.0]; 
    342343} 
    343344