Changeset 3608


Ignore:
Timestamp:
Oct 28, 2007, 3:10:11 AM (14 years ago)
Author:
livings124
Message:

allow messages to take multiple rows in message

Location:
trunk/macosx
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/macosx/English.lproj/MessageWindow.nib/classes.nib

    r3041 r3608  
    1 {
    2     IBClasses = (
    3         {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
    4         {
    5             ACTIONS = {changeLevel = id; clearLog = id; writeToFile = id; };
    6             CLASS = MessageWindowController;
    7             LANGUAGE = ObjC;
    8             OUTLETS = {
    9                 fDebugWarningField = NSTextField;
    10                 fDebugWarningIcon = NSImageView;
    11                 fLevelButton = NSPopUpButton;
    12                 fMessageTable = NSTableView;
    13             };
    14             SUPERCLASS = NSWindowController;
    15         }
    16     );
    17     IBVersion = 1;
    18 }
     1<?xml version="1.0" encoding="UTF-8"?>
     2<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
     3<plist version="1.0">
     4<dict>
     5        <key>IBClasses</key>
     6        <array>
     7                <dict>
     8                        <key>CLASS</key>
     9                        <string>NSApplication</string>
     10                        <key>LANGUAGE</key>
     11                        <string>ObjC</string>
     12                        <key>SUPERCLASS</key>
     13                        <string>NSResponder</string>
     14                </dict>
     15                <dict>
     16                        <key>CLASS</key>
     17                        <string>NSMenu</string>
     18                        <key>LANGUAGE</key>
     19                        <string>ObjC</string>
     20                        <key>SUPERCLASS</key>
     21                        <string>NSObject</string>
     22                </dict>
     23                <dict>
     24                        <key>CLASS</key>
     25                        <string>FirstResponder</string>
     26                        <key>LANGUAGE</key>
     27                        <string>ObjC</string>
     28                        <key>SUPERCLASS</key>
     29                        <string>NSObject</string>
     30                </dict>
     31                <dict>
     32                        <key>CLASS</key>
     33                        <string>NSObject</string>
     34                        <key>LANGUAGE</key>
     35                        <string>ObjC</string>
     36                </dict>
     37                <dict>
     38                        <key>ACTIONS</key>
     39                        <dict>
     40                                <key>changeLevel</key>
     41                                <string>id</string>
     42                                <key>clearLog</key>
     43                                <string>id</string>
     44                                <key>writeToFile</key>
     45                                <string>id</string>
     46                        </dict>
     47                        <key>CLASS</key>
     48                        <string>MessageWindowController</string>
     49                        <key>LANGUAGE</key>
     50                        <string>ObjC</string>
     51                        <key>OUTLETS</key>
     52                        <dict>
     53                                <key>fDebugWarningField</key>
     54                                <string>NSTextField</string>
     55                                <key>fDebugWarningIcon</key>
     56                                <string>NSImageView</string>
     57                                <key>fLevelButton</key>
     58                                <string>NSPopUpButton</string>
     59                                <key>fMessageTable</key>
     60                                <string>NSTableView</string>
     61                        </dict>
     62                        <key>SUPERCLASS</key>
     63                        <string>NSWindowController</string>
     64                </dict>
     65        </array>
     66        <key>IBVersion</key>
     67        <string>1</string>
     68</dict>
     69</plist>
  • trunk/macosx/English.lproj/MessageWindow.nib/info.nib

    r3031 r3608  
    11<?xml version="1.0" encoding="UTF-8"?>
    2 <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
     2<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    33<plist version="1.0">
    44<dict>
    5         <key>IBDocumentLocation</key>
    6         <string>42 94 356 240 0 0 1680 1028 </string>
    75        <key>IBFramework Version</key>
    8         <string>446.1</string>
     6        <string>629</string>
     7        <key>IBLastKnownRelativeProjectPath</key>
     8        <string>../../../Transmission.xcodeproj</string>
     9        <key>IBOldestOS</key>
     10        <integer>5</integer>
    911        <key>IBOpenObjects</key>
    1012        <array>
     
    1214        </array>
    1315        <key>IBSystem Version</key>
    14         <string>8R4031</string>
     16        <string>9A581</string>
     17        <key>targetFramework</key>
     18        <string>IBCocoaFramework</string>
    1519</dict>
    1620</plist>
  • trunk/macosx/MessageWindowController.h

    r3083 r3608  
    3333    NSMutableArray * fMessages;
    3434   
     35    NSDictionary * fAttributes;
     36   
    3537    NSTimer * fTimer;
    3638   
  • trunk/macosx/MessageWindowController.m

    r3378 r3608  
    3535@interface MessageWindowController (Private)
    3636
     37- (void) resizeColumn;
    3738- (NSString *) stringForMessage: (NSDictionary *) message;
    3839- (void) setDebugWarningHidden: (BOOL) hide;
     
    6162    [fTimer invalidate];
    6263    [fMessages release];
     64   
     65    [fAttributes release];
    6366   
    6467    [super dealloc];
     
    7073    [window setFrameAutosaveName: @"MessageWindowFrame"];
    7174    [window setFrameUsingName: @"MessageWindowFrame"];
     75   
     76    [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(resizeColumn)
     77                    name: @"NSTableViewColumnDidResizeNotification" object: fMessageTable];
    7278   
    7379    //initially sort peer table by IP
     
    129135       
    130136        [fMessages removeObjectsInRange: NSMakeRange(0, total-MAX_MESSAGES)];
     137       
     138        [fMessageTable noteHeightOfRowsWithIndexesChanged: [NSIndexSet indexSetWithIndexesInRange: NSMakeRange(0, MAX_MESSAGES)]];
    131139    }
    132140   
     
    164172    else
    165173        return [message objectForKey: @"Message"];
     174}
     175
     176- (float) tableView: (NSTableView *) tableView heightOfRow: (int) row
     177{
     178    NSTableColumn * column = [tableView tableColumnWithIdentifier: @"Message"];
     179   
     180    int count = 0;
     181    float width = [column width];
     182    if (width > 0)
     183    {
     184        if (!fAttributes)
     185            fAttributes = [[[[column dataCell] attributedStringValue] attributesAtIndex: 0 effectiveRange: NULL] retain];
     186       
     187        NSAttributedString * string = [[NSAttributedString alloc] initWithString: [[fMessages objectAtIndex: row]
     188                                        objectForKey: @"Message"] attributes: fAttributes];
     189        count = [string size].width / width;
     190        [string release];
     191    }
     192   
     193    return [tableView rowHeight] * (float)(count+1);
    166194}
    167195
     
    287315@implementation MessageWindowController (Private)
    288316
     317- (void) resizeColumn
     318{
     319    [fMessageTable noteHeightOfRowsWithIndexesChanged: [NSIndexSet indexSetWithIndexesInRange:
     320                    NSMakeRange(0, [fMessageTable numberOfRows])]];
     321}
     322
    289323- (NSString *) stringForMessage: (NSDictionary *) message
    290324{
  • trunk/macosx/PeerProgressIndicatorCell.m

    r3216 r3608  
    2727@implementation PeerProgressIndicatorCell
    2828
     29#warning exists in 10.5
    2930- (BOOL) hidden
    3031{
Note: See TracChangeset for help on using the changeset viewer.