]> granicus.if.org Git - transmission/commitdiff
#1881: Displayed ratio should be truncated, not rounded (Mac)
authorMitchell Livingston <livings124@transmissionbt.com>
Thu, 5 Mar 2009 04:59:24 +0000 (04:59 +0000)
committerMitchell Livingston <livings124@transmissionbt.com>
Thu, 5 Mar 2009 04:59:24 +0000 (04:59 +0000)
macosx/NSStringAdditions.m
macosx/TorrentTableView.m

index d812d6dd0d79706a2c1cacf03eb3afaecf1ffb9b..5eab6d73840c6892c6d5331ebbf4bb3be31d68d8 100644 (file)
@@ -23,6 +23,7 @@
  *****************************************************************************/
 
 #import "NSStringAdditions.h"
+#import "utils.h"
 #import <transmission.h>
 
 @implementation NSString (NSStringAdditions)
 
 + (NSString *) stringForRatio: (CGFloat) ratio
 {
+    //N/A is different than libtransmission's
     if (ratio == TR_RATIO_NA)
         return NSLocalizedString(@"N/A", "No Ratio");
-    else if (ratio == TR_RATIO_INF)
-        return [NSString stringWithUTF8String: "\xE2\x88\x9E"];
-    else;
     
-    if (ratio <= 9.995f) //0.00 to 9.99
-        return [NSString localizedStringWithFormat: @"%.2f", ratio];
-    else if (ratio <= 99.95f) //10.0 to 99.9
-        return [NSString localizedStringWithFormat: @"%.1f", ratio];
-    else //rest are single digit
-        return [NSString localizedStringWithFormat: @"%.0f", ratio];
+    char buf[50];
+    return [NSString stringWithUTF8String: tr_strratio(buf, sizeof(buf), ratio, "\xE2\x88\x9E")];
 }
 
 + (NSString *) timeString: (uint64_t) seconds showSeconds: (BOOL) showSeconds
index ccf067d23933fdeb8c654b365cdb27eb2e0354e0..e1c3b01dd12431f34f8648558bfec3cc89dd634a 100644 (file)
         }
         
         const BOOL upload = menu == fUploadMenu;
-        
         const BOOL limit = [fMenuTorrent usesSpeedLimit: upload];
         
         item = [menu itemWithTag: ACTION_MENU_LIMIT_TAG];
             }
         }
         
-        tr_ratiolimit mode = [fMenuTorrent ratioSetting];
+        const tr_ratiolimit mode = [fMenuTorrent ratioSetting];
         
         item = [menu itemWithTag: ACTION_MENU_LIMIT_TAG];
         [item setState: mode == TR_RATIOLIMIT_SINGLE ? NSOnState : NSOffState];