Changeset 165


Ignore:
Timestamp:
Mar 27, 2006, 3:09:29 PM (16 years ago)
Author:
titer
Message:

Fixed the info panel and refined its look

Location:
trunk/macosx
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/macosx/Controller.h

    r162 r165  
    5555
    5656    IBOutlet NSPanel            * fInfoPanel;
    57     IBOutlet NSTextField        * fInfoTitle;
     57    IBOutlet NSImageView        * fInfoImageView;
     58    IBOutlet NSTextField        * fInfoName;
     59    IBOutlet NSTextField        * fInfoSize;
    5860    IBOutlet NSTextField        * fInfoTracker;
    5961    IBOutlet NSTextField        * fInfoAnnounce;
    60     IBOutlet NSTextField        * fInfoSize;
     62    IBOutlet NSTextField        * fInfoPieceSize;
    6163    IBOutlet NSTextField        * fInfoPieces;
    62     IBOutlet NSTextField        * fInfoPieceSize;
     64    IBOutlet NSTextField        * fInfoHash1;
     65    IBOutlet NSTextField        * fInfoHash2;
    6366    IBOutlet NSTextField        * fInfoSeeders;
    6467    IBOutlet NSTextField        * fInfoLeechers;
    65     IBOutlet NSTextField        * fInfoFolder;
    6668    IBOutlet NSTextField        * fInfoDownloaded;
    6769    IBOutlet NSTextField        * fInfoUploaded;
  • trunk/macosx/Controller.m

    r162 r165  
    556556}
    557557
     558- (void) updateInfoPanel
     559{
     560    int row = [fTableView selectedRow];
     561
     562    if( row < 0 )
     563    {
     564        [fInfoImageView setImage: [NSApp applicationIconImage]];
     565        [fInfoName setStringValue: @"No torrent selected"];
     566        [fInfoSize setStringValue: @""];
     567        [fInfoTracker setStringValue: @""];
     568        [fInfoAnnounce setStringValue: @""];
     569        [fInfoPieceSize setStringValue: @""];
     570        [fInfoPieces setStringValue: @""];
     571        [fInfoHash1 setStringValue: @""];
     572        [fInfoHash2 setStringValue: @""];
     573        [fInfoSeeders setStringValue: @""];
     574        [fInfoLeechers setStringValue: @""];
     575        [fInfoDownloaded setStringValue: @""];
     576        [fInfoUploaded setStringValue: @""];
     577        return;
     578    }
     579
     580    Torrent * torrent = [fTorrents objectAtIndex: row];
     581    [fInfoImageView setImage: [torrent iconNonFlipped]];
     582    [fInfoName setStringValue: [torrent name]];
     583    [fInfoSize setStringValue: [NSString
     584        stringForFileSize: [torrent size]]];
     585    [fInfoTracker setStringValue: [torrent tracker]];
     586    [fInfoAnnounce setStringValue: [torrent announce]];
     587    [fInfoPieceSize setStringValue: [NSString
     588        stringForFileSize: [torrent pieceSize]]];
     589    [fInfoPieces setStringValue: [NSString
     590        stringWithInt: [torrent pieceCount]]];
     591    [fInfoHash1 setStringValue: [torrent hash1]];
     592    [fInfoHash2 setStringValue: [torrent hash2]];
     593    int seeders = [torrent seeders], leechers = [torrent leechers];
     594    [fInfoSeeders setStringValue: seeders < 0 ?
     595        @"?" : [NSString stringWithInt: seeders]];
     596    [fInfoLeechers setStringValue: leechers < 0 ?
     597        @"?" : [NSString stringWithInt: leechers]];
     598    [fInfoDownloaded setStringValue: [NSString
     599        stringForFileSize: [torrent downloaded]]];
     600    [fInfoUploaded setStringValue: [NSString
     601        stringForFileSize: [torrent uploaded]]];
     602}
     603
    558604- (void) updateUI: (NSTimer *) t
    559605{
     
    587633    [fTotalULField setStringValue: uploadRate];
    588634
    589 #if 0
    590     //Update DL/UL totals in the Info panel
    591     row = [fTableView selectedRow];
    592     if( row >= 0 )
    593     {
    594         [fInfoDownloaded setStringValue:
    595             [NSString stringForFileSize: fStat[row].downloaded]];
    596         [fInfoUploaded setStringValue:
    597             [NSString stringForFileSize: fStat[row].uploaded]];
    598     }
    599 #endif
     635    [self updateInfoPanel];
    600636
    601637    //badge dock
     
    676712- (void) tableViewSelectionDidChange: (NSNotification *) n
    677713{
    678     int row = [fTableView selectedRow];
    679 
    680     if( row < 0 )
    681     {
    682         [fInfoTitle      setStringValue: @"No torrent selected"];
    683         [fInfoTracker    setStringValue: @""];
    684         [fInfoAnnounce   setStringValue: @""];
    685         [fInfoSize       setStringValue: @""];
    686         [fInfoPieces     setStringValue: @""];
    687         [fInfoPieceSize  setStringValue: @""];
    688         [fInfoFolder     setStringValue: @""];
    689         [fInfoDownloaded setStringValue: @""];
    690         [fInfoUploaded   setStringValue: @""];
    691         [fInfoSeeders    setStringValue: @""];
    692         [fInfoLeechers   setStringValue: @""];
    693         return;
    694     }
    695 
    696 #if 0
    697     /* Update info window */
    698     [fInfoTitle setStringValue: [NSString stringWithUTF8String:
    699         fStat[row].info.name]];
    700     [fInfoTracker setStringValue: [NSString stringWithFormat:
    701         @"%s:%d", fStat[row].info.trackerAddress, fStat[row].info.trackerPort]];
    702     [fInfoAnnounce setStringValue: [NSString stringWithCString:
    703         fStat[row].info.trackerAnnounce]];
    704     [fInfoSize setStringValue:
    705         [NSString stringForFileSize: fStat[row].info.totalSize]];
    706     [fInfoPieces setStringValue: [NSString stringWithInt:
    707         fStat[row].info.pieceCount]];
    708     [fInfoPieceSize setStringValue:
    709         [NSString stringForFileSize: fStat[row].info.pieceSize]];
    710     [fInfoFolder setStringValue: [[NSString stringWithUTF8String:
    711         tr_torrentGetFolder( fHandle, row )] lastPathComponent]];
    712 
    713     if ( fStat[row].seeders == -1 ) {
    714         [fInfoSeeders setStringValue: [NSString stringWithUTF8String: "?"]];
    715     } else {
    716         [fInfoSeeders setStringValue: [NSString stringWithInt:
    717             fStat[row].seeders]];
    718     }
    719     if ( fStat[row].leechers == -1 ) {
    720         [fInfoLeechers setStringValue: [NSString stringWithUTF8String: "?"]];
    721     } else {
    722         [fInfoLeechers setStringValue: [NSString stringWithInt:
    723             fStat[row].leechers]];
    724     }
    725 #endif
     714    [self updateInfoPanel];
    726715}
    727716
  • trunk/macosx/English.lproj/MainMenu.nib/classes.nib

    r106 r165  
    3030                fInfoAnnounce = NSTextField;
    3131                fInfoDownloaded = NSTextField;
    32                 fInfoFolder = NSTextField;
     32                fInfoHash1 = NSTextField;
     33                fInfoHash2 = NSTextField;
     34                fInfoImageView = NSImageView;
    3335                fInfoLeechers = NSTextField;
     36                fInfoName = NSTextField;
    3437                fInfoPanel = NSPanel;
    3538                fInfoPieceSize = NSTextField;
     
    3740                fInfoSeeders = NSTextField;
    3841                fInfoSize = NSTextField;
    39                 fInfoTitle = NSTextField;
    4042                fInfoTracker = NSTextField;
    4143                fInfoUploaded = NSTextField;
  • trunk/macosx/English.lproj/MainMenu.nib/info.nib

    r162 r165  
    2626        <key>IBOldestOS</key>
    2727        <integer>3</integer>
     28        <key>IBOpenObjects</key>
     29        <array>
     30                <integer>273</integer>
     31        </array>
    2832        <key>IBSystem Version</key>
    29         <string>8H14</string>
     33        <string>8G1454</string>
    3034</dict>
    3135</plist>
  • trunk/macosx/Torrent.h

    r162 r165  
    3333
    3434    NSImage         * fIcon;
     35    NSImage         * fIconNonFlipped;
    3536    NSMutableString * fStatusString;
    3637    NSMutableString * fInfoString;
     
    5455
    5556- (NSImage *)  icon;
     57- (NSImage *)  iconNonFlipped;
    5658- (NSString *) path;
    5759- (NSString *) name;
    5860- (uint64_t)   size;
     61- (NSString *) tracker;
     62- (NSString *) announce;
     63- (int)        pieceSize;
     64- (int)        pieceCount;
     65- (NSString *) hash1;
     66- (NSString *) hash2;
    5967
    6068- (float)      progress;
     
    6775- (NSString *) downloadString;
    6876- (NSString *) uploadString;
     77- (int)        seeders;
     78- (int)        leechers;
     79- (uint64_t)   downloaded;
     80- (uint64_t)   uploaded;
    6981
    7082@end
  • trunk/macosx/Torrent.m

    r162 r165  
    5252    [fIcon setFlipped: YES];
    5353    [fIcon retain];
     54    fIconNonFlipped = [[NSWorkspace sharedWorkspace] iconForFileType: fileType];
     55    [fIconNonFlipped retain];
    5456
    5557    fStatusString   = [[NSMutableString alloc] initWithCapacity: 50];
     
    233235}
    234236
     237- (NSImage *) iconNonFlipped
     238{
     239    return fIconNonFlipped;
     240}
     241
    235242- (NSString *) path
    236243{
     
    248255}
    249256
     257- (NSString *) tracker
     258{
     259    return [NSString stringWithFormat: @"%s:%d",
     260            fInfo->trackerAddress, fInfo->trackerPort];
     261}
     262
     263- (NSString *) announce
     264{
     265    return [NSString stringWithUTF8String: fInfo->trackerAnnounce];
     266}
     267
     268- (int) pieceSize
     269{
     270    return fInfo->pieceSize;
     271}
     272
     273- (int) pieceCount
     274{
     275    return fInfo->pieceCount;
     276}
     277
     278- (NSString *) hash1
     279{
     280    NSMutableString * string = [NSMutableString
     281        stringWithCapacity: SHA_DIGEST_LENGTH];
     282    int i;
     283    for( i = 0; i < SHA_DIGEST_LENGTH / 2; i++ )
     284    {
     285        [string appendFormat: @"%02x", fInfo->hash[i]];
     286    }
     287    return string;
     288}
     289- (NSString *) hash2
     290{
     291    NSMutableString * string = [NSMutableString
     292        stringWithCapacity: SHA_DIGEST_LENGTH];
     293    int i;
     294    for( i = SHA_DIGEST_LENGTH / 2; i < SHA_DIGEST_LENGTH; i++ )
     295    {
     296        [string appendFormat: @"%02x", fInfo->hash[i]];
     297    }
     298    return string;
     299}
     300
    250301- (float) progress
    251302{
     
    291342{
    292343    return fUploadString;
     344}
     345
     346- (int) seeders
     347{
     348    return fStat->seeders;
     349}
     350
     351- (int) leechers
     352{
     353    return fStat->leechers;
     354}
     355
     356- (uint64_t) downloaded
     357{
     358    return fStat->downloaded;
     359}
     360
     361- (uint64_t) uploaded
     362{
     363    return fStat->uploaded;
    293364}
    294365
Note: See TracChangeset for help on using the changeset viewer.