]> granicus.if.org Git - transmission/commitdiff
#3940 Global displayed speed does not include webseeds; remove a now-unused libT...
authorMitchell Livingston <livings124@transmissionbt.com>
Sun, 23 Jan 2011 18:23:52 +0000 (18:23 +0000)
committerMitchell Livingston <livings124@transmissionbt.com>
Sun, 23 Jan 2011 18:23:52 +0000 (18:23 +0000)
libtransmission/session.c
libtransmission/transmission.h
macosx/Badger.h
macosx/Badger.m
macosx/Controller.m

index 612ef7724d2305eb0c39325e9f75f2cb14707c41..24edee98b25bcfd93632b62942ff4d0559bd2944 100644 (file)
@@ -1674,11 +1674,6 @@ tr_sessionGetPieceSpeed_Bps( const tr_session * session, tr_direction dir )
 {
     return tr_isSession( session ) ? tr_bandwidthGetPieceSpeed_Bps( session->bandwidth, 0, dir ) : 0;
 }
-double
-tr_sessionGetPieceSpeed_KBps( const tr_session * session, tr_direction dir )
-{
-    return toSpeedKBps( tr_sessionGetPieceSpeed_Bps( session, dir ) );
-}
 
 int
 tr_sessionGetRawSpeed_Bps( const tr_session * session, tr_direction dir )
index 98d232c36b85896db7906cf765654aaf48d1734b..033740d67f9d8d4c7a8750d4373bcb6c469a2444 100644 (file)
@@ -690,7 +690,6 @@ tr_bool  tr_sessionGetActiveSpeedLimit_KBps( const tr_session  * session,
 ***/
 
 double     tr_sessionGetRawSpeed_KBps  ( const tr_session *, tr_direction );
-double     tr_sessionGetPieceSpeed_KBps( const tr_session *, tr_direction );
 
 void       tr_sessionSetRatioLimited  ( tr_session *, tr_bool isLimited );
 tr_bool    tr_sessionIsRatioLimited   ( const tr_session * );
index e0321219913cd3cbe77c8f99c45a6dc3d032debf..f7f35fba822b60cb67ebf0602053ae7e07bb9fa3 100644 (file)
@@ -34,7 +34,7 @@
 
 - (id) initWithLib: (tr_session *) lib;
 
-- (void) updateBadge;
+- (void) updateBadgeWithDownload: (CGFloat) downloadRate upload: (CGFloat) uploadRate;
 - (void) incrementCompleted;
 - (void) clearCompleted;
 - (void) setQuitting;
index 116ffd3a03ca99903a5040ec8c5d0d7b1105ee4e..1524f7a94130360bb442da4b4398b895cf990238 100644 (file)
@@ -38,9 +38,6 @@
         BadgeView * view = [[BadgeView alloc] initWithFrame: [[[NSApp dockTile] contentView] frame] lib: lib];
         [[NSApp dockTile] setContentView: view];
         [view release];
-        
-        //change that just impacts the dock badge
-        [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(updateBadge) name: @"DockBadgeChange" object: nil];
     }
     
     return self;
     [super dealloc];
 }
 
-- (void) updateBadge
+- (void) updateBadgeWithDownload: (CGFloat) downloadRate upload: (CGFloat) uploadRate
 {
-    const double downloadRate = [[NSUserDefaults standardUserDefaults] boolForKey: @"BadgeDownloadRate"]
-                                ? tr_sessionGetPieceSpeed_KBps(fLib, TR_DOWN) : 0.0;
-    const double uploadRate = [[NSUserDefaults standardUserDefaults] boolForKey: @"BadgeUploadRate"]
-                                ? tr_sessionGetPieceSpeed_KBps(fLib, TR_UP) : 0.0;
+    const CGFloat displayDlRate = [[NSUserDefaults standardUserDefaults] boolForKey: @"BadgeDownloadRate"]
+                                ? downloadRate : 0.0;
+    const CGFloat displayUlRate = [[NSUserDefaults standardUserDefaults] boolForKey: @"BadgeUploadRate"]
+                                ? uploadRate : 0.0;
     
     //only update if the badged values change
-    if ([(BadgeView *)[[NSApp dockTile] contentView] setRatesWithDownload: downloadRate upload: uploadRate])
+    if ([(BadgeView *)[[NSApp dockTile] contentView] setRatesWithDownload: displayDlRate upload: displayUlRate])
         [[NSApp dockTile] display];
 }
 
index b522538c2a6cfd7196638ea5c8ada4515e4c0fff..e5290ee8831f018b89df7eec00ea0ba271c43564 100644 (file)
@@ -1717,6 +1717,14 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
 {
     [fTorrents makeObjectsPerformSelector: @selector(update)];
     
+    //pull the upload and download speeds - most consistent by using current stats
+    CGFloat dlRate = 0.0, ulRate = 0.0;
+    for (Torrent * torrent in fTorrents)
+    {
+        dlRate += [torrent downloadRate];
+        ulRate += [torrent uploadRate];
+    }
+    
     if (![NSApp isHidden])
     {
         if ([fWindow isVisible])
@@ -1727,8 +1735,8 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
             if (![fStatusBar isHidden])
             {
                 //set rates
-                [fTotalDLField setStringValue: [NSString stringForSpeed: tr_sessionGetPieceSpeed_KBps(fLib, TR_DOWN)]];
-                [fTotalULField setStringValue: [NSString stringForSpeed: tr_sessionGetPieceSpeed_KBps(fLib, TR_UP)]];
+                [fTotalDLField setStringValue: [NSString stringForSpeed: dlRate]];
+                [fTotalULField setStringValue: [NSString stringForSpeed: ulRate]];
                 
                 //set status button text
                 NSString * statusLabel = [fDefaults stringForKey: @"StatusLabel"], * statusString;
@@ -1770,7 +1778,7 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
     }
     
     //badge dock
-    [fBadger updateBadge];
+    [fBadger updateBadgeWithDownload: dlRate upload: ulRate];
 }
 
 - (void) resizeStatusButton