]> granicus.if.org Git - transmission/commitdiff
move the status bar into its own xib file
authorMitchell Livingston <livings124@transmissionbt.com>
Sun, 20 Feb 2011 00:22:55 +0000 (00:22 +0000)
committerMitchell Livingston <livings124@transmissionbt.com>
Sun, 20 Feb 2011 00:22:55 +0000 (00:22 +0000)
Transmission.xcodeproj/project.pbxproj
macosx/Controller.h
macosx/Controller.m
macosx/Makefile.am
macosx/StatusBar.xib [new file with mode: 0644]
macosx/StatusBarController.h [new file with mode: 0644]
macosx/StatusBarController.m [new file with mode: 0644]
macosx/en.lproj/MainMenu.xib

index 54e9ac0d228d1b3ebc85fe892178cd76c04a9ed1..8b365d8fb828e4a1478c517639da1421a0f50271 100644 (file)
                A2E384E1130DFB3A001F501B /* utypes.h in Headers */ = {isa = PBXBuildFile; fileRef = A2E384D9130DFB3A001F501B /* utypes.h */; };
                A2E3850C130DFCCB001F501B /* StdAfx.h in Headers */ = {isa = PBXBuildFile; fileRef = A2E3850B130DFCCB001F501B /* StdAfx.h */; };
                A2E38540130DFECD001F501B /* libminiupnp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BE1183480CE160960002D0F3 /* libminiupnp.a */; };
+               A2E57ABB1310822C00A7DAB1 /* StatusBarController.m in Sources */ = {isa = PBXBuildFile; fileRef = A2E57ABA1310822C00A7DAB1 /* StatusBarController.m */; };
+               A2E57AC61310831400A7DAB1 /* StatusBar.xib in Resources */ = {isa = PBXBuildFile; fileRef = A2E57AC51310831400A7DAB1 /* StatusBar.xib */; };
                A2E669790F5B8E5A00B4251A /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A2E669780F5B8E5A00B4251A /* Security.framework */; };
                A2E9AA760C249AF400085DCF /* ToolbarCreateTemplate.png in Resources */ = {isa = PBXBuildFile; fileRef = A2E9AA750C249AF400085DCF /* ToolbarCreateTemplate.png */; };
                A2ED7D8F0CEF431B00970975 /* FilterButton.m in Sources */ = {isa = PBXBuildFile; fileRef = A2ED7D8E0CEF431B00970975 /* FilterButton.m */; };
                A2E384D9130DFB3A001F501B /* utypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = utypes.h; path = "third-party/libutp/utypes.h"; sourceTree = "<group>"; };
                A2E3850B130DFCCB001F501B /* StdAfx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StdAfx.h; path = "third-party/libutp/StdAfx.h"; sourceTree = "<group>"; };
                A2E38544130DFEE3001F501B /* libutp.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libutp.a; sourceTree = BUILT_PRODUCTS_DIR; };
+               A2E57AB91310822C00A7DAB1 /* StatusBarController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StatusBarController.h; path = macosx/StatusBarController.h; sourceTree = "<group>"; };
+               A2E57ABA1310822C00A7DAB1 /* StatusBarController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = StatusBarController.m; path = macosx/StatusBarController.m; sourceTree = "<group>"; };
+               A2E57AC51310831400A7DAB1 /* StatusBar.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = StatusBar.xib; path = macosx/StatusBar.xib; sourceTree = "<group>"; };
                A2E669780F5B8E5A00B4251A /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = /System/Library/Frameworks/Security.framework; sourceTree = "<absolute>"; };
                A2E9AA750C249AF400085DCF /* ToolbarCreateTemplate.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ToolbarCreateTemplate.png; path = macosx/Images/ToolbarCreateTemplate.png; sourceTree = "<group>"; };
                A2EA8E3C0CC3C9830081201C /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = macosx/fr.lproj/InfoPlist.strings; sourceTree = "<group>"; };
                                E1B6FBEB0C0D70AC0015FE4D /* UKKQueue */,
                                E138A9750C04D88F00C5426C /* ProgressGradients.h */,
                                E138A9760C04D88F00C5426C /* ProgressGradients.m */,
+                               A2E57AB91310822C00A7DAB1 /* StatusBarController.h */,
+                               A2E57ABA1310822C00A7DAB1 /* StatusBarController.m */,
                                A21282A50CA6C66800EAEE0F /* StatusBarView.h */,
                                A21282A60CA6C66800EAEE0F /* StatusBarView.m */,
                                A2661D3A12D0E51A004F69D5 /* FilterBarView.h */,
                                A233BD320D8C6585007EE7B4 /* MessageWindow.xib */,
                                A233BD680D8CF2C7007EE7B4 /* StatsWindow.xib */,
                                A231274B0D11D0B7003F9AFF /* AboutWindow.xib */,
+                               A2E57AC51310831400A7DAB1 /* StatusBar.xib */,
                                A2F7CF5413035F7B0016FF10 /* URLSheetWindow.xib */,
                                A2D307B00D9EC9F50051FD27 /* BlocklistStatusWindow.xib */,
                                A209ECA1114319C3002B02D1 /* InfoWindow.xib */,
                                A209ECA2114319C3002B02D1 /* InfoWindow.xib in Resources */,
                                A21F15AD11729A9F00CF5A9C /* AddMagnetWindow.xib in Resources */,
                                A2F7CF5513035F7B0016FF10 /* URLSheetWindow.xib in Resources */,
+                               A2E57AC61310831400A7DAB1 /* StatusBar.xib in Resources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                                A2661D6112D0E8D9004F69D5 /* FilterBarView.m in Sources */,
                                A25BB02A12F4F517004B724E /* InfoTabButtonBack.m in Sources */,
                                A2F7CF5F13035FFD0016FF10 /* URLSheetWindowController.m in Sources */,
+                               A2E57ABB1310822C00A7DAB1 /* StatusBarController.m in Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
index edcd744baf3c2d584f6e57c56e4f14b930b258b8..8a1c3f2aa32fdf00ad95c0572c202b66afd5bff3 100644 (file)
@@ -36,7 +36,7 @@
 @class InfoWindowController;
 @class MessageWindowController;
 @class PrefsController;
-@class StatusBarView;
+@class StatusBarController;
 @class Torrent;
 @class TorrentTableView;
 @class URLSheetWindowController;
@@ -74,10 +74,7 @@ typedef enum
     IBOutlet NSButton               * fActionButton, * fSpeedLimitButton;
     IBOutlet NSTextField            * fTotalTorrentsField;
     
-    IBOutlet StatusBarView          * fStatusBar;
-    IBOutlet NSButton               * fStatusButton;
-    IBOutlet NSTextField            * fTotalDLField, * fTotalULField;
-    IBOutlet NSImageView            * fTotalDLImageView;
+    IBOutlet StatusBarController    * fStatusBar;
     
     IBOutlet FilterBarView          * fFilterBar;
     IBOutlet FilterButton           * fNoFilterButton, * fActiveFilterButton, * fDownloadFilterButton,
@@ -187,11 +184,8 @@ typedef enum
 
 - (void) updateUI;
 
-- (void) resizeStatusButton;
 - (void) setBottomCountText: (BOOL) filtering;
 
-- (void) updateSpeedFieldsToolTips;
-
 - (void) updateTorrentsInQueue;
 - (NSUInteger) numToStartFromQueue: (BOOL) downloadQueue;
 
@@ -213,8 +207,6 @@ typedef enum
 - (void) setFilterSearchType: (id) sender;
 - (void) switchFilter: (id) sender;
 
-- (void) setStatusLabel: (id) sender;
-
 - (void) setGroup: (id) sender; //used by delegate-generated menu items
 - (void) setGroupFilter: (id) sender;
 - (void) updateGroupsFilterButton;
index 3c3cfe1d2008098981ae8d06c99e69624b4b9e1d..810fc2e4939dcefcdc1d8742fbedff5c18b41478 100644 (file)
@@ -44,7 +44,7 @@
 #import "GroupToolbarItem.h"
 #import "ToolbarSegmentedCell.h"
 #import "BlocklistDownloader.h"
-#import "StatusBarView.h"
+#import "StatusBarController.h"
 #import "FilterBarView.h"
 #import "FilterButton.h"
 #import "BonjourController.h"
@@ -122,11 +122,13 @@ typedef enum
 
 #define GROUP_FILTER_ALL_TAG    -2
 
+#warning remove
 #define STATUS_RATIO_TOTAL      @"RatioTotal"
 #define STATUS_RATIO_SESSION    @"RatioSession"
 #define STATUS_TRANSFER_TOTAL   @"TransferTotal"
 #define STATUS_TRANSFER_SESSION @"TransferSession"
 
+#warning remove
 typedef enum
 {
     STATUS_RATIO_TOTAL_TAG = 0,
@@ -426,8 +428,6 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
     [fWindow setContentBorderThickness: NSMinY([[fTableView enclosingScrollView] frame]) forEdge: NSMinYEdge];
     [fWindow setMovableByWindowBackground: YES];
     
-    [[fTotalDLField cell] setBackgroundStyle: NSBackgroundStyleRaised];
-    [[fTotalULField cell] setBackgroundStyle: NSBackgroundStyleRaised];
     [[fTotalTorrentsField cell] setBackgroundStyle: NSBackgroundStyleRaised];
     
     [self updateGroupsFilterButton];
@@ -447,16 +447,6 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
     [self showFilterBar: [fDefaults boolForKey: @"FilterBar"] animate: NO];
     
     //set up status bar
-    [fStatusBar setHidden: YES];
-    
-    [self updateSpeedFieldsToolTips];
-    
-    NSRect statusBarFrame = [fStatusBar frame];
-    statusBarFrame.size.width = windowSize.width;
-    [fStatusBar setFrame: statusBarFrame];
-    
-    [contentView addSubview: fStatusBar];
-    [fStatusBar setFrameOrigin: NSMakePoint(0, NSMaxY([contentView frame]))];
     [self showStatusBar: [fDefaults boolForKey: @"StatusBar"] animate: NO];
     
     [fActionButton setToolTip: NSLocalizedString(@"Shortcuts for changing global settings.",
@@ -582,10 +572,6 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
     //update when groups change
     [nc addObserver: self selector: @selector(updateGroupsFilters:)
                     name: @"UpdateGroups" object: nil];
-    
-    //update when speed limits are changed
-    [nc addObserver: self selector: @selector(updateSpeedFieldsToolTips)
-                    name: @"SpeedLimitUpdate" object: nil];
 
     //timer to update the interface every second
     [self updateUI];
@@ -774,6 +760,9 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
     [fMessageController release];
     [fPrefsController release];
     
+    [fStatusBar release];
+    [fFilterBar release];
+    
     [fTorrents release];
     [fDisplayedTorrents release];
     
@@ -1714,45 +1703,7 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
         {
             [self sortTorrents];
             
-            //update status bar
-            if (![fStatusBar isHidden])
-            {
-                //set rates
-                [fTotalDLField setStringValue: [NSString stringForSpeed: dlRate]];
-                [fTotalULField setStringValue: [NSString stringForSpeed: ulRate]];
-                
-                //set status button text
-                NSString * statusLabel = [fDefaults stringForKey: @"StatusLabel"], * statusString;
-                BOOL total;
-                if ((total = [statusLabel isEqualToString: STATUS_RATIO_TOTAL]) || [statusLabel isEqualToString: STATUS_RATIO_SESSION])
-                {
-                    tr_session_stats stats;
-                    if (total)
-                        tr_sessionGetCumulativeStats(fLib, &stats);
-                    else
-                        tr_sessionGetStats(fLib, &stats);
-                    
-                    statusString = [NSLocalizedString(@"Ratio", "status bar -> status label") stringByAppendingFormat: @": %@",
-                                    [NSString stringForRatio: stats.ratio]];
-                }
-                else //STATUS_TRANSFER_TOTAL or STATUS_TRANSFER_SESSION
-                {
-                    total = [statusLabel isEqualToString: STATUS_TRANSFER_TOTAL];
-                    
-                    tr_session_stats stats;
-                    if (total)
-                        tr_sessionGetCumulativeStats(fLib, &stats);
-                    else
-                        tr_sessionGetStats(fLib, &stats);
-                    
-                    statusString = [NSString stringWithFormat: @"%@: %@  %@: %@",
-                            NSLocalizedString(@"DL", "status bar -> status label"), [NSString stringForFileSize: stats.downloadedBytes],
-                            NSLocalizedString(@"UL", "status bar -> status label"), [NSString stringForFileSize: stats.uploadedBytes]];
-                }
-                
-                [fStatusButton setTitle: statusString];
-                [self resizeStatusButton];
-            }
+            [fStatusBar updateWithDownload: dlRate upload: ulRate];
         }
 
         //update non-constant parts of info window
@@ -1764,21 +1715,6 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
     [fBadger updateBadgeWithDownload: dlRate upload: ulRate];
 }
 
-- (void) resizeStatusButton
-{
-    [fStatusButton sizeToFit];
-    
-    //width ends up being too long
-    NSRect statusFrame = [fStatusButton frame];
-    statusFrame.size.width -= 25.0;
-    
-    CGFloat difference = NSMaxX(statusFrame) + 5.0 - [fTotalDLImageView frame].origin.x;
-    if (difference > 0)
-        statusFrame.size.width -= difference;
-    
-    [fStatusButton setFrame: statusFrame];
-}
-
 - (void) setBottomCountText: (BOOL) filtering
 {
     NSString * totalTorrentsString;
@@ -1802,42 +1738,6 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
     [fTotalTorrentsField setStringValue: totalTorrentsString];
 }
 
-- (void) updateSpeedFieldsToolTips
-{
-    NSString * uploadText, * downloadText;
-    
-    if ([fDefaults boolForKey: @"SpeedLimit"])
-    {
-        NSString * speedString = [NSString stringWithFormat: @"%@ (%@)", NSLocalizedString(@"%d KB/s", "Status Bar -> speed tooltip"),
-                                    NSLocalizedString(@"Speed Limit", "Status Bar -> speed tooltip")];
-        
-        uploadText = [NSString stringWithFormat: speedString, [fDefaults integerForKey: @"SpeedLimitUploadLimit"]];
-        downloadText = [NSString stringWithFormat: speedString, [fDefaults integerForKey: @"SpeedLimitDownloadLimit"]];
-    }
-    else
-    {
-        if ([fDefaults boolForKey: @"CheckUpload"])
-            uploadText = [NSString stringWithFormat: NSLocalizedString(@"%d KB/s", "Status Bar -> speed tooltip"),
-                            [fDefaults integerForKey: @"UploadLimit"]];
-        else
-            uploadText = NSLocalizedString(@"unlimited", "Status Bar -> speed tooltip");
-        
-        if ([fDefaults boolForKey: @"CheckDownload"])
-            downloadText = [NSString stringWithFormat: NSLocalizedString(@"%d KB/s", "Status Bar -> speed tooltip"),
-                            [fDefaults integerForKey: @"DownloadLimit"]];
-        else
-            downloadText = NSLocalizedString(@"unlimited", "Status Bar -> speed tooltip");
-    }
-    
-    uploadText = [NSLocalizedString(@"Global upload limit", "Status Bar -> speed tooltip")
-                    stringByAppendingFormat: @": %@", uploadText];
-    downloadText = [NSLocalizedString(@"Global download limit", "Status Bar -> speed tooltip")
-                    stringByAppendingFormat: @": %@", downloadText];
-    
-    [fTotalULField setToolTip: uploadText];
-    [fTotalDLField setToolTip: downloadText];
-}
-
 - (void) updateTorrentsInQueue
 {
     NSUInteger desiredDownloadActive = [fDefaults boolForKey: @"Queue"] ? [self numToStartFromQueue: YES] : NSUIntegerMax,
@@ -2424,32 +2324,6 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
     [self setFilter: button];
 }
 
-- (void) setStatusLabel: (id) sender
-{
-    NSString * statusLabel;
-    switch ([sender tag])
-    {
-        case STATUS_RATIO_TOTAL_TAG:
-            statusLabel = STATUS_RATIO_TOTAL;
-            break;
-        case STATUS_RATIO_SESSION_TAG:
-            statusLabel = STATUS_RATIO_SESSION;
-            break;
-        case STATUS_TRANSFER_TOTAL_TAG:
-            statusLabel = STATUS_TRANSFER_TOTAL;
-            break;
-        case STATUS_TRANSFER_SESSION_TAG:
-            statusLabel = STATUS_TRANSFER_SESSION;
-            break;
-        default:
-            NSAssert1(NO, @"Unknown status label tag received: %d", [sender tag]);
-            return;
-    }
-    
-    [fDefaults setObject: statusLabel forKey: @"StatusLabel"];
-    [self updateUI];
-}
-
 - (void) menuNeedsUpdate: (NSMenu *) menu
 {
     if (menu == fGroupsSetMenu || menu == fGroupsSetContextMenu || menu == fGroupFilterMenu)
@@ -2574,7 +2448,7 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
 - (void) speedLimitChanged: (id) sender
 {
     tr_sessionUseAltSpeed(fLib, [fDefaults boolForKey: @"SpeedLimit"]);
-    [self updateSpeedFieldsToolTips];
+    [fStatusBar updateSpeedFieldsToolTips];
 }
 
 //dict has been retained
@@ -2583,7 +2457,7 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
     const BOOL isLimited = [[dict objectForKey: @"Active"] boolValue];
 
     [fDefaults setBool: isLimited forKey: @"SpeedLimit"];
-    [self updateSpeedFieldsToolTips];
+    [fStatusBar updateSpeedFieldsToolTips];
     
     if (![[dict objectForKey: @"ByUser"] boolValue])
         [GrowlApplicationBridge notifyWithTitle: isLimited
@@ -3124,8 +2998,8 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
         else
         {
             NSSize maxSize = [scrollView convertSize: [[fWindow screen] visibleFrame].size fromView: nil];
-            if ([fStatusBar isHidden])
-                maxSize.height -= [fStatusBar frame].size.height;
+            if (!fStatusBar)
+                maxSize.height -= [[fStatusBar view] frame].size.height;
             if ([fFilterBar isHidden]) 
                 maxSize.height -= [fFilterBar frame].size.height;
             if (windowSize.height > maxSize.height)
@@ -3143,21 +3017,35 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
 
 - (void) toggleStatusBar: (id) sender
 {
-    [self showStatusBar: [fStatusBar isHidden] animate: YES];
-    [fDefaults setBool: ![fStatusBar isHidden] forKey: @"StatusBar"];
+    const BOOL show = fStatusBar == nil;
+    [self showStatusBar: show animate: YES];
+    [fDefaults setBool: show forKey: @"StatusBar"];
 }
 
 //doesn't save shown state
 - (void) showStatusBar: (BOOL) show animate: (BOOL) animate
 {
-    if (show != [fStatusBar isHidden])
+    const BOOL prevShown = fStatusBar != nil;
+    if (show == prevShown)
         return;
-
+    
     if (show)
-        [fStatusBar setHidden: NO];
-
+    {
+        fStatusBar = [[StatusBarController alloc] initWithLib: fLib];
+        
+        NSView * contentView = [fWindow contentView];
+        const NSSize windowSize = [contentView convertSize: [fWindow frame].size fromView: nil];
+        
+        NSRect statusBarFrame = [[fStatusBar view] frame];
+        statusBarFrame.size.width = windowSize.width;
+        [[fStatusBar view] setFrame: statusBarFrame];
+        
+        [contentView addSubview: [fStatusBar view]];
+        [[fStatusBar view] setFrameOrigin: NSMakePoint(0, NSMaxY([contentView frame]))];
+    }
+    
     NSRect frame;
-    CGFloat heightChange = [fStatusBar frame].size.height;
+    CGFloat heightChange = [[fStatusBar view] frame].size.height;
     if (!show)
         heightChange *= -1;
     
@@ -3180,18 +3068,18 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
     NSScrollView * scrollView = [fTableView enclosingScrollView];
     
     //set views to not autoresize
-    NSUInteger statsMask = [fStatusBar autoresizingMask];
-    NSUInteger filterMask = [fFilterBar autoresizingMask];
-    NSUInteger scrollMask = [scrollView autoresizingMask];
-    [fStatusBar setAutoresizingMask: NSViewNotSizable];
+    const NSUInteger statsMask = [[fStatusBar view] autoresizingMask];
+    [[fStatusBar view] setAutoresizingMask: NSViewNotSizable];
+    const NSUInteger filterMask = [fFilterBar autoresizingMask];
     [fFilterBar setAutoresizingMask: NSViewNotSizable];
+    const NSUInteger scrollMask = [scrollView autoresizingMask];
     [scrollView setAutoresizingMask: NSViewNotSizable];
     
     frame = [self windowFrameByAddingHeight: heightChange checkLimits: NO];
     [fWindow setFrame: frame display: YES animate: animate]; 
     
     //re-enable autoresize
-    [fStatusBar setAutoresizingMask: statsMask];
+    [[fStatusBar view] setAutoresizingMask: statsMask];
     [fFilterBar setAutoresizingMask: filterMask];
     [scrollView setAutoresizingMask: scrollMask];
     
@@ -3201,7 +3089,10 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
     [fWindow setContentMinSize: minSize];
     
     if (!show)
-        [fStatusBar setHidden: YES];
+    {
+        [fStatusBar release];
+        fStatusBar = nil;
+    }
 }
 
 - (void) toggleFilterBar: (id) sender
@@ -3742,32 +3633,6 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
         return [fWindow isVisible];
     }
     
-    //enable sort options
-    if (action == @selector(setStatusLabel:))
-    {
-        NSString * statusLabel;
-        switch ([menuItem tag])
-        {
-            case STATUS_RATIO_TOTAL_TAG:
-                statusLabel = STATUS_RATIO_TOTAL;
-                break;
-            case STATUS_RATIO_SESSION_TAG:
-                statusLabel = STATUS_RATIO_SESSION;
-                break;
-            case STATUS_TRANSFER_TOTAL_TAG:
-                statusLabel = STATUS_TRANSFER_TOTAL;
-                break;
-            case STATUS_TRANSFER_SESSION_TAG:
-                statusLabel = STATUS_TRANSFER_SESSION;
-                break;
-            default:
-                NSAssert1(NO, @"Unknown status label tag received: %d", [menuItem tag]);
-        }
-        
-        [menuItem setState: [statusLabel isEqualToString: [fDefaults stringForKey: @"StatusLabel"]] ? NSOnState : NSOffState];
-        return YES;
-    }
-    
     if (action == @selector(setGroup:))
     {
         BOOL checked = NO;
@@ -3865,7 +3730,7 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
     //enable toggle status bar
     if (action == @selector(toggleStatusBar:))
     {
-        NSString * title = [fStatusBar isHidden] ? NSLocalizedString(@"Show Status Bar", "View menu -> Status Bar")
+        NSString * title = !fStatusBar ? NSLocalizedString(@"Show Status Bar", "View menu -> Status Bar")
                             : NSLocalizedString(@"Hide Status Bar", "View menu -> Status Bar");
         [menuItem setTitle: title];
 
@@ -4323,13 +4188,8 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
 
 - (void) windowDidResize: (NSNotification *) notification
 {
-    if (![fStatusBar isHidden])
-        [self resizeStatusButton];
-    
-    if ([fFilterBar isHidden])
-        return;
-
-    [self resizeFilterBar];
+    if (![fFilterBar isHidden])
+        [self resizeFilterBar];
 }
 
 - (void) applicationWillUnhide: (NSNotification *) notification
index 361112b41b477d38d632a11391c09aa0964afe96..96090980ce593b3202f8229b2c5036d51f32e973 100644 (file)
@@ -128,6 +128,8 @@ EXTRA_DIST = \
     ProgressGradients.m \
     StatsWindowController.h \
     StatsWindowController.m \
+    StatusBarController.h \
+    StatusBarController.m \
     StatusBarView.h \
     StatusBarView.m \
     ToolbarSegmentedCell.h \
diff --git a/macosx/StatusBar.xib b/macosx/StatusBar.xib
new file mode 100644 (file)
index 0000000..1bd0662
--- /dev/null
@@ -0,0 +1,1368 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
+       <data>
+               <int key="IBDocument.SystemTarget">1060</int>
+               <string key="IBDocument.SystemVersion">10J567</string>
+               <string key="IBDocument.InterfaceBuilderVersion">823</string>
+               <string key="IBDocument.AppKitVersion">1038.35</string>
+               <string key="IBDocument.HIToolboxVersion">462.00</string>
+               <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+                       <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
+                       <string key="NS.object.0">823</string>
+               </object>
+               <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
+                       <bool key="EncodedWithXMLCoder">YES</bool>
+                       <integer value="2"/>
+               </object>
+               <object class="NSArray" key="IBDocument.PluginDependencies">
+                       <bool key="EncodedWithXMLCoder">YES</bool>
+                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+               </object>
+               <object class="NSMutableDictionary" key="IBDocument.Metadata">
+                       <string key="NS.key.0">PluginDependencyRecalculationVersion</string>
+                       <integer value="1" key="NS.object.0"/>
+               </object>
+               <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+                       <bool key="EncodedWithXMLCoder">YES</bool>
+                       <object class="NSCustomObject" id="1001">
+                               <string key="NSClassName">StatusBarController</string>
+                       </object>
+                       <object class="NSCustomObject" id="1003">
+                               <string key="NSClassName">FirstResponder</string>
+                       </object>
+                       <object class="NSCustomObject" id="1004">
+                               <string key="NSClassName">NSApplication</string>
+                       </object>
+                       <object class="NSCustomView" id="193923251">
+                               <reference key="NSNextResponder"/>
+                               <int key="NSvFlags">266</int>
+                               <object class="NSMutableArray" key="NSSubviews">
+                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                       <object class="NSTextField" id="798598333">
+                                               <reference key="NSNextResponder" ref="193923251"/>
+                                               <int key="NSvFlags">257</int>
+                                               <string key="NSFrame">{{258, 4}, {64, 14}}</string>
+                                               <reference key="NSSuperview" ref="193923251"/>
+                                               <bool key="NSEnabled">YES</bool>
+                                               <object class="NSTextFieldCell" key="NSCell" id="593992364">
+                                                       <int key="NSCellFlags">67239424</int>
+                                                       <int key="NSCellFlags2">4325376</int>
+                                                       <string key="NSContents">999.9 KB/s</string>
+                                                       <object class="NSFont" key="NSSupport" id="26">
+                                                               <string key="NSName">LucidaGrande</string>
+                                                               <double key="NSSize">11</double>
+                                                               <int key="NSfFlags">3100</int>
+                                                       </object>
+                                                       <reference key="NSControlView" ref="798598333"/>
+                                                       <object class="NSColor" key="NSBackgroundColor" id="646015346">
+                                                               <int key="NSColorSpace">6</int>
+                                                               <string key="NSCatalogName">System</string>
+                                                               <string key="NSColorName">controlColor</string>
+                                                               <object class="NSColor" key="NSColor">
+                                                                       <int key="NSColorSpace">3</int>
+                                                                       <bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
+                                                               </object>
+                                                       </object>
+                                                       <object class="NSColor" key="NSTextColor" id="413836164">
+                                                               <int key="NSColorSpace">6</int>
+                                                               <string key="NSCatalogName">System</string>
+                                                               <string key="NSColorName">controlTextColor</string>
+                                                               <object class="NSColor" key="NSColor">
+                                                                       <int key="NSColorSpace">3</int>
+                                                                       <bytes key="NSWhite">MAA</bytes>
+                                                               </object>
+                                                       </object>
+                                               </object>
+                                       </object>
+                                       <object class="NSTextField" id="1048428465">
+                                               <reference key="NSNextResponder" ref="193923251"/>
+                                               <int key="NSvFlags">257</int>
+                                               <string key="NSFrame">{{336, 4}, {64, 14}}</string>
+                                               <reference key="NSSuperview" ref="193923251"/>
+                                               <bool key="NSEnabled">YES</bool>
+                                               <object class="NSTextFieldCell" key="NSCell" id="836599047">
+                                                       <int key="NSCellFlags">67239424</int>
+                                                       <int key="NSCellFlags2">272760832</int>
+                                                       <string key="NSContents">999.9 KB/s</string>
+                                                       <reference key="NSSupport" ref="26"/>
+                                                       <reference key="NSControlView" ref="1048428465"/>
+                                                       <reference key="NSBackgroundColor" ref="646015346"/>
+                                                       <reference key="NSTextColor" ref="413836164"/>
+                                               </object>
+                                       </object>
+                                       <object class="NSImageView" id="745192128">
+                                               <reference key="NSNextResponder" ref="193923251"/>
+                                               <int key="NSvFlags">257</int>
+                                               <object class="NSMutableSet" key="NSDragTypes">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <object class="NSArray" key="set.sortedObjects">
+                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                               <string>Apple PDF pasteboard type</string>
+                                                               <string>Apple PICT pasteboard type</string>
+                                                               <string>Apple PNG pasteboard type</string>
+                                                               <string>NSFilenamesPboardType</string>
+                                                               <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
+                                                               <string>NeXT TIFF v4.0 pasteboard type</string>
+                                                       </object>
+                                               </object>
+                                               <string key="NSFrame">{{325, 5}, {8, 12}}</string>
+                                               <reference key="NSSuperview" ref="193923251"/>
+                                               <bool key="NSEnabled">YES</bool>
+                                               <object class="NSImageCell" key="NSCell" id="803566449">
+                                                       <int key="NSCellFlags">130560</int>
+                                                       <int key="NSCellFlags2">33554432</int>
+                                                       <object class="NSCustomResource" key="NSContents">
+                                                               <string key="NSClassName">NSImage</string>
+                                                               <string key="NSResourceName">UpArrowTemplate</string>
+                                                       </object>
+                                                       <int key="NSAlign">0</int>
+                                                       <int key="NSScale">2</int>
+                                                       <int key="NSStyle">0</int>
+                                                       <bool key="NSAnimates">NO</bool>
+                                               </object>
+                                               <bool key="NSEditable">YES</bool>
+                                       </object>
+                                       <object class="NSImageView" id="386981315">
+                                               <reference key="NSNextResponder" ref="193923251"/>
+                                               <int key="NSvFlags">257</int>
+                                               <object class="NSMutableSet" key="NSDragTypes">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <object class="NSArray" key="set.sortedObjects">
+                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                               <string>Apple PDF pasteboard type</string>
+                                                               <string>Apple PICT pasteboard type</string>
+                                                               <string>Apple PNG pasteboard type</string>
+                                                               <string>NSFilenamesPboardType</string>
+                                                               <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
+                                                               <string>NeXT TIFF v4.0 pasteboard type</string>
+                                                       </object>
+                                               </object>
+                                               <string key="NSFrame">{{247, 5}, {8, 12}}</string>
+                                               <reference key="NSSuperview" ref="193923251"/>
+                                               <bool key="NSEnabled">YES</bool>
+                                               <object class="NSImageCell" key="NSCell" id="300181742">
+                                                       <int key="NSCellFlags">130560</int>
+                                                       <int key="NSCellFlags2">33554432</int>
+                                                       <object class="NSCustomResource" key="NSContents">
+                                                               <string key="NSClassName">NSImage</string>
+                                                               <string key="NSResourceName">DownArrowTemplate</string>
+                                                       </object>
+                                                       <int key="NSAlign">0</int>
+                                                       <int key="NSScale">2</int>
+                                                       <int key="NSStyle">0</int>
+                                                       <bool key="NSAnimates">YES</bool>
+                                               </object>
+                                               <bool key="NSEditable">YES</bool>
+                                       </object>
+                                       <object class="NSPopUpButton" id="552571018">
+                                               <reference key="NSNextResponder" ref="193923251"/>
+                                               <int key="NSvFlags">268</int>
+                                               <string key="NSFrame">{{5, 2}, {103, 17}}</string>
+                                               <reference key="NSSuperview" ref="193923251"/>
+                                               <bool key="NSEnabled">YES</bool>
+                                               <object class="NSPopUpButtonCell" key="NSCell" id="417448726">
+                                                       <int key="NSCellFlags">-2076049856</int>
+                                                       <int key="NSCellFlags2">133120</int>
+                                                       <object class="NSFont" key="NSSupport">
+                                                               <string key="NSName">LucidaGrande</string>
+                                                               <double key="NSSize">11</double>
+                                                               <int key="NSfFlags">16</int>
+                                                       </object>
+                                                       <reference key="NSControlView" ref="552571018"/>
+                                                       <int key="NSButtonFlags">-1229438721</int>
+                                                       <int key="NSButtonFlags2">45</int>
+                                                       <string key="NSAlternateContents"/>
+                                                       <string key="NSKeyEquivalent"/>
+                                                       <int key="NSPeriodicDelay">400</int>
+                                                       <int key="NSPeriodicInterval">75</int>
+                                                       <object class="NSMenuItem" key="NSMenuItem" id="1016627770">
+                                                               <reference key="NSMenu" ref="745992539"/>
+                                                               <bool key="NSIsHidden">YES</bool>
+                                                               <string key="NSTitle">Ratio: 999.9</string>
+                                                               <string key="NSKeyEquiv"/>
+                                                               <int key="NSKeyEquivModMask">1048576</int>
+                                                               <int key="NSMnemonicLoc">2147483647</int>
+                                                               <int key="NSState">1</int>
+                                                               <object class="NSCustomResource" key="NSOnImage" id="858121798">
+                                                                       <string key="NSClassName">NSImage</string>
+                                                                       <string key="NSResourceName">NSMenuCheckmark</string>
+                                                               </object>
+                                                               <object class="NSCustomResource" key="NSMixedImage" id="831782378">
+                                                                       <string key="NSClassName">NSImage</string>
+                                                                       <string key="NSResourceName">NSMenuMixedState</string>
+                                                               </object>
+                                                               <string key="NSAction">_popUpItemAction:</string>
+                                                               <reference key="NSTarget" ref="417448726"/>
+                                                       </object>
+                                                       <bool key="NSMenuItemRespectAlignment">YES</bool>
+                                                       <object class="NSMenu" key="NSMenu" id="745992539">
+                                                               <string key="NSTitle">OtherViews</string>
+                                                               <object class="NSMutableArray" key="NSMenuItems">
+                                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                       <reference ref="1016627770"/>
+                                                                       <object class="NSMenuItem" id="880407745">
+                                                                               <reference key="NSMenu" ref="745992539"/>
+                                                                               <string key="NSTitle">Item 2</string>
+                                                                               <string key="NSKeyEquiv"/>
+                                                                               <int key="NSKeyEquivModMask">1048576</int>
+                                                                               <int key="NSMnemonicLoc">2147483647</int>
+                                                                               <reference key="NSOnImage" ref="858121798"/>
+                                                                               <reference key="NSMixedImage" ref="831782378"/>
+                                                                               <string key="NSAction">_popUpItemAction:</string>
+                                                                               <reference key="NSTarget" ref="417448726"/>
+                                                                       </object>
+                                                                       <object class="NSMenuItem" id="93024116">
+                                                                               <reference key="NSMenu" ref="745992539"/>
+                                                                               <string key="NSTitle">Item 3</string>
+                                                                               <string key="NSKeyEquiv"/>
+                                                                               <int key="NSKeyEquivModMask">1048576</int>
+                                                                               <int key="NSMnemonicLoc">2147483647</int>
+                                                                               <reference key="NSOnImage" ref="858121798"/>
+                                                                               <reference key="NSMixedImage" ref="831782378"/>
+                                                                               <string key="NSAction">_popUpItemAction:</string>
+                                                                               <reference key="NSTarget" ref="417448726"/>
+                                                                       </object>
+                                                               </object>
+                                                       </object>
+                                                       <bool key="NSPullDown">YES</bool>
+                                                       <int key="NSPreferredEdge">1</int>
+                                                       <bool key="NSUsesItemFromMenu">YES</bool>
+                                                       <bool key="NSAltersState">YES</bool>
+                                               </object>
+                                       </object>
+                               </object>
+                               <string key="NSFrameSize">{400, 21}</string>
+                               <reference key="NSSuperview"/>
+                               <string key="NSClassName">StatusBarView</string>
+                               <string key="NSExtension">NSView</string>
+                       </object>
+                       <object class="NSMenu" id="358569907">
+                               <string key="NSTitle">StatusMenu</string>
+                               <object class="NSMutableArray" key="NSMenuItems">
+                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                       <object class="NSMenuItem" id="457107598">
+                                               <reference key="NSMenu" ref="358569907"/>
+                                               <string key="NSTitle"/>
+                                               <string key="NSKeyEquiv"/>
+                                               <int key="NSKeyEquivModMask">1048576</int>
+                                               <int key="NSMnemonicLoc">2147483647</int>
+                                               <object class="NSCustomResource" key="NSImage">
+                                                       <string key="NSClassName">NSImage</string>
+                                                       <string key="NSResourceName">YingYangTemplate</string>
+                                               </object>
+                                               <reference key="NSOnImage" ref="858121798"/>
+                                               <reference key="NSMixedImage" ref="831782378"/>
+                                               <int key="NSTag">-1</int>
+                                       </object>
+                                       <object class="NSMenuItem" id="79631027">
+                                               <reference key="NSMenu" ref="358569907"/>
+                                               <string key="NSTitle">Total Ratio</string>
+                                               <string key="NSKeyEquiv"/>
+                                               <int key="NSKeyEquivModMask">1048576</int>
+                                               <int key="NSMnemonicLoc">2147483647</int>
+                                               <reference key="NSOnImage" ref="858121798"/>
+                                               <reference key="NSMixedImage" ref="831782378"/>
+                                       </object>
+                                       <object class="NSMenuItem" id="539486412">
+                                               <reference key="NSMenu" ref="358569907"/>
+                                               <string key="NSTitle">Session Ratio</string>
+                                               <string key="NSKeyEquiv"/>
+                                               <int key="NSKeyEquivModMask">1048576</int>
+                                               <int key="NSMnemonicLoc">2147483647</int>
+                                               <reference key="NSOnImage" ref="858121798"/>
+                                               <reference key="NSMixedImage" ref="831782378"/>
+                                               <int key="NSTag">1</int>
+                                       </object>
+                                       <object class="NSMenuItem" id="572301315">
+                                               <reference key="NSMenu" ref="358569907"/>
+                                               <string key="NSTitle">Total Transfer</string>
+                                               <string key="NSKeyEquiv"/>
+                                               <int key="NSKeyEquivModMask">1048576</int>
+                                               <int key="NSMnemonicLoc">2147483647</int>
+                                               <reference key="NSOnImage" ref="858121798"/>
+                                               <reference key="NSMixedImage" ref="831782378"/>
+                                               <int key="NSTag">2</int>
+                                       </object>
+                                       <object class="NSMenuItem" id="1060410338">
+                                               <reference key="NSMenu" ref="358569907"/>
+                                               <string key="NSTitle">Session Transfer</string>
+                                               <string key="NSKeyEquiv"/>
+                                               <int key="NSKeyEquivModMask">1048576</int>
+                                               <int key="NSMnemonicLoc">2147483647</int>
+                                               <reference key="NSOnImage" ref="858121798"/>
+                                               <reference key="NSMixedImage" ref="831782378"/>
+                                               <int key="NSTag">3</int>
+                                       </object>
+                               </object>
+                       </object>
+               </object>
+               <object class="IBObjectContainer" key="IBDocument.Objects">
+                       <object class="NSMutableArray" key="connectionRecords">
+                               <bool key="EncodedWithXMLCoder">YES</bool>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">view</string>
+                                               <reference key="source" ref="1001"/>
+                                               <reference key="destination" ref="193923251"/>
+                                       </object>
+                                       <int key="connectionID">17</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">fStatusButton</string>
+                                               <reference key="source" ref="1001"/>
+                                               <reference key="destination" ref="552571018"/>
+                                       </object>
+                                       <int key="connectionID">18</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">fTotalDLField</string>
+                                               <reference key="source" ref="1001"/>
+                                               <reference key="destination" ref="798598333"/>
+                                       </object>
+                                       <int key="connectionID">19</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">fTotalULField</string>
+                                               <reference key="source" ref="1001"/>
+                                               <reference key="destination" ref="1048428465"/>
+                                       </object>
+                                       <int key="connectionID">20</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">fTotalDLImageView</string>
+                                               <reference key="source" ref="1001"/>
+                                               <reference key="destination" ref="386981315"/>
+                                       </object>
+                                       <int key="connectionID">21</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">menu</string>
+                                               <reference key="source" ref="552571018"/>
+                                               <reference key="destination" ref="358569907"/>
+                                       </object>
+                                       <int key="connectionID">28</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">setStatusLabel:</string>
+                                               <reference key="source" ref="1001"/>
+                                               <reference key="destination" ref="79631027"/>
+                                       </object>
+                                       <int key="connectionID">29</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">setStatusLabel:</string>
+                                               <reference key="source" ref="1001"/>
+                                               <reference key="destination" ref="539486412"/>
+                                       </object>
+                                       <int key="connectionID">30</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">setStatusLabel:</string>
+                                               <reference key="source" ref="1001"/>
+                                               <reference key="destination" ref="572301315"/>
+                                       </object>
+                                       <int key="connectionID">31</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">setStatusLabel:</string>
+                                               <reference key="source" ref="1001"/>
+                                               <reference key="destination" ref="1060410338"/>
+                                       </object>
+                                       <int key="connectionID">32</int>
+                               </object>
+                       </object>
+                       <object class="IBMutableOrderedSet" key="objectRecords">
+                               <object class="NSArray" key="orderedObjects">
+                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">0</int>
+                                               <object class="NSArray" key="object" id="0">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                               </object>
+                                               <reference key="children" ref="1000"/>
+                                               <nil key="parent"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">-2</int>
+                                               <reference key="object" ref="1001"/>
+                                               <reference key="parent" ref="0"/>
+                                               <string key="objectName">File's Owner</string>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">-1</int>
+                                               <reference key="object" ref="1003"/>
+                                               <reference key="parent" ref="0"/>
+                                               <string key="objectName">First Responder</string>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">-3</int>
+                                               <reference key="object" ref="1004"/>
+                                               <reference key="parent" ref="0"/>
+                                               <string key="objectName">Application</string>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">2</int>
+                                               <reference key="object" ref="193923251"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="552571018"/>
+                                                       <reference ref="386981315"/>
+                                                       <reference ref="745192128"/>
+                                                       <reference ref="1048428465"/>
+                                                       <reference ref="798598333"/>
+                                               </object>
+                                               <reference key="parent" ref="0"/>
+                                               <string key="objectName">StatusBar</string>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">3</int>
+                                               <reference key="object" ref="552571018"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="417448726"/>
+                                               </object>
+                                               <reference key="parent" ref="193923251"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">4</int>
+                                               <reference key="object" ref="386981315"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="300181742"/>
+                                               </object>
+                                               <reference key="parent" ref="193923251"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">5</int>
+                                               <reference key="object" ref="745192128"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="803566449"/>
+                                               </object>
+                                               <reference key="parent" ref="193923251"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">6</int>
+                                               <reference key="object" ref="1048428465"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="836599047"/>
+                                               </object>
+                                               <reference key="parent" ref="193923251"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">7</int>
+                                               <reference key="object" ref="798598333"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="593992364"/>
+                                               </object>
+                                               <reference key="parent" ref="193923251"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">8</int>
+                                               <reference key="object" ref="593992364"/>
+                                               <reference key="parent" ref="798598333"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">9</int>
+                                               <reference key="object" ref="836599047"/>
+                                               <reference key="parent" ref="1048428465"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">10</int>
+                                               <reference key="object" ref="803566449"/>
+                                               <reference key="parent" ref="745192128"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">11</int>
+                                               <reference key="object" ref="300181742"/>
+                                               <reference key="parent" ref="386981315"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">12</int>
+                                               <reference key="object" ref="417448726"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="745992539"/>
+                                               </object>
+                                               <reference key="parent" ref="552571018"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">13</int>
+                                               <reference key="object" ref="745992539"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="1016627770"/>
+                                                       <reference ref="880407745"/>
+                                                       <reference ref="93024116"/>
+                                               </object>
+                                               <reference key="parent" ref="417448726"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">14</int>
+                                               <reference key="object" ref="1016627770"/>
+                                               <reference key="parent" ref="745992539"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">15</int>
+                                               <reference key="object" ref="880407745"/>
+                                               <reference key="parent" ref="745992539"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">16</int>
+                                               <reference key="object" ref="93024116"/>
+                                               <reference key="parent" ref="745992539"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">22</int>
+                                               <reference key="object" ref="358569907"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="1060410338"/>
+                                                       <reference ref="572301315"/>
+                                                       <reference ref="539486412"/>
+                                                       <reference ref="79631027"/>
+                                                       <reference ref="457107598"/>
+                                               </object>
+                                               <reference key="parent" ref="0"/>
+                                               <string key="objectName">StatusMenu</string>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">23</int>
+                                               <reference key="object" ref="1060410338"/>
+                                               <reference key="parent" ref="358569907"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">24</int>
+                                               <reference key="object" ref="572301315"/>
+                                               <reference key="parent" ref="358569907"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">25</int>
+                                               <reference key="object" ref="539486412"/>
+                                               <reference key="parent" ref="358569907"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">26</int>
+                                               <reference key="object" ref="79631027"/>
+                                               <reference key="parent" ref="358569907"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">27</int>
+                                               <reference key="object" ref="457107598"/>
+                                               <reference key="parent" ref="358569907"/>
+                                       </object>
+                               </object>
+                       </object>
+                       <object class="NSMutableDictionary" key="flattenedProperties">
+                               <bool key="EncodedWithXMLCoder">YES</bool>
+                               <object class="NSArray" key="dict.sortedKeys">
+                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                       <string>-3.IBPluginDependency</string>
+                                       <string>10.IBPluginDependency</string>
+                                       <string>11.IBPluginDependency</string>
+                                       <string>12.IBPluginDependency</string>
+                                       <string>13.IBEditorWindowLastContentRect</string>
+                                       <string>13.IBPluginDependency</string>
+                                       <string>13.ImportedFromIB2</string>
+                                       <string>14.IBPluginDependency</string>
+                                       <string>14.ImportedFromIB2</string>
+                                       <string>15.IBPluginDependency</string>
+                                       <string>15.ImportedFromIB2</string>
+                                       <string>16.IBPluginDependency</string>
+                                       <string>16.ImportedFromIB2</string>
+                                       <string>2.IBEditorWindowLastContentRect</string>
+                                       <string>2.IBPluginDependency</string>
+                                       <string>2.ImportedFromIB2</string>
+                                       <string>2.editorWindowContentRectSynchronizationRect</string>
+                                       <string>22.IBEditorWindowLastContentRect</string>
+                                       <string>22.IBPluginDependency</string>
+                                       <string>22.ImportedFromIB2</string>
+                                       <string>23.IBPluginDependency</string>
+                                       <string>23.ImportedFromIB2</string>
+                                       <string>24.IBPluginDependency</string>
+                                       <string>24.ImportedFromIB2</string>
+                                       <string>25.IBPluginDependency</string>
+                                       <string>25.ImportedFromIB2</string>
+                                       <string>26.IBPluginDependency</string>
+                                       <string>26.ImportedFromIB2</string>
+                                       <string>27.IBPluginDependency</string>
+                                       <string>27.ImportedFromIB2</string>
+                                       <string>3.IBPluginDependency</string>
+                                       <string>3.ImportedFromIB2</string>
+                                       <string>4.IBPluginDependency</string>
+                                       <string>4.ImportedFromIB2</string>
+                                       <string>5.IBPluginDependency</string>
+                                       <string>5.ImportedFromIB2</string>
+                                       <string>6.IBPluginDependency</string>
+                                       <string>6.ImportedFromIB2</string>
+                                       <string>7.IBPluginDependency</string>
+                                       <string>7.ImportedFromIB2</string>
+                                       <string>8.IBPluginDependency</string>
+                                       <string>9.IBPluginDependency</string>
+                               </object>
+                               <object class="NSMutableArray" key="dict.values">
+                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>{{202, 773}, {126, 54}}</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <integer value="1"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <integer value="1"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <integer value="1"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <integer value="1"/>
+                                       <string>{{208, 808}, {400, 21}}</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <integer value="1"/>
+                                       <string>{{0, 974}, {400, 21}}</string>
+                                       <string>{{0, 892}, {179, 103}}</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <integer value="1"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <integer value="1"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <integer value="1"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <integer value="1"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <integer value="1"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <integer value="1"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <integer value="1"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <integer value="1"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <integer value="1"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <integer value="1"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <integer value="1"/>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                               </object>
+                       </object>
+                       <object class="NSMutableDictionary" key="unlocalizedProperties">
+                               <bool key="EncodedWithXMLCoder">YES</bool>
+                               <reference key="dict.sortedKeys" ref="0"/>
+                               <object class="NSMutableArray" key="dict.values">
+                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                               </object>
+                       </object>
+                       <nil key="activeLocalization"/>
+                       <object class="NSMutableDictionary" key="localizations">
+                               <bool key="EncodedWithXMLCoder">YES</bool>
+                               <reference key="dict.sortedKeys" ref="0"/>
+                               <object class="NSMutableArray" key="dict.values">
+                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                               </object>
+                       </object>
+                       <nil key="sourceID"/>
+                       <int key="maxID">32</int>
+               </object>
+               <object class="IBClassDescriber" key="IBDocument.Classes">
+                       <object class="NSMutableArray" key="referencedPartialClassDescriptions">
+                               <bool key="EncodedWithXMLCoder">YES</bool>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSApplication</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">macosx/NSApplicationAdditions.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">macosx/UKKQueue/UKFileWatcher.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">macosx/UKKQueue/UKKQueue.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">macosx/UKKQueue/UKMainThreadProxy.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">StatusBarController</string>
+                                       <string key="superclassName">NSViewController</string>
+                                       <object class="NSMutableDictionary" key="actions">
+                                               <string key="NS.key.0">setStatusLabel:</string>
+                                               <string key="NS.object.0">id</string>
+                                       </object>
+                                       <object class="NSMutableDictionary" key="actionInfosByName">
+                                               <string key="NS.key.0">setStatusLabel:</string>
+                                               <object class="IBActionInfo" key="NS.object.0">
+                                                       <string key="name">setStatusLabel:</string>
+                                                       <string key="candidateClassName">id</string>
+                                               </object>
+                                       </object>
+                                       <object class="NSMutableDictionary" key="outlets">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSArray" key="dict.sortedKeys">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>fStatusButton</string>
+                                                       <string>fTotalDLField</string>
+                                                       <string>fTotalDLImageView</string>
+                                                       <string>fTotalULField</string>
+                                               </object>
+                                               <object class="NSMutableArray" key="dict.values">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>NSButton</string>
+                                                       <string>NSTextField</string>
+                                                       <string>NSImageView</string>
+                                                       <string>NSTextField</string>
+                                               </object>
+                                       </object>
+                                       <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSArray" key="dict.sortedKeys">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>fStatusButton</string>
+                                                       <string>fTotalDLField</string>
+                                                       <string>fTotalDLImageView</string>
+                                                       <string>fTotalULField</string>
+                                               </object>
+                                               <object class="NSMutableArray" key="dict.values">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fStatusButton</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fTotalDLField</string>
+                                                               <string key="candidateClassName">NSTextField</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fTotalDLImageView</string>
+                                                               <string key="candidateClassName">NSImageView</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fTotalULField</string>
+                                                               <string key="candidateClassName">NSTextField</string>
+                                                       </object>
+                                               </object>
+                                       </object>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">macosx/StatusBarController.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">StatusBarView</string>
+                                       <string key="superclassName">NSView</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">macosx/StatusBarView.h</string>
+                                       </object>
+                               </object>
+                       </object>
+                       <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
+                               <bool key="EncodedWithXMLCoder">YES</bool>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSActionCell</string>
+                                       <string key="superclassName">NSCell</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSActionCell.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSApplication</string>
+                                       <string key="superclassName">NSResponder</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier" id="40150179">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSApplication.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSApplication</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier" id="196186488">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSApplicationScripting.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSApplication</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier" id="103161870">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSColorPanel.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSApplication</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSHelpManager.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSApplication</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSPageLayout.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSApplication</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSButton</string>
+                                       <string key="superclassName">NSControl</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSButton.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSButtonCell</string>
+                                       <string key="superclassName">NSActionCell</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSButtonCell.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSCell</string>
+                                       <string key="superclassName">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSCell.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSControl</string>
+                                       <string key="superclassName">NSView</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier" id="942915851">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSControl.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSFormatter</string>
+                                       <string key="superclassName">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">Foundation.framework/Headers/NSFormatter.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSImageCell</string>
+                                       <string key="superclassName">NSCell</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSImageCell.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSImageView</string>
+                                       <string key="superclassName">NSControl</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSImageView.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSMenu</string>
+                                       <string key="superclassName">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier" id="997536884">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSMenu.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSMenuItem</string>
+                                       <string key="superclassName">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier" id="297082123">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSMenuItem.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSMenuItemCell</string>
+                                       <string key="superclassName">NSButtonCell</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSMenuItemCell.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSAccessibility.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <reference key="sourceIdentifier" ref="40150179"/>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <reference key="sourceIdentifier" ref="196186488"/>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <reference key="sourceIdentifier" ref="103161870"/>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <reference key="sourceIdentifier" ref="942915851"/>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSDictionaryController.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSDragging.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSFontManager.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSFontPanel.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSKeyValueBinding.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <reference key="sourceIdentifier" ref="997536884"/>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSNibLoading.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSOutlineView.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSPasteboard.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSSavePanel.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSTableView.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSToolbarItem.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier" id="667770361">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSView.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">Foundation.framework/Headers/NSArchiver.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">Foundation.framework/Headers/NSClassDescription.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">Foundation.framework/Headers/NSError.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">Foundation.framework/Headers/NSObjectScripting.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">Foundation.framework/Headers/NSPortCoder.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">Foundation.framework/Headers/NSScriptClassDescription.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">Foundation.framework/Headers/NSScriptWhoseTests.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">Foundation.framework/Headers/NSURLDownload.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">Growl.framework/Headers/GrowlApplicationBridge.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">ImageKit.framework/Headers/IKImageBrowserView.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">ImageKit.framework/Headers/IKSaveOptions.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">ImageKit.framework/Headers/ImageKitDeprecated.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">PDFKit.framework/Headers/PDFDocument.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">PDFKit.framework/Headers/PDFView.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">QuartzComposer.framework/Headers/QCCompositionParameterView.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">QuartzComposer.framework/Headers/QCCompositionPickerView.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">QuartzFilters.framework/Headers/QuartzFilterManager.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">QuickLookUI.framework/Headers/QLPreviewPanel.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">Sparkle.framework/Headers/SUAppcast.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">Sparkle.framework/Headers/SUUpdater.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSPopUpButton</string>
+                                       <string key="superclassName">NSButton</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSPopUpButton.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSPopUpButtonCell</string>
+                                       <string key="superclassName">NSMenuItemCell</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSPopUpButtonCell.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSResponder</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSInterfaceStyle.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSResponder</string>
+                                       <string key="superclassName">NSObject</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSResponder.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSTextField</string>
+                                       <string key="superclassName">NSControl</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSTextField.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSTextFieldCell</string>
+                                       <string key="superclassName">NSActionCell</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSTextFieldCell.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSView</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSClipView.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSView</string>
+                                       <reference key="sourceIdentifier" ref="297082123"/>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSView</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSRulerView.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSView</string>
+                                       <string key="superclassName">NSResponder</string>
+                                       <reference key="sourceIdentifier" ref="667770361"/>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSViewController</string>
+                                       <string key="superclassName">NSResponder</string>
+                                       <object class="NSMutableDictionary" key="outlets">
+                                               <string key="NS.key.0">view</string>
+                                               <string key="NS.object.0">NSView</string>
+                                       </object>
+                                       <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+                                               <string key="NS.key.0">view</string>
+                                               <object class="IBToOneOutletInfo" key="NS.object.0">
+                                                       <string key="name">view</string>
+                                                       <string key="candidateClassName">NSView</string>
+                                               </object>
+                                       </object>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSViewController.h</string>
+                                       </object>
+                               </object>
+                       </object>
+               </object>
+               <int key="IBDocument.localizationMode">0</int>
+               <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
+               <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
+                       <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
+                       <integer value="1060" key="NS.object.0"/>
+               </object>
+               <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+                       <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
+                       <integer value="3000" key="NS.object.0"/>
+               </object>
+               <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+               <string key="IBDocument.LastKnownRelativeProjectPath">../Transmission.xcodeproj</string>
+               <int key="IBDocument.defaultPropertyAccessControl">3</int>
+               <object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
+                       <bool key="EncodedWithXMLCoder">YES</bool>
+                       <object class="NSArray" key="dict.sortedKeys">
+                               <bool key="EncodedWithXMLCoder">YES</bool>
+                               <string>DownArrowTemplate</string>
+                               <string>NSMenuCheckmark</string>
+                               <string>NSMenuMixedState</string>
+                               <string>UpArrowTemplate</string>
+                               <string>YingYangTemplate</string>
+                       </object>
+                       <object class="NSMutableArray" key="dict.values">
+                               <bool key="EncodedWithXMLCoder">YES</bool>
+                               <string>{8, 12}</string>
+                               <string>{9, 8}</string>
+                               <string>{7, 2}</string>
+                               <string>{8, 12}</string>
+                               <string>{10, 12}</string>
+                       </object>
+               </object>
+       </data>
+</archive>
diff --git a/macosx/StatusBarController.h b/macosx/StatusBarController.h
new file mode 100644 (file)
index 0000000..c33e867
--- /dev/null
@@ -0,0 +1,45 @@
+/******************************************************************************
+ * $Id$
+ * 
+ * Copyright (c) 2011 Transmission authors and contributors
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *****************************************************************************/
+
+#import <Cocoa/Cocoa.h>
+
+#import <transmission.h>
+
+@interface StatusBarController : NSViewController
+{
+    IBOutlet NSButton * fStatusButton;
+    IBOutlet NSTextField * fTotalDLField, * fTotalULField;
+    IBOutlet NSImageView * fTotalDLImageView;
+    
+    tr_session * fLib;
+}
+
+- (id) initWithLib: (tr_session *) lib;
+
+- (void) updateWithDownload: (CGFloat) dlRate upload: (CGFloat) ulRate;
+- (void) setStatusLabel: (id) sender;
+
+- (void) updateSpeedFieldsToolTips;
+
+@end
diff --git a/macosx/StatusBarController.m b/macosx/StatusBarController.m
new file mode 100644 (file)
index 0000000..725547f
--- /dev/null
@@ -0,0 +1,249 @@
+/******************************************************************************
+ * $Id$
+ * 
+ * Copyright (c) 2011 Transmission authors and contributors
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *****************************************************************************/
+
+#import "StatusBarController.h"
+#import "NSStringAdditions.h"
+
+#import "transmission.h"
+
+#define STATUS_RATIO_TOTAL      @"RatioTotal"
+#define STATUS_RATIO_SESSION    @"RatioSession"
+#define STATUS_TRANSFER_TOTAL   @"TransferTotal"
+#define STATUS_TRANSFER_SESSION @"TransferSession"
+
+typedef enum
+{
+    STATUS_RATIO_TOTAL_TAG = 0,
+    STATUS_RATIO_SESSION_TAG = 1,
+    STATUS_TRANSFER_TOTAL_TAG = 2,
+    STATUS_TRANSFER_SESSION_TAG = 3
+} statusTag;
+
+@interface StatusBarController (Private)
+
+- (void) resizeStatusButton;
+
+@end
+
+@implementation StatusBarController
+
+- (id) initWithLib: (tr_session *) lib
+{
+    if (self = [super initWithNibName: @"StatusBar" bundle: nil])
+    {
+        fLib = lib;
+    }
+    
+    return self;
+}
+
+- (void) awakeFromNib
+{
+    //localize menu items
+    [[[fStatusButton menu] itemWithTag: STATUS_RATIO_TOTAL_TAG] setTitle: NSLocalizedString(@"Total Ratio",
+        "Status Bar -> status menu")];
+    [[[fStatusButton menu] itemWithTag: STATUS_RATIO_SESSION_TAG] setTitle: NSLocalizedString(@"Session Ratio",
+        "Status Bar -> status menu")];
+    [[[fStatusButton menu] itemWithTag: STATUS_TRANSFER_TOTAL_TAG] setTitle: NSLocalizedString(@"Total Transfer",
+        "Status Bar -> status menu")];
+    [[[fStatusButton menu] itemWithTag: STATUS_TRANSFER_SESSION_TAG] setTitle: NSLocalizedString(@"Session Transfer",
+        "Status Bar -> status menu")];
+    
+    [[fTotalDLField cell] setBackgroundStyle: NSBackgroundStyleRaised];
+    [[fTotalULField cell] setBackgroundStyle: NSBackgroundStyleRaised];
+    
+    [self updateSpeedFieldsToolTips];
+    
+    //update when speed limits are changed
+    [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(updateSpeedFieldsToolTips)
+        name: @"SpeedLimitUpdate" object: nil];
+    [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(resizeStatusButton)
+        name: NSWindowDidResizeNotification object: [[self view] window]];
+}
+
+- (void) dealloc
+{
+    [[NSNotificationCenter defaultCenter] removeObserver: self];
+    
+    [super dealloc];
+}
+
+- (void) updateWithDownload: (CGFloat) dlRate upload: (CGFloat) ulRate
+{
+    //set rates
+    [fTotalDLField setStringValue: [NSString stringForSpeed: dlRate]];
+    [fTotalULField setStringValue: [NSString stringForSpeed: ulRate]];
+    
+    //set status button text
+    NSString * statusLabel = [[NSUserDefaults standardUserDefaults] stringForKey: @"StatusLabel"], * statusString;
+    BOOL total;
+    if ((total = [statusLabel isEqualToString: STATUS_RATIO_TOTAL]) || [statusLabel isEqualToString: STATUS_RATIO_SESSION])
+    {
+        tr_session_stats stats;
+        if (total)
+            tr_sessionGetCumulativeStats(fLib, &stats);
+        else
+            tr_sessionGetStats(fLib, &stats);
+        
+        statusString = [NSLocalizedString(@"Ratio", "status bar -> status label") stringByAppendingFormat: @": %@",
+                        [NSString stringForRatio: stats.ratio]];
+    }
+    else //STATUS_TRANSFER_TOTAL or STATUS_TRANSFER_SESSION
+    {
+        total = [statusLabel isEqualToString: STATUS_TRANSFER_TOTAL];
+        
+        tr_session_stats stats;
+        if (total)
+            tr_sessionGetCumulativeStats(fLib, &stats);
+        else
+            tr_sessionGetStats(fLib, &stats);
+        
+        statusString = [NSString stringWithFormat: @"%@: %@  %@: %@",
+                NSLocalizedString(@"DL", "status bar -> status label"), [NSString stringForFileSize: stats.downloadedBytes],
+                NSLocalizedString(@"UL", "status bar -> status label"), [NSString stringForFileSize: stats.uploadedBytes]];
+    }
+    
+    [fStatusButton setTitle: statusString];
+    [self resizeStatusButton];
+}
+
+- (void) setStatusLabel: (id) sender
+{
+    NSString * statusLabel;
+    switch ([sender tag])
+    {
+        case STATUS_RATIO_TOTAL_TAG:
+            statusLabel = STATUS_RATIO_TOTAL;
+            break;
+        case STATUS_RATIO_SESSION_TAG:
+            statusLabel = STATUS_RATIO_SESSION;
+            break;
+        case STATUS_TRANSFER_TOTAL_TAG:
+            statusLabel = STATUS_TRANSFER_TOTAL;
+            break;
+        case STATUS_TRANSFER_SESSION_TAG:
+            statusLabel = STATUS_TRANSFER_SESSION;
+            break;
+        default:
+            NSAssert1(NO, @"Unknown status label tag received: %d", [sender tag]);
+            return;
+    }
+    
+    [[NSUserDefaults standardUserDefaults] setObject: statusLabel forKey: @"StatusLabel"];
+    
+    [[NSNotificationCenter defaultCenter] postNotificationName: @"UpdateUI" object: nil];
+}
+
+- (void) updateSpeedFieldsToolTips
+{
+    NSString * uploadText, * downloadText;
+    
+    if ([[NSUserDefaults standardUserDefaults] boolForKey: @"SpeedLimit"])
+    {
+        NSString * speedString = [NSString stringWithFormat: @"%@ (%@)", NSLocalizedString(@"%d KB/s", "Status Bar -> speed tooltip"),
+                                    NSLocalizedString(@"Speed Limit", "Status Bar -> speed tooltip")];
+        
+        uploadText = [NSString stringWithFormat: speedString,
+                        [[NSUserDefaults standardUserDefaults] integerForKey: @"SpeedLimitUploadLimit"]];
+        downloadText = [NSString stringWithFormat: speedString,
+                        [[NSUserDefaults standardUserDefaults] integerForKey: @"SpeedLimitDownloadLimit"]];
+    }
+    else
+    {
+        if ([[NSUserDefaults standardUserDefaults] boolForKey: @"CheckUpload"])
+            uploadText = [NSString stringWithFormat: NSLocalizedString(@"%d KB/s", "Status Bar -> speed tooltip"),
+                            [[NSUserDefaults standardUserDefaults] integerForKey: @"UploadLimit"]];
+        else
+            uploadText = NSLocalizedString(@"unlimited", "Status Bar -> speed tooltip");
+        
+        if ([[NSUserDefaults standardUserDefaults] boolForKey: @"CheckDownload"])
+            downloadText = [NSString stringWithFormat: NSLocalizedString(@"%d KB/s", "Status Bar -> speed tooltip"),
+                            [[NSUserDefaults standardUserDefaults] integerForKey: @"DownloadLimit"]];
+        else
+            downloadText = NSLocalizedString(@"unlimited", "Status Bar -> speed tooltip");
+    }
+    
+    uploadText = [NSLocalizedString(@"Global upload limit", "Status Bar -> speed tooltip")
+                    stringByAppendingFormat: @": %@", uploadText];
+    downloadText = [NSLocalizedString(@"Global download limit", "Status Bar -> speed tooltip")
+                    stringByAppendingFormat: @": %@", downloadText];
+    
+    [fTotalULField setToolTip: uploadText];
+    [fTotalDLField setToolTip: downloadText];
+}
+
+- (BOOL) validateMenuItem: (NSMenuItem *) menuItem
+{
+    const SEL action = [menuItem action];
+    
+    //enable sort options
+    if (action == @selector(setStatusLabel:))
+    {
+        NSString * statusLabel;
+        switch ([menuItem tag])
+        {
+            case STATUS_RATIO_TOTAL_TAG:
+                statusLabel = STATUS_RATIO_TOTAL;
+                break;
+            case STATUS_RATIO_SESSION_TAG:
+                statusLabel = STATUS_RATIO_SESSION;
+                break;
+            case STATUS_TRANSFER_TOTAL_TAG:
+                statusLabel = STATUS_TRANSFER_TOTAL;
+                break;
+            case STATUS_TRANSFER_SESSION_TAG:
+                statusLabel = STATUS_TRANSFER_SESSION;
+                break;
+            default:
+                NSAssert1(NO, @"Unknown status label tag received: %d", [menuItem tag]);
+        }
+        
+        [menuItem setState: [statusLabel isEqualToString: [[NSUserDefaults standardUserDefaults] stringForKey: @"StatusLabel"]]
+                            ? NSOnState : NSOffState];
+        return YES;
+    }
+    
+    return YES;
+}
+
+@end
+
+@implementation StatusBarController (Private)
+
+- (void) resizeStatusButton
+{
+    [fStatusButton sizeToFit];
+    
+    //width ends up being too long
+    NSRect statusFrame = [fStatusButton frame];
+    statusFrame.size.width -= 25.0;
+    
+    const CGFloat difference = NSMaxX(statusFrame) + 5.0 - NSMinX([fTotalDLImageView frame]);
+    if (difference > 0)
+        statusFrame.size.width -= difference;
+    
+    [fStatusButton setFrame: statusFrame];
+}
+
+@end
index 3be31c850c4d213b1bab62f9159881a48ed0e380..8e5e505644fe178cf5cd7f4c343de74f785097dd 100644 (file)
@@ -12,9 +12,9 @@
                </object>
                <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
                        <bool key="EncodedWithXMLCoder">YES</bool>
-                       <integer value="29"/>
                        <integer value="589"/>
                        <integer value="21"/>
+                       <integer value="29"/>
                </object>
                <object class="NSArray" key="IBDocument.PluginDependencies">
                        <bool key="EncodedWithXMLCoder">YES</bool>
@@ -2190,178 +2190,6 @@ AAAAAAAAAAAAAAAAA</bytes>
                                </object>
                                <string key="NSName"/>
                        </object>
-                       <object class="NSCustomView" id="492482618">
-                               <nil key="NSNextResponder"/>
-                               <int key="NSvFlags">266</int>
-                               <object class="NSMutableArray" key="NSSubviews">
-                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                       <object class="NSTextField" id="1015813640">
-                                               <reference key="NSNextResponder" ref="492482618"/>
-                                               <int key="NSvFlags">257</int>
-                                               <string key="NSFrame">{{258, 4}, {64, 14}}</string>
-                                               <reference key="NSSuperview" ref="492482618"/>
-                                               <bool key="NSEnabled">YES</bool>
-                                               <object class="NSTextFieldCell" key="NSCell" id="7712611">
-                                                       <int key="NSCellFlags">67239424</int>
-                                                       <int key="NSCellFlags2">4325376</int>
-                                                       <string key="NSContents">999.9 KB/s</string>
-                                                       <reference key="NSSupport" ref="26"/>
-                                                       <reference key="NSControlView" ref="1015813640"/>
-                                                       <reference key="NSBackgroundColor" ref="969793804"/>
-                                                       <reference key="NSTextColor" ref="911300388"/>
-                                               </object>
-                                       </object>
-                                       <object class="NSTextField" id="719542199">
-                                               <reference key="NSNextResponder" ref="492482618"/>
-                                               <int key="NSvFlags">257</int>
-                                               <string key="NSFrame">{{336, 4}, {64, 14}}</string>
-                                               <reference key="NSSuperview" ref="492482618"/>
-                                               <bool key="NSEnabled">YES</bool>
-                                               <object class="NSTextFieldCell" key="NSCell" id="551795479">
-                                                       <int key="NSCellFlags">67239424</int>
-                                                       <int key="NSCellFlags2">272760832</int>
-                                                       <string key="NSContents">999.9 KB/s</string>
-                                                       <reference key="NSSupport" ref="26"/>
-                                                       <reference key="NSControlView" ref="719542199"/>
-                                                       <reference key="NSBackgroundColor" ref="969793804"/>
-                                                       <reference key="NSTextColor" ref="911300388"/>
-                                               </object>
-                                       </object>
-                                       <object class="NSImageView" id="300960961">
-                                               <reference key="NSNextResponder" ref="492482618"/>
-                                               <int key="NSvFlags">257</int>
-                                               <object class="NSMutableSet" key="NSDragTypes">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <object class="NSArray" key="set.sortedObjects">
-                                                               <bool key="EncodedWithXMLCoder">YES</bool>
-                                                               <string>Apple PDF pasteboard type</string>
-                                                               <string>Apple PICT pasteboard type</string>
-                                                               <string>Apple PNG pasteboard type</string>
-                                                               <string>NSFilenamesPboardType</string>
-                                                               <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
-                                                               <string>NeXT TIFF v4.0 pasteboard type</string>
-                                                       </object>
-                                               </object>
-                                               <string key="NSFrame">{{325, 5}, {8, 12}}</string>
-                                               <reference key="NSSuperview" ref="492482618"/>
-                                               <bool key="NSEnabled">YES</bool>
-                                               <object class="NSImageCell" key="NSCell" id="507285438">
-                                                       <int key="NSCellFlags">130560</int>
-                                                       <int key="NSCellFlags2">33554432</int>
-                                                       <object class="NSCustomResource" key="NSContents">
-                                                               <string key="NSClassName">NSImage</string>
-                                                               <string key="NSResourceName">UpArrowTemplate</string>
-                                                       </object>
-                                                       <int key="NSAlign">0</int>
-                                                       <int key="NSScale">1</int>
-                                                       <int key="NSStyle">0</int>
-                                                       <bool key="NSAnimates">YES</bool>
-                                               </object>
-                                               <bool key="NSEditable">YES</bool>
-                                       </object>
-                                       <object class="NSImageView" id="508355629">
-                                               <reference key="NSNextResponder" ref="492482618"/>
-                                               <int key="NSvFlags">257</int>
-                                               <object class="NSMutableSet" key="NSDragTypes">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <object class="NSArray" key="set.sortedObjects">
-                                                               <bool key="EncodedWithXMLCoder">YES</bool>
-                                                               <string>Apple PDF pasteboard type</string>
-                                                               <string>Apple PICT pasteboard type</string>
-                                                               <string>Apple PNG pasteboard type</string>
-                                                               <string>NSFilenamesPboardType</string>
-                                                               <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
-                                                               <string>NeXT TIFF v4.0 pasteboard type</string>
-                                                       </object>
-                                               </object>
-                                               <string key="NSFrame">{{247, 5}, {8, 12}}</string>
-                                               <reference key="NSSuperview" ref="492482618"/>
-                                               <bool key="NSEnabled">YES</bool>
-                                               <object class="NSImageCell" key="NSCell" id="268918248">
-                                                       <int key="NSCellFlags">130560</int>
-                                                       <int key="NSCellFlags2">33554432</int>
-                                                       <object class="NSCustomResource" key="NSContents">
-                                                               <string key="NSClassName">NSImage</string>
-                                                               <string key="NSResourceName">DownArrowTemplate</string>
-                                                       </object>
-                                                       <int key="NSAlign">0</int>
-                                                       <int key="NSScale">1</int>
-                                                       <int key="NSStyle">0</int>
-                                                       <bool key="NSAnimates">YES</bool>
-                                               </object>
-                                               <bool key="NSEditable">YES</bool>
-                                       </object>
-                                       <object class="NSPopUpButton" id="387610893">
-                                               <reference key="NSNextResponder" ref="492482618"/>
-                                               <int key="NSvFlags">268</int>
-                                               <string key="NSFrame">{{5, 2}, {103, 17}}</string>
-                                               <reference key="NSSuperview" ref="492482618"/>
-                                               <bool key="NSEnabled">YES</bool>
-                                               <object class="NSPopUpButtonCell" key="NSCell" id="9693266">
-                                                       <int key="NSCellFlags">-2076049856</int>
-                                                       <int key="NSCellFlags2">133120</int>
-                                                       <reference key="NSSupport" ref="660654866"/>
-                                                       <reference key="NSControlView" ref="387610893"/>
-                                                       <int key="NSButtonFlags">-1229438721</int>
-                                                       <int key="NSButtonFlags2">45</int>
-                                                       <string key="NSAlternateContents"/>
-                                                       <string key="NSKeyEquivalent"/>
-                                                       <int key="NSPeriodicDelay">400</int>
-                                                       <int key="NSPeriodicInterval">75</int>
-                                                       <object class="NSMenuItem" key="NSMenuItem" id="872140291">
-                                                               <reference key="NSMenu" ref="941456853"/>
-                                                               <bool key="NSIsHidden">YES</bool>
-                                                               <string key="NSTitle">Ratio: 999.9</string>
-                                                               <string key="NSKeyEquiv"/>
-                                                               <int key="NSKeyEquivModMask">1048576</int>
-                                                               <int key="NSMnemonicLoc">2147483647</int>
-                                                               <int key="NSState">1</int>
-                                                               <reference key="NSOnImage" ref="322614661"/>
-                                                               <reference key="NSMixedImage" ref="3851078"/>
-                                                               <string key="NSAction">_popUpItemAction:</string>
-                                                               <reference key="NSTarget" ref="9693266"/>
-                                                       </object>
-                                                       <bool key="NSMenuItemRespectAlignment">YES</bool>
-                                                       <object class="NSMenu" key="NSMenu" id="941456853">
-                                                               <string key="NSTitle">OtherViews</string>
-                                                               <object class="NSMutableArray" key="NSMenuItems">
-                                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                                       <reference ref="872140291"/>
-                                                                       <object class="NSMenuItem" id="474717273">
-                                                                               <reference key="NSMenu" ref="941456853"/>
-                                                                               <string key="NSTitle">Item 2</string>
-                                                                               <string key="NSKeyEquiv"/>
-                                                                               <int key="NSKeyEquivModMask">1048576</int>
-                                                                               <int key="NSMnemonicLoc">2147483647</int>
-                                                                               <reference key="NSOnImage" ref="322614661"/>
-                                                                               <reference key="NSMixedImage" ref="3851078"/>
-                                                                               <string key="NSAction">_popUpItemAction:</string>
-                                                                               <reference key="NSTarget" ref="9693266"/>
-                                                                       </object>
-                                                                       <object class="NSMenuItem" id="391930248">
-                                                                               <reference key="NSMenu" ref="941456853"/>
-                                                                               <string key="NSTitle">Item 3</string>
-                                                                               <string key="NSKeyEquiv"/>
-                                                                               <int key="NSKeyEquivModMask">1048576</int>
-                                                                               <int key="NSMnemonicLoc">2147483647</int>
-                                                                               <reference key="NSOnImage" ref="322614661"/>
-                                                                               <reference key="NSMixedImage" ref="3851078"/>
-                                                                               <string key="NSAction">_popUpItemAction:</string>
-                                                                               <reference key="NSTarget" ref="9693266"/>
-                                                                       </object>
-                                                               </object>
-                                                       </object>
-                                                       <bool key="NSPullDown">YES</bool>
-                                                       <int key="NSPreferredEdge">1</int>
-                                                       <bool key="NSUsesItemFromMenu">YES</bool>
-                                                       <bool key="NSAltersState">YES</bool>
-                                               </object>
-                                       </object>
-                               </object>
-                               <string key="NSFrameSize">{400, 21}</string>
-                               <string key="NSClassName">StatusBarView</string>
-                               <string key="NSExtension">NSView</string>
-                       </object>
                        <object class="NSCustomView" id="793806362">
                                <nil key="NSNextResponder"/>
                                <int key="NSvFlags">266</int>
@@ -3232,65 +3060,6 @@ AAAAAAAAAAAAAAAAA</bytes>
                                </object>
                                <string key="NSName"/>
                        </object>
-                       <object class="NSMenu" id="235340910">
-                               <string key="NSTitle">StatusMenu</string>
-                               <object class="NSMutableArray" key="NSMenuItems">
-                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                       <object class="NSMenuItem" id="1033464046">
-                                               <reference key="NSMenu" ref="235340910"/>
-                                               <string key="NSTitle"/>
-                                               <string key="NSKeyEquiv"/>
-                                               <int key="NSKeyEquivModMask">1048576</int>
-                                               <int key="NSMnemonicLoc">2147483647</int>
-                                               <object class="NSCustomResource" key="NSImage">
-                                                       <string key="NSClassName">NSImage</string>
-                                                       <string key="NSResourceName">YingYangTemplate</string>
-                                               </object>
-                                               <reference key="NSOnImage" ref="322614661"/>
-                                               <reference key="NSMixedImage" ref="3851078"/>
-                                               <int key="NSTag">-1</int>
-                                       </object>
-                                       <object class="NSMenuItem" id="534231875">
-                                               <reference key="NSMenu" ref="235340910"/>
-                                               <string key="NSTitle">Total Ratio</string>
-                                               <string key="NSKeyEquiv"/>
-                                               <int key="NSKeyEquivModMask">1048576</int>
-                                               <int key="NSMnemonicLoc">2147483647</int>
-                                               <reference key="NSOnImage" ref="322614661"/>
-                                               <reference key="NSMixedImage" ref="3851078"/>
-                                       </object>
-                                       <object class="NSMenuItem" id="681676781">
-                                               <reference key="NSMenu" ref="235340910"/>
-                                               <string key="NSTitle">Session Ratio</string>
-                                               <string key="NSKeyEquiv"/>
-                                               <int key="NSKeyEquivModMask">1048576</int>
-                                               <int key="NSMnemonicLoc">2147483647</int>
-                                               <reference key="NSOnImage" ref="322614661"/>
-                                               <reference key="NSMixedImage" ref="3851078"/>
-                                               <int key="NSTag">1</int>
-                                       </object>
-                                       <object class="NSMenuItem" id="459079778">
-                                               <reference key="NSMenu" ref="235340910"/>
-                                               <string key="NSTitle">Total Transfer</string>
-                                               <string key="NSKeyEquiv"/>
-                                               <int key="NSKeyEquivModMask">1048576</int>
-                                               <int key="NSMnemonicLoc">2147483647</int>
-                                               <reference key="NSOnImage" ref="322614661"/>
-                                               <reference key="NSMixedImage" ref="3851078"/>
-                                               <int key="NSTag">2</int>
-                                       </object>
-                                       <object class="NSMenuItem" id="455205239">
-                                               <reference key="NSMenu" ref="235340910"/>
-                                               <string key="NSTitle">Session Transfer</string>
-                                               <string key="NSKeyEquiv"/>
-                                               <int key="NSKeyEquivModMask">1048576</int>
-                                               <int key="NSMnemonicLoc">2147483647</int>
-                                               <reference key="NSOnImage" ref="322614661"/>
-                                               <reference key="NSMixedImage" ref="3851078"/>
-                                               <int key="NSTag">3</int>
-                                       </object>
-                               </object>
-                       </object>
                        <object class="NSMenu" id="1051299321">
                                <string key="NSTitle">StatusMenu</string>
                                <object class="NSMutableArray" key="NSMenuItems">
@@ -4245,78 +4014,6 @@ AAAAAAAAAAAAAAAAA</bytes>
                                        </object>
                                        <int key="connectionID">2327</int>
                                </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fTotalDLField</string>
-                                               <reference key="source" ref="30116300"/>
-                                               <reference key="destination" ref="1015813640"/>
-                                       </object>
-                                       <int key="connectionID">2474</int>
-                               </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fTotalULField</string>
-                                               <reference key="source" ref="30116300"/>
-                                               <reference key="destination" ref="719542199"/>
-                                       </object>
-                                       <int key="connectionID">2475</int>
-                               </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fStatusBar</string>
-                                               <reference key="source" ref="30116300"/>
-                                               <reference key="destination" ref="492482618"/>
-                                       </object>
-                                       <int key="connectionID">2524</int>
-                               </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fStatusButton</string>
-                                               <reference key="source" ref="30116300"/>
-                                               <reference key="destination" ref="387610893"/>
-                                       </object>
-                                       <int key="connectionID">2557</int>
-                               </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBOutletConnection" key="connection">
-                                               <string key="label">menu</string>
-                                               <reference key="source" ref="387610893"/>
-                                               <reference key="destination" ref="235340910"/>
-                                       </object>
-                                       <int key="connectionID">2563</int>
-                               </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBActionConnection" key="connection">
-                                               <string key="label">setStatusLabel:</string>
-                                               <reference key="source" ref="30116300"/>
-                                               <reference key="destination" ref="534231875"/>
-                                       </object>
-                                       <int key="connectionID">2565</int>
-                               </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBActionConnection" key="connection">
-                                               <string key="label">setStatusLabel:</string>
-                                               <reference key="source" ref="30116300"/>
-                                               <reference key="destination" ref="681676781"/>
-                                       </object>
-                                       <int key="connectionID">2566</int>
-                               </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBActionConnection" key="connection">
-                                               <string key="label">setStatusLabel:</string>
-                                               <reference key="source" ref="30116300"/>
-                                               <reference key="destination" ref="459079778"/>
-                                       </object>
-                                       <int key="connectionID">2567</int>
-                               </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBActionConnection" key="connection">
-                                               <string key="label">setStatusLabel:</string>
-                                               <reference key="source" ref="30116300"/>
-                                               <reference key="destination" ref="455205239"/>
-                                       </object>
-                                       <int key="connectionID">2568</int>
-                               </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBOutletConnection" key="connection">
                                                <string key="label">menu</string>
@@ -4709,14 +4406,6 @@ AAAAAAAAAAAAAAAAA</bytes>
                                        </object>
                                        <int key="connectionID">3153</int>
                                </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBOutletConnection" key="connection">
-                                               <string key="label">fTotalDLImageView</string>
-                                               <reference key="source" ref="30116300"/>
-                                               <reference key="destination" ref="508355629"/>
-                                       </object>
-                                       <int key="connectionID">3154</int>
-                               </object>
                                <object class="IBConnectionRecord">
                                        <object class="IBActionConnection" key="connection">
                                                <string key="label">toggleStatusString:</string>
@@ -6081,65 +5770,6 @@ AAAAAAAAAAAAAAAAA</bytes>
                                                <reference key="object" ref="247408388"/>
                                                <reference key="parent" ref="354817592"/>
                                        </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">1480</int>
-                                               <reference key="object" ref="492482618"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="1015813640"/>
-                                                       <reference ref="719542199"/>
-                                                       <reference ref="300960961"/>
-                                                       <reference ref="508355629"/>
-                                                       <reference ref="387610893"/>
-                                               </object>
-                                               <reference key="parent" ref="0"/>
-                                               <string key="objectName">StatusBar</string>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">2061</int>
-                                               <reference key="object" ref="1015813640"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="7712611"/>
-                                               </object>
-                                               <reference key="parent" ref="492482618"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">2062</int>
-                                               <reference key="object" ref="719542199"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="551795479"/>
-                                               </object>
-                                               <reference key="parent" ref="492482618"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">2410</int>
-                                               <reference key="object" ref="300960961"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="507285438"/>
-                                               </object>
-                                               <reference key="parent" ref="492482618"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">2412</int>
-                                               <reference key="object" ref="508355629"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="268918248"/>
-                                               </object>
-                                               <reference key="parent" ref="492482618"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">2551</int>
-                                               <reference key="object" ref="387610893"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="9693266"/>
-                                               </object>
-                                               <reference key="parent" ref="492482618"/>
-                                       </object>
                                        <object class="IBObjectRecord">
                                                <int key="objectID">1603</int>
                                                <reference key="object" ref="793806362"/>
@@ -6390,45 +6020,6 @@ AAAAAAAAAAAAAAAAA</bytes>
                                                <reference key="object" ref="1006001887"/>
                                                <reference key="parent" ref="242528882"/>
                                        </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">2547</int>
-                                               <reference key="object" ref="235340910"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="1033464046"/>
-                                                       <reference ref="534231875"/>
-                                                       <reference ref="681676781"/>
-                                                       <reference ref="459079778"/>
-                                                       <reference ref="455205239"/>
-                                               </object>
-                                               <reference key="parent" ref="0"/>
-                                               <string key="objectName">StatusMenu</string>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">2548</int>
-                                               <reference key="object" ref="1033464046"/>
-                                               <reference key="parent" ref="235340910"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">2560</int>
-                                               <reference key="object" ref="534231875"/>
-                                               <reference key="parent" ref="235340910"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">2561</int>
-                                               <reference key="object" ref="681676781"/>
-                                               <reference key="parent" ref="235340910"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">2562</int>
-                                               <reference key="object" ref="459079778"/>
-                                               <reference key="parent" ref="235340910"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">2564</int>
-                                               <reference key="object" ref="455205239"/>
-                                               <reference key="parent" ref="235340910"/>
-                                       </object>
                                        <object class="IBObjectRecord">
                                                <int key="objectID">2942</int>
                                                <reference key="object" ref="1051299321"/>
@@ -6475,35 +6066,6 @@ AAAAAAAAAAAAAAAAA</bytes>
                                                <reference key="object" ref="696487414"/>
                                                <reference key="parent" ref="403739499"/>
                                        </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">3050</int>
-                                               <reference key="object" ref="7712611"/>
-                                               <reference key="parent" ref="1015813640"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">3051</int>
-                                               <reference key="object" ref="551795479"/>
-                                               <reference key="parent" ref="719542199"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">3052</int>
-                                               <reference key="object" ref="507285438"/>
-                                               <reference key="parent" ref="300960961"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">3053</int>
-                                               <reference key="object" ref="268918248"/>
-                                               <reference key="parent" ref="508355629"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">3054</int>
-                                               <reference key="object" ref="9693266"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="941456853"/>
-                                               </object>
-                                               <reference key="parent" ref="387610893"/>
-                                       </object>
                                        <object class="IBObjectRecord">
                                                <int key="objectID">3057</int>
                                                <reference key="object" ref="186597542"/>
@@ -6569,32 +6131,6 @@ AAAAAAAAAAAAAAAAA</bytes>
                                                <reference key="object" ref="420710921"/>
                                                <reference key="parent" ref="97165992"/>
                                        </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">2553</int>
-                                               <reference key="object" ref="941456853"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="391930248"/>
-                                                       <reference ref="474717273"/>
-                                                       <reference ref="872140291"/>
-                                               </object>
-                                               <reference key="parent" ref="9693266"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">2556</int>
-                                               <reference key="object" ref="391930248"/>
-                                               <reference key="parent" ref="941456853"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">2555</int>
-                                               <reference key="object" ref="474717273"/>
-                                               <reference key="parent" ref="941456853"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">2554</int>
-                                               <reference key="object" ref="872140291"/>
-                                               <reference key="parent" ref="941456853"/>
-                                       </object>
                                        <object class="IBObjectRecord">
                                                <int key="objectID">2978</int>
                                                <reference key="object" ref="135534639"/>
@@ -7019,10 +6555,6 @@ AAAAAAAAAAAAAAAAA</bytes>
                                        <string>144.ImportedFromIB2</string>
                                        <string>145.IBPluginDependency</string>
                                        <string>145.ImportedFromIB2</string>
-                                       <string>1480.IBEditorWindowLastContentRect</string>
-                                       <string>1480.IBPluginDependency</string>
-                                       <string>1480.ImportedFromIB2</string>
-                                       <string>1480.editorWindowContentRectSynchronizationRect</string>
                                        <string>149.IBPluginDependency</string>
                                        <string>149.ImportedFromIB2</string>
                                        <string>150.IBPluginDependency</string>
@@ -7251,10 +6783,6 @@ AAAAAAAAAAAAAAAAA</bytes>
                                        <string>2045.IBPluginDependency</string>
                                        <string>2045.ImportedFromIB2</string>
                                        <string>206.ImportedFromIB2</string>
-                                       <string>2061.IBPluginDependency</string>
-                                       <string>2061.ImportedFromIB2</string>
-                                       <string>2062.IBPluginDependency</string>
-                                       <string>2062.ImportedFromIB2</string>
                                        <string>2071.IBPluginDependency</string>
                                        <string>2071.ImportedFromIB2</string>
                                        <string>21.IBEditorWindowLastContentRect</string>
@@ -7292,32 +6820,6 @@ AAAAAAAAAAAAAAAAA</bytes>
                                        <string>2324.ImportedFromIB2</string>
                                        <string>2326.IBPluginDependency</string>
                                        <string>2326.ImportedFromIB2</string>
-                                       <string>2410.IBPluginDependency</string>
-                                       <string>2410.ImportedFromIB2</string>
-                                       <string>2412.IBPluginDependency</string>
-                                       <string>2412.ImportedFromIB2</string>
-                                       <string>2547.IBPluginDependency</string>
-                                       <string>2547.ImportedFromIB2</string>
-                                       <string>2548.IBPluginDependency</string>
-                                       <string>2548.ImportedFromIB2</string>
-                                       <string>2551.IBPluginDependency</string>
-                                       <string>2551.ImportedFromIB2</string>
-                                       <string>2553.IBPluginDependency</string>
-                                       <string>2553.ImportedFromIB2</string>
-                                       <string>2554.IBPluginDependency</string>
-                                       <string>2554.ImportedFromIB2</string>
-                                       <string>2555.IBPluginDependency</string>
-                                       <string>2555.ImportedFromIB2</string>
-                                       <string>2556.IBPluginDependency</string>
-                                       <string>2556.ImportedFromIB2</string>
-                                       <string>2560.IBPluginDependency</string>
-                                       <string>2560.ImportedFromIB2</string>
-                                       <string>2561.IBPluginDependency</string>
-                                       <string>2561.ImportedFromIB2</string>
-                                       <string>2562.IBPluginDependency</string>
-                                       <string>2562.ImportedFromIB2</string>
-                                       <string>2564.IBPluginDependency</string>
-                                       <string>2564.ImportedFromIB2</string>
                                        <string>2681.IBPluginDependency</string>
                                        <string>2681.IBViewBoundsToFrameTransform</string>
                                        <string>2681.ImportedFromIB2</string>
@@ -7390,11 +6892,6 @@ AAAAAAAAAAAAAAAAA</bytes>
                                        <string>3047.IBPluginDependency</string>
                                        <string>3048.IBPluginDependency</string>
                                        <string>3049.IBPluginDependency</string>
-                                       <string>3050.IBPluginDependency</string>
-                                       <string>3051.IBPluginDependency</string>
-                                       <string>3052.IBPluginDependency</string>
-                                       <string>3053.IBPluginDependency</string>
-                                       <string>3054.IBPluginDependency</string>
                                        <string>3057.IBPluginDependency</string>
                                        <string>3058.IBPluginDependency</string>
                                        <string>3059.IBPluginDependency</string>
@@ -7619,10 +7116,6 @@ AAAAAAAAAAAAAAAAA</bytes>
                                        <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <integer value="1"/>
-                                       <string>{{208, 808}, {400, 21}}</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
-                                       <string>{{0, 974}, {400, 21}}</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -7853,10 +7346,6 @@ AAAAAAAAAAAAAAAAA</bytes>
                                        <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <integer value="1"/>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
                                        <string>{{71, 712}, {515, 248}}</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>{{71, 712}, {515, 248}}</string>
@@ -7893,32 +7382,6 @@ AAAAAAAAAAAAAAAAA</bytes>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <integer value="1"/>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <object class="NSAffineTransform">
                                                <bytes key="NSTransformStruct">P4AAAL+AAABAwAAAwZgAAA</bytes>
                                        </object>
@@ -8001,11 +7464,6 @@ AAAAAAAAAAAAAAAAA</bytes>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <integer value="1"/>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <integer value="1"/>
@@ -8189,7 +7647,6 @@ AAAAAAAAAAAAAAAAA</bytes>
                                                        <string>setSort:</string>
                                                        <string>setSortByGroup:</string>
                                                        <string>setSortReverse:</string>
-                                                       <string>setStatusLabel:</string>
                                                        <string>showAboutWindow:</string>
                                                        <string>showInfo:</string>
                                                        <string>showMainWindow:</string>
@@ -8265,7 +7722,6 @@ AAAAAAAAAAAAAAAAA</bytes>
                                                        <string>id</string>
                                                        <string>id</string>
                                                        <string>id</string>
-                                                       <string>id</string>
                                                </object>
                                        </object>
                                        <object class="NSMutableDictionary" key="actionInfosByName">
@@ -8306,7 +7762,6 @@ AAAAAAAAAAAAAAAAA</bytes>
                                                        <string>setSort:</string>
                                                        <string>setSortByGroup:</string>
                                                        <string>setSortReverse:</string>
-                                                       <string>setStatusLabel:</string>
                                                        <string>showAboutWindow:</string>
                                                        <string>showInfo:</string>
                                                        <string>showMainWindow:</string>
@@ -8465,10 +7920,6 @@ AAAAAAAAAAAAAAAAA</bytes>
                                                                <string key="name">setSortReverse:</string>
                                                                <string key="candidateClassName">id</string>
                                                        </object>
-                                                       <object class="IBActionInfo">
-                                                               <string key="name">setStatusLabel:</string>
-                                                               <string key="candidateClassName">id</string>
-                                                       </object>
                                                        <object class="IBActionInfo">
                                                                <string key="name">showAboutWindow:</string>
                                                                <string key="candidateClassName">id</string>
@@ -8578,12 +8029,8 @@ AAAAAAAAAAAAAAAAA</bytes>
                                                        <string>fSeedFilterButton</string>
                                                        <string>fSpeedLimitButton</string>
                                                        <string>fStatusBar</string>
-                                                       <string>fStatusButton</string>
                                                        <string>fTableView</string>
-                                                       <string>fTotalDLField</string>
-                                                       <string>fTotalDLImageView</string>
                                                        <string>fTotalTorrentsField</string>
-                                                       <string>fTotalULField</string>
                                                        <string>fUploadLimitItem</string>
                                                        <string>fUploadMenu</string>
                                                        <string>fUploadNoLimitItem</string>
@@ -8617,13 +8064,9 @@ AAAAAAAAAAAAAAAAA</bytes>
                                                        <string>NSSearchField</string>
                                                        <string>FilterButton</string>
                                                        <string>NSButton</string>
-                                                       <string>StatusBarView</string>
-                                                       <string>NSButton</string>
+                                                       <string>StatusBarController</string>
                                                        <string>TorrentTableView</string>
                                                        <string>NSTextField</string>
-                                                       <string>NSImageView</string>
-                                                       <string>NSTextField</string>
-                                                       <string>NSTextField</string>
                                                        <string>NSMenuItem</string>
                                                        <string>NSMenu</string>
                                                        <string>NSMenuItem</string>
@@ -8661,12 +8104,8 @@ AAAAAAAAAAAAAAAAA</bytes>
                                                        <string>fSeedFilterButton</string>
                                                        <string>fSpeedLimitButton</string>
                                                        <string>fStatusBar</string>
-                                                       <string>fStatusButton</string>
                                                        <string>fTableView</string>
-                                                       <string>fTotalDLField</string>
-                                                       <string>fTotalDLImageView</string>
                                                        <string>fTotalTorrentsField</string>
-                                                       <string>fTotalULField</string>
                                                        <string>fUploadLimitItem</string>
                                                        <string>fUploadMenu</string>
                                                        <string>fUploadNoLimitItem</string>
@@ -8780,32 +8219,16 @@ AAAAAAAAAAAAAAAAA</bytes>
                                                        </object>
                                                        <object class="IBToOneOutletInfo">
                                                                <string key="name">fStatusBar</string>
-                                                               <string key="candidateClassName">StatusBarView</string>
-                                                       </object>
-                                                       <object class="IBToOneOutletInfo">
-                                                               <string key="name">fStatusButton</string>
-                                                               <string key="candidateClassName">NSButton</string>
+                                                               <string key="candidateClassName">StatusBarController</string>
                                                        </object>
                                                        <object class="IBToOneOutletInfo">
                                                                <string key="name">fTableView</string>
                                                                <string key="candidateClassName">TorrentTableView</string>
                                                        </object>
-                                                       <object class="IBToOneOutletInfo">
-                                                               <string key="name">fTotalDLField</string>
-                                                               <string key="candidateClassName">NSTextField</string>
-                                                       </object>
-                                                       <object class="IBToOneOutletInfo">
-                                                               <string key="name">fTotalDLImageView</string>
-                                                               <string key="candidateClassName">NSImageView</string>
-                                                       </object>
                                                        <object class="IBToOneOutletInfo">
                                                                <string key="name">fTotalTorrentsField</string>
                                                                <string key="candidateClassName">NSTextField</string>
                                                        </object>
-                                                       <object class="IBToOneOutletInfo">
-                                                               <string key="name">fTotalULField</string>
-                                                               <string key="candidateClassName">NSTextField</string>
-                                                       </object>
                                                        <object class="IBToOneOutletInfo">
                                                                <string key="name">fUploadLimitItem</string>
                                                                <string key="candidateClassName">NSMenuItem</string>
@@ -9236,19 +8659,68 @@ AAAAAAAAAAAAAAAAA</bytes>
                                        </object>
                                </object>
                                <object class="IBPartialClassDescription">
-                                       <string key="className">StatusBarView</string>
-                                       <string key="superclassName">NSView</string>
-                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBProjectSource</string>
-                                               <string key="minorKey">macosx/StatusBarView.h</string>
+                                       <string key="className">StatusBarController</string>
+                                       <string key="superclassName">NSViewController</string>
+                                       <object class="NSMutableDictionary" key="actions">
+                                               <string key="NS.key.0">setStatusLabel:</string>
+                                               <string key="NS.object.0">id</string>
+                                       </object>
+                                       <object class="NSMutableDictionary" key="actionInfosByName">
+                                               <string key="NS.key.0">setStatusLabel:</string>
+                                               <object class="IBActionInfo" key="NS.object.0">
+                                                       <string key="name">setStatusLabel:</string>
+                                                       <string key="candidateClassName">id</string>
+                                               </object>
+                                       </object>
+                                       <object class="NSMutableDictionary" key="outlets">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSArray" key="dict.sortedKeys">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>fStatusButton</string>
+                                                       <string>fTotalDLField</string>
+                                                       <string>fTotalDLImageView</string>
+                                                       <string>fTotalULField</string>
+                                               </object>
+                                               <object class="NSMutableArray" key="dict.values">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>NSButton</string>
+                                                       <string>NSTextField</string>
+                                                       <string>NSImageView</string>
+                                                       <string>NSTextField</string>
+                                               </object>
+                                       </object>
+                                       <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSArray" key="dict.sortedKeys">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>fStatusButton</string>
+                                                       <string>fTotalDLField</string>
+                                                       <string>fTotalDLImageView</string>
+                                                       <string>fTotalULField</string>
+                                               </object>
+                                               <object class="NSMutableArray" key="dict.values">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fStatusButton</string>
+                                                               <string key="candidateClassName">NSButton</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fTotalDLField</string>
+                                                               <string key="candidateClassName">NSTextField</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fTotalDLImageView</string>
+                                                               <string key="candidateClassName">NSImageView</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">fTotalULField</string>
+                                                               <string key="candidateClassName">NSTextField</string>
+                                                       </object>
+                                               </object>
                                        </object>
-                               </object>
-                               <object class="IBPartialClassDescription">
-                                       <string key="className">StatusBarView</string>
-                                       <string key="superclassName">NSView</string>
                                        <object class="IBClassDescriptionSource" key="sourceIdentifier">
-                                               <string key="majorKey">IBUserSource</string>
-                                               <string key="minorKey"/>
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">macosx/StatusBarController.h</string>
                                        </object>
                                </object>
                                <object class="IBPartialClassDescription">
@@ -10170,6 +9642,25 @@ AAAAAAAAAAAAAAAAA</bytes>
                                        <string key="superclassName">NSResponder</string>
                                        <reference key="sourceIdentifier" ref="543656968"/>
                                </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NSViewController</string>
+                                       <string key="superclassName">NSResponder</string>
+                                       <object class="NSMutableDictionary" key="outlets">
+                                               <string key="NS.key.0">view</string>
+                                               <string key="NS.object.0">NSView</string>
+                                       </object>
+                                       <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+                                               <string key="NS.key.0">view</string>
+                                               <object class="IBToOneOutletInfo" key="NS.object.0">
+                                                       <string key="name">view</string>
+                                                       <string key="candidateClassName">NSView</string>
+                                               </object>
+                                       </object>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBFrameworkSource</string>
+                                               <string key="minorKey">AppKit.framework/Headers/NSViewController.h</string>
+                                       </object>
+                               </object>
                                <object class="IBPartialClassDescription">
                                        <string key="className">NSWindow</string>
                                        <object class="IBClassDescriptionSource" key="sourceIdentifier">
@@ -10401,7 +9892,6 @@ AAAAAAAAAAAAAAAAA</bytes>
                        <bool key="EncodedWithXMLCoder">YES</bool>
                        <object class="NSArray" key="dict.sortedKeys">
                                <bool key="EncodedWithXMLCoder">YES</bool>
-                               <string>DownArrowTemplate</string>
                                <string>NSActionTemplate</string>
                                <string>NSMenuCheckmark</string>
                                <string>NSMenuMixedState</string>
@@ -10409,12 +9899,9 @@ AAAAAAAAAAAAAAAAA</bytes>
                                <string>PriorityLow</string>
                                <string>PriorityNormal</string>
                                <string>TurtleTemplate</string>
-                               <string>UpArrowTemplate</string>
-                               <string>YingYangTemplate</string>
                        </object>
                        <object class="NSMutableArray" key="dict.values">
                                <bool key="EncodedWithXMLCoder">YES</bool>
-                               <string>{8, 12}</string>
                                <string>{15, 15}</string>
                                <string>{9, 8}</string>
                                <string>{7, 2}</string>
@@ -10422,8 +9909,6 @@ AAAAAAAAAAAAAAAAA</bytes>
                                <string>{14, 14}</string>
                                <string>{14, 14}</string>
                                <string>{64, 64}</string>
-                               <string>{8, 12}</string>
-                               <string>{10, 12}</string>
                        </object>
                </object>
        </data>