Ignore:
Timestamp:
Sep 10, 2012, 3:09:56 AM (11 years ago)
Author:
livings124
Message:

On Mountain Lion, pull the file/memory size units for libtransmission from the operating system using a byte count formatter, rather than using a localized string.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/macosx/Controller.m

    r13492 r13493  
    310310        tr_bencDictAddBool(&settings, TR_PREFS_KEY_UTP_ENABLED, [fDefaults boolForKey: @"UTPGlobal"]);
    311311       
    312         tr_formatter_size_init(1000, [NSLocalizedString(@"KB", "File size - kilobytes") UTF8String],
    313                                         [NSLocalizedString(@"MB", "File size - megabytes") UTF8String],
    314                                         [NSLocalizedString(@"GB", "File size - gigabytes") UTF8String],
    315                                         [NSLocalizedString(@"TB", "File size - terabytes") UTF8String]);
     312       
     313        NSString * kbString, * mbString, * gbString, * tbString;
     314        if ([NSApp isOnMountainLionOrBetter])
     315        {
     316            NSByteCountFormatter * unitFormatter = [[NSByteCountFormatterMtLion alloc] init];
     317            [unitFormatter setIncludesCount: NO];
     318            [unitFormatter setAllowsNonnumericFormatting: NO];
     319           
     320            [unitFormatter setAllowedUnits: NSByteCountFormatterUseKB];
     321            kbString = [unitFormatter stringFromByteCount: 0];
     322           
     323            [unitFormatter setAllowedUnits: NSByteCountFormatterUseMB];
     324            mbString = [unitFormatter stringFromByteCount: 0];
     325           
     326            [unitFormatter setAllowedUnits: NSByteCountFormatterUseGB];
     327            gbString = [unitFormatter stringFromByteCount: 0];
     328           
     329            [unitFormatter setAllowedUnits: NSByteCountFormatterUseTB];
     330            tbString = [unitFormatter stringFromByteCount: 0];
     331           
     332            [unitFormatter release];
     333        }
     334        else
     335        {
     336            kbString = NSLocalizedString(@"KB", "file/memory size - kilobytes");
     337            mbString = NSLocalizedString(@"MB", "file/memory size - megabytes");
     338            gbString = NSLocalizedString(@"GB", "file/memory size - gigabytes");
     339            tbString = NSLocalizedString(@"TB", "file/memory size - terabytes");
     340        }
     341       
     342        tr_formatter_size_init(1000, [kbString UTF8String],
     343                                        [mbString UTF8String],
     344                                        [gbString UTF8String],
     345                                        [tbString UTF8String]);
    316346
    317347        tr_formatter_speed_init(1000, [NSLocalizedString(@"KB/s", "Transfer speed (kilobytes per second)") UTF8String],
     
    320350                                        [NSLocalizedString(@"TB/s", "Transfer speed (terabytes per second)") UTF8String]); //why not?
    321351
    322         tr_formatter_mem_init(1000, [NSLocalizedString(@"KB", "Memory size - kilobytes") UTF8String],
    323                                     [NSLocalizedString(@"MB", "Memory size - megabytes") UTF8String],
    324                                     [NSLocalizedString(@"GB", "Memory size - gigabytes") UTF8String],
    325                                     [NSLocalizedString(@"TB", "Memory size - terabytes") UTF8String]);
     352        tr_formatter_mem_init(1000, [kbString UTF8String],
     353                                    [mbString UTF8String],
     354                                    [gbString UTF8String],
     355                                    [tbString UTF8String]);
    326356       
    327357        const char * configDir = tr_getDefaultConfigDir("Transmission");
Note: See TracChangeset for help on using the changeset viewer.